Element UI 2.15.1离线组件库快速上手指南

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Element UI 是一个基于 Vue.js 的前端组件库,提供了丰富的界面组件用于构建 web 应用。2.15.1 版本的压缩包包含了所有必要的文件,允许开发者在没有网络或网络不稳定的情况下离线使用 Element UI。本指南详细介绍了如何下载和解压该压缩包、引入 CSS 和 JS 文件、注册 Vue 和 Element UI、使用组件、自定义主题、按需引入组件、考虑浏览器兼容性、实现国际化支持以及处理错误和调试。同时,强调了持续关注更新的重要性,并概述了与前端开发相关的基础知识。
element-ui-2.15.1.zip

1. Element UI 介绍与组件库

1.1 Element UI概述

Element UI 是一个基于Vue.js的桌面端组件库,它为开发者提供了一套丰富的界面元素,从而快速构建优雅的Web界面。作为一套高质量的UI工具,它广泛应用于后台管理系统、企业网站等Web应用开发中。Element的设计理念符合现代设计趋势,提供了完备的主题定制能力,使得开发者能够根据需求调整风格。

1.2 组件库特点

Element UI 组件库包含多种类型的组件,从基础的按钮、输入框,到复杂的表格、分页、表单验证等。它支持响应式布局,可以灵活地适配各种屏幕尺寸。此外,Element UI 的组件设计遵循Web标准,兼容性良好,支持主流浏览器。它的另一个显著优势是国际化支持,可以轻松地实现多语言界面。

// 示例代码:引入Element UI组件库
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

在上述代码中,我们展示了如何在Vue项目中快速引入Element UI,使其成为项目的一部分。这种方式简单且高效,是快速搭建Vue Web应用的基础。随着本章的深入,我们将探讨Element UI的更多细节及其在项目中的实际应用。

2. 离线使用方法及步骤

在第二章中,我们将深入了解如何在没有网络连接的情况下,本地使用Element UI进行开发。这对于那些有安全限制或在网络条件不佳的环境下工作的开发者尤为重要。本章将分步骤介绍从下载资源包到在本地环境中测试Element UI的所有必要流程。

2.1 下载Element UI资源包

由于无法直接从网络下载,我们首先需要通过官方提供的方法来获取Element UI的资源包。一般情况下,你可以通过如下步骤进行操作:

  1. 访问Element UI的GitHub仓库。
  2. 在仓库中找到Releases部分,下载对应版本的资源压缩包。
  3. 解压下载的资源包到本地工作目录。

这个过程可以通过命令行工具完成,以提高效率:

# 假设你已经确定了要下载的Element UI版本是v2.13.0,可以使用下面的命令
curl -L https://github.com/ElemeFE/element/releases/download/v2.13.0/element-ui-v2.13.0.zip -o element-ui-v2.13.0.zip
unzip element-ui-v2.13.0.zip

2.2 离线包的引入与配置

下载并解压Element UI资源包之后,需要将其引入到你的项目中并进行配置。这通常涉及以下步骤:

  1. 将解压后的Element UI文件夹放入项目的静态资源目录中。
  2. 修改项目的构建配置文件(如webpack配置),确保引入了Element UI的CSS文件和JavaScript文件。
  3. 配置项目的入口文件(如 main.js ),引入Element UI并初始化。

例如,如果你使用Vue CLI创建的项目,可以在 src/main.js 中添加以下代码:

import Vue from 'vue'
import ElementUI from '@/plugins/element-ui' // 假设你的Element UI资源放在了这个路径
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)

new Vue({
  // ...其他配置
}).$mount('#app')

2.3 离线环境下Element UI的使用测试

在完成配置后,我们就可以在离线环境下进行Element UI的使用测试了。这里需要注意的是,由于是在离线环境,因此我们需要手动进行资源的引入和初始化。在测试的过程中,我们可能需要考虑:

  1. 检查Element UI组件是否按预期工作。
  2. 检查布局和样式是否符合设计要求。
  3. 测试功能组件是否能够正确响应事件和数据变化。

