微信小程序--使用示例1

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

Demo 项目地址

https://github.com/zce/weapp-demo

Clone or Download(需准备GIT环境)

$ cd path/to/project/root
$ git clone https://github.com/zce/weapp-demo.git project-name --depth 1
$ cd project-name

没有Git环境,可以直接下载

安装开发环境

下载地址

安装过程

对于Windows用户直接双击下一步的方式安装即可,此处注意我们使用的版本是官方最新的版本(不需要破解),可以不用AppID,也就是说没有资格的开发者也可以测试。

环境测试以及演示项目

安装完成过后通过打开我们已经完成的应用测试环境是否正常

开发者工具安装完成后,打开并使用微信扫码登录。

扫码登陆

登陆结果

选择创建“项目”,填入你在公众平台的AppID,如果没有的话可以点击无AppID。

添加新项目

设置一个本地项目的名称(非小程序名称),比如WeApp Demo,并选择一个本地文件夹作为存储目录。

添加新项目

接下来点击新建项目就可以在主界面中预览到我们的豆瓣电影示例了

项目预览


小程序开发初体验

Hello world

希望是一个从零到一的转换过程~

创建项目

接下来创建一个新的项目,理解小程序项目的基本结构和一些基础语法。

官方的开发工具为此准备了一个QuickStart项目。在创建过程中,如果选择的文件夹是个空文件夹,开发者工具会提示:是否需要创建一个quick start项目。选择是,开发者工具会自动帮助我们在开发目录里生成一个简单的项目。

创建QuickStart项目

借助官方的QuickStart项目完成最基本的Hello world,理解小程序项目的基本结构,学习基础操作与语法。

项目结构

└─ empty-folder/ ·································· 项目所在目录
   ├─ pages/ ······································ 页面目录
   │  ├─ index/ ··································· index页面
   │  │  ├─ index.js ······························ index页面逻辑
   │  │  ├─ index.wxml ···························· index页面结构
   │  │  └─ index.wxss ···························· index页面样式
   │  └─ logs/ ···································· logs页面
   │     ├─ logs.js ······························· logs页面逻辑
   │     ├─ logs.wxml ····························· logs页面结构
   │     └─ logs.wxss ····························· logs页面样式
   ├─ utils/ ······································ 公共脚本目录
   │  └─ util.js ·································· 工具脚本
   ├─ app.js ······································ 应用程序逻辑
   ├─ app.json ···································· 应用程序配置
   └─ app.wxss ···································· 应用程序公共样式

我简单的画了一个结构图:

小程序架构

页面结构

每个页面组件也分为四个文件组成:

[page-name].js

页面逻辑文件,用于创建页面对象,以及处理页面生命周期控制和数据处理

[page-name].json

设置当前页面工作时的window的配置,此处会覆盖app.json中的window设置,也就是说只可以设置window中设置的属性

[page-name].wxml

wxml指的是Wei Xin Markup Language

用于定义页面中元素结构的,语法遵循XML语法,注意是XML语法,不是HTML语法,不是HTML语法,不是HTML语法

[page-name].wxss

wxml指的是Wei Xin Style Sheet

用于定义页面样式的,语法遵循CSS语法,扩展了CSS基本用法和长度单位(主要就是rpx响应式像素)

项目配置

小程序界面结构

相关链接:

小程序中的配置文件分为两种:

  • 全局配置文件,根目录下的app.json
  • 页面配置文件,每个页面目录下的[page-name].json

app.json

项目配置声明文件(指定项目的一些信息,比如导航栏样式颜色等等)

{
  // 当前程序是由哪些页面组成的(第一项默认为初始页面)
  // 所有使用到的组件或页面都必须在此体现
  // https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#pages
  "pages": [ ... ],
  // 应用程序窗口设置
  // https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#window
  "window": { ... },
  // 应用导航栏设置
  // https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#tabBar
  "tabBar": { ... },
  // 网络超时设置
  // https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#networkTimeout
  "networkTimeout": {},
  // 是否在控制台输出调试信息
  // https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html#debug
  "debug": true
}

[page-name].json

用于指定特定页面工作时,window的设置:

