一个分享WordPress、Zblog、Emlog、Typecho等主流博客的教程网站!
当前位置:网站首页 > 其他相关教程 > 正文

小程序登录获取openid后再执行页面的方法

作者:xlnxin发布时间:2023-12-25分类:其他相关教程浏览:199


导读:解决方案:要求先向后台获取到openid之后才能发送页面请求,通过callback回调函数实现页面js文件  var app=getApp()&n...

解决方案:

要求先向后台获取到openid之后才能发送页面请求,通过callback回调函数实现

页面js文件

  var app=getApp()
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
     wx.showLoading({
      title: '数据加载中...',
    })
    if(!wx.getStorageSync('openid')){
      console.log("还未获取到openid");
      // 向app实例注册一个回调函数
      app.openIdCallback=(openid)=>{
        if(openid){
          wx.setStorageSync('openid', openid)
          console.log("已经回调,获取到了openid");
          this.getJoke()
        }
      }
    }else{
      this.getJoke()
    }
  },

app.js

onLaunch: function () {
    wx.login({
      success: res => {
        if (res.code) {
          console.log("登录成功", res);
          // 发送 res.code 到后台换取 openId, sessionKey, unionId
          http.getOpenidApi({
            data: {
              code: res.code,
            },
            success: res => {
              if (res.data) {
                var openid = res.data.openid
                wx.setStorageSync('openid', openid)
                console.log("输出openid", openid);
              }
              if (this.openIdCallback) {
                this.openIdCallback(res.data.openid)
              }
            }
          })
        }
      }
    })
}

标签:程序小程序js