小程序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……拖了好久才出来的文章,在刚发布时就已经写得一半一半但是觉得不够完善,一直待在草稿箱里

 

还有一种方法是,静默登录,晚些时候再来更新完善一下

可参考这个博客的自定义组件方法内的【增强模态窗】,使用(可点击):微信小程序组件化 快速实现可用模态窗

posted @ 2018-06-28 17:16  百撕可乐  阅读(2187)  评论(0编辑  收藏  举报
版权声明:本博客原创文章使用CC3.0授权协议,署名-非商业性使用-禁止演绎。转载本博客文章须在开头位置著名原作者姓名以及原文链接,违反协议的转载将受到我本人的版权追责。