微信小程序> 小程序取消授权后重新调取授权

小程序取消授权后重新调取授权

浏览量:919 时间: 来源:骙骁

昨天做了一个获取小程序微信运动步数demo


获取微信用户信息的方法,详情https://developers.weixin.qq.com/community/develop/doc/0000a26e1aca6012e896a517556c01

获取小程序步数授权,当用户取消授权后我们需要去引导用户去开启服务,首先去wx.getSetting()然后在里面去wx.openSetting()设置需要调去开启服务的名称(当前用到的是scope.werun)

    const appId = 'wxsfsfdsfds';    const secret = 'sdfsdfsdfsfsdfsdfs'    const that = this    wx.login({      success: function (res) {        const { code } = res;        wx.request({// 获取微信运动必须使用sessionKey 所以先从该接口拿到sessionKey,提示请求https://api.weixin.qq.com 不在以下 request 合法域名列表中需要去“设置”=="项目设置"==“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”勾选上就可以了          url: 'https://api.weixin.qq.com/sns/jscode2session',          data: {            appid: appId,            secret,            js_code: code,            grant_type: 'authorization_code'          },          method: 'GET',          success: function (res) {            const { session_key, openid } = res.data;            that.setData({              session_key: session_key,              openid: openid            })            wx.getWeRunData({//拿取到微信步数的encryptedData和iv              success: function (res) {                const { encryptedData, iv } = res;                var pc = new WXBizDataCrypt(AppId, session_key) //进行解码                wx.getUserInfo({                  success: function (res) {                    const { userInfo } = res                    var data = pc.decryptData(encryptedData, iv)                    const { stepInfoList } = data                    let average                    let steps = []                    stepInfoList.map((k, v) = {                      average = (average || 0) + k.step                      const date = k.timestamp = that.setTimeStamp(k.timestamp)                      steps.push(k.step)                      return { average, date, steps }                    })                    steps.sort((a, b) = { return a - b })                    that.setData({                      userInfo,                      openid,                      session_key,                      encryptedData: encryptedData,                      iv: iv,                      average: Math.ceil(average / 30),                      stepList: data.stepInfoList.reverse(),                      steps: steps,                      isLoading: false                    })                  }                })              },              fail: function (res) {                that.setData({                  getWerun: false                })              }            })          }        })      }    })    wx.getSetting({//引导用户允许微信获得你的公共信息,重新唤起微信运动授权      success: function (res) {        wx.openSetting({          data: {            "scope.werun": true          },          success: function (res) {            that.setData({              getWerun: true            })            wx.redirectTo({              url: '/pages/start/start?id=userConsole',//跳到中转页面再跳回当前页面            })          }        })      }    })

 

 

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