活动回顾|OpenTiny:跨框架前端组件库的技术实现和实践(内含ppt课件)

HTML5+CSS3培训ppt 惠普内部的培训ppt,关于html5和css3的入门培训,简明扼要,值得一看。 立即下载

OpenTiny: 跨框架前端组件库的技术实现和实践

华为云高级前端工程师kagol老师技术布道

与追光少年们一起赋能未来

教你如何玩转前端组件库~

全程干货满满,

精彩不容错过!

活动背景

图片

本次OpenTiny参与了北京理工大学线下meetup,为在校学生进行开源科普,让大家了解参与开源的意义与价值,选择自己感兴趣的开源项目参与开源。同时结合项目目前的技术领域,做开源技术分享,通过面对面技术交流,帮助高校大学生了解当前前沿技术的应用实践,加强对前端技术领域知识的了解。通过前端开源技术介绍+课后作业的形式,加强在校学生对于开源前端技术的了解程度,通过现场训练营实操强化记忆,实现针对高校学生的技术编程类活动信息共享。

活动流程

(一)活动日程安排

13:30-14:00 签到

14:00-14:10 主持人开场

14:10-14:40 议题一:大咖讲开源--高校大学生如何参与开源

14:40-15:10 议题二:数据结构和算法在数据库中的应用

15:10-15:40 议题三:Volcano高阶调度能力加速云原生AI训练

15:40-16:10 议题四:跨框架前端组件库的技术实现和实践

16:10-16:20 开放互动交流

16:20-17:20 训练营--分组并行

活动详情

向宇老师在《数据结构和算法在数据库中的应用》的主题演讲中分享了openGemini时序数据库中使用的数据结构和算法,分别从意义、结构、与B+tree的区别、优化等方面对LSM-Tree做了重点讲解。他认为,在学校学好数据结构和算法很重要,但缺乏和实际产品或者场景的结合,openGemini开源社区是一个非常好的补充,各类算法和数据结构除了需要经受住海量数据考验外,还应该关注性能、以及算法对资源的使用等。向宇表示,openGemini从2019年开始演进,积累了非常多的数据结构和算法方面的优化实践经验,欢迎同学们参与到社区学习、开发、提升个人技术能力,社区针对高校开发者提供技术指导和相关的社区开发培训。

图片

汪洋老师与大家分享了云原生批量计算(HPC、大数据、AI)的发展历程与挑战,主要包括作业管理、高阶调度策略和性能,领域框架支持,资源共享和异构计算等,针对以上挑战详细展开Volcano的架构设计与特性实现,为大家展现Volcano在云原生AI训练场景中所发挥的作用与价值。

图片

曾令卡老师给大家分享了前端框架20年的发展史,并由此引出OpenTiny为了应对未来的挑战,构想了一套跨框架的组件设计架构,通过抽离出无渲染组件逻辑层,并增加对应框架的适配层,从而实现跨框架,这套架构目前已经在OpenTiny项目中落地,并被大量业务验证是可行的。接着通过一个TODO组件的具体例子,带着大家完整得实现了这套renderless组件架构,现场验证了跨框架组件库的可行性,只需要编写一套代码逻辑,就可以应用在PC/Mobile多端,Vue/React多技术栈上面,对外暴露的API完全一致,解决了业务在框架之间迁移的难题,节省了开发成本,真正做到面向未来。

图片

OpenTiny主要内容分享

1、 框架:没有一成不变的前端框架

介绍前端框架的发展史,探讨如何实现面向未来的组件架构

