30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

OpenHarmony实战开发-wukong稳定性工具使用指导 wukong是系统自带的一种命令行工具,支持Ability的随机事件注入、控件注入、异常捕获、报告生成和对Ability数据遍历截图等特性。通过模拟用户行为,对系统或应用进行稳定性压力测试。 阅读详情

目录

测试子系统简介

单元测试框架

UI测试框架

稳定性测试工具设计

兼容性测试套

快速参与共建

文章中涉及的链接汇总


如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Request),跟着大咖30分钟成为OpenAtom OpenHarmony(以下简称“OpenHarmony”) Contributor。战“码”先锋直播间第6期,邀请拥有10年终端产品软件和系统框架测试经验的华为OpenHarmony高级测试测试工程师Andy为大家分享《共建测试子系统 赋能开发者提高代码质量》。他在分享中介绍了:测试子系统、测试基础框架、稳定性测试工具设计、兼容性测试套示例和快速参与共建。

参与战“码”先锋,PR征集令!你可以在Gitee的OpenHarmony代码仓提交PR参与活动,和全球开发者同台竞技,比拼技艺,为OpenHarmony贡献力量。

测试子系统简介

OpenHarmony系统构建初期,各子系统提供系统的基础能力。要进行子系统完整看护,通过手工测试验证工作量巨大,基于此出现了自动化测试的诉求。测试子系统包含测试基础框架、OS测试标准与工具、应用测试标准与工具和兼容性测试几个部分。OpenHarmony测试工具集后续官方统一宣传名称为OpenHarmony Arsenal(OHA)。

测试基础框架中,单元测试框架作为测试基础框架的基座,支撑自动化测试的运行;UI测试框架基于单元测试框架构建了UI界面操作自动化测试的能力;分布式测试组件和专项测试组件作为扩展能力逐步进行演进;测试调度框架(xdevice)负责整个测试脚本的执行调度。

OS测试标准与工具:主要进行系统的稳定性、性能、安全等DFX测试验证,发现系统的异常重启和帧率不达标等关键问题。应用测试标准与工具:提供给开发者测试工具进行应用的DFX测试验证。兼容性测试:提供兼容性测试套进行南北向的框架兼容性看护。

单元测试框架:

单元测试框架提供基础的测试脚本编写、管理、调度执行和报告生成能力。单元测试框架依赖AbilityDelegator(测试框架入口)和TestRunner(重写进行测试准备和执行操作)。

核心功能包括:

● 测试套&测试用例管理:测试套包含测试用例,基于测试套编写实现测试用例

● 预置清理方法:每个测试用例之间可以通过预置和清理方法进行解耦

● 配置管理:用例级别和类型的配置管理,用于后续筛选测试执行用例

● 日志处理能力:用于测试用例执完毕的结果日志统计

● 基础断言能力:测试用例的预期结果和实际执行结果判断

扩展能力:

● 定义执行顺序:用于后续进行测试用例执行顺序的配置管理

● 自定义断言:基于基础断言的扩展比较能力

● 异步测试&断言:测试脚本直接进行异步执行和断言,当前是通过同步等待方式执行

增强能力:

● 数据驱动:通过配置参数方式进行接口的压力测试

● Mock:模拟依赖外部接口的实现,返回预期内容

● Fake:直接返回依赖外部接口的期望返回值,接口正常执行

● SPY:接口探测能力,验证接口是否有被调用执行

大家可以参考具体的代码仓,了解单元测试框架的代码逻辑。

一个完整的测试套执行过程,通过AA命令行启动测试框架,AMS框架拉起测试进程,启动TestRunner解析参数,接下来启动TestAbility加载和执行测试用例,测试用例执行完成后输出打印执行结果,并关闭测试进程和AA进程,测试套执行完成。

UI测试框架:

UI测试框架提供UI界面测试能力,包括UI操作、UI控件检查等基础能力。UI测试框架对外会提供JS API给开发者使用,UI Test提供框架的基础能力,测试框架依赖无障碍服务获取界面的控件dump信息,多模输入服务提供控件操作的能力。UI Test JS API包含

● 基础操作API:点击、滑动等操作的基础能力

● 控件获取API:查找控件等基础能力

● 增强操作API:控件拖拽、滑动查找控件等能力

● 自定义属性API:滑动速率和按键时长等参数配置能力

UI Test:UI Test独立进程,提供测试进程和UI Test进程传递数据序列化能力,进程保活能力和事件注入能力。目前提供单窗口的UI自动化测试,后续提供多窗口的控件操作能力,主动识别UI界面变化和多指触控等复杂手势操作能力。

