不支持node.js内置库包, 不支持依赖于浏览器内置对象的包, 不支持C++插件的包
定制全局主题样式
每个页面的根节点都是page标签
app.wxss page{ --button-danger-background-color:#c00000}
vant weapp定制主题- 样式变量
定制使用的 CSS 变量 与 Less 变量 同名,下面是一些基本的样式变量,所有可用的颜色变量请参考 配置文件。
API Promise化
提高代码可读性, 可维护性, 避免回调地狱问题
小程序无法直接读取node_modules里面的包, 必须通过构建,把包迁移到miniProgram_npm
全局数据共享,
解决组件之间数据共享问题 , 状态管理工具, 集中式存储管理应用的所有组件的状态, 并以相应的规则状态以一种可预测的方式发生改变
微信支付流程
前提只有在登录之后才允许调用支付相关的接口,所以必须为有权限的接口添加身份认证 的请求头字段
获取openid首先需要调用小程序的login方法获取小程序的登录凭证code,然后使用code向微信换取登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)
1. 创建订单,
点击结算按钮, 请求创建订单的API接口, 把(订单金额, 收货地址, 商品信息) 发送到服务器, 服务器响应的结果:订单编号
2. 订单预支付,
后台请求下单接口, 创建订单, 微信支付系统生成预付单, 返回预付单标识, 服务器响应的结果:订单预支付的参数对象 ,里面包含了订单支付相关的必要参数
3. 发起支付
调用 uni.requestPayment() 这个 API,发起微信支付;把上一步得到的 “订单预支付对象” 作为参数(时间戳, 签名, 随机字符串,预支付id)传递给 uni.requestPayment() 方法, 微信支付系统验证授权权限
4. 查看支付结果
用户确认支付,输入密码, 未完成支付做出提示, 完成支付还需要客户端, 进一步查询支付的结果, 最后展示支付消息