按照过去、现在和未来来划分,将前端框架的发展简单分成三个阶段。第一阶段jQuery时代,jQuery第一个版本是2006年发布的,当时已经有很多框架在争雄,比如Dojo、Prototype、ExtJS等,jQuery凭借2009年推出的Sizzle选择器引擎,加上便捷的链式DOM操作,才取得了压倒性的优势,进入了长达7年的jQuery时代。直到2014年左右,Angular、React、Vue陆续推出,并在2016年形成三足鼎立之势,前端开发的模式也从操作DOM进入了MVC/MVVM的时代,并通过虚拟DOM和diff算法尽可能减少DOM操作,提升前端应用的性能,三大框架时代一直持续至今。未来,Svelte、SolidJS等新兴的框架正在崭露头角,并越来越受到开发者们的喜爱。作为前端组件库的开发者,需要思考如何应对未来挑战,因为外部因素不能够再使用的情况下,如何生存?如何从架构上保证业务的连续性?这就是 OpenTiny 组件库构想跨框架组件架构的原因。

图片

2、 架构:设计一个跨端跨框架的组件架构

介绍组件架构的设计思路和设计理念

左边这张图,可以看出,一个 Vue 组件可以拆分成三个部分:分别是渲染模板、逻辑脚本以及组件样式。如果一个组件可以有多套渲染模板,比如不同场景和终端分别有对应的模板,那么这个组件就能适应各种场景和终端。但是,如果这些渲染模板可以共享一份逻辑脚本,这样就能保证组件 API 接口的统一,使得用户只需写一套代码。假如某个场景下,组件默认的逻辑脚本不能满足需求,用户还可以扩展,指定组件使用自定义的逻辑脚本。而对于组件的样式,可以为不同场景和终端单独设计,通过 CSS 变量技术,让用户可以动态修改组件样式。

右边这张图,说明了OpenTiny的设计理念是:业务与框架分离,这里的业务不仅包括 UI 组件的实现逻辑,还包括应用的页面逻辑,因为不管是 UI 组件还是页面,在 Vue 里面都属于组件。所以,架构的最底层是业务逻辑核心,不管上层采用什么开源框架,都要以不变应万变。如果因为外部因素,Vue 和 React 都不能用了,我们还可以迁移到其他框架。

图片

3、 技术:React钩子和无渲染组件

介绍实现面向未来的设计架构的技术方法

OpenTiny是用 composition-api 开发完成的。这里给出Vue官方提供的一个 TODO 组件的例子,左边代码块是用 Vue 2.0 写的,右边代码块则是用 Vue 3.0 写的,它们都实现相同的组件及功能。从右图可以看出,代码相关联的部分用相同颜色表示,Vue2.0 显得比较零散杂乱,而 Vue3.0 就整洁有序得多。

图片

另外一项技术,无渲染组件,这个称之为概念可能更合适一些。这篇文章同样也是一个 TODO 组件,其思路就是只实现功能不作渲染,因此它可以让一个组件看起来不一样,但功能完全相同。文章介绍的方案受当时的技术限制,只能通过 Vue 的作用域插槽实现。

图片

将这两个技术结合起来看一下,这些代码是 Vue 3.0 的 TODO 组件,左边是组件的渲染模板,右边是组件的逻辑脚本,我们的思路是,将逻辑脚本里 setup 方法返回的对象拆分成独立的 renderless 文件,由它返回渲染所需的数据和方法。比如这里的 todo.vue 文件就拆成了两个,一个是简化后的 todo.vue 文件,另一个则是包含所有组件逻辑的 renderless.js 脚本文件。

图片

4、 实战:构建一个跨端跨框架的TODO组件

通过技术解读,实践开发TODO组件

这个 TODO 组件,其实来自 Vue 官方 Composition API 的示例,还有之前 Renderless 文章里的示例。这里要做的就是将这些示例做成一个 TODO 组件在不同场景不同终端的展现形态。为了让大家能够体验这个 TODO 组件的运行效果,这里提供两个链接,一个是在线演示的网址,另一个是这个工程的源码。打开演示网址,可以看到页面分成左右两块,左边是用 Vue 实现的,右边是用 React 实现的,这两种实现都共用了相同的组件逻辑代码。