{
  // 导航条背景色
  "navigationBarBackgroundColor": "#35495e",
  // 导航条前景色(只能是white/black)
  "navigationBarTextStyle": "white",
  // 导航条文本
  "navigationBarTitleText": "电影 « 豆瓣",
  // 窗口背景颜色
  "backgroundColor": "#fff",
  // 窗口前景色
  "backgroundTextStyle": "dark",
  // 是否开启下拉刷新
  "enablePullDownRefresh": true
}

逻辑层分析

应用程序逻辑app.js

app.js作为项目主入口文件,用于创建应用程序对象

// App函数是一个全局函数,用于创建应用程序对象
App({
  // ========== 全局数据对象(可以整个应用程序共享) ==========
  globalData: { ... },

  // ========== 应用程序全局方法 ==========
  method1 (p1, p2) { ... },
  method2 (p1, p2) { ... },

  // ========== 生命周期方法 ==========
  // 应用程序启动时触发一次
  onLaunch () { ... },

  // 当应用程序进入前台显示状态时触发
  onShow () { ... },

  // 当应用程序进入后台状态时触发
  onHide () { ... }
})

也就是说,当应用程序启动时会自动执行项目目录下的app.js文件。

在app.js中通过调用全局App([option])方法创建一个应用程序实例。

其中通过参数指定的一些特定的方法,会在特定的执行时机去执行,也就是说通常所说的生命周期事件方法。

属性类型描述触发时机
onLaunchFunction生命周期函数--监听小程序初始化当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShowFunction生命周期函数--监听小程序显示当小程序启动,或从后台进入前台显示,会触发 onShow
onHideFunction生命周期函数--监听小程序隐藏当小程序从前台进入后台,会触发 onHide

也可以定义任意其他的对象成员(例如:方法和属性),这些成员可以在内部直接使用,或者外部通过获取app对象调用:

属性类型描述
其他Any开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问,一般用于存放业务逻辑配置,比如:API地址

app.js

App({
  data1: '123',
  data2: { message: 'hello world' },
  api: {
    list: 'https://github.com/zce/',
    detail: 'https://github.com/zce/',
  },
  foo () {
    return 'bar'
  }
})

other.js

// getApp 也是全局函数,可以在任意地方调用,用于获取全局应用程序实例对象
var app = getApp()
console.log(app.data1)
console.log(app.data2)
console.log(app.foo())

页面逻辑[page-name].js

[page-name].js是一个页面的重要组成部分,用于创建页面对象

// 获取全局应用程序对象
const app = getApp()

// Page也是一个全局函数,用来创建页面对象
Page({
  // ========== 页面数据对象(可以暴露到视图中,完成数据绑定) ==========
  data: { ... },

  // ========== 页面方法(可以用于抽象一些公共的行为,例如加载数据,也可以用于定义事件处理函数) ==========
  method1 (p1, p2) { ... },
  method2 (p1, p2) { ... },

  // ========== 生命周期方法 ==========
  // 页面加载触发
  onLoad () { ... }

  ...
})

在应用程序执行到当前页面时,会执行当前页面下对应的[page-name].js文件。
在[page-name].js中通过调用全局Page([option])方法创建一个页面实例。

Page([option])方法[option]参数说明

属性类型描述
dataObject页面的初始数据
onLoadFunction生命周期函数--监听页面加载
onReadyFunction生命周期函数--监听页面初次渲染完成
onShowFunction生命周期函数--监听页面显示
onHideFunction生命周期函数--监听页面隐藏
onUnloadFunction生命周期函数--监听页面卸载
onPullDownRefreashFunction页面相关事件处理函数--监听用户下拉动作
其他Any开发者可以添加任意的函数或数据到 object 参数中,用 this 可以访问

视图层分析

[page-name].wxml页面结构

WXML(WeiXin Markup Language)是MINA框架设计的一套标签语言,基于XML。

结合一些基础组件、事件系统、模板数据绑定,可以构建出页面的结构。

简单来说:wxml ≈ xml + 事件系统 + 模板引擎

例如:

// js
Page({
  data: {
    todos: [
      { text: 'JavaScript', completed: false },
      { text: 'JavaScript+', completed: false },
      { text: 'JavaScript++', completed: false }
    ]
  },
  completed (e) { ... }
})
<!-- wxml -->
<view>
  <view wx:for="{{ todos }}">
    <block wx:if="{{ !item.completed }}">
      <text>{{ item.text }}</text>
      <button bindtap="completed" data-item-index="{{ index }}"> √ </button>
    </block>
  </view>
