uniapp获取用户登录信息的实现
生活随笔
收集整理的這篇文章主要介紹了
uniapp获取用户登录信息的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用戶登錄需要拿到以下參數,因為getUserInfo已經不再有彈出層了,使用我們改用getUserProfile獲取數據
1.點擊登錄按鈕獲取微信用戶的基本信息:
<button type="default" v-on:click="dianji()">一鍵登錄</button>2.在methods節點中聲明getUserInfo事件處理函數
methods:{dianji(){uni.getUserProfile({desc: '用于完善用戶資料', success(e) {console.log(e.userInfo);},fail() {uni.showToast({icon:null,title:'您取消了登錄授權'})}})}}3.獲取code參數:
const [err,res] = await uni.login().catch(err=>err); if(res.errMsg !== 'login:ok'){return uni.showToast({title:'登錄失敗!'}) } console.log(res.code);4.把5個參數放在data的一個對象當中
data() {return {query:{code:'',encryptedData:'',iv:'',signature:''},userInfo:{}}; }, methods:{dianji(){var that = this;uni.getUserProfile({desc: '用于完善用戶資料', success(e) {//保存參數信息that.get();that.query.encryptedData = e.encryptedData;that.query.iv = e.iv;that.query.signature = e.signature;that.query.rawData = e.rawData;//保存用戶信息that.userInfo = e.userInfo;},fail() {uni.showToast({icon:null,title:'您取消了登錄授權'})},});},async get(){const [err,res] = await uni.login().catch(err=>err);if(err || res.errMsg !== 'login:ok'){return uni.showToast({title:'登錄失敗!'})}console.log(res.code);this.query.code = res.code;}}5個參數已經全部保存在data下的query對象當中
5.將code傳給后臺處理:
methods:{ dianji(){var that = this;uni.getUserProfile({desc: '用于完善用戶資料', success(e) {//保存參數信息that.get().then(res=>{that.query.encryptedData = e.encryptedData;that.query.iv = e.iv;that.query.signature = e.signature;that.query.rawData = e.rawData;//保存用戶信息that.userInfo = e.userInfo;console.log('發送請求');uni.request({url:'http://localhost:3000/test?code='+that.query.code,method:'GET',success(res) {console.log(res);}})})},fail() {uni.showToast({icon:null,title:'您取消了登錄授權'})},});}, async get(){const [err,res] = await uni.login().catch(err=>err);if(err || res.errMsg !== 'login:ok'){return uni.showToast({title:'登錄失敗!'})}this.query.code = res.code;console.log('code'+this.query.code); } }總結
以上是生活随笔為你收集整理的uniapp获取用户登录信息的实现的全部內容,希望文章能夠幫你解決所遇到的問題。