在测试期间,你可能会需要调整资源引入的路径或是配置参数,以确保一切正常运行。

最终,如果一切顺利,你应该能够在完全离线的情况下,利用Element UI构建出美观、功能完备的前端应用。这不仅提升了开发的灵活性,也确保了在特定环境下项目的可维护性和可持续性。

3. Vue 与 Element UI 集成

3.1 Vue项目的基础搭建

Vue.js 是一个用于构建用户界面的渐进式JavaScript框架,以其轻量级、易上手、组件化等特性被众多开发者所喜爱。在开始集成Element UI之前,需要先搭建一个Vue的基础项目。这可以通过Vue CLI完成,它是一个基于Vue.js进行快速开发的完整系统。

首先,确保你已经安装了Node.js和npm。然后,全局安装Vue CLI:

npm install -g @vue/cli

安装完成后,使用以下命令创建一个新的Vue项目:

vue create my-vue-project

在创建过程中,系统会提示你选择配置预设或者手动选择特性。你可以按照个人需求选择,也可以选择默认配置以继续。

进入项目目录后,可以使用以下命令来启动项目:

cd my-vue-project
npm run serve

这将启动一个本地开发服务器,并默认在浏览器的 http://localhost:8080 地址下打开项目。至此,Vue基础项目已经搭建完成。

3.2 Element UI的安装与配置

Element UI是一个基于Vue 2.0的桌面端组件库,它提供了一套丰富的UI组件,可以极大地提升开发效率。集成Element UI到Vue项目中,需要通过npm或yarn来安装。

首先,在Vue项目的根目录下打开命令行工具,运行以下命令:

npm install element-ui --save

或者使用yarn:

yarn add element-ui

安装完成后,需要在主入口文件(通常是 main.js main.ts )中引入Element UI,并进行配置:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

这段代码通过Vue.use方法引入Element UI,并注册所有的组件和指令。 theme-chalk/index.css 是Element UI的主题样式文件,用于确保组件具有正确的视觉样式。

完成以上步骤后,Element UI就已经成功集成到Vue项目中,接下来可以开始在项目中使用Element UI的组件了。

3.3 基本组件在Vue项目中的集成示例

Element UI提供了丰富的组件,如按钮、表单、对话框、提示框等。下面将介绍如何在Vue项目中使用Element UI的几个基础组件。

示例:使用Button和Dialog组件

src/App.vue 文件中,可以添加以下代码来实现一个简单的功能,即在点击按钮后弹出一个对话框:

<template>
  <div id="app">
    <el-button type="primary" @click="openDialog">打开对话框</el-button>
    <el-dialog :visible.sync="dialogVisible" title="提示">
      <p>这是一段信息</p>
      <p slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
      </p>
    </el-dialog>
  </div>
</template>

<script>
export default {
  data() {
    return {
      dialogVisible: false
    };
  },
  methods: {
    openDialog() {
      this.dialogVisible = true;
    }
  }
}
</script>

<style>
/* 自定义样式 */
</style>

在这个例子中,我们使用了 <el-button> 组件作为按钮,并绑定了点击事件 openDialog 。当点击按钮时, openDialog 方法会被触发,从而改变 dialogVisible 的值,使得 <el-dialog> 组件显示出来。对话框的关闭按钮绑定了点击事件,用于更新 dialogVisible 的状态,使得对话框能够关闭。

示例:使用Form表单组件

下面是一个简单的表单示例,展示了如何使用Element UI的 <el-form> 组件创建一个包含不同输入元素的表单:

<template>
  <el-form :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <el-input v-model="form.name"></el-input>
    </el-form-item>
    <el-form-item label="活动区域">
      <el-select v-model="form.region" placeholder="请选择活动区域">
        <el-option
          label="区域一"
          value="shanghai"
        ></el-option>
        <el-option
          label="区域二"
          value="beijing"
        ></el-option>
      </el-select>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="onSubmit">立即创建</el-button>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        region: ''
      }
    };
  },
  methods: {
    onSubmit() {
      console.log('submit!', this.form);
    }
  }
};
</script>

