收藏
回答

调用wx.getUserProfile 接口 无法取得 用户昵称和头像,怎解解决?

您好,我刚开始学习开发微信小程序,遇到下面的问题,请帮忙解决一下:

小程序ID: wx7a31c2d3c2dcba50

出问题的接口:wx.getUserProfile

返回的值

avatarUrl"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"
city""
country""
gender0
is_demote: true
language""
nickName"微信用户"
province""


我从网上看到,可能是接口被降级了,已经做了代码的自查,修正的代码如下,通过缓存机制,可以降低接口的调用频率

  // 封装获取用户信息函数
  async getUserProfile(desc) {
    // 如果已经有缓存的微信用户信息,直接返回
    if (this.data.wxUserInfo) {
      console.log('已经有缓存的微信用户信息,直接返回') 
      return this.data.wxUserInfo;
    }
    console.log('没有缓存的微信用户信息,开始获取')
    return new Promise((resolve, reject) => {
      wx.getUserProfile({
        desc,
        lang: 'zh_CN',
        success: (res) => {
          // 保存到缓存和data中
          const userInfo = res.userInfo;
          this.setData({ wxUserInfo: userInfo });
          wx.setStorageSync('wxUserInfo', userInfo);
          resolve(userInfo);
        },
        fail: (err) => reject(err)
      });
    });
  },


这个是我第一次自己开发小程序,还没有正式上线,属于研发阶段,对小程序的接口使用还不是很熟悉,后续会特别注意

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

6 个回答

登录 后发表内容