vue3 uniapp微信登錄功能實(shí)現(xiàn)
根據(jù)最新的微信小程序官方的規(guī)定,uniapp中的uni.getUserInfo方法不再返回用戶頭像和昵稱、以及手機(jī)號(hào)

首先,需獲取appID,appSecret,如下圖

先調(diào)用uni.getUserInfo方法獲取code,然后調(diào)用后臺(tái)的api,傳入code,換取登錄信息比如openid什么的,然后調(diào)用后臺(tái)的例如賬號(hào)密碼或者手機(jī)驗(yàn)證碼等相關(guān)登錄的接口,換取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 {
// 留在登錄頁(yè)
initLoginStatus.value = true
}
}
})
},
fail: function(err) {
// 登錄授權(quán)失敗
// err.code是錯(cuò)誤碼
}
});
}
})登錄后要配合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 // 開啟后對(duì) state 的數(shù)據(jù)讀寫都將持久化
})
// const user = ()=>{
// }
export default user到此這篇關(guān)于vue3 uniapp微信登錄的文章就介紹到這了,更多相關(guān)vue3 uniapp微信登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js實(shí)現(xiàn)翻頁(yè)后保持checkbox選中狀態(tài)的實(shí)現(xiàn)方法
在項(xiàng)目中有需求如下:上下分頁(yè)后,選中的checkbox狀態(tài)保持不變2012-11-11
小程序統(tǒng)計(jì)來(lái)源信息的方案與具體代碼
微信小程序數(shù)據(jù)統(tǒng)計(jì),現(xiàn)在有很多的統(tǒng)計(jì)方法和統(tǒng)計(jì)工具,下面這篇文章主要給大家介紹了關(guān)于小程序統(tǒng)計(jì)來(lái)源信息的方案與具體代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
div+css+js模擬tab切換效果 事件綁定 IE,firefox兼容
div+css+js模擬tab,這個(gè)版本,理論上可以添加無(wú)限個(gè)tab,而且,你只要管內(nèi)容的添加行了,不需要改JS2009-12-12
JavaScript高級(jí)程序設(shè)計(jì) 閱讀筆記(七) ECMAScript中的語(yǔ)句
ECMAScript中的語(yǔ)句,學(xué)習(xí)js的朋友可以參考下2012-02-02
JS基于Mootools實(shí)現(xiàn)的個(gè)性菜單效果代碼
這篇文章主要介紹了JS基于Mootools實(shí)現(xiàn)的個(gè)性菜單效果代碼,涉及JavaScript頁(yè)面元素的遍歷及樣式的動(dòng)態(tài)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
JS控制頁(yè)面跳轉(zhuǎn)時(shí)未請(qǐng)求要跳轉(zhuǎn)的地址怎么回事
在js中通過(guò)window.location.href控制頁(yè)面跳轉(zhuǎn)時(shí),有時(shí)會(huì)跳轉(zhuǎn)至緩存頁(yè)面,并沒(méi)有真正去請(qǐng)求要跳轉(zhuǎn)的地址,導(dǎo)致頁(yè)面數(shù)據(jù)未能及時(shí)加載刷新。怎么解決呢?下面小編給大家解答下2016-10-10
詳細(xì)聊聊對(duì)async/await的理解和用法
隨著Nodev7的發(fā)布,越來(lái)越多的人開始研究據(jù)說(shuō)是異步編程終級(jí)解決方案的 async/await,這篇文章主要給大家介紹了關(guān)于對(duì)async/await的理解和用法,文中通過(guò)實(shí)例代碼介紹的介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

