Java web前端化 后端工程师 (小白速通前端)

#3

回顾#1#2 重点内容

#1 前端三大件

html css js (看的懂基础语法即可)

#2

框架思维 VUE axios 前端工程化

#3

9.element

Element UI 的核心优势在于组件丰富性开发效率。表单组件通过rules属性实现实时验证,如用户名必填校验;表格组件支持复杂数据展示,可通过slot-scope自定义单元格渲染逻辑。主题定制工具允许一键替换主色、字体等视觉元素,保持品牌一致性。其响应式设计适配全尺寸屏幕,通过span属性灵活控制栅格布局。与 Vue 生态深度集成,组件状态自动响应数据变化,大幅减少手动 DOM 操作。适合快速迭代的中后台系统,显著降低前端开发成本。

### Element UI 全面解析

#### 一、Element UI 概述
**Element UI** 是一套基于 Vue.js 的**开源、高效、美观的 UI 组件库**,由饿了么前端团队开发维护,主要用于快速构建响应式、现代化的 Web 应用程序。其设计风格简洁大方,组件丰富且功能完善,极大地提升了前端开发效率。


#### 二、核心特点
1. **基于 Vue.js**  
   深度整合 Vue 生态,组件支持 Vue 的响应式数据绑定、组件化开发等特性,使用门槛低,易于与 Vue 项目集成。

2. **丰富的组件库**  
   包含 **60+ 常用组件**,覆盖界面开发的各个环节,例如:
   - **基础组件**:按钮(Button)、输入框(Input)、单选/复选框(Radio/Checkbox)等。
   - **布局组件**:容器(Container)、栅格(Grid)、导航栏(NavMenu)等。
   - **数据组件**:表格(Table)、树形结构(Tree)、分页(Pagination)等。
   - **反馈组件**:弹框(MessageBox)、通知(Notification)、加载动画(Loading)等。
   - **高级组件**:日期选择器(DatePicker)、上传组件(Upload)、表单验证(Form)等。

3. **响应式与主题化**  
   - 支持响应式布局,可适配不同屏幕尺寸(如 PC、平板、手机)。  
   - 提供 **主题生成工具**(Element UI Theme Editor),可自定义组件颜色、字体、间距等样式,轻松实现品牌化设计。

4. **完善的文档与社区**  
   - 官方文档详细且示例丰富,包含 API 说明、代码演示和最佳实践。  
   - 社区活跃,更新迭代频繁,问题排查和插件扩展便捷。

5. **无障碍支持**  
   部分组件遵循 WCAG(Web 内容可访问性指南)标准,提升残障用户的使用体验。


#### 三、快速入门
##### 1. 安装与引入
```bash
# 通过 npm 安装
npm install element-ui -S

# 或通过 yarn 安装
yarn add element-ui
```

**全局引入**(推荐用于完整项目):  
```javascript
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; // 引入样式
import App from './App.vue';

Vue.use(ElementUI); // 注册组件库

new Vue({
  el: '#app',
  render: h => h(App)
});
```

**按需引入**(适合轻量级项目,减少打包体积):  
```javascript
// 借助 babel-plugin-component 插件
import { Button, Input } from 'element-ui';
Vue.component(Button.name, Button);
Vue.component(Input.name, Input);
```

##### 2. 基础用法示例
```vue
<template>
  <div>
    <!-- 按钮组件 -->
    <el-button type="primary">主要按钮</el-button>

    <el-button type="success">成功按钮</el-button>

    <!-- 输入框组件 -->
    <el-input placeholder="请输入内容" v-model="inputValue"></el-input>

    <p>输入内容:{{ inputValue }}</p>

    <!-- 表格组件 -->
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="name" label="姓名" width="180"></el-table-column>

      <el-table-column prop="age" label="年龄" width="100"></el-table-column>

    </el-table>

  </div>

</template>

<script>
export default {
  data() {
    return {
      inputValue: '',
      tableData: [
        { name: '张三', age: 25 },
        { name: '李四', age: 30 }
      ]
    };
  }
};
</script>

```


