vue3 uniapp微信登錄功能實現(xiàn)
根據(jù)最新的微信小程序官方的規(guī)定,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 的數(shù)據(jù)讀寫都將持久化
})
// const user = ()=>{
// }
export default user到此這篇關于vue3 uniapp微信登錄的文章就介紹到這了,更多相關vue3 uniapp微信登錄內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一文熟練掌握JavaScript中Object.keys()與Object.values()的實用技巧
本文詳細介紹了JavaScript中Object.keys()和Object.values()方法的使用方法、功能及應用場景,通過實例展示了如何使用這些方法進行對象的遍歷、復制、比較和屬性計算等操作,需要的朋友可以參考下2025-01-01
javascript實現(xiàn)的textarea運行框效果代碼 不用指定id批量指定
今天在寫一個網頁的時候用到了N多嵌套在textarea標簽里的代碼,定義雙擊運行其內的代碼段。但是每次創(chuàng)建一個這樣的可運行的實例都要給textarea元素自定義一個id值和寫入雙擊事件,好不麻煩。2009-12-12