大家可以参考具体代码仓,了解UI测试框架的代码逻辑。

UI测试框架核心流程:UI测试用例执行,启动UITest进程,绑定无障碍服务和多模服务进行交互操作。开发者可以基于UIDriver、BY、UIComponent类配合进行UI测试脚本的编写。

大家可以参考具体代码仓,了解UI测试框架对外提供的接口能力

新建联系人UI测试脚本的代码示例:

1. 导入依赖的测试包

2. 启动被测试的界面

3. 初始化UIDriver

4. 基于UIDriver的findComponent和BY能力配合查找联系人控件

5. 基于UIComponent的click能力点击联系人控件

6. 基于UIDriver的assertComponentExist能力验证存在没有联系人文本

稳定性测试工具设计:

稳定性测试工具提供异常捕获能力,帮助开发者快速识别系统异常问题,通过黑白名单指定是否测试对应名单内的应用。提供录制回放能力进行辅助回归测试验证,目前只有控件操作等事件注入能力,后续提供系统事件的注入能力。目前稳定性工具预置在版本中,后续提供可视化的设备端和PC端的测试工具,开发者可以更方便的进行稳定性测试。

大家可以参考具体代码仓,了解稳定性测试工具框架的代码逻辑。

稳定性工具执行示例:wukong exec –b ohos.xxxx -a 0.1 -t 0.5 -S 0.4 -s 5

具体工作流程:稳定性测试工具进行命令行参数解析,测试环境的初始化,启动异常监听。通过随机事件生成和事件注入及捕获异常的循环处理进行稳定性测试。最终生成日志记录用于查看异常场景。

关键命令:通过seed种子可以指定固定的操作序列,用于回归重现问题。不同的事件支持比例的设置。可以通过time和count字段进行稳定性测试时长的指定。

兼容性测试套:

通过兼容性测试套进行应用南北向和设备东西向的兼容性看护,分别通过ACTS、DCTS、HATS测试套进行兼容性验证。大家可以参考文末代码仓,了解兼容性测试套的测试用例实现。

测试用例关键语法的定义,通过describe定义测试套,一个测试用例必须需要有3个关键注解字段,tc.number:用例编号,tc.name:用例名称,tc.desc:用例描述,通过it进行测试用例定义。

快速参与共建:

最后,Andy为开发者们介绍了快速参与共建的方式。大家可以基于开发过程中使用的API,在兼容性测试代码仓搜索相应API的测试脚本,识别当前测试用例的完备性,进行测试脚本补充共建。如下提供了promise和callback异步接口的两个案例进行接口的正常和异常场景的测试脚本设计。

欢迎感兴趣的开发者朋友们一起共建测试子系统,成为OpenHarmony Contributor。参与战“码”先锋,PR 征集令!在Gitee的OpenHarmony代码仓提交PR参与活动,和全球的开发者一起共建OpenHarmony的繁荣生态!

“现在就打开gitee ,提你的第一个PR,你的一小步,是OpenHarmony开源项目的一大步”

文章中涉及的链接汇总:

单元测试框架代码仓jsunit目录:

https://gitee.com/openharmony/arkXtest

UI测试框架代码仓uitest目录

https://gitee.com/openharmony/arkXtest

UI测试框架对外JS API接口代码仓

https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.uitest.d.ts

稳定性测试工具代码仓

https://gitee.com/openharmony/wukong

兼容性测试套代码仓

ACTS:https://gitee.com/openharmony/xts_acts

DCTS:https://gitee.com/openharmony/xts_dcts

HATS: https://gitee.com/openharmony/xts_hats

开源License实战指南:从法律条款到工程决策 开源许可证是软件协作的底层契约,其本质并非限制使用,而是定义权利与义务的平衡机制。理解GPL的传染性逻辑、LGPL对动态链接的精细约束、MIT/BSD的极致自由及Apache 2.0的专利保障,是企业技术选型与合规落地的前提。License选择直接影响产品架构设计(如进程隔离策略)、构建流程(如FOSSA扫描前置)、法务风险(如GPLv2/v3不兼容)和长期维护成本。尤其在嵌入式、政务系统、云原生等强合规场景中,License误用可能导致代码公开强制、专利诉讼或上线叫停。本文基于iToday等真实项目经验, 阅读详情

相关推荐

GitHub日榜真相:技术选型的5步验证法与伪爆款识别