#### 四、核心组件详解
##### 1. 表单组件(Form)
- **功能**:用于数据收集和验证,支持自定义校验规则。  
- **示例**:  
  ```vue
  <el-form :model="form" :rules="rules" ref="form">
    <el-form-item label="用户名" prop="username">
      <el-input v-model="form.username"></el-input>

    </el-form-item>

    <el-form-item>
      <el-button type="primary" @click="submitForm">提交</el-button>

    </el-form-item>

  </el-form>

  <script>
  export default {
    data() {
      return {
        form: { username: '' },
        rules: {
          username: [{ required: true, message: '请输入用户名', trigger: 'blur' }]
        }
      };
    },
    methods: {
      submitForm() {
        this.$refs.form.validate(valid => {
          if (valid) {
            // 提交逻辑
          }
        });
      }
    }
  };
  </script>

  ```

##### 2. 表格组件(Table)
- **功能**:展示结构化数据,支持排序、筛选、分页、自定义模板等。  
- **特性**:  
  - 通过 `:data` 绑定数据源。  
  - 使用 `<el-table-column>` 定义列字段。  
  - 支持插槽(`slot-scope`)自定义单元格内容。  

##### 3. 导航组件(NavMenu)
- **功能**:构建侧边栏或顶部导航栏,支持多级菜单、路由跳转等。  
- **示例**:  
  ```vue
  <el-aside width="200px">
    <el-menu :default-openeds="['1']" mode="vertical">
      <el-submenu index="1">
        <template slot="title"><i class="el-icon-location"></i>菜单1</template>

        <el-menu-item index="1-1">子菜单1</el-menu-item>

      </el-submenu>

    </el-menu>

  </el-aside>

  ```


