want简单帮助

鸿蒙OpenHarmony【Want概述】信息传递载体Want [Want]是一种对象,用于在应用组件之间传递信息。 其中,一种常见的使用场景是作为[startAbility()]方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。 阅读详情
类似java中的ant,用于自动编译delphi程序,只需要写一个XML规范的配置文件。
做的事情特别多,基本的编译功能,还能操作cvs,zip打包,发布,调用外部程序等。
工程是开源的,每项任务都是一个Task,可以自己编写扩展,比如我就想要SVN的支持, 但是现在还没有时间写这个扩展:-(
want带的文档太少了,readme就是说参考java ant,参考ant以及实际使用,总结了如 下一些。一些详细的用法可能还需要查看want的源码以及摸索。这个非常不友好。
基本用法(实际写法参考want自己带的配置文件):
工程基本信息 属性:
name 工程名字,起一个简单明了的就好
basedir 工程所在的基本路径"."-当前目录,后面的其他属性可以把这个作为参考根目录
default 默认执行的动作标志 目标任务,要实际执行的任务
属性:
name 目标名字
depends 依赖的任务,在本任务完成之前,依赖的任务必须依次顺序正确完成
mkdir 建立目录
delete 删除目录/文件
echo 显示自定义消息 相当于变量定义,引用的时候使用${变量名} 正则表达式,这个应该是一个强大的功能,但是没有看详细参数 时间函数
文件集合 属性:
include 包括什么,可以是目录/文件,支持通配符*
exclude 不包括什么,可以是目录/文件,支持通配符* 类似fileset,没有看出太多的好处,唯一有一个refid可以引用其他的的patternset 编译程序,编译资源,里面的属性名都是特别明了的。
一些我关心的:
属性:
define 相当与{$DEFINE xxx}
unitpath 相当与Environment Options的library path或者是Project Option的Search path
操作ini文件 压缩zip文件 做单元测试用。工程必须是dll。实际使用中(dunit9.0.5 want0.3.3),老是有异常,不知道为什么。 自己不想改代码,使用替代了。具体方法: dunit还是用程序版本 之前的编译过程编译为console模式,添加参数: want会捕捉console程序的输出,同样是非常直观 一个基本框架: ... ... ...
HarmonyOS应用开发学习笔记 Want概述Ability跳转 HarmonyOS应用开发学习笔记 Want概述Ability跳转 阅读详情

相关推荐

鸿蒙应用开发—显式Want与隐式Want匹配规则

在启动目标应用组件时,会通过显式 Want 或者隐式 Want 进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的 want 参数中设置的参数如何与目标应用组件声明的配置文件进行匹配。

duoduola888的博客 904

vant框架(引入组件,编程式导航,嵌套路由,)

vant框架(引入组件,编程式导航,嵌套路由,)

谢谢你的关注 2617

鸿蒙HarmonyOS实战-Stage模型(信息传递载体Want)_want标签匹配规则

系统将调用方传入的want参数(包含action、entities、uri和type属性)与已安装待匹配的应用Ability的skills配置(包含actions、entities、uris和type属性)依次进行匹配。当四个属性匹配均通过,则此应用才会被应用选择器展示给用户进行选择。表示目标Ability的类别信息(如浏览器、视频播放器)表示调用方要执行的通用操作(如查看、分享、应用详情)同理新建calleeAbility。1、module.json5配置。新建callerAbility。

2401_84182020的博客 1033

微信小程序使用vant框架以及简单处理骨架屏小计

最近在研究微信小程序,发现一款ui框架want,在这里记录下使用方法,以及简单的处理骨架屏的方法 want小程序官方文档地址:https://youzan.github.io/vant-weapp/#/intro, 第一步 通过 npm 安装 需要注意的是 package.json 和 node_modules 必须在 miniprogram 目录下(没有不要紧,先安装这个,后面细说) 通过 npm 安装 npm i @vant/weapp -S --production 通过 yarn 安装 yarn a

qq_41552889的博客 2474

鸿蒙开发:深入了解Arkts语言中的Want对象及其运用

Want作为对象间信息传递的载体,常用于启动能力(Ability)时传递相关数据。在启动目标Ability时,Want包含了指定的启动目标和启动时需携带的相关数据,如bundleName和字段分别指明目标Ability所在应用的包名和对应包内的Ability名称。例如,在启动UIAbilityA时需要传递数据给UIAbilityB,可以使用Want作为载体,将数据传递给UIAbilityB。图1Want用法示意本文深入介绍了Arkts语言中的Want对象,该对象是一种在应用组件之间进行信息传递的载体。

一键难忘的博客 2283

ε-差分隐私之拉普拉斯噪声机制(定义 + 证明 + 代码)

ε-差分隐私之拉普拉斯噪声机制 差分隐私的描述 1-范式的定义:使用matlab调用函数norm(x, 1) 更多范式见 范式 差分隐私的定义应该满足 拉普拉斯噪声的证明全过程如下: DP方向差分隐私证明是基本入门!!! -拉普拉斯噪声分布代码 Laplace分布的概率密度函数的形式是: 使用python - matplotlib来绘制概率分布图: import matplotlib.pyplot as plt import numpy as np def laplace_fun

毕业才是起点 1万+

HarmonyOS 5 鸿蒙 Want 机制与组件间通信详解

本文系统介绍了鸿蒙Want通信机制的设计原理与开发实践。Want作为鸿蒙分布式系统的核心通信载体,通过统一接口解决了组件间跨进程、跨设备通信的难题。文章从设计目标、对象结构、类型分类三个维度深入解析Want机制,并对比了显式与隐式Want的适用场景。通过具体的代码示例,展示了应用内组件通信、跨应用数据共享等典型场景的实现方法,为开发者提供了Want机制的完整开发指南。

haolove527的专栏 4781

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1596

HarmonyOS 应用开发之Want的定义与用途

Want 是一种对象,用于在应用组件之间传递信息。其中,一种常见的使用场景是作为方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。Want用法示意。

maniuT的博客 1426

Multisim实现555计时器模拟简易电子琴

一. 元器件介绍 这里用到的元器件有: DIgital power(VCC)数字电源 频率计数器(XFC) 示波器(XSC) ground 数字地 Capacitan 电容器 Resistor 电阻器 555_VIRTUAL 555计时器 触发按键(DIPSW)(DPST)(SPST)

是你呀星途的博客 2万+

使用 Wireshark 分析 PPPoE 流量中的 BRAS 名称 AC-Name

客户端发出广播请求,寻找 PPPoE 服务器。: BRAS 服务器响应 PADI 请求,提供服务并包含AC-Name。: 客户端选择一个 BRAS 并发起连接请求。: BRAS 确认连接并分配会话 ID。在这些阶段中,AC-Name是 BRAS 提供的一个关键字段,用于标识服务器名称。

caca_66的博客 2066

uniapp使用want Weapp的组件调用Dialog后无法获取事件Component “pages/cate/cate“ does not have a method “onClose

它丫的找不到关闭事件,点击确定事件也找不到

qq_63270619的博客 768

SIPVicious实战指南:从零开始掌握VoIP渗透测试(Kali Linux环境)

本文为SIPVicious实战指南,详细介绍了在Kali Linux环境下进行VoIP渗透测试的完整流程。从环境准备与工具安装开始,逐步讲解如何使用svmap扫描SIP服务器、svwar枚举PBX分机号,以及svcrack进行密码安全测试,并整合svreport生成报告。旨在帮助安全从业者从零开始,系统掌握这套经典开源工具,在授权范围内有效评估VoIP系统的安全性。

weixin_29327977的博客 537

MC仿JAVA版背包界面_Minecraft背包编辑器mod下载大全(1.5.2-1.7.10)

详细介绍:All--U--Want让新手们更好地了解一下这个Mod的神奇之处Mod功能可以设置某物品无限耐久调节某物品攻击力调节物品附魔属性,级别不限附魔书的修改药水效果设置头颅制作烟花制作修改武器名称颜色物品备注添加还有很多功能,我因为是学霸,所以不知道怎么说,请见下方介绍页面介绍功能使用教程①-耐久无限修改当我们耐久度快用完了的时候,E打开物品栏,鼠标指针移动到物品上面,使用R键,出现以下界面...

weixin_39517241的博客 1386

基于Simulink使用激光雷达数据跟踪车辆仿真(附源码)

这些模型将长方体的尺寸定义为状态转换期间的常量,并且它们的估计值在滤波器的校正阶段随时间演变。下面的动画显示了在滤波器的预测阶段将具有不同概率的恒定速度和恒定转弯率模型混合在一起的效果。此示例显示了如何使用带有 IMM 过滤器的 JPDA 跟踪器来跟踪使用激光雷达传感器的对象。图像和激光雷达数据读取器从 MAT 文件中读取记录的数据,并分别输出参考图像和点云中点的位置。跟踪器块选中“启用所有轨道输出”和“启用可检测的跟踪 ID 输入”复选框,以从跟踪器输出所有轨道,并将其检测概率作为其状态的函数进行计算。

珞瑜的博客 2565

Altium Designer(AD)PCB拼版——两种方法教程

本文详细介绍了PCB拼版的设计要点与操作方法。主要内容包括:拼版目的(解决小尺寸夹持问题、提高利用率、降低成本)和三大连接方式(V-CUT、邮票孔、空心连接条)的特点与参数设置;工艺边设计规范(宽度、定位孔、Mark点等要求);拼版尺寸限制与常见错误检查;以及两种具体拼版操作方法(特殊粘贴和拼版阵列),并附有工艺边、定位孔、Mark点的绘制步骤示意图。同时提供了硬件工程师笔试面试相关资源链接。全文系统阐述了PCB拼版的核心技术和操作流程,为电子设计人员提供了实用指导。

XU157303764的博客 7595

鸿蒙进阶——Framework之Want 隐式匹配机制概述

鸿蒙操作系统中用于组件间信息传递的“Want”机制,类似于Android中的Intent。Want分为显式和隐式两种类型。显式Want通过指定目标Ability的包名和名称来启动特定组件,适用于明确目标的情况。隐式Want则用于不明确目标时,系统会根据匹配规则选择合适的Ability,可能涉及多个匹配结果时弹出选择对话框。

最美不过,心中有梦,身旁有你! 2012

激光打标轴坐标计算分析

‌:基于坐标差的平方和开方运算,勾股定理将几何关系转化为代数计算,从而实现了从坐标到距离的精确转换‌12。直角三角形的应用从上图可以看到A,B,P三个点连起来就是一个直角三角形了。用勾股定理计算距离 C#有相关的方法直接传参数就可以了。很方便。

StevenChen的博客 308

鸿蒙中 显式Want与隐式Want匹配规则

《HarmonyOS Want匹配机制详解》摘要: HarmonyOS的Want匹配分为显式和隐式两种:显式Want必须精确指定bundleName和abilityName,系统直接定位目标组件;隐式Want通过action、uri、type等参数与组件的skills配置进行匹配。隐式匹配需满足action、entities、uri、type四项规则,其中uri和type支持多级匹配,还包含linkFeature优先匹配机制。关键注意事项:显式调用必须指定组件名,隐式调用不能含abilityName,跨设备

梦想不只是梦与想的博客 955

Devexpress16.2.6破解工具

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HarmonyOS4.0系统性深入开发15Want概述

是对象间信息传递的载体,可以用于应用组件间的信息传递。其使用场景之一是作为startAbility()的参数,包含了指定的启动目标以及启动时需携带的相关数据,如bundleName和abilityName字段分别指明目标Ability所在应用的包名以及对应包内的Ability名称。当UIAbilityA启动UIAbilityB并需要传入一些数据给UIAbilityB时,Want可以作为一个载体将数据传给UIAbilityB。Want用法示意。

qq_46189388的博客 1716

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

鸿蒙OpenHarmony-Want详解

Want是一种对象,用于在应用组件之间传递信息。其中,一种常见的使用场景是作为方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。

袁震的博客 1245

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OpenHarmony实战开发:显式Want与隐式Want匹配规则

在启动目标应用组件时,会通过显式Want或者隐式Want进行目标应用组件的匹配...... ​

qq_39652397的博客 844

【鸿蒙基于API 13实战开发】—— Want对象

Want是一种对象,用于在应用组件之间传递信息。其中,一种常见的使用场景是作为startAbility()方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。图1Want用法示意。

shangkangba的博客 1080

HarmonyOS 应用开发之显式Want与隐式Want匹配规则

在启动目标应用组件时,会通过显式 Want 或者隐式 Want 进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的 want 参数中设置的参数如何与目标应用组件声明的配置文件进行匹配。

maniuT的博客 1968

鸿蒙开发:【信息传递载体Want】

Want]是一种对象,用于在应用组件之间传递信息。其中,一种常见的使用场景是作为[]方法的参数。例如,当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want作为一个载体,将数据传递给UIAbilityB。Want用法示意。

鸿蒙的技术博客 1179

鸿蒙API14开发【显式Want与隐式Want匹配规则】信息传递载体Want

在启动目标应用组件时,会通过显式[Want]或者隐式[Want]进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的[want]参数中设置的参数如何与目标应用组件声明的配置文件进行匹配。

zhenggaoxiao232的博客 970
上一篇: 关于gcc和g++编译的问题
下一篇: want和subversion的结合
capboy
博客等级 码龄26年 15粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值