整个 TODO 组件示例要实现三个功能。第一个功能,实现组件 PC 和 Mobile 状态切换。具体一点就是提供两个按钮,点击 PC 按钮,组件切换到 PC 的展示形态,点击 Mobile 按钮,组件切换到 Mobile 的展示形态,切换的过程中,组件的数据和输入状态保持同步。第二个功能,实现组件支持自定义渲染模板。比如开发者觉得这个 TODO 组件的 PC 展现形态,不符合业务场景,想按自己的方式调整,但又不想重新写一个新的组件,因为现有组件的功能是满足他们要求的。第三个功能,实现组件Renderless函数的重写。同样,开发者觉得这个 TODO 组件的功能不能满足他们的需求,也想按自己的方式调整,这时就需要提供一个覆盖现有组件逻辑的能力。

演示:  AUI 3.0 POC Demo

源码:  GitHub - kevinmoch/aui3-poc-demo: AUI 3.0 POC Demo —— Composition API + Renderless + CSS Vars

图片

5、 总结:架构的影响力

解读架构的优势和不足

优点方面:第一个就是业务与框架分离,除了组件库自身实现与开源框架解耦,也可以引导应用的开发人员,将其业务代码尽量与框架解耦。第二个就是一次编码多端适配,很显然这个架构开发出来的组件,可以通过复用renderless逻辑,降低多端组件开发工作量。第三个就是统一前端技术栈,由于这个架构具有极大的弹性、包容性和扩展性,它能覆盖多框架多终端多主题,最终促使各领域技术栈归一,这是 OpenTiny 未来要走的路。

缺点方面:异步组件,加载完成前无法调用组件方法;跨框架开发,在框架差异较大的情况下复用性较低;仅限Web端,不支持 Android 和 iOS 端,不支持各类小程序。

6、课后实践:给跨端组件库的TODO组件增加清除全部待办项的功能

图片

操作手册:Wiki - Gitee.com


以上是OpenTiny的全部内容,也欢迎大家多多使用OpenTiny开源项目,一起参与前端技术的探讨分享。

活动反馈

活动之余,学生们也给到了一些反馈,例如,A同学希望搭建一个学校信息展示的网站应用,由于之前用的是jQuery技术栈,很多组件都是手写的,开发效率不高,希望能用Vue技术栈+OpenTiny组件库进行开发。

而B同学对前端框架也很感兴趣,老师分享完以后单独咨询了很多前端和前端框架的知识,比如DOM是什么,MVVM框架是什么,如何实现数据变化之后对应的视图也发生变化。

还有部分学生认为,前端作为Web应用构建的基础,对于提高整个应用的质量起着至关重要的作用。然而,由于目前大多数同学在前端方面的认知还没有很深入,因此在学校普及前端知识是非常必要的,不仅能够加深学生对前端的了解,还能够调动学生对于前端的兴趣。普及前端知识可以帮助学生了解Web开发的基础知识,掌握开发技能,提高应用质量,同时也有助于后续就业后进入企业更好地了解市场需求,提高应用开发效率。

关于 OpenTiny

OpenTiny 是一套华为云出品的企业级组件库解决方案,适配 PC 端 / 移动端等多端,涵盖 Vue2 / Vue3 / Angular 多技术栈,拥有主题配置系统 / 中后台模板 / CLI 命令行等效率提升工具,可帮助开发者高效开发 Web 应用。

核心亮点:

  1. 跨端跨框架:使用 Renderless 无渲染组件设计架构,实现了一套代码同时支持 Vue2 / Vue3,PC / Mobile 端,并支持函数级别的逻辑定制和全模板替换,灵活性好、二次开发能力强。
  2. 组件丰富:PC 端有80+组件,移动端有30+组件,包含高频组件 Table、Tree、Select 等,内置虚拟滚动,保证大数据场景下的流畅体验,除了业界常见组件之外,我们还提供了一些独有的特色组件,如:Split 面板分割器、IpAddress IP地址输入框、Calendar 日历、Crop 图片裁切等
  3. 配置式组件:组件支持模板式和配置式两种使用方式,适合低代码平台,目前团队已经将 OpenTiny 集成到内部的低代码平台,针对低码平台做了大量优化
  4. 周边生态齐全:提供了基于 Angular + TypeScript 的 TinyNG 组件库,提供包含 10+ 实用功能、20+ 典型页面的 TinyPro 中后台模板,提供覆盖前端开发全流程的 TinyCLI 工程化工具,提供强大的在线主题配置平台 TinyTheme

