微信小程序通过非登录(获取用户信息和code)的方式获取token

本文探讨了微信小程序在不依赖用户登录的情况下,如何通过用户授权获取code及相关信息,进而从后台接口换取token。这一方法尤其适用于微信支付创建订单场景。

# 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)
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值