小程序支付流程
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log('-------获取code-------')
console.log(loginRes.code);
}
});
timeStamp: res.data.Data.Timestamp,
nonceStr: res.data.Data.NonceStr,
package: res.data.Data.PrepayIdPackage,
signType: "RSA",
paySign: res.data.Data.paySign,
wx.requestPayment({ timeStamp: res.data.Data.Timestamp, nonceStr: res.data.Data.NonceStr, package: res.data.Data.PrepayIdPackage, signType: "RSA",
paySign: res.data.Data.Signature,
success: function(res) {
}, fail: function(res) {
}
})
小程序一键登录
因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。
先上图

步骤一 绑定点击事件
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</button>
步骤二 在事件回调中发请求获取手机号
从基础库2.21.2开始,对步骤2中换取手机号信息的方式进行了安全升级,上述为新方式使用指南。([旧方式](https:
在getPhoneNumber事件的回调中接受接口必要的入参,然后向后端发请求,获取手机号,如果后端需要session_key,就需要提前通过wx.login获取code,然后向后端换取openID,session_key
在回调中调用 [wx.login](https:
此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。**建议开发者提前进行 `login`**;或者在回调中先使用 `checkSession` 进行登录态检查,避免 `login` 刷新登录态。
![image.png](https:
博客链接
www.cnblogs.com/softidea/p/…