GitHub Trending 日榜常被误认为是‘新工具推荐榜’,实则是反映项目健康度与社区活跃度的技术信号仪表盘。其底层依赖 GitHub Search API 与 GraphQL API 的组合调用,受时区偏移、缓存误差及人工过滤等多重影响,呈现的是延迟快照而非实时数据。理解 star 增速曲线、fork/stars 比、LICENSE 合规性、CI 真实运行状态及文档最小可行路径,是规避‘断崖式爆发’‘僵尸式爬升’‘镜像型幻影’三类高危项目的工程前提。本文聚焦开发者日常技术决策场景,提供可落地的 fo

weixin_34175509的博客 385

[HarmonyOS Next示例代码]测试框架(UiTest接口)

本示例展示测试框架中UI测试框架的使用示例。本实例需要引入UiTest接口@ohos.UiTest。如需日志打印调试,需要引入日志打印接口@ohos.hilog。

Alexzhang369学习总结空间 1461

AI技术社区Newsletter深度拆解:从RAG实操到协作机制

RAG(检索增强生成)和LangChain是当前AI工程落地的核心技术栈,其价值在于突破大模型知识边界与减少幻觉。理解RAG原理不需深陷Transformer架构,而应聚焦于文档分块、向量检索与提示编排的协同逻辑;LangChain则作为模块化开发框架,显著降低AI应用构建门槛。这类技术实践正从实验室走向真实社区协作场景——如Discord中自发形成的‘学习伙伴-项目共建-职业转化’闭环,印证了AI时代‘学以致用、用以促学’的新范式。本文基于一份高活跃度AI社区Newsletter,解析其内容结构、可复现代

weixin_33894640的博客 372

【HarmonyOS NEXT】示例代码-测试框架(UITest)

本示例展示测试框架中UI测试框架的使用示例。本实例需要引入UiTest接口@ohos.UiTest。如需日志打印调试,需要引入日志打印接口@ohos.hilog。

qq_45789342的博客 585

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 381

silvaco——GaN HEMT探索

上图为输出特性曲线 ,分别是在栅压为1v、3v、5v的情况下,可以看出在1v时器件处于截止状态,只有非常小近似于0的电流通过,随着栅压逐渐增大,沟道开启,产生漏极电流。上图为栅极漏电流曲线和转移特性曲线以及其提取的参数,可以看到阈值电压为=1.30249V,当栅压为0v时,Id=8.01032e-006,当栅压为5V时,Ig=3.11627e-006。albrct.n,低场迁移率模型,bn.albrct,an.albrct是albrct模型中的参数,可以由用户自己设定。lat.temp,晶格自热模型;

weixin_61913839的博客 7616

02-鸿蒙系统 wukong 测试指令详解

鸿蒙wukong测试工具速查指南 本文是鸿蒙系统稳定性测试工具wukong的实用速查手册,主要面向测试新手。wukong是鸿蒙自带的压力测试工具,功能类似Android的Monkey但更强大,支持随机事件注入、控件遍历和异常捕获。 内容涵盖: 三大测试类型:随机测试(exec)、专项测试(special)和专注测试(focus) 前置准备步骤和设备连接验证 核心参数详解和典型测试模板 常见问题解决方案 重点提示: 随机测试是最常用功能,通过-c/-T控制次数/时长 专项测试适合界面遍历和截图回归 专注测试可

weixin_42654603的博客 386

DeerFlow 在 Windows 上的安装与启动详细步骤

DeerFlow Windows安装与启动指南 DeerFlow是基于LangGraph的AI Agent系统,包含后端服务和前端界面。后端安装需Python 3.12+,创建虚拟环境后安装依赖,需注意解决langgraph版本冲突问题(推荐1.0.8版本)。配置文件中需设置模型参数(如本地Qwen3-32B-AWQ模型)和sandbox配置。启动分为两步:LangGraph Server(端口2024)和Backend Gateway(端口8001)。前端要求Node.js 22+和pnpm,配置.env

笨小孩 581

从Contributor到Committer,开源进阶之路全解析

掌握开源进阶方法,助力职业发展突破。本文解析从Contributor到Committer的成长路径,涵盖参与开源项目、提升代码质量、赢得社区信任等关键步骤,实现在GitHub等平台的可持续贡献。开源贡献职场加分不再是难题,值得收藏,点击了解完整攻略。

ProceNest的博客 1389

【Apollo学习笔记】——规划模块TASK之SPEED_HEURISTIC_OPTIMIZER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第10个TASK——动态规划规划目标加速度尽可能小。

sinat_52032317的博客 3425

