uni-app-02

127 阅读2分钟

不支持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. 查看支付结果

用户确认支付,输入密码,   未完成支付做出提示,  完成支付还需要客户端, 进一步查询支付的结果, 最后展示支付消息