Spring Boot 学习记录笔记【 五 】之前端Vue

【Ant-Design-Vue】1、简介与安装 如果希望对 Ant-Design-Vue 的默认样式进行自定义,可以通过修改 Less 变量来实现。以下是自定义主题的步骤:在css: {less: {},},},},在// 引入 less 文件。 阅读详情

集成 Ant Design Vue

Ant Design Vue 官方文档

安装命令:npm install ant-design-vue@next --save

安装成功,目录变化
在这里插入图片描述
引入 Ant Design Vue

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';

createApp(App).use(store).use(router).use(Antd).mount('#app')

在这里插入图片描述

页面布局

每个项目在构建自己的页面布局的时候都是不一样的,我们来看一下 ant-design-vue 布局。这里是以我个人选择的布局举例。
在这里插入图片描述
粘贴代码,这里就讲解我已经修改好之后的代码了,里面包括自定义组件,全局使用图标,页面使用组件,路由开发。

官网代码展示

<template>
  <a-layout>
    <a-layout-sider
      breakpoint="lg"
      collapsed-width="0"
      @collapse="onCollapse"
      @breakpoint="onBreakpoint"
    >
      <div class="logo" />
      <a-menu v-model:selectedKeys="selectedKeys" theme="dark" mode="inline">
        <a-menu-item key="1">
          <user-outlined />
          <span class="nav-text">nav 1</span>
        </a-menu-item>
        <a-menu-item key="2">
          <video-camera-outlined />
          <span class="nav-text">nav 2</span>
        </a-menu-item>
        <a-menu-item key="3">
          <upload-outlined />
          <span class="nav-text">nav 3</span>
        </a-menu-item>
        <a-menu-item key="4">
          <user-outlined />
          <span class="nav-text">nav 4</span>
        </a-menu-item>
      </a-menu>
    </a-layout-sider>
    <a-layout>
      <a-layout-header :style="{ background: '#fff', padding: 0 }" />
      <a-layout-content :style="{ margin: '24px 16px 0' }">
        <div :style="{ padding: '24px', background: '#fff', minHeight: '360px' }">content</div>
      </a-layout-content>
      <a-layout-footer style="text-align: center">
        Ant Design ©2018 Created by Ant UED
      </a-layout-footer>
    </a-layout>
  </a-layout>
</template>
<script lang="ts">
import { UserOutlined, VideoCameraOutlined, UploadOutlined } from '@ant-design/icons-vue';
import { defineComponent, ref } from 'vue';
export default defineComponent({
  components: {
    UserOutlined,
    VideoCameraOutlined,
    UploadOutlined,
  },
  setup() {
    const onCollapse = (collapsed: boolean, type: string) => {
      console.log(collapsed, type);
    };

    const onBreakpoint = (broken: boolean) => {
      console.log(broken);
    };

    return {
      selectedKeys: ref<string[]>(['4']),
      onCollapse,
      onBreakpoint,
    };
  },
});
</script>
<style>
#components-layout-demo-responsive .logo {
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
  margin: 16px;
}

.site-layout-sub-header-background {
  background: #fff;
}

.site-layout-background {
  background: #fff;
}

[data-theme='dark'] .site-layout-sub-header-background {
  background: #141414;
}
</style>

自定义组件目录

在这里插入图片描述

the-footer.vue 代码展示

<template>
  <a-layout-footer style="text-align: center">
    Copyright ©2022 LOUSHIKEJI All Rights Reserved
  </a-layout-footer>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'the-footer'
});
</script>

the-header.vue 代码展示

<template>
  <a-layout-header style="background: #fff; padding: 0" >
    <div style="text-align: center">
      <h2>后台管理系统</h2>
    </div>
  </a-layout-header>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'the-header'
});
</script>

the-left.vue 代码展示

