小程序支付流程:
想要获取授权呢,先写一个button按钮,这个按钮上个绑定一个属性,然后就是绑定一个事件,这个事件相当于我们的点击事件,这个事件中,有事件对象,这个事件对象中有我们需要的参数,然后我们使用小程序内封装好的方法wx.login()方法,这个方法会返回一个code,然后我们就可以拼装一个对象作为参数去请求登录接口了。这个登录接口登录成功呢会返回一个token。然后使用本地存储保存一下。在让用户返回到支付页面就可以了。
// 获取授权
hqsq(e) {
console.log(e);
new Promise((resolve, reject) => {
wx.login({
success: (res) => {
let code = res.code; //返回一个code
const loadingParams = {
encryptedData: e.detail.encryptedData,//encryptedData 加密数据
rawData: e.detail.rawData,
iv: e.detail.iv,//iv 加密值
signature: e.detail.signature,
code
} // 创建一个对象 执行resolve
resolve(loadingParams); // 把创建的对象当作参数
},
fail(err) {
reject(err);
}
})
}).then(res => { // res 就是resolve 中的参数
console.log(res);
wx.request({
// 相当于登录的接口
url: 'https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin',
data: res,
method: 'post',
success(res) {
console.log(res);
// res中一般会包含一个token
wx.navigateBack({ // 返回上一个页面
delta: 1
});
},
fail(err) {
console.log(err);
}
})
})
},
调用这几行代码就可以向跟微信服务器要code,并且将code传到商户服务器中,记住这里最好使用post发送请求,安全性的东西我应该不用讲了,因为避免其他人滥用接口,于是我们使用token来进行验证。并将商户服务器返回的token存在小程序缓存中。