北斗三号PPP-B2b信号实战指南:从接收机配置到精度验证全流程

本文提供了北斗三号PPP-B2b信号从硬件配置到数据处理的全流程实战指南。详细解析了信号特性、接收机关键参数设置,并以飞纳接收机和Mass软件为例,演示了数据解算与精度验证方法。通过覆盖中国多地区的联调测试案例,验证了PPP-B2b服务可实现分米级实时定位精度,为无网络地区高精度应用提供了可靠解决方案。

nn3456的博客 550

高价值开源贡献指南2026版:如何通过开源项目提升应届生求职竞争力

对于应届生,一次对知名开源项目的深度贡献,其简历价值等同于甚至优于一段普通的企业实习经历。关键在于。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 175

AI应用架构师干货:智能财务分析AI平台可视化模块设计(附最佳实践)

智能财务分析的价值,从来不是“AI模型有多准”,而是“财务人员能用上AI的结果”。可视化模块的设计,本质是**“站在业务用户的角度,重新定义技术的价值”**——它不需要复杂的动画,不需要华丽的特效,只需要“把AI的结果翻译成财务人员能看懂的语言”。作为AI应用架构师,我们的使命不是“打造最先进的技术”,而是“打造最有用的技术”。而可视化,就是连接技术与业务的那座“桥”。附录:实战项目GitHub仓库(注:此处可放置实际项目的GitHub链接,包含完整代码、数据样例、部署文档)作者简介。

SuperAGI2025 1155

Obsidian-skills终极指南:如何从零开始构建活跃开源社区的完整框架

**Obsidian-skills**是一个专为Obsidian设计的AI代理技能集项目,它教会你的智能代理如何使用Obsidian CLI和各种开放格式,包括Markdown、Bases和JSON Canvas。如果你想让你的开源项目像Obsidian-skills一样拥有活跃的社区,这篇文章将为你提供一套完整的社区共建框架。 ## 🌱 社区共建的基础框架:从种子到森林 ### 理解你的社

gitblog_00494的博客 992

算法 | A*算法实现最优路径规划

启发式探索是利用问题拥有的启发信息来引导搜索,达到减少探索范围、降低问题复杂度的目的。A*寻路算法是启发式探索的一个典型实践,在寻路搜索的过程中,给每个节点绑定了一个估计值(即启发式),在对节点的遍历过程中采取估计值优先原则,估计值更优的节点会被优先遍历。...

不断学习,不断进步,提高自己 6629

大模型部署指南:SGLang 框架

本文介绍使用 SGLang 框架部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1611

DashBench多模型协作:代码审查召回率提升至65.2%的技术解析

代码审查是软件开发中确保代码质量的关键实践,通过同行评审机制能够有效发现潜在错误和统一编码规范。其技术原理基于机器学习模型分析代码特征与开发者专业度的匹配度,核心价值在于解决大型项目中评审人匹配困难、响应延迟等痛点。在开源协作和企业级开发场景中,智能代码审查工具通过多模型协作架构显著提升效率,其中DashBench创新性地结合代码理解模型和开发者专业度分析,将代码审查召回率优化至65.2%,为团队提供了高效的评审人推荐解决方案。

weixin_30376509的博客 328

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

AI经济不透明性:用工程压力测试评估AI项目投资价值

大模型驱动的AI应用正在重塑商业版图,但市场波动让外界意识到,AI经济长期存在的结构性问题——不透明,正在成为投资与选型的最大障碍。模型能力、推理成本、数据资产与商业模式均缺乏可验证性,导致传统财务评估失效。工程实践的核心价值,在于用可量化的方法透视这些黑盒:通过成本压测估算真实API开销,借助RAG召回率评测检索链路质量,以模型卡与回归测试锁定能力边界。这些技术手段不仅服务于开发者与技术选型,也为投融资决策提供了更稳健的依据。当AI项目进入生产环境,稳定的成本结构、透明的评测数据与可观测的调用链路,才是穿

weixin_30443813的博客 392

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

开源项目冷启动:从代码发布到信任建立的五大关键

开源项目并非简单上传代码,而是一套以人为核心的协作系统。其本质是通过可验证身份、最小价值闭环、清晰协作路径等机制,在开发者之间建立初始信任。技术上涉及Git托管、CI/CD配置与许可证选择,但真正决定项目存续的是组织能力与社区设计能力。Apache 2.0等宽松许可证降低企业集成门槛,GitHub Codespaces和微贡献计划则显著提升新人参与率。本文聚焦真实项目冷启动阶段——如何在第一天就构建起让外部用户敢用、愿试、能参与的信任基础设施,涵盖仓库初始化、Issue治理、贡献者成长路径等工程化实践。

