微信有一个静默登录,当进入小程序,页面加载完之后就会默认登录拿到code,这时候我们只需要将拿到的code去调后端的登录接口即可拿到用户的openid,openid在后续的开发中可能经常要用到,可以将其放到storage中,随用随拿
文章来源:https://www.toymoban.com/news/detail-603188.html
// app.js
// 后端的登录接口
import {wxLogin} from './pages/api/login/login.js'
App({
onLaunch() {
let loginInfo = {
openid: null,
session_key: null
}
let code = null;
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console.log(res);
code = res.code;
// 拿到code就调用后端的登录接口,微信服务器就会返回openid、session_key等信息
// 注意:要拿openid除了code还有三个参数:appId、secret、grant_type
//(appid和secret在微信开发者后台可以获取)由于我们后端已经对这块做了处理,只需要传code即可
wxLogin(code).then(res => {
let isNewUser = res.data.data.exist_openid
if (res.statusCode == 200) {
loginInfo = res.data.data; // 将openid、session_key 存放到本地storage
this.setLoginInfo(loginInfo)
}
})
}
})
},
// 存放openid、session_key
setLoginInfo(loginInfo){
// 异步:无需存储完成才执行后续操作
wx.setStorage({
key:'login_info', // 名称
data:loginInfo // 存放的数据
})
},
/*
* 要用的时候直接拿就行:
* let openId = wx.getStorageSync('login_info').openid
*/
})
文章来源地址https://www.toymoban.com/news/detail-603188.html
到了这里,关于微信小程序如何通过code拿到用户的openid?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!