联系我们:

技术分享-前端培训.ppt web前段的一些技术分享,自己做的培训资料,web前段的一些技术分享,自己做的培训资料,web前段的一些技术分享,自己做的培训资料 立即下载

相关推荐

WEB前端开发入门简介PPT

主要介绍了前端是什么,能干什么,与后端的区别,主要学的技术,HTML,CSS,JavaScript等等,以及未来的职业发展状况。

搭建 OpenTiny 组件库的 Playground 指导手册

本文通过实操教程,教你如何从0到1搭建OpenTiny项目中TinyVue组件库的playground,

OpenTiny的博客 901

前端-HTML学习ppt

里面是html学习的ppt文档,适合新手学习,有兴趣的可以看看。

什么?你还不会 OpenTiny 跨框架组件库适配微前端?

本文通过实战操作梳理,带你手把手实现 TinyVue 跨框架组件库适配微前端~欢迎关注,点赞,评论~

OpenTiny的博客 1384

前端css学习ppt,总结详细

需要PPT模板的可以下载

前端网页设计 ppt

前端网页设计课件 ppt 前端网页设计课件 ppt 前端网页设计课件 ppt 前端网页设计课件 ppt 前端网页设计课件 ppt

活动回顾|体验技术大会暨OpenTiny技术交流茶话会圆满结束~

在这里,开发者们纷纷就自己在开发过程中遇到的问题和心得进行了分享和讨论,例如:“TinyEngine物料管理,包括第三方组件的增加有没有简化维护的功能扩展计划”、“低代码下如何编写一些带有复杂逻辑的页面,比如需要store存取数据”、“TinyEngine目前支持导入第三方基础组件库,是否也能支持导入基于第三方组件库封装的业务组件库,进一步简化页面搭建”、“TinyVue组件库在使用上存在视觉小问题,如:图标和文字没有中线对齐,表单组件图标被压扁的情况,希望及时修复”等。想你的风还是吹到了坂田基地~

OpenTiny的博客 505

Web前端PPT课件.pptx

Web前端PPT课件.pptx

3年历程,这是OpenTiny的逐光之旅!

2025年,前端智能化转型的浪潮来得又快又猛,作为深耕企业级前端开源的一员,OpenTiny始终抱着“让前端开发更高效、更智能”的初心,完成了从组件生态到智能开发平台的大跨越。这一年,我们最亮眼的里程碑,就是OpenTiny NEXT前端智能化解决方案的上线,同时在技术创新、生态搭建、活动联动和影响力扩散上都交出了不错的答卷,和全球开源开发者们一起,朝着前端智能化的方向迈进。一晃三年,OpenTiny已经在开源路上走了三年。

OpenTiny的博客 1160

D2前端技术论坛演讲 PPT集合.zip

打造更稳定的 SERVERLESS 业务; 高密度部署实践; 前端故障演练的探索与实践; 如何建设跨端灰度监控; 腾讯文档高效质量交付; serverless在前端部署领域的实践; SSR 在双十一会场的落地实践; 10万级大型场馆背后的绘选座技术; 从中台的前端走向前端的中台; 钉钉表格 — 从 0 到 1 打造 在线 Excel; 盒马中后台跨端方案探索; 基于 WebAssembly 的 IoT应用架构实践; 跨端的另一种思路; 媒体智能-淘宝直播流媒体互动实践; 前端智能化实践—P2C 从需求文档生成代码; 深入剖析海量数据场景下的用户行为分析方案; 以全球 Web 角度谈前端性能的更新与趋势;

