發表日期:2019-11 文章編輯:小燈 瀏覽次數:12646
微信小程序授權登錄基本是小程序的標配了,但是官方的demo,取消授權后,就不能再重新點擊登錄,除非重新加載小程序才可以,這下怎么辦?
我們可以先在首頁引導用戶點擊,然后跳轉到一個新的頁面,在新的頁面進行授權,然后新的頁面授權成功,立馬跳回首頁,顯示用戶信息。
代碼結構:
index是首頁
login是授權頁
index.wxml
<!-- 未授權,只顯示一個授權按鈕 -->
<view wx:if="{{result==false}}">
<button bindtap="getinfo" class="loginbtn"> 授權登錄 </button>
</view>
<!-- 授權后只顯示頭像和昵稱 -->
<view elif="{{result==true}}" class="info">
<image src="{{head}}" class="headimg"></image>
<text class="nickname">{{name}}</text>
</view>
index.wxss
/**index.wxss**/
.loginbtn{
width: 150px;
height: 45px;
background: #06C05F;
margin:100px auto 0;
line-height: 45px;
font-size: 15px;
color: #fff;
}
.info{
width: 80px;
height: 100px;
margin:50px auto 0;
}
.info .headimg{
width: 80px;
height: 80px;
border-radius: 100%;
}
.info .nickname{
text-align: center;
}
index.js
//index.js
Page({
data: {
userInfo: {},
hasUserInfo: false
},
//事件處理函數
getinfo: function () {
wx.navigateTo({
url: '../login/index'
})
},
onLoad: function (e) {
let that = this;
// 獲取用戶信息
wx.getSetting({
success(res) {
// console.log("res", res)
if (res.authSetting['scope.userInfo']) {
console.log("已授權")
// 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱
wx.getUserInfo({
success(res) {
console.log("獲取用戶信息成功", res)
that.setData({
name: res.userInfo.nickName,
head: res.userInfo.avatarUrl,
result: true
})
},
fail(res) {
console.log("獲取用戶信息失敗", res)
that.setData({
result: "取消授權"
})
}
})
} else {
console.log("未授權")
that.setData({
result: false
})
}
}
})
}
})
index.wxml
<!--index.wxml-->
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 授權獲取用戶信息 </button>
index.js
//index.js
Page({
data: {
userInfo: {},
hasUserInfo: false
},
getUserInfo: function (e) {
let that = this;
// 獲取用戶信息
wx.getSetting({
success(res) {
// console.log("res", res)
if (res.authSetting['scope.userInfo']) {
console.log("已授權=====")
// 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱
wx.getUserInfo({
success(res) {
console.log("獲取用戶信息成功", res)
that.setData({
name: res.userInfo.nickName,
head: res.userInfo.avatarUrl
})
wx.reLaunch({
url: '../index/index'
})
},
fail(res) {
console.log("獲取用戶信息失敗", res)
}
})
} else {
console.log("未授權=====")
}
}
})
}
})
WeChat:face6009
Web:http:likeyunba.com
Date:2019-10-17
Author:TANKING
日期:2019-11 瀏覽次數:5776
日期:2019-11 瀏覽次數:12205
日期:2019-11 瀏覽次數:4591
日期:2019-11 瀏覽次數:5639
日期:2019-11 瀏覽次數:5464
日期:2019-11 瀏覽次數:7503
日期:2019-11 瀏覽次數:5375
日期:2019-11 瀏覽次數:16036
日期:2019-11 瀏覽次數:4947
日期:2019-11 瀏覽次數:6753
日期:2019-11 瀏覽次數:5653
日期:2019-11 瀏覽次數:4796
日期:2019-11 瀏覽次數:11159
日期:2019-11 瀏覽次數:8614
日期:2019-11 瀏覽次數:5305
日期:2019-11 瀏覽次數:4556
日期:2019-11 瀏覽次數:9243
日期:2019-11 瀏覽次數:4890
日期:2019-11 瀏覽次數:5089
日期:2019-11 瀏覽次數:5107
日期:2019-11 瀏覽次數:4772
日期:2019-11 瀏覽次數:5259
日期:2019-11 瀏覽次數:10555
日期:2019-11 瀏覽次數:5691
日期:2019-11 瀏覽次數:5701
日期:2019-11 瀏覽次數:5139
日期:2019-11 瀏覽次數:12645
日期:2019-11 瀏覽次數:7607
日期:2019-11 瀏覽次數:8200
日期:2019-11 瀏覽次數:5101
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.