<template>
  <a-layout-sider collapsible>
    <div class="logo" />
    <a-menu theme="dark" mode="inline">
      <a-menu-item key="1">
        <pie-chart-outlined />
        <span>企业微信</span>
      </a-menu-item>
      <a-menu-item key="2">
        <desktop-outlined />
        <span>微信支付</span>
      </a-menu-item>
      <a-sub-menu key="sub1">
        <template #title>
            <span>
              <user-outlined />
              <span>红包明细</span>
            </span>
        </template>
        <a-menu-item key="3">Tom</a-menu-item>
        <a-menu-item key="4">Bill</a-menu-item>
        <a-menu-item key="5">Alex</a-menu-item>
      </a-sub-menu>
      <a-sub-menu key="sub2">
        <template #title>
            <span>
              <team-outlined />
              <span>Team</span>
            </span>
        </template>
        <a-menu-item key="6">Team 1</a-menu-item>
        <a-menu-item key="8">Team 2</a-menu-item>
      </a-sub-menu>
      <a-menu-item key="9">
        <file-outlined />
        <span>系统管理</span>
      </a-menu-item>
    </a-menu>
  </a-layout-sider>
</template>

<script lang="ts">
import { PieChartOutlined, DesktopOutlined, UserOutlined, TeamOutlined, FileOutlined, } from '@ant-design/icons-vue';
import { defineComponent } from 'vue';

export default defineComponent({
  components: {
    PieChartOutlined,
    DesktopOutlined,
    UserOutlined,
    TeamOutlined,
    FileOutlined,
  },
  name: 'the-left'
});
</script>

App.vue 代码修改

<template>
  <a-layout style="min-height: 100vh" id="components-layout-demo-side">
    <the-left></the-left>
    <a-layout>
      <the-header></the-header>
      <router-view/>
      <the-footer></the-footer>
    </a-layout>
  </a-layout>
</template>

<script lang="ts">
import { defineComponent } from 'vue';
import TheLeft from "@/components/the-left.vue";
import TheHeader from "@/components/the-header.vue";
import TheFooter from "@/components/the-footer.vue";

export default defineComponent({
  name: 'app',
  components: {
    TheLeft,
    TheHeader,
    TheFooter
  }
});
</script>

<style>
#components-layout-demo-side .logo {
  height: 32px;
  margin: 16px;
  background: rgba(255, 255, 255, 0.3);
}

.site-layout .site-layout-background {
  background: #fff;
}
[data-theme='dark'] .site-layout .site-layout-background {
  background: #141414;
}
</style>

HomeView.vue 代码调整

<template>
  <a-layout-content :style="{ margin: '24px 16px 0' }">
    <div :style="{ padding: '24px', background: '#fff', minHeight: '360px' }">
      Bill is a cat.
    </div>
  </a-layout-content>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'HomeView',
});
</script>

全局图标

安装命令:npm install --save @ant-design/icons-vue

在这里插入图片描述
配置全局图标,在 main.ts 代码调整

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';
import * as Icons from '@ant-design/icons-vue';

const app = createApp(App);
app.use(store).use(router).use(Antd).mount('#app')

// 全局使用图标
const icons: any = Icons;
for (const i in icons) {
    app.component(i, icons[i]);
}

页面解析

我对页面的调整优化如下
在这里插入图片描述

错误解决

在实际操作过程中可能回出现【vue/no-unused-components】错误,也可以在.eslintrc.js 文件里面添加关闭 vue/no-unused-components。
在这里插入图片描述

集成HTTP库Axios

安装命令:npm install axios --save

安装版本
在这里插入图片描述
使用 axios

导入:import axios from “axios”;

在这里插入图片描述
axios 的 get 请求
在这里插入图片描述

报错【Access-Control-Allow-Origin】前后端跨域问题,解决办法,在后端添加一个解决拦截跨域的类

package com.zcf.enterprise.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 解决跨域请求问题
 */
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedHeaders(CorsConfiguration.ALL)
                .allowedMethods(CorsConfiguration.ALL)
                .allowCredentials(true)
                .maxAge(3600); // 1小时内不需要再预检(发OPTIONS请求)
    }

}

