因为小程序授权获取不到头像昵称后,我这边就取消了授权的流程,开始仅执行静默授权了,

静默授权我是放在app.js中的onLaunch中的,经过运行代码,发现页面时不时的会先执行页面中的onload,导致页面接口总是报错,让我先登录

所以我这边就有了以下更新

app.js

 // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        console.log(res)
        let data={
          code:res.code,
          spread_spid:this.globalData.spread_spid?parseInt(this.globalData.spread_spid):'',
          spread_code:this.globalData.spread_code?parseInt(this.globalData.spread_code):''
        }
        console.log('静默授权提交的数据:',data)
        getSilence_auth(data).then(res=>{
          this.globalData.userIdentity=res.data.is_identity;
          this.globalData.userInfo=res.data.user;
          this.globalData.token=res.data.token;
          this.globalData.expires_time=res.data.expires_time;
          console.log('静默授权返回的数据:',res.data)
          console.log("用户的身份:",this.globalData.userIdentity)
          this.globalData.checkLogin = true;
        //由于这里是网络请求,可能会在 Page.onLoad 之后才返回
        // 所以此处加入 callback 以防止这种情况
        if (this.checkLoginReadyCallback){
           this.checkLoginReadyCallback(res);
        }
        })
      }
    })

  

page页面中的onload:

onLoad() {
    wx.showLoading({title:'加载中...'})
    let that = this;
    //判断onLaunch是否执行完毕
    if (app.globalData.checkLogin){
      this.getCommonHome()
      this.getAgreementsysaboutUs();
      this.getCommonJob();
      this.setData({
         activeIndexFooter:app.globalData.userIdentity,
         userInfo:app.globalData.userInfo
      })
    }else{
      app.checkLoginReadyCallback = res => {
        this.getCommonHome()
        this.getAgreementsysaboutUs();
        this.getCommonJob();
        this.setData({
          activeIndexFooter:app.globalData.userIdentity,
          userInfo:app.globalData.userInfo
         })
      };
    }
 
  },

  

原文地址:http://www.cnblogs.com/liuqingxia/p/16879817.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性