根据最新的微信小程序官方的规定,uniapp中的uni.getuserinfo方法不再返回用户头像和昵称、以及手机号
首先,需获取appid,appsecret,如下图
先调用uni.getuserinfo方法获取code,然后调用后台的api,传入code,换取登录信息比如openid什么的,然后调用后台的例如账号密码或者手机验证码等相关登录的接口,换取token存入本地,即可。
uni.getuserinfo({ provider: 'weixin', success: function(info) { // 获取用户信息成功, info.authresult保存用户信息 uni.login({ provider: 'weixin', success: function(loginres) { console.log(loginres, '---loginres') wxloginapi({ code: loginres.code }).then(res => { if (res.code === '200') { loginparamobj.value = res.data; if (loginparamobj.value.bindstatus === '1') { //已绑定,直接登录 // userstore.set_fresh_token(res.data.refresh_token) } else { // 留在登录页 initloginstatus.value = true } } }) }, fail: function(err) { // 登录授权失败 // err.code是错误码 } }); } })
登录后要配合pinia,将token存入本地即可
import { definestore } from 'pinia' const user = definestore( 'user', () => { const token = ref(''); // 登录token const fresh_token = ref(''); const set_token = (value : string) => { token.value = value }; const set_fresh_token = (value : string) => { fresh_token.value = value }; return { token, fresh_token, } }, { unistorage: true // 开启后对 state 的数据读写都将持久化 }) // const user = ()=>{ // } export default user
到此这篇关于vue3 uniapp微信登录的文章就介绍到这了,更多相关vue3 uniapp微信登录内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论