数据绑定

在这里插入图片描述

结尾

到这里,Spring Boot 项目中创建了前端vue的web项目,从集成Ant Design Vue进行页面配置和集成HTTP库Axios对前后端数据进行数据绑定,都一一记录了,文章是记录自己的学习笔记,或多或少都有问题和遗漏,欢迎留言,一起进步。继续更新Spring Boot 学习记录笔记【 六 】

Ant-Design-Vue快速上手指南+排坑 Ant-Design-Vue是蚂蚁金服Ant Design官方推荐的Vue版本UI组件库,其组件风格与Ant Design保持一致,提供了一套完整的Vue组件和开发方案。该库旨在通过丰富的组件和便捷的API帮助开发者快速构建高质量的Vue应用。无论是基础表单控件还是复杂的数据展示组件,Ant-Design-Vue都能满足大部分前端项目的需求。Ant-Design-Vue是一款功能强大且易于上手的Vue UI组件库,通过本文的快速上手指南和排坑建议,相信你可以快速掌握它并在项目中高效使用。 阅读详情

相关推荐

spring boot(学习笔记第二十课) vue + spring boot前后端分离项目练习

spring boot(学习笔记第二十课) vue + spring boot前后端分离项目练习 学习内容: 后端程序构建 前端程序构建 1. 后端程序构建 前后端分离结构 前后端就是前端程序和后端程序独立搭建,通过Restful API进行交互,进行松耦合的设计。 后端程序构建 在网上看到高手构建的示例程序,边学习边在本地构筑。 光看不练,永远都是停留在表面学习 高手的示例程序。在此感谢高手(江南一点雨)的分享 示例程序lenve。一个示例的前后端分离示例。 copy该工程到本地,之后看

sealaugh32的专栏 1383

手写VUE后台管理系统4 - 整合UI框架AntDesignVue

从零开始手写VUE后台管理系统,整合UI框架ant-design-vue

死牛胖子的技术随笔 2040

Vue整合到Spring Boot

前端使用Vue,后台使用Spring Boot。

Rhine 1万+

Ant-deign-vue入门:布局-官方文档踩坑

概述 Ant Design作为一门设计语言面世,经历过多年的迭代和积累,它对UI的设计思想已经成为一套事实标准,受到众多前端开发者及企业的追捧和喜爱,也是React开发者手中的神兵利器。 ant-design-vue 是 Ant Design 的Vue实现,组件的风格与Ant Design保持同步,组件的html结构和css样式也保持一致,真正做到了样式0修改,组件API也尽量保持了一致。 ...

atlasun的专栏 1万+

Spring Boot + Vue: 全栈开发实战指南

随着互联网技术的发展,企业对于快速开发高质量Web应用的需求日益增长。Spring Boot以其轻量级、易配置、快速开发的特点,成为Java后端开发的首选框架。Vue.js以其响应式、组件化的特点,成为前端开发的热门选择。结合两者,我们可以构建出既高效又易维护的全栈应用。在这篇博客中,我们详细探讨了如何使用Spring Boot和Vue.js进行全栈开发项目。从后端的Spring Boot项目搭建、数据库集成、业务逻辑处理到前端的Vue.js项目初始化、组件开发、路由配置等方面都进行了深入的讲解。

llTvTll的博客 2426

Spring Boot + Vue 开发部署全过程记录

前后端开发分离,部署 All in one jar 前后端分离 前后端分离的开发模式不同于以往严重依赖后端的模式,前者使得前端更加“智能”,能做的事情更多,后端只需要作为一个能回答问题的服务即可。前后端分离模式一般是基于单页应用(SPA-Single Page Application)。单页应用在第一次访问服务器时,就将整个应用涉及到的“所有页面”都发往前端,后续和服务器的交互只是涉及数据的往来,...

