歡迎您光臨深圳凯时真人娱乐平台網絡科技有限公司!
电话图标 余先生:13699882642

網站百科

为您解码網站建設的点点滴滴

微信小程序授权登录取消授权重新授权处理方法 附可用代码

发表日期:2019-11 文章编辑:小灯 浏览次数:1500

微信小程序授權登錄基本是小程序的標配了,但是官方的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


本頁內容由凯时真人娱乐平台網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認爲本網頁中由涉嫌抄襲的內容,請及時與凯时真人娱乐平台 聯系,並提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:/25236.html
相關小程序
 八年  行業經驗

多一份參考,總有益處

联系深圳网站公司凯时真人娱乐平台网络,免费获得網站建設方案及报价

咨詢相關問題或預約面談,可以通過以下方式與凯时真人娱乐平台 聯系

業務熱線:余經理:13699882642

在線咨詢 提交需求

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • 粵ICP備13056747號