baochuanying9531的博客 469

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Kubernetes 2025技术前瞻:深度解析社区治理演进与AI集成架构

Kubernetes作为云原生生态系统的核心基础设施,其社区治理模式和技术演进路径为整个开源生态树立了典范。在2025年技术浪潮中,Kubernetes社区正经历从传统容器编排平台向AI原生基础设施的战略转型。这一转型不仅体现在技术架构的创新,更体现在社区治理结构的系统性重构和贡献者协作模式的深度优化。 ## 治理架构演进:从层级化到网络化协作 Kubernetes社区的治理结构经历了从集中式

gitblog_00726的博客 365

智能体协作系统的终极指南:用Ruflo构建你的AI开发团队

你是否曾经想过,如果AI助手能够像真正的开发团队一样协作会怎样?当你的代码审查员、架构师、测试员和安全专家不再是孤立的工具,而是一个紧密协作的团队时,开发效率会提升多少?这正是Ruflo要解决的**智能体协作**难题。 ## 什么是Ruflo?为什么你需要它? Ruflo是一个革命性的**AI智能体编排框架**,专为Claude Code和Codex设计。它不仅仅是一个工具,而是一个完整的智能

gitblog_00046的博客 401

六本重塑工程管理认知的经典书单:从救火队长到团队赋能者

技术管理不是项目进度管控或流程执行,而是对工程师动机、协作机制、组织结构与技术文化四维系统的深度设计。基于自主性、专精感与意义感(Drive),结合DORA指标衡量的技术流健康度(Accelerate),再通过Team Topologies重构团队拓扑、以DevOps Handbook强化反馈闭环,《The Manager’s Path》等六本书共同构建了工程管理者从‘解决问题的人’转向‘创造可扩展能力系统’的认知底层。它们不教话术模板,而直击疲软、内耗与创新乏力的结构性根源——适用于刚带3人小队的Tech

weixin_34417183的博客 403

开源社区治理新范式:可编程、可度量、可继承的协作系统

开源社区管理正从依赖个人威望的‘人治模式’,转向基于代码与数据的系统化治理。其核心原理是将贡献行为、健康状态和权限演进全部建模为可编程规则(如YAML协议栈)、可量化指标(如非核心贡献占比、桥接强度)与可验证流程(如职责切片+自动继承)。这种技术驱动的治理范式,显著提升社区韧性、新人转化率与维护可持续性,已在Ubuntu、OpenSearch Dashboards等大型项目中验证有效。Jono Bacon提出的New Era框架,本质是为开源协作构建一套类操作系统的底层协议栈——它不替代人的判断,而是放大人

dfu65065的博客 313

模式悖论:当设计模式反噬系统架构

设计模式本为应对软件复杂性而生,其核心原理在于抽象共性、隔离变化、提升可维护性;但实践中常因抽象泄漏、组合爆炸与元模式固化,导致架构柔性下降、认知成本攀升、故障响应迟滞。技术价值不仅在于复用与解耦,更在于支撑业务快速迭代与高可用保障;典型应用场景涵盖微服务治理、事件驱动架构、多租户SaaS平台及IoT设备状态同步等中大型分布式系统。本文聚焦‘Pattern Paradox’这一被广泛忽视的负向演化现象,结合抽象泄漏、模式债务、饥饿测试等实战方法论,揭示模式如何从工具蜕变为约束,并提供可落地的诊断与破局路径。

weixin_30530339的博客 496

Pull Request实战指南:从开源贡献到职业跃迁

Pull Request(PR)是开源协作的核心交付单元,其本质远超代码提交——它是技术能力、工程素养、跨文化沟通与个人品牌的一体化体现。理解PR背后的系统性逻辑(如构建流程、CI/CD验证、维护者决策树),掌握从环境配置、分支管理、漏洞复现到测试编写的全链路实践方法,已成为现代开发者的关键生存技能。尤其在Nginx、STM32等高频场景中,正确应对`error: #5`类编译错误、CVE安全修复及跨平台构建问题,直接决定贡献有效性。本文聚焦真实项目中的PR闭环实践,融合Open Source协作规范与工程

soyo的专栏 548
上一篇: 本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统
下一篇: 【直播回顾】OpenHarmony知识赋能六期第五课—WiFi子系统
OpenHarmony开发者
博客等级 码龄5年 625粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值