季秀的博客 2234

and-design-vue 3.2.20官方离线文档(中文)

antdv 离线文档

Meditate_MasterYi的博客 3956

Spring Boot Vue Element入门实战(完结)

最近在自学VUE,发现这个前端框架很火,他和传统的Jquery 编程思路完全不一样,Jquery 是事件驱动的,而VUE是数据驱动的。以前写页面经常是通过Jquery 操作各种DOM,而VUE不用对DOM进行操作,直接操作绑定的数据即可。接下来我会花一部分时间,把我学习到的分享给大家,知识纯属自学,如有错误的地方欢迎指出,共同进步! 入门实战目录 Spring Boot Vue Element入门...

岁月不饶人,我亦未曾饶过岁月 2万+

Spring Boot 学习记录笔记【 四 】之前端Vue

Spring Boot 学习记录笔记【 四 】

java_zhangfei的博客 442

Vue + Spring Boot 学习笔记01:实现用户登录功能

Vue + Spring Boot 学习笔记01:实现用户登录功能 一、创建后端Spring Boot项目Book Management 二、创建前端Vue项目bm-vue 三、修改后端项目Book Management 四、测试项目 五、小结 六、项目下载 一、创建后端Spring Boot项目Book Management 设置项目元数据: 添加Spring Web依...

howard2005的专栏 2584

自适应陷波器的原理与实现

x(t)是叠加有两个频率干扰信号的输入信号,s(t)是需要保留的有用信号,在输入信号中,我们只知道频率w1和w2,但不知道信号的幅度A和相位θ,自适应陷波器可以估计两个未知的幅度和相位值,这需要我们提供两路相互正交的单频信号,如cos(w1t)、sin(w1t),通过调整其权值,从而合成出与干扰信号完全相同的信号A1cos(w1t+θ1),从而实现干扰信号的滤除。采用LMS算法,在保证不损失其他有用信号的情况下,有效地抑制输入信号中某一频率的干扰,如需滤除多个频率,只需要增加相应的输入信号。

Melkiades2333的博客 6894

Vue + Spring Boot 整合全解析

通过以上步骤,我们成功地将Vue和Spring Boot进行了整合。这种前后端分离的架构模式不仅提高了开发效率,也使项目的维护和扩展更加容易。在实际项目中,可以根据需求进一步完善前后端的功能,如添加用户认证、数据库操作等。希望本文能帮助你快速上手Vue + Spring Boot的整合开发。

常回来看看呀!! 5196

AI辅助专利撰写实战:用Codex 30分钟生成发明专利初稿

这次我们来看一个用 Codex 从零开始撰写发明专利的实战项目。对于技术研发人员、产品经理或初创团队来说,专利申请是保护创新成果、构建技术壁垒的关键一步。然而,撰写一份高质量的专利申请书,尤其是权利要求书和说明书,往往需要专业的法律和技术语言,耗时耗力。这个项目演示了如何利用 AI 工具 Codex,在短时间内生成一份结构完整、逻辑清晰、具备授权潜力的专利申请文件初稿。 整个过程的核心不是让 AI 完全替代专利代理人,而是将其作为强大的“技术翻译”和“内容生成”助手。它能将你的技术构思、流程图、核心算法或产

weixin_32181267的博客 416

Spring Boot笔记-get请求发送json数据(方便前端vue解析)

目录 基本概念 代码与实例 基本概念 这里有一个思路,后端只发送Json数据,前端vue去解析。这样的话,就可以做到前后端分离,耦合性就很低了。 代码与实例 程序运行截图如下: 得到后,使用vue去解析,然后页面显示。 这里可以使用nginx做个代理,就看不出来了! 结构如下: 这里vo就是存的Json格式 controller就是发送请求的 ...

IT1995的博客 1万+

LobeHub开源AI应用平台:从部署到定制的全栈实践指南