</view>

[page-name].wxss页面样式

WXSS(WeiXin Style Sheets)是MINA框架设计的一套标签语言,基于XML。

WXSS用来决定了在WXML中定义的组件应该怎么显示。

为了适应广大的前端开发者,我们的WXSS具有CSS大部分特性。 同时为了更适合开发微信小程序,我们对CSS进行了扩充以及修改。

与CSS相比我们扩展的特性有:

  • 尺寸单位
  • 样式导入(CSS也有)

尺寸单位

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

rem(root em): 规定屏幕宽度为20rem;1rem = (750/20)rpx 。

设备rpx换算px (屏幕宽度/750)px换算rpx (750/屏幕宽度)rem换算rpx (750/20)
iPhone51rpx = 0.42px1px = 2.34rpx1rem = 37.5rpx
iPhone61rpx = 0.5px1px = 2rpx1rem = 37.5rpx
iPhone6s1rpx = 0.552px1px = 1.81rpx1rem = 37.5rpx
  • 建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。
  • 注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。

样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

@import "common.wxss";
text {
  background-color: #ff0;
}

选择器

目前只支持如下选择器

选择器样例样例描述
.class.intro选择所有拥有 class="intro" 的组件
#id#firstname选择拥有 id="firstname" 的组件
elementview选择所有 view 组件
element, elementviewcheckbox 选择所有文档的 view 组件和所有的 checkbox 组件
::afterview::after在 view 组件后边插入内容
::beforeview::before在 view 组件前边插入内容

全局样式与局部样式

定义在app.wxss中的样式为全局样式,作用于每一个页面。在[page-name].wxss文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖app.wxss中相同的选择器。

微信小程序的购物车功能 微信小程序的购物车功能 这个微信小程序的购物车功能,通过参照各大电商平台的功能和界面,然后总结出来的。 效果图 功能描述 可单选,全选/取消全选 增加、减少、手动编辑商品的数量 根据商品的数量统计价格 代码实现 此处省略一万字,废话不多说,直接上代码吧! WXML静态布局、绑定“死”数据(主要功能代码) &lt;view class="list"&g... 阅读详情

相关推荐

采集 “1点点” 微信小程序上的全国门店信息

备注:如果需要获取全国门店数据,只需要准备好经纬度,稍加修改该示例源码进行循环爬取即可。1点点小程序名称:1点点+,在微信小程序界面搜索添加即可。查询门店入口如下图所示。

全国10大躺平艺术家之一,世界10大懒人之二,宇宙百百万亿尘埃之一 1314

微信小程序基础入门

准备 Demo 项目地址 https://github.com/zce/weapp-demo Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone https://github.com/zce/weapp-demo.git project-name --depth 1 $ cd project-name 没有git环境,...

weixin_30737363的博客 361

微信小程序实战之运维小项目

主要介绍了微信小程序实战之运维小项目,就是利用微信小程序实现了一个类似138的功能,输入IP就可以查看IP的详细信心,有需要的朋友可以参考借鉴,下面来一起看看吧。

小程序分页root路径问题

注意分包目录是否带/斜杠

webZRH的博客 411

牛耕式全覆盖算法-matlab代码

牛耕式路径全覆盖算法,也称为牛耕算法或者蚂蚁算法,是一种用于解决路径规划问题的启发式算法。这个算法的灵感来自于牛在耕田时的行为。在这个算法中,假设有一块田地需要耕作,牛从田地的某个角落开始行走,走过的路径会被标记。牛会优先选择尚未经过的路径,当所有的路径都走过后,算法停止。在路径规划问题中,田地可以看作是一个由节点和边构成的图。每个节点代表一个位置,每条边代表两个节点之间的连接。路径全覆盖问题是找出一组路径,使得每个节点都被至少一条路径经过。牛耕式路径全覆盖算法的基本思想是以启发式的方式逐步构建路径。

m0_69611489的博客 1689

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5101

微信小程序:动态修改页面的标题

