?微信小程序?----授权

    首先先说我们的 获取用户地址 wx.chooseAddress 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。调用前需要用户授权

wx.authorize

  提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 用户授权

  对就是这里用户的授权 唯一和 wx.chooseAddress不一样的是 有了一个参数 scope

scope 需要获取权限的 scope,详见 scope 列表

  示例代码:

 authorize:function(){
    // 通过getSetting来获取用户的授权
    wx.getSetting({
      success(res){
        console.log(res)
        // 判断用户的授权中有没有record 没有
        // 说明没有授权 那就启动我们的授权
        if(!res.authSetting[scope.record]){
          wx.authorize({
            // 这里的scope就是我们需要授权的功能
            scope: scope.record,
            // 如果成功说明用户已经点击授权了所以我们
            // 调用语音接口
            success(res){
              wx.startRecord()
            }
          })
          
        }
      }
    })
  }

   这里是我们的scope列表 ==点击==

wx.getUserInfo

  那么我们开始掉用户信息表 调用前需要 用户授权 scope.userInfo

withCredentials 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。
lang 显示用户信息的语言

  success回调函数的参数

userInfo 用户信息对象,不包含 openid 等敏感信息
rawData 不包括敏感信息的原始数据字符串,用于计算签名
signature
使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密

encryptedData 包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密
iv 加密算法的初始向量,详见 用户数据的签名验证和加解密
cloudID
敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?微信小程序?----授权

上一篇:小程序 ios 10.1.x 白屏问题


下一篇:第三方小程序组件库