Mac上IDEA的PlantUML插件报错‘找不到Graphviz’?手把手教你用Homebrew搞定(附阿里云镜像避坑)

本文详细解决了Mac上IDEA的PlantUML插件报错‘找不到Graphviz’的问题,通过Homebrew安装Graphviz并配置阿里云镜像源,特别针对Apple Silicon芯片用户提供了优化方案。文章还涵盖了IDEA中PlantUML插件的正确配置和常见问题排查,帮助开发者高效使用PlantUML进行UML图表设计。

weixin_42619742的博客 469

速看!盘点这一年 OpenTiny 都在做什么?

叮,这里有一份 OpenTiny 的年终总结等你查收,本文主要介绍了OpenTiny 2023年的那些事~

OpenTiny的博客 1344

VSAN闪存缓存磁盘故障处理指南-RAID0模式实战解析

本文详细解析了VSAN集群中RAID0模式下的闪存缓存磁盘故障处理全流程。通过模拟真实故障场景,从告警识别、数据重建策略到磁盘组重构,提供了手把手的实战操作指南,并深入探讨了RAID0缓存故障的独特影响与风险,为运维人员应对此类高性能存储架构的突发问题提供了专业解决方案。

assembly8low的博客 446

OpenTiny2024年终总结~

为了始终与开发者站在一起,保持紧密的联系与沟通,OpenTiny社区持续开展各类活动。社区积极参与华为云开发者日(广州站/武汉站/南京站)、HDC开发者大会和开放原子生态大会,并主办了OpenTiny技术交流茶话会及华为云开源开发者大前端分论坛活动,希望通过这些线下活动与全国各地的开发者近距离沟通,帮助更多开发者受益。

OpenTiny的博客 1003

ZYNQ新手必看:你的PS端DDR和QSPI配置真的对了吗?从原理到实操的避雷指南

本文深入解析ZYNQ PS端外设配置的关键要点,特别是DDR匹配和QSPI时钟优化的实战技巧。通过详细案例和配置清单,帮助开发者避免常见错误,确保系统稳定性和启动可靠性。适合ZYNQ新手和需要优化最小系统的开发者参考。

weixin_28675839的博客 447

二手分析仪器改造实战:如何用PMT搭建荧光检测电路(附完整电路图)

本文详细介绍了如何利用二手分析仪器中的光电倍增管(PMT)核心部件,进行荧光检测电路的实战改造。内容涵盖从PMT工作原理理解、高压供电电路设计、低噪声前置放大(跨阻放大器)到信号调理的完整流程,并提供了关键电路图与调试排错指南,旨在帮助电子爱好者与工程师低成本构建稳定、高灵敏度的专业检测系统。

weixin_29234239的博客 441

专访华为 OpenTiny开源项目负责人 Kagol

hi, 大家好, 我是徐小夕. 最近在我的公众号《趣谈前端》中上线了《小夕朋友圈》栏目, 我会定期采访国内外优秀的开源作者和独立开发者, 分享他们的学习成长经验和独立产品开发经验, 让更多热爱技术的小伙伴建立技术自信和技术连接. 同时也让公众号里的5w+程序员伙伴们看到国内优质的开源项目和独立产品.如果你也是一名独立开发者或者开源作者,欢迎自荐.今天采访的嘉宾是华为 OpenTiny 开源项目负责...

趣谈前端 1008

CMAC算法原理

2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;

sky的博客 1659

OpenTiny 2023年度共建者榜单大曝光!!!

其中 GaoNeng-wWw 贡献了 ColoPicker 组件,pe-3 贡献了 TinyReact 组件库,Caesar-ch 贡献了富文本组件,mengqiuleo 贡献了 tiny-vue-playground 项目,vaebe 贡献了 Divider 组件等等~正是由于他们的加入,并一起参与到 OpenTiny 社区的共建中,才让 OpenTiny Vue 组件库在这10个月内,更新了11个大版本,其中发布新特性134个、bug修复233个、其他优化28个。

