# token获取方式有两种:
- 用户登录成功后后台返回token,一般会把返回的token缓存起来
- 通过用户授权获取用户的相关信息和code等参数,后台提供接口将这些参数传进去,就可以返回token
接下来要说的就是第二种方式获取token,一般在微信支付 创建订单的时候需要用到token
在支付页面的支付方法里写获取token方法
支付页面的index.js文件
const token=wx.getStorageSync("token");
if(!token){
//跳转到授权页面
wx.navigateTo({
url:'/page/auth/index'
})
return ;
}
授权页面wxml
<button open-type="getUserInfo" bindgetuserinfo="handleGetUserInfo">授权</button>
授权页面的js文件
handleGetUserInfo(e){
try{
//获取用户信息
const {encrypeData,rawData,iv,signature}=e.detail
//获取小程序登录成功后的code
let code
wx.login({
timeout:10000,
success:(res)=>{
code =res.code;
}
})
const loginParams={encrypeData,rawData,iv,signature,code};
// 发送请求 获取用户的token
wx.request({
url: '/users/wxlogin', //仅为示例,并非真实的接口地址
data: loginParams,
method:'post',
success (res) {
//获取返回的token
console.log(res.token)
// 存入缓存中
wx.setStorageSync('token',res.token);
// 跳转到上一个页面
wx.navigateBack({
delta:1
})
}
})
}catch(error){
console.log(error)
}
}
本文探讨了微信小程序在不依赖用户登录的情况下,如何通过用户授权获取code及相关信息,进而从后台接口换取token。这一方法尤其适用于微信支付创建订单场景。
1127

被折叠的 条评论
为什么被折叠?