这里使用了 <el-form> 组件来创建表单,并通过 :model 属性绑定数据模型。每个表单项都使用了 <el-form-item> 来封装,并且配合 <el-input> <el-select> 输入框组件来获取用户输入。

以上两个示例展示了Element UI组件在Vue项目中的基础集成方法。通过这些操作,你可以快速开始在你的Vue应用中构建用户界面。随着项目的深入,你可以继续探索和使用Element UI提供的其他高级组件和功能,来丰富你的应用界面和用户体验。

4. 组件使用与自定义主题

随着对Element UI的深入了解,接下来我们深入探讨如何在Vue项目中使用Element UI的各种组件以及如何自定义主题以适应项目的视觉风格。掌握这些技能将大大增强你的前端开发能力。

4.1 Element UI组件使用指南

Element UI组件库的丰富性是其一大特色,开发者可以利用这些组件快速构建出美观且功能完善的用户界面。下面详细介绍Element UI中常用组件的属性和事件,以及高级配置与使用技巧。

4.1.1 常用组件的属性和事件

每个Element UI组件都有其特定的属性和事件,熟悉这些组件的基本用法是前端开发的基础。以下是一些常用组件及其属性和事件的示例:

  • Button组件 :提供多种按钮样式和尺寸,支持点击事件( click )。
    html <el-button type="primary" size="medium" @click="handleClick">主要按钮</el-button>
    javascript methods: { handleClick() { alert('按钮被点击'); } }

  • Input组件 :用于文本输入,拥有 placeholder 提示信息、 value 绑定值等属性。
    html <el-input v-model="inputValue" placeholder="请输入内容"></el-input>
    javascript data() { return { inputValue: '' }; }

  • Select组件 :下拉选择框,支持单选( change )和多选( input )事件。
    html <el-select v-model="selectValue" @change="handleChange"> <el-option label="选项一" value="1"></el-option> <el-option label="选项二" value="2"></el-option> </el-select>
    javascript data() { return { selectValue: '' }; }, methods: { handleChange(value) { console.log(`选中的值为:${value}`); } }

4.1.2 组件的高级配置与使用

高级配置主要涉及组件内部逻辑的定制化,例如,使用 slot 来自定义内容插槽,通过 v-model 实现双向数据绑定,以及使用 watch 监听数据变化等。

  • 自定义内容插槽
    html <el-popover trigger="click" placement="bottom"> <el-button slot="reference">悬停显示</el-button> <div slot="content"> <p>这里是内容</p> <p>可以自定义</p> </div> </el-popover>

  • 双向数据绑定
    html <el-checkbox v-model="checked">勾选</el-checkbox>

  • 监听数据变化
    javascript watch: { checked(newVal, oldVal) { console.log(`新值:${newVal}, 旧值:${oldVal}`); } }

4.2 自定义主题的生成与应用

Element UI允许开发者通过修改默认的SCSS变量来自定义主题颜色和样式,以满足项目的特定视觉需求。

4.2.1 主题的配置方法

要生成自定义主题,通常有以下几种方式:

  1. 使用在线主题生成器 :访问Element UI官网提供的在线主题生成器,选择合适的颜色变量,下载配置好的样式文件。

  2. 命令行工具 :安装 的主题生成器 包后,可以通过命令行快速生成主题。

  3. 手动配置 :在项目中手动覆盖或修改 /theme-chalk/src 目录下的SCSS变量。

4.2.2 自定义主题的构建过程

以下是通过命令行工具手动构建自定义主题的步骤:

  1. 安装主题生成器
    sh npm i element-theme -D

  2. 初始化主题配置文件
    sh element-theme init

  3. 修改SCSS变量
    打开生成的配置文件 config.yml ,你可以更改主题色及其他变量,并保存。

  4. 构建主题
    sh element-theme build

  5. 引入自定义主题
    在项目入口文件(通常是 main.js )中,引入构建好的自定义主题样式文件。
    javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'path/to/your/theme/index.css'; // 引入自定义主题样式 Vue.use(ElementUI);

