微信小程序 引入公共页面的几种情况

uniapp 微信小程序/字节小程序 商城下单页面列表【待付款、待发货、待收货、已完成】静态页面布局展示 只是静态页面数据,还没有和后端进行数据对接,如图所示: 微信小程序开发者工具预览: 字节小程序开发者工具预览: ​​​​​​​​​​​​​​ 我自己封装了一个小程序公共样式放在了common目录下面public.css 全局引用放在了main.js中: import 'common/public.css'; /*引入公共样式*/ public.css内容如下: page { font-family: ... 阅读详情

1、不带参数

首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下

<!--template.wxml-->

    <template name="msgItem">
      <view>
        <text>This is template.wxml文件,我是一个模板</text>
      </view>
    </template>

然后我们书写我们所要调用template的页面index.wxml

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->

    <import src ="../template/template.wxml"/>
      <view>This is index.wxml</view>
    <template is="msgItem"/>

注意:

(1)index.wxml中template 标签的is属性与template.wxml中template 标签的name属性值相同

(2)index.wxml文件中要通过import标签声明需要使用的模板文件

运行效果:
在这里插入图片描述
2、带参数

首先,修改template.wxml文件,我们给模板添加三个字段,修改后代码如下

<template name="msgItem">
  <view>
    <text>This is template.wxml文件,我是一个模板</text>
    <view>
      <text> {{index}}: {{msg1}} </text>
      <text> {{msg2}} </text>
    </view>
  </view>
</template>

接下来我们在index.wxml中传递模板中所需要的三个参数,修改后的代码如下:

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<template is="msgItem" data="{{index:1,msg1:'msg1数据',msg2:'msg2数据'}}"/>

运行效果:
在这里插入图片描述
3、列表item模板

接下来我们就通过一种常见的情况列表数据来使用模板,增加对模板的认知,直接上修改过的代码:

//index.js
Page({
  data: {
    list:[
      { name: '张三', age: 15 },
      { name: '李四', age: 25 },
      { name: '王五', age: 18 },
      { name: '赵六', age: 19 },
    ]
  }
})
<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<view wx:for="{{list}}">
    <template is="msgItem" data="{{name:item.name,age:item.age}}"/>
</view>
<!--template.wxml-->
<template name="msgItem">
  <view>
    <text> name: {{name}} </text>
    <text> age: {{age}}</text>
  </view>
</template>

运行效果:
在这里插入图片描述

4、使用模板样式

接下来我们就给模板增加样式文件,然后在需要调用模板的地方使用该样式。

首先在pages/template文件夹中新建一个template.wxss文件,然后对模板文件,添加一个简单样式。

<!--template.wxml-->
<template name="msgItem">
  <view class="template_style">
    <text> name: {{name}} </text>
    <text class="template_age_style"> age: {{age}}</text>
  </view>
</template>
/* pages/template/template.wxss */
.template_style{
  border-bottom: solid 2px #999999;
  padding: 5px;
  font-size: 18px;
  color: #000000;

}
.template_age_style{
  color: #666666;
  font-size: 14px;
}

我们的样式文件已经创建好了,接下来在index.wxml中引入该样式文件。

/**index.wxss**/
@import "../template/template.wxss";

运行效果:
在这里插入图片描述
5、调用不同的模板

有时候,我们有这样的需求,那就是同一个列表中,item数据不同,可能他的样式也是有很大的区别,所以我们使用的模板也会对应不相同,接下来我们就来实现这样需求的小Demo:
首先修改了一下template.wxml,原本该文件中只有一个template,现在我们创建了两个,新增的template仅仅多了一行代码,当然了实际开发中,需求会比这个难很多,在这里只是为了实现Demo。

<!--template.wxml-->
<template name="msgItem">
  <view class="template_style">
    <text> name: {{name}} </text>
    <text class="template_age_style"> age: {{age}}</text>
  </view>
</template>
<template name="msgItem2">
  <view class="template_style">
    <text> name: {{name}} </text>
    <text class="template_age_style"> age: {{age}}</text>
    <text>我是一个未成年</text>>
  </view>
</template>
接下来我们在index.wxml中通过age字段调用不同的模板:

<!--index.wxml-->
<!-- 声明需要使用的模板文件 -->
<import src ="../template/template.wxml"/>
<view>This is index.wxml</view>
<view wx:for="{{list}}">
    <template is="{{item.age >= 18 ? 'msgItem' : 'msgItem2'}}" data="{{name:item.name,age:item.age}}"/>
</view>

运行效果:
在这里插入图片描述

转载于:https://www.cnblogs.com/zxf100/p/8118799.html

微信小程序开发:页面结构与样式设计 微信小程序作为移动互联网的重要应用形式,其页面结构与样式设计对于用户体验和功能实现具有关键作用。本文深入探讨微信小程序的页面结构与样式设计,包括WXML语法与页面结构搭建、WXSS样式编写与页面美化提升以及页面布局原理与常见布局方式实践等方面,结合具体案例进行分析,旨在为微信小程序的开发提供理论指导和实践参考。 阅读详情

相关推荐

ENVI哨兵一号数据处理

使用ENVI+SarScape处理哨兵数据

Rjjjjj11的博客 2万+

【微信小程序】引入公共页面的几种情况

1、不带参数 首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下 <!--template.wxml--> <template name="msgItem"> <view> <text>This is template.wxml文件,我是一个模板</text> ...

qq_25285531的博客 2161

使用 Restart Extension 继续解决 Ansys 机械分析

您正在执行复杂或大型的多步有限元分析,突然,您意识到经过数小时的求解后,您需要添加或修改边界条件。在本篇博文中,您将了解如何利用 Ansys Mechanical 中的 RestartAnalysis 扩展来扩展多步分析,方法是合并额外的时间步骤和边界条件,而不会丢失已计算的结果。幸运的是,在 Mechanical 中,有一种直接的方法可以实现这一点,而不会损害您之前的结果,而这在添加新边界条件和使用重新启动点时经常发生。得到的结果符合预期,您可以看到施加的力产生的这两个部分之间的相对位移。

jkh920184196的博客 1233

微信小程序多页面引用一个公共页

这段时间在项目中遇到一个购物车的需求,tabBar页面需要购物车,在购物界面也要能跳转到购物车; 之前的做法是直接跳转到tabBar的购物车页面,但是这种跳转既不流畅,也不美观; 于是只能新建一个页面,做成和tabBar的购物车一样的,但是程序员都很懒,即使是复制一个页面也无法接受,于是就在寻找多个页面引用一个功能页面的方法,经过测试终于得出一套可行的方案,仅供参考! 首先介绍一下微信小程序wxml、wxs、js引用其他文件的方法 wxml - include(还有另一个import,这里不做介绍,可以到官

qq_20006067的博客 4839

计算机网络Wireshark实验(西安交通大学)

实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU

沉鱼叶的博客 1816

【一文读懂】NTN(非地面网络)技术介绍

NTN,即非地面网络,是指利用卫星、高空平台(如无人机、平流层气球等)等非地面通信基础设施来实现全球通信覆盖的网络。在5G时代,NTN主要基于5G标准,特别是5G NR(New Radio)技术,通过卫星通信扩展地面网络的覆盖范围和服务能力。NTN技术的出现和发展,为全球通信带来了新的可能性和挑战。通过不断的技术创新和标准化推进,NTN有望在未来发挥更加重要的作用,为全球用户提供无处不在的通信服务。随着6G时代的到来,我们有理由相信NTN技术将迎来更加广阔的发展前景。

u011376987的博客 1万+

【小程序】微信小程序使用自定义组件components,创建页面公共组件

app.json。

bsy1111的博客 1893

贝塞尔曲线原理--曲线生成--路径规划--matlab代码

贝塞尔曲线有着很多特殊的性质, 在图形设计和路径规划中应用都非常广泛, 在路径规划中贝塞尔曲线完全由其控制点决定其形状, n个控制点对应着n-1阶的贝塞尔曲线,并且可以通过递归的方式来绘制.

bob595078694的博客 1万+

Taro微信小程序开发技巧之全局公共组件(如全局公共弹框)

序 在小程序开发中,我们经常会有这样的需求,需要全局添加一个自定义的弹框,这个弹框可能在任意一个页面中展示,而且这个弹框有着相对复杂的布局与交互,不适合使用微信提供的原生modal,此时,我们要如何添加一个所有页面都公用的弹框,使所有页面都有办法可以调起显示这个弹框呢,以下便来一一分析实现 正文 首先,需要实现所有页面共享弹框组件,那么第一时间想到的便是做一个自定义的组件,然后把...

u010651383的专栏 2万+

贝叶斯核机回归估计混合物健康效应 【BKMR包】——实操篇

使用 ggplot2包绘制 h 的截面# 绘制总体风险摘要。

三分钟热度 5382

从开票数据到 ML81N 一键过账:用 ABAP BAPI 批量创建 Service Entry Sheet 的落地方案

摘要:SAP ESM场景中,服务履约确认通常通过ML81N事务码创建服务条目表(SES)完成。本文介绍如何基于开票数据(VBRK/VBRP)自动生成SES:首先通过BAPI_PO_GETDETAIL获取采购订单服务行结构,然后使用BAPI_ENTRYSHEET_CREATE创建SES并覆盖开票数量与金额,最后调用BAPI_ENTRYSHEET_RELEASE自动释放。解决方案包含ALV交互界面、批量处理逻辑和结果跳转功能,实现从人工录入到自动化处理的转变。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 327

微信小程序如何引入公共组件

在原生小程序开发里面,在componets里面写好的公共组件如果向引用,需要在想引入的页面的json文件中 //想要使用自定义公共组件首先要在页面的 json 文件中进行引用声明。 //此时需要提供自定义组件的标签名和对应的自定义组件文件路径: { "usingComponents": { "component-tag-name": "path/to/the/custom/component" } } ...

前端路上坎坎坷坷,总有一天站在顶峰仰望世界!!! 2405

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

微信小程序 引入公共页面的几种情况 template.wxml

参考文章:https://www.cnblogs.com/zxf100/p/8118799.html 1、不带参数 首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下 <!--template.wxml--> <template name="msgItem"> <view> ...

weixin_30834783的博客 462

深度学习工具包 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")

VB摄像头监控

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

微信小程序引入less并引入公共样式

微信小程序引入less并引入公共样式 在原生微信小程序开发中,直接使用wxss来写组件样式是非常麻烦的,它不能进行嵌套书写,也不能声明变量,所以我们经常会引入一些css编译器来辅助我们书写样式,例如less,scss等。 这边我将介绍如何在微信小程序中引入less并引入公共样式。 1.通过vscode引入less 引入之后,需要在设置里找到vscode的setting.json文件进入 进入该文件之后就需要加入以下几行代码,引入之后就可以使用less了 "less.compile": {

qq_39400400的博客 3846

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【微信小程序】04-公共文件引入

微信小程序学习之04公共文件引入

蹦哒哒的王小哲 1971

【微信小程序开发】如何定义公共的js函数,其它页面可以调用

这样一来,就可以在不同的页面中共享和复用这些公共的 JS 函数了,避免重复代码,提高开发效率。文件中定义你需要的公共函数,并导出这些函数。:在需要使用这些公共函数的页面中引入。目录下创建一个 JS 文件,例如。

软件工程小施同学 的专栏 1307

微信小程序引入公共页面

1、不带参数 首先在pages文件夹中新建一个trl文件夹,文件夹中新建一个tpl.wxml文件,代码如下 tpl.wxml: <template name="loading"> <view class="col" style="background:rgba(0, 0, 0, 0.4);width:100%;height:100%; position:fixed;left:0;right:0;top:0;bottom:0;z-index:10000;display:flex;just

L_rui_peng的博客 1453

微信小程序引入公用css及js

环境: 微信小程序 首先看一下官方资料: 引入css:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxss.html#%E6%A0%B7%E5%BC%8F%E5%AF%BC%E5%85%A5 引入js: https://developers.weixin.qq.com/miniprogram/de...

一只懂代码不懂人情世故的源码爱好猿 7797

微信小程序公共样式:设计与实现指南

小程序公共样式是小程序开发中至关重要的部分,通过统一的样式设计,不仅可以提高开发效率,还能确保整个项目风格的一致性。在这篇文章中,我们详细介绍了小程序公共样式的设计原则、需求分析、命名规范及编写注意事项。通过模块化的方式,将颜色、字体、按钮、间距和布局等常用样式抽离为公共样式文件,有助于提升代码的可维护性和可扩展性。最后,我们提供了完整的公共样式代码示例,帮助开发者快速在项目中应用。

qq_40791475的博客 2298

微信小程序页面组件公共模板的使用

在搞开发的时候,如果需要用户登录或者授权之类的情况时,有可能需要在多个页面进行此类操作。然而在多个页面重复的写这一类信息显得有点笨拙。 公共模板正可以解决这个问题,编写一个模板,调用它即可。 我们直接新建一个template的文件用于写公共模板,根据自己的需求具体创建哪些文件。这里我只用到了wxml文件 template.wxml <template name="muban"> <view class="muban">公共模板</view> </template

专注前端技术,包括Web端、移动端、小程序、APP 2169

微信小程序引入全局或公共样式

@import "/styles/border.wxss"; 我们只需在对应的wxss文件中引入想要的样式文件即可,这里styles前的斜杠/代表根目录。 如果在app.wxss文件中引入样式文件则在所有page页面可用,但component组件里不可用,需要单独在组件中引入。 更多: 微信小程序中使用iconfont:https://blog.youkuaiyun.com/nongweiyi...

qq_39025670的博客 9889

微信小程序定义公共方法

微信小程序定义公共方法还是很简单的,一个三步创建,引入,使用 1.创建 在page创建文件夹utils,在创建文件utils.js,看下我的 在utils.js中定义你的方法,然后导出 2.引入 在你想要使用的组件中引入 var util = require('../../utils/util.js'); 有的位置不一样路径就不一样,根据自己的调整 3.使用 util.test('测试自定义方法'); 这样就成功了。 ok,收工 ...

俗人 2948
上一篇: js关于数组的( push、pop、unshift、shift、splice、slice、concat、 join/split)的用法
下一篇: php 实现人脸识别功能
xyl_hq
博客等级 码龄8年 14粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值