#### 五、主题定制
Element UI 提供官方工具 **[Theme Editor](https://element.eleme.cn/#/zh-CN/theme)**,可在线修改主题变量(如主色、字体大小、边框半径等),生成自定义主题包后下载使用。


#### 六、适用场景
- **中后台管理系统**:如数据面板、权限管理、订单系统等(因组件齐全、交互规范)。  
- **企业级网站**:需要快速搭建美观且功能完善的前端界面。  
- **Vue 生态项目**:与 Vue Router、Vuex 等工具无缝集成。


#### 七、注意事项
1. **版本兼容性**:确保与 Vue 版本匹配(Element UI 2.x 适用于 Vue 2.x,Element Plus 适用于 Vue 3.x)。  
2. **性能优化**:按需引入组件,避免全局引入导致打包体积过大。  
3. **样式覆盖**:通过深度选择器(`>>>`, `/deep/`)或 Scoped 样式穿透修改组件默认样式。  
4. **国际化**:通过 `Vue.use(ElementUI, { locale })` 配置语言包(如中文、英文等)。


#### 八、对比与扩展
- **与其他组件库对比**:  
  | 组件库       | 特点                          | 适用场景          |
  |--------------|-------------------------------|-------------------|
  | Element UI   | 简洁高效,中后台首选          | PC 端应用         |
  | Ant Design Vue | 企业级设计体系,功能强大      | 复杂中后台系统    |
  | Vuetify      |  Material 风格,移动端友好     | 响应式 Web 应用    |

- **扩展生态**:  
  - **Element Plus**:Vue 3 版本的重构版,性能更强,支持 TypeScript。  
  - **社区插件**:如 `vue-element-extends`(扩展组件)、`vue-element-administration`(后台模板)。


#### 九、学习资源
- **官方文档**:[Element UI 中文文档](https://element.eleme.cn/#/zh-CN)  
- **GitHub 仓库**:[Element UI](https://github.com/ElemeFE/element)  
- **视频教程**:B站、慕课网等平台搜索“Element UI 实战”。

通过以上内容,可快速掌握 Element UI 的核心功能与开发流程,高效构建专业级前端界面。

10.vue路由

Vue 路由(Vue Router)核心要点总结

Vue Router 是 Vue 官方路由管理器,专为单页应用(SPA)设计,通过组件化管理页面导航。核心功能包括:

  • 路由配置:支持hashhistory模式,配置pathcomponent及动态参数(如/user/:id),可嵌套路由实现多级视图。
  • 导航控制:通过全局 / 路由守卫(beforeEach)实现权限校验、数据预加载;router-linkrouter-view实现页面跳转与渲染。
  • 性能优化:组件懒加载(() => import())减少首屏加载时间,命名视图支持多组件同屏渲染。
  • 高级特性:路由元信息(meta)标记权限需求,过渡动画增强用户体验,结合 Vuex 实现状态驱动的路由逻辑。
    适用于构建中大型前端应用,需注意 Vue 2/3 对应 Router 版本差异(3.x/4.x),配合服务端配置(如 History 模式防 404)可进一步提升可用性。
### Vue路由(Vue Router)详解

#### 一、概述
Vue Router是Vue.js官方的路由管理器,用于实现单页面应用(SPA)的路由功能。它通过组件化的方式组织页面,支持路由参数、导航守卫、懒加载等高级特性,是构建复杂前端应用的核心工具。


#### 二、核心概念与用法

##### 1. 路由配置与基本使用
```javascript
// router.js
import Vue from 'vue';
import Router from 'vue-router';
import Home from './views/Home.vue';
import About from './views/About.vue';

Vue.use(Router);

export default new Router({
  mode: 'history', // 可选'hash'模式
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/about',
      name: 'about',
      component: About
    }
  ]
});
```

在Vue实例中挂载路由:
```javascript
// main.js
import router from './router';

new Vue({
  router,
  render: h => h(App)
}).$mount('#app');
```

在模板中使用路由链接:
```vue
<template>
  <div>
    <router-link to="/">Home</router-link>

    <router-link to="/about">About</router-link>

    <router-view></router-view> <!-- 路由出口 -->
  </div>

</template>

```


##### 2. 路由参数与查询参数
**动态路由参数**(如 `/user/:id`):
```javascript
routes: [
  {
    path: '/user/:id',
    name: 'user',
    component: () => import('./views/User.vue')
  }
]
```

在组件中访问参数:
```javascript
export default {
  computed: {
    userId() {
      return this.$route.params.id; // 获取动态参数
    }
  }
}
```

**查询参数**(如 `?name=john`):
```javascript
this.$router.push({
  path: '/search',
  query: { keyword: 'vue' }
});

// 在组件中访问:this.$route.query.keyword
```


##### 3. 导航守卫
用于路由跳转前的权限校验、数据预加载等:

**全局前置守卫**:
```javascript
router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth && !isAuthenticated()) {
    next('/login'); // 未登录时跳转登录页
  } else {
    next(); // 继续路由跳转
  }
});
```

**路由独享守卫**:
```javascript
routes: [
  {
    path: '/admin',
    component: Admin,
    beforeEnter: (to, from, next) => {
      // 仅该路由生效的守卫
    }
  }
]
```


##### 4. 路由懒加载
通过动态导入(Dynamic Import)实现组件按需加载:
```javascript
const Home = () => import('./views/Home.vue'); // 懒加载组件

routes: [
  {
    path: '/',
    component: Home
  }
]
```


#### 三、高级特性

##### 1. 嵌套路由
实现多级视图嵌套:
```javascript
routes: [
  {
    path: '/user/:id',
    component: User,
    children: [
      {
        path: 'profile', // 匹配 /user/123/profile
        component: UserProfile
      },
      {
        path: '', // 匹配 /user/123
        component: UserHome
      }
    ]
  }
]
```


##### 2. 命名视图
在同一页面中渲染多个路由组件:
```vue
<router-view name="header"></router-view>

<router-view></router-view> <!-- 默认视图 -->
<router-view name="footer"></router-view>

```

路由配置:
```javascript
routes: [
  {
    path: '/',
    components: {
      default: Home,
      header: HeaderComponent,
      footer: FooterComponent
    }
  }
]
```


##### 3. 路由元信息(meta)
为路由添加自定义数据(如权限标识):
```javascript
routes: [
  {
    path: '/dashboard',
    component: Dashboard,
    meta: { requiresAdmin: true } // 自定义元信息
  }
]
```

在守卫中访问:
```javascript
router.beforeEach((to, from, next) => {
  if (to.meta.requiresAdmin && !currentUser.isAdmin) {
    next('/forbidden');
  }
});
```


#### 四、导航模式

##### 1. Hash模式(默认)
URL格式:`http://example.com/#/home`  
特点:兼容性好,浏览器不发送#后的路径到服务器

##### 2. History模式
URL格式:`http://example.com/home`  
特点:需服务器配置支持(避免404),更美观

服务器配置示例(Node.js):
```javascript
const express = require('express');
const app = express();

app.use(express.static(__dirname + '/dist'));
app.get('*', (req, res) => {
  res.sendFile(__dirname + '/dist/index.html');
});
```


#### 五、常见应用场景

1. **权限控制**:通过导航守卫实现登录验证、角色权限校验
2. **SEO优化**:结合服务端渲染(SSR)框架(如Nuxt.js)
3. **过渡动画**:为路由切换添加动画效果
```vue
<transition name="fade">
  <router-view></router-view>

</transition>

<style>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}
</style>

```


#### 六、与其他技术的结合

1. **Vuex状态管理**:在路由守卫中访问store数据
```javascript
router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth && !store.getters.isLoggedIn) {
    next('/login');
  }
});
```

2. **TypeScript支持**:
```typescript
import { RouteConfig } from 'vue-router';

const routes: RouteConfig[] = [
  {
    path: '/',
    name: 'home',
    component: Home
  }
];
```


#### 七、最佳实践

1. **路由文件组织**:按功能模块拆分路由配置
2. **避免嵌套过深**:保持路由层级扁平化(不超过3级)
3. **使用命名路由**:提高代码可维护性
```vue
<router-link :to="{ name: 'user', params: { id: 123 }}">
  User Profile
</router-link>

```

4. **错误处理**:配置全局错误路由
```javascript
{
  path: '*',
  component: ErrorPage
}
```


#### 八、版本注意事项

- Vue Router 3.x 适用于 Vue 2.x
- Vue Router 4.x 适用于 Vue 3.x,API有较大变更(如改用createRouter创建实例)

Vue 3 中使用示例:
```javascript
import { createRouter, createWebHistory } from 'vue-router';

const router = createRouter({
  history: createWebHistory(),
  routes
});
```


#### 九、学习资源

- 官方文档:[Vue Router 文档](https://router.vuejs.org/zh/)
- 实战教程:Vue.js权威指南(第4章)
- 案例参考:Element UI后台管理系统路由设计

通过掌握Vue Router,可高效构建复杂SPA应用的导航架构,实现组件化、模块化的前端开发。

11.maven

Maven 是 Java 项目的标准化构建工具,通过 POM(项目对象模型) 统一管理依赖与构建流程。核心功能包括:

  1. 依赖管理:以 groupId:artifactId:version 坐标定位库,自动解析传递依赖,支持 compile/test/runtime 范围控制,通过 <exclusions> 解决版本冲突。
  1. 生命周期clean/default/site 三大周期,各阶段绑定插件目标(如 maven-compiler-plugin),实现编译、测试、打包自动化。
  1. 多模块架构:父 POM 统一配置,子模块继承依赖与插件,支持聚合构建。
  1. 实战优化:配置阿里云镜像加速下载,用 mvn dependency:tree 分析依赖树,通过 Profiles 区分环境配置。
    适用于企业级项目协作,对比 Gradle 更注重标准化,降低构建复杂度。
### Maven 全面解析:Java 项目构建与依赖管理工具

#### 一、Maven 概述
**Maven** 是 Apache 软件基金会开发的一款基于 **POM(Project Object Model,项目对象模型)** 的自动化构建工具,主要用于 Java 项目的**依赖管理**、**构建流程控制**和**项目信息管理**。它通过统一的项目结构和配置文件,解决了传统 Java 开发中依赖冲突、构建流程复杂等问题。


#### 二、核心功能与概念

##### 1. 依赖管理(Dependency Management)
Maven 通过 **坐标(GroupId:ArtifactId:Version)** 唯一标识每个依赖库,并自动从远程仓库下载所需的 JAR 文件及传递性依赖。

**依赖配置示例(pom.xml)**:
```xml
<dependencies>
  <!-- Spring Boot Starter Web 依赖 -->
  <dependency>
    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <version>2.7.5</version>

  </dependency>

</dependencies>

```

**依赖范围(Scope)**:
- `compile`(默认):编译、测试、运行时均可用。
- `test`:仅测试时可用(如 JUnit)。
- `runtime`:运行时需要,但编译时不需要(如 JDBC 驱动)。
- `provided`:由 JDK 或容器提供(如 Servlet API)。


##### 2. 生命周期(Lifecycle)
Maven 定义了一套标准化的**构建生命周期**,包含三个核心生命周期:
- **clean**:清理项目(如删除 target 目录)。
- **default**:核心构建流程(compile → test → package → install → deploy)。
- **site**:生成项目文档和报告。

**常用命令**:
```bash
mvn clean       # 清理项目
mvn compile     # 编译源代码
mvn test        # 运行测试
mvn package     # 打包(如生成 JAR/WAR)
mvn install     # 安装到本地仓库
mvn deploy      # 部署到远程仓库
```


##### 3. 插件(Plugins)
Maven 通过**插件**执行具体任务,如编译、测试、打包等。每个生命周期阶段对应一个或多个插件目标(Goal)。

**常用插件**:
- `maven-compiler-plugin`:编译 Java 代码。
- `maven-surefire-plugin`:运行单元测试。
- `maven-jar-plugin`:创建 JAR 包。
- `maven-war-plugin`:创建 WAR 包。

**插件配置示例**:
```xml
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>

      <artifactId>maven-compiler-plugin</artifactId>

      <version>3.8.1</version>

      <configuration>
        <source>1.8</source>

        <target>1.8</target>

      </configuration>

    </plugin>

  </plugins>

</build>

```


##### 4. 仓库(Repositories)
Maven 从**仓库**获取依赖和发布构建产物,支持三种类型:
- **本地仓库**:默认位于 `~/.m2/repository`,缓存已下载的依赖。
- **中央仓库**:Maven 官方提供的公共仓库(https://repo.maven.apache.org/maven2)。
- **远程仓库**:企业或组织内部的私有仓库(如 Nexus、Artifactory)。

**配置远程仓库示例**:
```xml
<repositories>
  <repository>
    <id>spring-milestones</id>

    <url>https://repo.spring.io/milestone</url>

  </repository>

</repositories>

```


##### 5. 继承与聚合(Inheritance & Aggregation)
- **继承**:通过父 POM 统一管理项目配置(如依赖版本、插件配置)。
- **聚合**:通过父模块同时构建多个子模块,适用于大型项目。

**父 POM 示例**:
```xml
<modules>
  <module>module1</module>

  <module>module2</module>

</modules>

```


#### 三、POM 文件详解
`pom.xml` 是 Maven 项目的核心配置文件,包含以下关键元素:
- **项目基本信息**:
  ```xml
  <groupId>com.example</groupId>         <!-- 项目组标识 -->
  <artifactId>my-project</artifactId>    <!-- 项目唯一标识 -->
  <version>1.0.0</version>               <!-- 版本号 -->
  <packaging>jar</packaging>             <!-- 打包类型 -->
  ```

- **依赖管理**:通过 `<dependencyManagement>` 统一控制依赖版本。
- **插件配置**:自定义插件行为(如编译版本、资源过滤)。
- **属性定义**:定义项目常量(如 Java 版本、编码格式)。


#### 四、最佳实践

1. **依赖优化**:
   - 使用 `<dependencyManagement>` 统一版本。
   - 通过 `<exclusions>` 排除不必要的传递依赖。
   - 使用 `mvn dependency:tree` 分析依赖冲突。

2. **多模块项目结构**:
   ```
   parent-project/
   ├── pom.xml           # 父模块 POM(packaging=pom)
   ├── module1/
   │   └── pom.xml       # 子模块1
   └── module2/
       └── pom.xml       # 子模块2
   ```

3. **插件配置标准化**:
   在父 POM 中统一配置常用插件,减少重复配置。

4. **使用 Profiles**:
   根据环境(开发/测试/生产)配置不同参数:
   ```xml
   <profiles>
     <profile>
       <id>dev</id>

       <properties>
         <db.url>jdbc:mysql://dev:3306/mydb</db.url>

       </properties>

     </profile>

   </profiles>

   ```


#### 五、常见问题与解决方案

1. **依赖冲突**:
   - 问题:多个依赖引入同一库的不同版本。
   - 解决:使用 `mvn dependency:tree` 查看依赖树,通过 `<exclusions>` 或调整依赖顺序排除冲突版本。

2. **下载速度慢**:
   - 配置国内镜像(如阿里云):
     ```xml
     <mirrors>
       <mirror>
         <id>aliyunmaven</id>

         <mirrorOf>*</mirrorOf>

         <url>https://maven.aliyun.com/repository/public</url>

       </mirror>

     </mirrors>

     ```

3. **插件执行失败**:
   - 指定插件版本(避免使用默认版本)。
   - 使用 `mvn clean install -X` 查看详细错误信息。


#### 六、与其他工具的对比

| 工具       | 特点                          | 适用场景                |
|------------|-------------------------------|-------------------------|
| **Maven**  | 标准化、声明式配置,依赖管理强大 | 大型企业级项目          |
| **Gradle** | 基于 Groovy/Kotlin,灵活高效   | Android 项目、复杂构建  |
| **Ant**    | 命令式构建,需手动管理依赖     | 遗留项目                |


#### 七、学习资源
- **官方文档**:[Apache Maven 官方文档](https://maven.apache.org/)
- **命令速查表**:[Maven 常用命令](https://maven.apache.org/ref/current/maven-embedder/cli.html)
- **实战教程**:《Maven实战》(许晓斌)


#### 八、总结
Maven 通过标准化的项目结构和配置,极大简化了 Java 项目的构建与依赖管理,尤其适合团队协作和大型项目。掌握 Maven 的核心概念(生命周期、依赖管理、插件机制)是成为合格 Java 开发工程师的必备技能。

12.低代码平台推荐

  1. 钉钉宜搭:依托阿里云与钉钉的庞大生态,以 “低代码 + 协同办公” 模式覆盖超 2000 万企业用户。推出 AI 业务助手功能,支持自然语言生成表单及自动化流程,开放 API 市场集成超 500 个行业应用模板,适用于政务数字化、大型零售企业供应链管理、金融风控系统搭建等场景。
  1. 金蝶云・苍穹:基于云原生技术,支持动态领域模型和 API 管理,提供业务中台、数据中台和技术中台能力。将低代码技术与财务、供应链等核心模块深度融合,重点布局国资国企市场,适用于跨国企业合并报表系统、新零售全渠道库存管理、上市公司 ESG 数据披露平台等场景。
  1. 得帆云 DeCode:以 “低代码 + APaaS” 双引擎驱动,覆盖开发的全生命周期。提供云原生异构集成技术,实现与传统系统的无缝对接,支持零代码和低代码开发,提供可视化构建、数据模型管理、集成能力等,适用于制造、建筑、金融等多个行业的复杂业务系统开发。
  1. 微搭 WeDa:腾讯云旗下的低代码平台,支持多端应用开发,与腾讯生态深度集成,利用腾讯云的强大技术支持和生态资源,提供稳定可靠的开发环境,适用于企业微信、小程序等多端应用开发。
  1. 简道云:零代码应用搭建平台,支持表单设计、流程设计和数据实时分析,上手简单,适合非技术人员使用,开发周期短,试错成本低,适用于中小企业的轻量化应用开发,如项目管理、进销存等。
  1. 轻流:无代码系统搭建平台,用户无需代码即可搭建专属管理系统,且深度集成了 AI 技术,提供 AI 套件支持,降低了企业的开发门槛和成本,同时提供了智能化的解决方案,提升了企业的运营效率,适用于生产报工、设备巡检、供应链管理、IoT 设备集成等多个领域。

技能类型

优先级(传统全栈)

优先级(数字化效率型全栈)

Java 后端技术

★★★★★

★★★★★

Vue/React 前端

★★★★☆

★★★☆☆

Element UI

★★★☆☆(Vue 项目)

★★☆☆☆

低代码平台

★★☆☆☆

★★★☆☆        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值