开发者都不能获取自己的用户信息,这是为什么?
发布于 7 年前 作者 lei04 8879 次浏览 来自 问答

同一段代码,一个开发者能获取用户信息,另一个开发者却获取不了这个是什么情况

比如说,你我是同一个小程序项目的开发者,同一份代码的情况下,我获取不了用户信息,但你可以。我改了appid后也正常获取用户信息。这个是什么情况。代码如下

//app.js

App({

  onLaunch: function () {

    // 展示本地存储能力

    var logs = wx.getStorageSync(‘logs’) || []

 

    logs.unshift(Date.now())

    wx.setStorageSync(‘logs’, logs)

 

    wx.cloud.init({

      env: ‘a111-ypiun’,

      traceUser: true,

    })

    // 登录

    wx.login({

      success: res => {

        // 发送 res.code 到后台换取 openId, sessionKey, unionId

        if (res.code) {

        // console.log(“this is app.js”)

        //this.onGetOpenid()

        } else {

          console.log(‘登录失败!’ + res.errMsg)

        }

 

      }

    })

    // 获取用户信息

    wx.getSetting({

      success: res => {

        if (res.authSetting[‘scope.userInfo’]) {

          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

          wx.getUserInfo({

            success: res => {

              // 可以将 res 发送给后台解码出 unionId

              this.globalData.userInfo = res.userInfo

              //console.log("this is app ")

 

              // console.log(this.globalData.userInfo)

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

              // 所以此处加入 callback 以防止这种情况

              if (this.userInfoReadyCallback) {

                this.userInfoReadyCallback(res)

              }

            }

          })

        }

      }

    })

  },

  globalData: {

    userInfo: null,

    openid:’’,

    userID:[],

  },

  onGetOpenid: function() {

    // 调用云函数 获取openID

    var that = this

    wx.cloud.callFunction({

      name: ‘login’,

      data: {},

      success: res => {

        that.globalData.openid = res.result.openid

        console.log(’[云函数] [login] user openid: ', res.result.openid)

 

      },

      fail: err => {

        console.error(’[云函数] [login] 调用失败’, err)

      }

    })

    console.log(this.globalData.openid)

  },

 

})

:):

2 回复

没有任何的报错信息,我也想有报错信息

有一种可能:拒绝过授权。

回到顶部