自定义主题不仅提升了用户界面的美观度,也增强了品牌形象的一致性,是提升产品竞争力的必备步骤。

以上内容为第四章“组件使用与自定义主题”的详细介绍,通过实践学会如何使用Element UI组件库中的常用组件以及如何进行主题的自定义。在下一章节中,我们将探索如何按需引入组件以及相关的性能优化策略。

5. 按需引入组件

Element UI 作为一个成熟的Vue组件库,拥有庞大的组件集合。但是,并非每一个应用都会使用到所有的组件,这就导致了很多未使用的代码被包含在最终的打包文件中,增加了应用的体积,影响了页面加载速度和性能。为了优化这种情况,按需引入组件成为了解决问题的关键策略。本章节将介绍按需引入组件的准备工作、配置步骤和性能优化。

5.1 按需引入的准备工作

按需引入组件需要对项目进行一定的配置,以确保只加载使用的组件代码。准备工作包括以下几个关键步骤:

  • 安装依赖工具: 首先,确保安装了 babel-plugin-component 插件,这个插件可以帮助我们在使用Babel时按需引入Element UI组件。

    bash npm install babel-plugin-component -D

  • 配置Babel: .babelrc babel.config.js 文件中添加以下配置:

    json { "plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ] }

    这个配置会指示Babel在编译过程中,根据实际使用的Element UI组件来引入对应的模块和样式。

  • 项目结构调整: 如果你的项目中尚未按照功能模块来组织代码,那么按需引入之前,你需要先对项目进行模块化重构。这样可以更清晰地管理代码,并且便于实现按需引入。

5.2 按需引入的配置步骤

完成了准备工作后,我们需要对项目中的Element UI使用进行调整,以实现按需加载。以下是配置步骤:

  1. 导入需要的组件: 修改原有的全局引入方式,改为按需导入单个组件。例如,如果你只需要 Button Select 组件,那么可以这样导入:

    javascript import { Button, Select } from 'element-ui';

  2. 使用组件: 在组件或页面中,你可以像之前一样正常使用这些按需引入的组件。

    ```vue


    Button








    ```

    注意,在模板中使用组件时,需要保持 import 时的名称,以确保编译器可以正确找到对应的组件。

  3. 优化构建输出: 对于 webpack 构建项目,确保 webpack 配置中使用了 babel-loader 来处理 .js .vue 文件,并且已经安装了 style-loader css-loader ,以便能够正确地处理样式文件。

    javascript module: { rules: [ // 其他 loader 配置... { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ }, { test: /\.vue$/, loader: 'vue-loader' } ] }

5.3 按需引入与性能优化

按需引入不仅能够减少应用体积,还可以提升加载性能,减少不必要的资源加载。在完成按需引入之后,我们可以采取以下措施进行性能优化:

  • Tree Shaking: 确保使用支持Tree Shaking的构建工具,如 webpack Rollup 等,这样可以进一步剔除未使用的代码。

  • 压缩资源: 使用工具如 TerserPlugin UglifyjsPlugin 对JavaScript代码进行压缩,进一步减小文件体积。

  • 懒加载: 对于非首屏加载的组件或模块,可以使用懒加载的方式,即在需要时才加载资源。

    javascript // 使用 Vue 的动态 import components: { MyComponent: () => import('./MyComponent.vue') }

  • 分析并优化: 使用 webpack-bundle-analyzer 等工具分析构建后的包大小,找到可以进一步优化的点。

    bash npm install webpack-bundle-analyzer --save-dev

    配置并运行该工具,查看分析结果,然后根据分析结果调整代码结构和依赖配置,以达到进一步优化的目的。

通过以上步骤,可以有效地减少项目的总体资源体积,提高页面加载速度和用户交互体验,让项目在性能方面达到一个更好的水平。

在下一章中,我们会进一步讨论如何在Element UI的使用中考虑浏览器的兼容性问题,为应用提供更加广泛的用户支持。

6. 浏览器兼容性考虑

6.1 浏览器兼容性的重要性

在前端开发中,确保网站或Web应用在不同的浏览器上都能提供一致的用户体验是一项基本要求。浏览器兼容性问题往往会导致界面渲染错误、功能无法使用甚至是安全漏洞。对于使用Element UI构建的Vue项目来说,了解其组件库在不同浏览器上的表现,是保证用户界面一致性和功能可用性的关键。

6.2 Element UI的兼容性测试

Element UI框架在设计时考虑了主流的浏览器,包括但不限于Chrome、Firefox、Safari和Edge。不过,随着浏览器版本的更新,一些新的CSS特性或者JavaScript的API可能会被使用,这需要前端开发人员关注并测试组件库在最新浏览器版本上的兼容性。

6.2.1 兼容性测试准备

进行兼容性测试之前,需要准备不同版本的浏览器,并使用自动化测试工具(如Selenium或者Puppeteer)来模拟用户的访问。同时,使用浏览器的开发者工具可以查看和调试元素。

6.2.2 执行兼容性测试

在执行兼容性测试时,需要检查Element UI组件库中的组件在不同浏览器上的显示效果和功能实现。以下是一些主要的测试点:

  • 组件的基本样式是否正确,包括颜色、字体、布局等。
  • 交互功能是否正常,如表单提交、按钮点击、模态框弹出等。
  • 边缘情况处理,例如对于旧版浏览器的兼容性支持。
  • 性能测试,检查在不同浏览器中的渲染速度和内存占用。

6.2.3 兼容性测试工具

可以使用一些在线测试平台,例如BrowserStack或Sauce Labs,它们提供了跨浏览器和跨设备的兼容性测试服务。这些工具能够帮助开发者发现不同浏览器上可能存在的兼容性问题。

6.3 兼容性问题的解决方案

当在测试过程中发现兼容性问题时,可以采取以下几种策略来解决:

6.3.1 使用polyfills

为了解决旧版本浏览器不支持新特性的问题,可以使用polyfills来填补这些特性空白。例如,Element UI内部使用了 babel-polyfill 来确保低版本浏览器支持ES6+的新特性。

6.3.2 CSS兼容性前缀

在CSS中添加浏览器特定的前缀(如 -webkit- -moz- -o- -ms- ),以确保样式在不同浏览器上能够正确显示。

6.3.3 Feature检测与polyfill加载

使用JavaScript的feature检测来判断浏览器是否支持某个特性,如果不支持,则加载相应的polyfill。这可以通过框架如Modernizr来实现。

6.3.4 CSS3渐进增强

使用CSS3特性时,可以通过层叠的样式表来实现渐进增强。确保核心内容在不支持CSS3的浏览器上也能显示,而高级特性则在支持的浏览器上增强体验。

6.3.5 兼容性问题的跟踪与修复

在Element UI的GitHub仓库中,可以查看已知的兼容性问题,并跟踪其修复进展。社区的贡献者也会不断提交补丁来修复兼容性问题。

6.3.6 回退方案

在无法解决的兼容性问题上,可以考虑提供回退方案,如使用传统的布局技术替代Flexbox,或者JavaScript功能的纯CSS替代方案。

浏览器兼容性测试示例

例如,在Selenium中设置不同浏览器进行自动化测试的代码片段可能如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.firefox.options import Options

# Chrome浏览器测试
chrome_options = Options()
chrome_options.add_argument("--headless")  # 无界面模式
driver = webdriver.Chrome(options=chrome_options)
driver.get("http://example.com")
print(driver.title)

# Firefox浏览器测试
firefox_options = Options()
firefox_options.add_argument("--headless")  # 无界面模式
driver = webdriver.Firefox(options=firefox_options)
driver.get("http://example.com")
print(driver.title)

driver.quit()

在实际测试中,还需要编写额外的测试用例来验证Element UI组件在不同浏览器上的表现,这可能包括自动化测试脚本的编写,以便快速发现和修复潜在的兼容性问题。

通过上述章节的讨论,我们了解了浏览器兼容性的重要性,以及Element UI针对浏览器兼容性问题的测试方法和解决策略。在实际项目中,开发者应该将兼容性测试纳入日常的开发流程中,确保应用在不同的浏览器环境下都能正常工作。

7. 国际化语言包配置

国际化是现代应用不可或缺的一部分,它允许你的应用适应不同的语言和文化。Element UI作为一个国际化友好的UI框架,提供了多种语言包以支持多语言环境下的开发。本章我们将探讨如何在项目中配置和使用Element UI的语言包。

7.1 国际化的基本概念与步骤

国际化(Internationalization)通常简称为i18n,它涉及到一系列设计和编程技术来支持多语言环境。国际化允许应用程序在不同的地区使用不同的语言,而不需要做大量的代码重构。Element UI中的国际化主要通过语言包来实现,开发者可以选择适合自己的语言包,甚至自定义语言包。

国际化的基本步骤包括:

  1. 引入目标语言包。
  2. 指定当前应用所使用的语言。
  3. 确保所有文本内容都支持国际化。

7.2 Element UI语言包的引入与配置

Element UI提供了一系列的语言包,可以支持包括中文、英文、日语等多种语言。按照以下步骤配置Element UI的语言包:

  1. 下载对应语言的语言包文件。Element UI官方通常会提供语言包下载链接。
  2. 将下载的语言包文件导入到你的项目中。
  3. 在Vue项目的入口文件(如 main.js app.js )中引入并使用该语言包。

以引入英文语言包为例:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import locale from 'element-ui/lib/locale/lang/en'; // 引入英文语言包

Vue.use(ElementUI, { locale }); // 使用语言包

上述代码中, locale 是Element UI英文语言包的配置对象,将这个对象作为 use 方法的第二个参数传递即可实现国际化配置。

7.3 多语言环境下的实践应用

在配置好Element UI的语言包之后,我们就可以在项目中应用多语言功能了。以下是如何在组件中使用多语言的一个简单示例:

<template>
  <el-button>{{ $t('button.save') }}</el-button>
</template>

<script>
export default {
  data() {
    return {
      // 可以在这里定义本地语言资源
      localText: {
        button: {
          save: 'Save'
        }
      }
    };
  }
};
</script>

在上面的代码中, $t 是一个国际化工具函数,它根据当前配置的语言包返回相应的翻译内容。 button.save 是语言包中的键,对应的是“保存”按钮的翻译文本。

在实际开发中,我们可能需要根据用户的语言偏好或者浏览器语言来自动设置应用语言。Element UI的国际化API提供了获取和设置语言的方法:

import { getLocale, setLocale } from 'element-ui/lib/locale';

// 获取当前应用语言
console.log(getLocale());

// 设置应用语言为德语
setLocale('de');

多语言环境下的实践应用,除了Element UI提供的语言包之外,还可以根据项目需求自定义文本内容。如果遇到官方提供的语言包没有包含的语言,开发者可以参考已有语言包的格式自行创建新的语言包,并使用 setLocale 方法进行加载。

Element UI的国际化支持在多语言环境下极大地简化了前端开发流程,使开发者能够更专注于业务逻辑的实现,而不必担心语言切换带来的困扰。在后续的开发实践中,深入理解国际化配置与使用将有助于打造更加健壮和友好的国际化应用。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Element UI 是一个基于 Vue.js 的前端组件库,提供了丰富的界面组件用于构建 web 应用。2.15.1 版本的压缩包包含了所有必要的文件,允许开发者在没有网络或网络不稳定的情况下离线使用 Element UI。本指南详细介绍了如何下载和解压该压缩包、引入 CSS 和 JS 文件、注册 Vue 和 Element UI、使用组件、自定义主题、按需引入组件、考虑浏览器兼容性、实现国际化支持以及处理错误和调试。同时,强调了持续关注更新的重要性,并概述了与前端开发相关的基础知识。


本文还有配套的精品资源,点击获取
menu-r.4af5f7ec.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值