在现代AI应用开发领域,大语言模型(LLM)的集成与部署是核心技术挑战之一。其原理在于通过API或本地化部署,将预训练模型的强大能力封装为可调用的服务。这项技术的核心价值在于极大地降低了AI应用的开发门槛,使开发者能够快速构建智能对话、内容生成等场景的应用。随着模型即服务(MaaS)模式的普及,一个关键痛点是如何高效地管理多模型、设计友好的用户界面并实现功能扩展。这正是开源项目LobeHub所聚焦的领域,它通过提供可插拔的架构和配置驱动的低代码理念,解决了AI能力落地的“最后一公里”问题。本文将结合Dock

weixin_27210125的博客 756

vuecil3+版本下,兼容ie等不支持es6的低版本浏览器

*综上,完成兼容性涉及到的配置的文件有,对应在页面中查看代码,就不单独附代码了:main.js。

yhr0322的博客 835

基于Spring Boot的大学生学习记录系统

在Java的开发过程中,可以使用HTML、CSS、JavaScript等前端技术来实现系统的用户界面设计和交互功能。XXX同学在对课题进行分析之后,对课题的研究目标有一定的理解,对研究的背景、意义认识较清晰。对系统所用的技术、语言选用恰当,初步设计的功能模块基本合理,拟定的技术路线可行。由于本项目属于信息反馈类型的应用,反馈信息的准确和时效就显得尤为重要。虽然反馈信息的准确性和时效性很大程度上取决于信息的反馈者,但是作为开发者,可以在信息反馈功能被使用时,添加反馈信息的限制条件来保证内容的准确性和时效性。

QQ3166678367的博客 1167

QT | QT打包生成单个EXE文件

1.以release方式运行程序 2.在release文件夹中找到.exe文件 如果没有找到exe,可能是因为在项目中勾选了shadow build,你可以在构建目录中找到exe 3.将exe放在一个新建的文件夹中,因为待会儿会生成很多dll文件 4.点击电脑左下角搜索QT,打开Qt 5.8 for Desktop (MinGQW 5.3.0 32bit) 5.进入刚刚新建的文件夹,输入wi...

⊳ideal world⊲~ヽ(゚︺゚)Hi 1238

Spring Boot+Vue项目学习总结

介绍 最近要做一个网站项目,前后端都用什么开发好呢?什么火就用什么呗,后端Spring Boot火,就用Spring Boot;而前端Vue.js很好的实现了前后端分离,多么高大上,就用Vue了。可问题是两个之前都没用过啊,找一篇博文学习下,然后依葫芦画瓢。个人觉得Spring Boot+Vue从零开始搭建系统 https://segmentfault.com/a/1190000013950461...

xinxin_2011的博客 8992

【maven】idea左侧External Libraries里,没有Maven的依赖包 代码飘红

文章目录1.概述M.参考 1.概述 因为内网开发,然后这几天我被隔离了,然后公司搞了一个外网的vpn能连接的云桌面,云桌面也是网络隔离的,因此只能自己拷贝相关的文件到里面。 然后我就拷贝了代码和maven仓库中的一部分,因为本地的20G一次拷贝不完,需要多次拷贝,但是我拷贝了kafka,仍然飘红。具体如下 idea左侧External Libraries里,没有Maven的依赖包 然后整了很久都没搞定,后来我自己新建了一个项目,然后引入发现是不可以的,而且框框里面的飘红。 然后我就想是不是因为缺少依赖

九师兄 4412

以太网GMAC-RK3568

第 2 章和第 3 章中针对 RMII/RGMII 接口芯片和 USB 以太网两种类型芯片在 SDK 上的配置做详细的描述,第 4 章介绍以太网在 Android 上的相关调用接口。第 5 章提供常见问题的排查建议由于在 RK 系列的 SoC 中内置了以太网 MAC 控制器,所以只需要搭配一颗以太网 PHY 芯片,即可实现以太网卡功能按照规范,即使是不同厂家的 PHY,仍然有一部分寄存器的定义是通用的,只要配置了这些通用的寄存器,基本上 PHY 就可以正常工作代码位置在。

