
正文
小程序getUserInfo授权升级更新登录优化
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
小程序基础库2.0.7更新小程序组件 <button> 新增 open-type 属性有效值 openSetting,所以说,再也不能愉快的直接调用getUserInfo了。但是不想用官方的按钮直接点击授权,依旧想使用之前的点击允许授权弹框怎么使用?
大概可以有以下思路:
我的自定义组件
<base-modal id="baseModal" modalSize="{{modalSize}}" animated="{{animated}}" backdrop="{{backdrop}}">
<view slot="header" class='modal-header'>
<text>授权登录</text>
</view> <view slot="body" class='modal-body'>
小程序请求获取你的公开信息(头像,昵称等)
</view> <view slot="footer" class='modal-footer'>
<view class="bod-right">
<button plain bindtap="_cancelModal">拒绝</button>
</view>
<view>
<button plain open-type="getUserInfo" bindgetuserinfo="_confirmModal">同意</button>
//bindgetuserinfo在打开授权设置页后的回调
</view>
</view>
</base-modal>
首先使用自定义弹框组件,在弹框按钮处,【取消】:提示
wx.showModal({
title: '提示',
content: '您点击了拒绝授权,将无法使用该功能。请点击【确定】设置授权,或者等10分钟之后再次获取授权。',
success: (resp) => {
if (resp.confirm) {
console.log('用户点击确定')
//打开设置页面授权
wx.openSetting({
success: (succ) => {}
})
} else if (resp.cancel) {
console.log('用户点击取消')
//跳转到选项卡指定页面,关闭其他页面
wx.switchTab({ url: "/pages/index/index" })
}
},
fail: () => {
console.log('fail')
wx.switchTab({ url: "/pages/index/index" })
}
})
点击【确定】按钮:
这回可以引用新的方法了,
跳转设置页面授权
wx.openSetting({
success: (succ) => {}
})
emm……拖了好久才出来的文章,在刚发布时就已经写得一半一半但是觉得不够完善,一直待在草稿箱里
还有一种方法是,静默登录,晚些时候再来更新完善一下
可参考这个博客的自定义组件方法内的【增强模态窗】,使用(可点击):微信小程序组件化 快速实现可用模态窗







