关于获取openid问题大bug
发布于 6 年前 作者 kpeng 13255 次浏览 来自 问答

苹果手机获取的时候不能第一次获取!只有打开调试就可以获取!安卓就可以!求解决!

急!十万火急 !!!!!!!

6 回复

写法有问题,要这么写:


wx.login({

      success: function (res) {

        wx.setStorageSync('jscode', res.code);


        wx.getUserInfo({

            success: function (res) {


             }

      })

    })

怎么破?一楼

是不是没有设置安全域名,在手机上面测试的时候,不调试也会不能正常运行啊、?

写的就有问题。

login

getUserInfo

都是异步处理的。

一个处理完了再处理另一个。

wx.login({

      success: function (res) {

        wx.setStorageSync(‘jscode’, res.code);

      }

    })

    // 获取encryptedData和iv

    wx.getUserInfo({

      success: function (res) {

        // console.log(res)

        wx.setStorageSync(‘encryptedData’, res.encryptedData);

        wx.setStorageSync(‘iv’, res.iv);

      },

      fail: function () {

        // fail

      },

      complete: function () {

        // complete

      }

    })

    //  获取openid      

    var encryptedData = wx.getStorageSync(‘encryptedData’);

    var iv = wx.getStorageSync(‘iv’);

    var that = this;

    var openid = {

      “cmd”: “GetOpenid”,

      “jscode”: wx.getStorageSync(‘jscode’),

      “openid”: ‘1234567890’,

      “encryptedData”: encryptedData,

      “iv”: iv

    }

    wx.request({

      url: common.data_Url,

      data: JSON.stringify(openid),

      method: ‘POST’,

      header: { ‘content-type’: ‘application/json’ },

      success: function (res) {

        console.log(res);

        console.log(“这是openid-------” + res.data.openid);

        wx.setStorageSync(‘openid’, res.data.openid);

      },

      fail: function (res) {

        console.log(‘获取openid失败’ + res);

      },

      complete: function () {

        // console.log(‘反正执行了获取openid这个函数’)

      }

    })

代码问题吧,我的可以哦

回到顶部