qq_24093081的博客 1943

JavaWeb全套学习笔记(超详细、快速入门、实操练习记录)——已更新5天

大家好,这个是我个人的JavaWeb学习笔记,基于B站上面的各总视频教程学习的,结合视频类容深度思考整理后写下的笔记,类容比较详细,适合刚入门想学习JavaWeb的小伙伴,里面记录了全程的学习过程,各自资料的收集总结,代码实操,运行截图,遇到的问题,解决方案等,笔记将持续更新,直至javaweb学习完毕,欢迎大家一起来讨论交流,一起学习,希望可以帮助到大家。笔记使用方法: 知识点是分开的,笔记中是学一点就实操一下,便于理解记忆。VS Code提供了非常丰富的插件功能,根据你的需要,安装对应的插件可以大大提高

2301_82143894的博客 1519

HQChart实战教程49-点击修改K线颜色及背景色

HQChart实战教程49-点击修改K线颜色及背景色需求效果图步骤1. 注册点击监听事件2. 修改K颜色添加一个自定义颜色的K线klineoption清空所有自定义颜色的K线option交流QQ群: 950092318HQChart代码地址完整例子 需求 对点击的K线修改颜色。 效果图 步骤 1. 注册点击监听事件 事件ID JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT, 注册监听事件见教程 HQChart使用教程5- K线图控件操作函数说明 this.Create=func

小银 2911

Spring Boot + Vue 在线学习平台项目实战

本文介绍了一个基于Spring Boot和Vue.js开发的在线学习平台项目。该平台功能完备,包含后台管理系统(管理员端)和前台用户系统(学生/教师端)两大模块,涵盖课程管理、考试中心、用户管理、讨论区等核心功能。采用主流技术栈如MySQL、Redis、Shiro、JWT等,适合作为全栈开发学习项目或毕业设计参考。项目设计注重实用性和扩展性,提供详细的功能模块说明和运行环境要求,并附有界面展示图片。

dragon 1305

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

计算机毕业设计Springboot学习笔记分享平台 基于Spring Boot框架的在线学习笔记管理系统设计与实现 Spring Boot驱动的学习笔记共享与管理平台开发

该学习笔记分享平台通过整合笔记管理、用户互动和信息公告等功能,为用户提供了一个高效、便捷的学习环境。它不仅满足了用户记录和整理笔记的需求,还通过分享和互动功能促进了知识的传播和积累。无论是学生、教师还是自我提升的学习者,都能在这个平台上找到适合自己的学习资源,实现知识的共享与交流。注:完成的毕业设计程序以下面的的环境软件、功能图和界面为准。系统所需要的环境软件:idea、eclipse+mysql5.7、8.0+Navicat+JDK1.8+tomcat7.0。

苏苏酱 ゛计算机毕设源码程序 1104

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

基于Spring Boot的智能笔记的开发与应用

通过智能化的功能,如自动分类、标签管理、全文搜索等,用户可以更加轻松地管理和查找自己的笔记。同时,基于Spring Boot的开发使得系统具有高度的可扩展性和可维护性,为后续的功能升级和性能优化提供了坚实的基础。通过智能化的功能和服务,该系统能够帮助用户更加高效地管理和查找自己的笔记内容,提高工作效率和学习效果。同时,通过智能化的推荐和过滤功能,帮助用户更好地管理和查找自己的笔记。笔记创建与编辑:提供笔记的创建、编辑和删除功能,支持文本、图片、视频等多种格式的笔记内容。

Q_1928499906的博客 1079

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: Spring Boot 学习记录笔记【 四 】之前端Vue
下一篇: Redis使用String类型中遇到的问题
perfei焓
博客等级 码龄8年 32粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值