onLoad () { console.log('onLoad') console.log(this.$root.$mp.query) if (this.$root.$mp.query.type) { wx.setNavigationBarTitle({ title: this.$root.$mp.query.type }) ...

沧笙踏歌的博客 2246

STM32 ST-LINK Utility固件烧录全流程详解与实战技巧

本文详细解析了使用STM32 ST-LINK Utility进行固件烧录的全流程与实战技巧。从硬件连接、软件安装、核心三步操作(连接、擦除、烧录)到进阶的选项字节配置与批量脚本烧录,提供了完整的避坑指南和问题排查方案,帮助开发者高效完成STM32程序下载。

lambda的博客 768

微信小程序开发的坑---路由参数

今天,咱们来说一下,路由跳转和路由参数 1、路由跳转 (1)通过a便签的href进行跳转 eg: &lt;a href='pages/detail/main?id=XXX'&gt;&lt;/a&gt; (2)通过wx内置的路由进行跳转【这就不详细说了】wx官方路由 举个例子: eg: let url = `../detail/main?id=${item.id}&...

果果的博客 1483

LT码与Raptor码的性能仿真

从数据分析看来,在数据块大小较小时(100 - 200 左右 ),LT 码和 Raptor 码的平均冗余符号数量差距相对较小,但 LT 码的冗余符号数量始终高于 Raptor 码。现在采用MATLAB进行仿真,直观展示不同数据块大小下,两种解码方式的解码时间差异.如图4.1所示,LT解码(绿色圆点折线)LT 解码方式的解码时间随数据块大小的变化情况。从实际应用的角度来看,LT码由于其简单的编码机制,适用于资源受限或对编码效率要求较高的场景,但其较高的解码复杂度限制了其在一些实时性要求较高的应用中的使用。

道亦无名 1135

在ZYNQMP上点亮800x480 LCD屏:从framebuffer到DRM框架的完整驱动移植实战

本文详细介绍了在ZYNQMP平台上点亮800x480 LCD屏的完整驱动移植实战,从framebuffer到DRM框架的技术实现。内容涵盖硬件配置、设备树设置、显示时序参数调试以及DRM驱动核心实现,帮助开发者快速掌握PetaLinux系统中的LCD驱动开发技巧。

weixin_33701294的博客 427

《微信小程序实战(1)· 开篇示例 》

近期由于博主刚帮朋友完成一个地图导航类的微信小程序,趁这股热乎劲还没褪去,想着把微信小程序的相关内容整理一个专栏,统一分享一下。关于微信小程序,大家想必也都不陌生了,毕竟推出来好几年了,这边不会去介绍小程序的基础用法,毕竟官网上介绍的足够详细了。本专栏的主要目的就是分享一下微信小程序在实战开发过程中,常用的操作讲解和踩坑说明,希望可以帮助到大家。好了,废话不多说,让我们开始吧!微信小程序官网文档此篇文章是《微信小程序实战》系列的第一篇,后续该专栏会继续分享小程序实战中运用的技能,希望可以帮助到大家。

山人行 2772

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 89

iis 微信小程序 服务器,微信小程序 windos server 2008 iis 7 tls1.0 升级 tls1.2(示例代码)...

执行下面注册表:重启服务器1.代码如下Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Se...

weixin_32151313的博客 324

WSL2安装(详细过程)

适用于 Linux 的 windows 子系统允许开发人员直接在 Windows 上运行 GNU/Linux 环境 -- 包括大多数命令行工具、实用程序和应用程序,无需修改,而无需传统虚拟机或dualbot设置的开销。

qq_43636384的博客 3万+

mjlab 入门教程(一)MuJoCo 人形机器人强化学习训练 sim-to-real 部署框架

摘要:mjlab是一个结合IsaacLab API与MuJoCo简洁性的GPU加速机器人仿真框架,专为强化学习和机器人研究设计。它提供快速安装(支持uv、pip、conda和Docker)、核心功能(域随机化、NaN守护、观测历史/延迟、执行器/传感器系统)以及从IsaacLab的迁移指南。相比IsaacLab,mjlab更轻量、启动更快,直接构建在MuJoCo Warp上,避免了Omniverse开销。其哲学强调裸机性能、开发者体验和核心领域专注,适合需要快速迭代和直接MuJoCo控制的用户,而Isaac

2506_90492529的博客 2724

微信小程序MQTT客户端

【代码】微信小程序MQTT客户端。

clg123的专栏 215

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

微信小程序让屏幕自动向下滚动

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文: wx.pageScrollTo(OBJECT) 基础库 1.4.0 开始支持,低版本需做兼容处理 将页面滚动到目标位置。 OBJECT参数说明: 参数名 类型 必填 说明 scrollTop Number 是 滚动到页面的目标位置(单位px) ...

a_靖的博客 8956

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hmacsha1 小程序js_微信小程序 使用HMACSHA1和md5为登陆注册报文添加指纹验证签名...

/** [js-sha1]{}** @version 0.6.0* @author H, J-C [hjc_code@126.com]* @copyright H, J-C 2018-9-28* @license MIT*/var CryptoJS = CryptoJS || function(g, l) {var e = {}, d = e.lib = {}, m = function () {...

weixin_32021519的博客 735

visio安装包

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

怎样通过微信小程序实现远程控制照明

怎样通过微信小程序实现远程控制照明呢?本文描述了使用微信小程序调用HTTP接口,实现控制照明,通过1、2、3路智能开关,来分别独立控制1-3路照明电路。

tyanzhiqi的专栏 3605

微信小程序生成海报工具类

本文主要对微信小程序和图片的引用工具进行了封装,内容中也结合了许多网上资源,整合一下方便开发者应用。 项目应用工具:Java8 IDEA Gradle5.2.1 获取小程序的文档首先我们要阅读微信的官方文档,然后针对文档的内容编写代码。 生成小程序码地址(同步时间2020-7-15日 后续微信如果更新请自行官网查询):https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.createQR..

beyourself 664

collapse 微信小程序_详解优化你的微信小程序

这篇文章主要给大家介绍了关于微信小程序瘦身的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。前言众所周知,微信小程序在发布的时候,对提交的代码有1M大小的限制!所以,如果你正在写一个功能稍微复杂一点的小程序,就必须得时刻小心注意你的代码是不是快触及这个底线了。在设计一个小程序之初,我们就需要重点考虑这一点,采取一些方法,来避免太早的遭遇这个问题。避免使用本...

weixin_39915820的博客 248

servlet后端连接 微信小程序与_微信小程序后端JAVA的使用代码详解

微信小程序后端JAVA能够在小程序开发过程中起到至关重要的作用,但是很多小程序开发者对它还不太了解,如果要让后端JAVA实现websocket与微信小程序端连接要怎么操作呢?以下是实现代码:后端JAVA实现websocket与微信小程序端连接代码:import java.io.IOException;import java.util.concurrent.CopyOnWriteArraySet;i...

weixin_39738380的博客 424

写一段详细的微信小程序代码实现用户点击按钮检查用户免费使用次数,如果免费使用次数为0则引导用户点击分享按钮增加免费使用次数,监控用户是否分享成功,完成分享后免费使用次数加1。如果免费使用次数不为0则执...

这是一个微信小程序的示例代码,实现了用户点击按钮检查用户免费使用次数,如果免费使用次数为0则引导用户点击分享按钮增加免费使用次数,监控用户是否分享成功,完成分享后免费使用次数加1。如果免费使用次数不为0则执行签名设计功能。 首先,我们在页面的 data 中声明一个变量 freeUseCount,用来记录用户的免费使用次数: data: { freeUseCount: 0 } ...

weixin_35751412的博客 245

微信小程序(原生)——轮播图swiper、1秒切换、自动轮播、无缝切换

微信小程序——轮播图swiper、1秒切换、自动轮播、无缝切换

努力、拼搏、奋进 1万+

php向前台推送_PHP使用WebSocket主动推送【微信小程序接收】

WebSocket.jpegWebsocket是一种服务端和客户端可以持久连接的通信协议,我们可以利用WebSocket的特性实现服务器主动向客户端推送消息的功能。这里我们用TP5.1框架结合Workerman来做演示首先用Composer下载TP5.1框架composer create-project topthink/think=5.1.* tp5 --prefer-dist下载完成...

weixin_39955925的博客 475
上一篇: 微信小程序--登录密码MD5加密
下一篇: 微信小程序--基础使用手册
jason.小木杉
博客等级 码龄10年 50粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值