收藏
回答

有大佬知道怎么把wx.login返回的openid传递出wx.login外面么?我其他地方要用到

wx.login({
  success:function(res){
    console.log(res.code)
    //发送请求
    wx.request({
      url: 'http://62.234.29.69/zzx/openid.php', 
      data: {code:res.code},
      header: {
        'content-type''application/json'
      },
      success: function (res) {
        console.log(res.data)//res.data就是openid的值了
      }
    })
  }
})


有大佬知道么,我想把res.data(也就是返回的openid)取出wx.login外面,让他在其他地方也可以用

回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-08

    1、app.globalData

    2、setStorageSync、getStorageSync

    3、Promise

    getOpenid: function () {
      return new Promise((rs, rj) => {
        wx.login({
          success: function (res) {
            console.log(res.code)
            //发送请求
            wx.request({
              url: 'http://62.234.29.69/zzx/openid.php',
              data: { code: res.code },
              header: {
                'content-type': 'application/json'
              },
              success: function (res) { //res.data就是openid的值了
                rs(res.data)
              },
              fail(e) {
                rj(e)
              }
            })
          },
          fail(e) {
            rj(e)
          }
        })
      })
    },
    onShow(){
      // 这样使用
      this.getOpenid().then(openid => {
        console.log('openid:', openid)
      }).catch(e => {
        console.log('get openid error:', e)
      })
    },
    // async onShow(){
    //   // 或者这样使用
    //   var openid = ''
    //   try {
    //     openid = await this.getOpenid()
    //   } catch (e) {
    //     console.log('get openid error:', e)
    //   }
    // },
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-08
    有用
    回复
  • 默
    2020-05-08

    缓存和全局变量它不香吗?

    缓存:https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html

    全局变量: globalData


    2020-05-08
    有用
    回复 5
    • 阿花
      阿花
      2020-05-08
      不是很懂
      2020-05-08
      回复
    • 默
      2020-05-08回复阿花
      假的吧?缓存和全局变量都不懂?我怀疑你在诓我
      2020-05-08
      回复
    • 阿花
      阿花
      2020-05-08回复
      哈哈哈哈哈哈哈刚刚看了懂一点了,0基础
      2020-05-08
      回复
    • 默
      2020-05-08回复阿花
      全局变量: 直接在成功回调函数写app.globalData.openid = res.data;  然后再你需要用到的页面 引入app  然后写app.globalData.openid就是了
      2020-05-08
      回复
    • 阿花
      阿花
      2020-05-08回复
      嗯嗯谢谢啦~
      2020-05-08
      回复
登录 后发表内容
问题标签