OpenTiny的博客 1181

XTDrone——无人机基于2D激光Lidar进行二维运动规划(细节提醒以及相关报错解决)

本文介绍了在Ubuntu 20.04系统无人机基于ROS Noetic实现HectorSLAM二维激光建图与运动规划的完整流程。主要内容包括:安装必要ROS依赖库;修改HectorSLAM的launch文件,解决坐标系转换问题;配置地图发布参数以避免覆盖已建地图;启动PX4仿真环境与XTDrone通信模块;最后通过2D导航目标点实现无人机运动规划。文中详细说明了各步骤的关键配置修改,并提供了处理常见错误(如TF转换超时)的解决方案。实现了从激光SLAM建图到路径规划的过程。

weixin_45390670的博客 996

Microsoft Defender防病毒扫描添加排除项

Win10与Win11上的“**Microsoft Defender防病毒**”功能默认会自动扫描所有非压缩文件,如果发现病毒或疑似病毒甚至经过手动修改后某些安装文件,会自动将其删除,如果是后面两种情况,则可能会造成误报,对我们正常办公或学习造成不利影响。 此时, 我们可以将某个目录或文件设置为“**Microsoft Defender防病毒不会扫描已排除的项目**”(<red>但要注意:这些被排除的目录或文件会给笔记本造成一定的安全风险,如果真有病毒感染这些目录或文件它们也不会被“**Micr

weixin_42148668的博客 6482

报名倒计时两周|2024 OpenTiny 开源之夏项目直播解读回顾

目前TinyVue的Grid表格组件并没有将组件逻辑拆分成renderless函数,后续无法扩展到其他前端框架中,因此需要对Grid组件进行重构,将组件逻辑抽离成renderless。完成重构之后,还需要基于目前的虚拟滚动进行优化,优化大数据场景下树表、单元格编辑、行列拖拽等场景的功能和性能,实现动态高度的虚拟滚动、树表懒加载等特性。

OpenTiny的博客 1354

YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 803

活动回顾|OpenTiny 参与线下大会:共创开源未来,助力低代码技术创新

OpenTiny 参与线下大会核心亮点概览

OpenTiny的博客 572

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

专访|OpenTiny 开源社区 常浩:完成比完美更重要

大家好,我叫常浩,来自西安邮电大学,我是从大二开始接触前端的,2023年2月在网易有道有一段实习的经历。目前对于前端属于一个初步了解和学习的阶段。参与这个项目,我需要做的是基于 Tiptap 开源无头编辑器实现富文本组件的相应的一些功能。包含基本的加粗、斜体、颜色、标题、行高、列表、引用等格式;插入图片/视频及调整大小;插入/编辑超链接和链接卡片;插入行内代码、代码块;撤销重做、清除样式;插入/编辑表格等。

OpenTiny的博客 443

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

感恩有你|一起见证 OpenTiny 这5个锦鲤时刻

可信开源项目” 是由中国信通院推动的开源项目评估,对开源项目的健康程度与可持续性展开评测,以降低开源项目的安全风险,完善开源项目的开发者、用户生态。本次活动以优质的技术内容创作为依托,以“相信技术,传递价值”为动力,OpenTiny 社区也是持续分享前沿的技术创新,输出最佳的生产实践,因此也获得了一些朋友的打榜支持,在本次活动中也是获得人气榜的第五名。在这充满寄托和期待的日子里,不仅和大家一样沉浸在准备迎接新年的欢乐里,同时,也收到了一些好消息,先后获得了一些荣誉,让。莫听穿林打叶声,何妨吟啸且徐行!

OpenTiny的博客 735

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 你了解Vue3 组合式API吗?
下一篇: 但因热爱,愿迎万难,OpenTiny Vue Playground正式上线
OpenTiny社区
博客等级 码龄4年 1540粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值