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

news/2024/11/30 1:28:59/

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

 

有问题可以咨询我,我抽出时间解答


http://www.ppmy.cn/news/806663.html

相关文章

关于微信授权登录的用户取消-2的问题

之前在做微信授权登录的时候&#xff0c;遇到了用户取消:-2的问题&#xff0c;从网上查了一下&#xff0c;也没有找到什么解决方案&#xff0c;最后自己还是把它解决了&#xff0c;和大家分享一下&#xff0c;弄了半天&#xff0c;原来是自己申请错了&#xff0c;我给申请成了网…

微信第三方授权登录

晚上闲来没事&#xff0c;手里突然痒痒的&#xff0c;突然还是写点东西吧&#xff0c;结果想想&#xff0c;不是去年7月份微信刚公开开放第三方app授权登录&#xff01;结果还是有很多应用纷纷采用这个了&#xff0c;可是实际开发中&#xff0c;并不是如我们想象的那么顺利&…

PDF文件转换成CAD图纸怎么做?简单好用的转换方法分享

CAD文件可以进行更加复杂的编辑&#xff0c;例如添加图层、修改线条颜色和粗细等&#xff0c;而PDF文件则只能进行简单的编辑操作。CAD软件中还可以添加文字注释、标注、尺寸和符号&#xff0c;这些功能大大提高了设计的灵活性和精度。下面给大家分享几种能够将PDF文件转换成CA…

微信授权登录操作

微信授权登录 这里主要介绍了个人操作微信授权登录的一些操作&#xff0c;主要还是看文档。 在看文当前还是了解一下两个概念吧 微信开放平台 微信开放平台其实我理解的就是开发者管理移动应用、网站应用、公众账号、小程序、第三方平台的一个能够最大程度调用、配合微信的一个…

微信授权登陆-app

app接入第三方微信登陆功能&#xff1a; 移动应用微信登录是基于OAuth2.0协议标准 构建的微信OAuth2.0授权登录系统&#xff0c;前提你需要到微信开放平台注册开发者帐号&#xff0c;并拥有一个已审核通过的移动应用&#xff0c;并获得相应的AppID和AppSecret&#xff0c;申请…

微信授权

这里写自定义目录标题 项目场景&#xff1a;微信授权问题描述&#xff1a;根据code值获取手机号 项目场景&#xff1a;微信授权 问题描述&#xff1a;根据code值获取手机号 步骤一&#xff1a; String result “”; WxMaJscode2SessionResult session null; try { session …

微信公众平台如何授权第三方平台,干货到!微信公众号怎样添加第三方平台及取消授权

微信公众号是我们经常使用的行业资讯平台&#xff0c;通过公众号我们可以更有效的传播我们的服务信息、提供更改的服务水平、效率。有时候我们需要授权第三方平台来进行操作会更加方便&#xff0c;那么如何在微信公众平台授权第三方平台呢&#xff1f;下面小编为大家分享一个方…

微信授权 登录

文章目录 一、微信公众号授权登录1.跳转微信授权页面2.授权成功获取code去获取用户信息&#xff08;openId等信息&#xff09;3.签名 二、微信小程序授权登录1.先登录&#xff0c;在授权2.获取用户信息 总结 一、微信公众号授权登录 1.跳转微信授权页面 toWXAuth(){var uri …