美文网首页
微信小程序拒绝授权引导设置案例

微信小程序拒绝授权引导设置案例

作者: MEZ | 来源:发表于2018-03-06 22:31 被阅读2075次

    简单也得记下——ubbcou

    文章来源:微信小程序拒绝授权引导设置案例

    完整 Example 源码:点击进入

    使用的微信开放接口

    wx.getSetting: 获取用户的当前设置( res.authSetting[scope] 获取授权信息 )。
    wx.openSetting: 调起客户端小程序设置界面,返回用户设置的操作结果。
    wx.authorize: 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。但在缓存生效期间只会弹窗一次。
    wx.showModal: 检测到未授权时弹窗提示用户。
    wx.chooseAddress && wx.chooseInvoiceTitle: 调起响应的用户授权。
    使用 ``

    app.js

    App({
    
      /**
       * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
       */
      onLaunch: function () {
        console.log("[ onLaunch");
        this.userLogin();
        console.log("]");
      },
    
      /**
       * 当小程序启动,或从后台进入前台显示,会触发 onShow
       */
      onShow: function (options) {
        console.log("[ onShow");
        console.log(options);
        console.log("]");
      },
    
      /**
       * 当小程序从前台进入后台,会触发 onHide
       */
      onHide: function () {
        console.log("[ onHide");
        console.log("]");
      },
    
      /**
       * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
       */
      onError: function (msg) {
        console.log("[ onError");
        console.log('onError');
        console.log('msg');
        console.log("]");
      },
    
      /**
       * 全局变量
       */
      globalData: {},
    
      /**
       * 登陆
       */
      userLogin() {
      },
    
      /**
       * 授权
       * scope.userInfo wx.getUserInfo  用户信息
          scope.userLocation    wx.getLocation, wx.chooseLocation   地理位置
          scope.address wx.chooseAddress    通讯地址
          scope.invoiceTitle    wx.chooseInvoiceTitle   发票抬头
          scope.werun   wx.getWeRunData 微信运动步数
          scope.record  wx.startRecord  录音功能
          scope.writePhotosAlbum    wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum    保存到相册
          scope.camera      摄像头
       */
      checkAuthorize(scope) {
        wx.getSetting({
          success: (res) => {
            console.log(res.authSetting[scope])
            if (!res.authSetting[scope]) {
              wx.showModal({
                title: '用户未授权',
                content: '拒绝授权将不能体验小程序完整功能,点击确定开启授权',
                success: (res) => {
                  console.log(res)
                  if (res.confirm) {
                    wx.openSetting({})
                  }
                }
              })
            }
          }
        })
      }
    })
    

    index.wxml

    <!--pages/index.wxml-->
    <button bindtap="testAddress">测试地址授权</button>
    <button bindtap="TestWeRunData">测试发票抬头授权</button>
    

    index.js

    const app = getApp();
    Page({
      testAddress() {
        wx.chooseAddress({
          success: (res) => {
            console.log(res)
          },
          fail: (error) => {
            console.log(error);
            app.checkAuthorize('scope.address')
          }
        })
      },
    
      TestWeRunData() {
        wx.chooseInvoiceTitle({
          success: (res) => {
            console.log(res)
          },
          fail: (error) => {
            console.log(error);
            app.checkAuthorize('scope.address')
          }
        })
      }
    })
    

    转载请声明
    作者:ubbcou
    邮箱:ubbcou@outlook.com

    相关文章

      网友评论

          本文标题:微信小程序拒绝授权引导设置案例

          本文链接:https://www.haomeiwen.com/subject/zucdfftx.html