收藏
回答

为什么我的开发工具能获取到用户昵称和头像,真机调试或手机预览获取到的是“微信用户”和灰色头像呢?

请问是什么原因,在开发工具里面点击登录就能弹出授权窗口,但是点击开发工具的真机调试或预览,就不会弹出授权窗口,然后直接就显示了“微信用户”和灰色头像了
谢谢!!!!!!!
// pages/index/index wxml
<view class="indexContainer">
  <view wx:if="{{userInformation===null}}">
    <button class="profile" bindtap="getUserProfile" type="primary" size="default">授权登录</button>
  </view>
  <view wx:else>
    <block class="userinfo-top">
      <image class="avatarUrl" src="{{userInformation.avatarUrl}}"></image>
      <text class="userName">{{userInformation.nickName}}</text>
    </block>
    <button class="Info" type="warn" bindtap="getUserInfo">退出登录</button>
  </view>
</view>

// pages/index/index.js
Page({
    /**
     * 页面的初始数据
     */
    data: {
      msg:'测试数据',
      userInformation:wx.getStorageSync('userInformation'),
    },
      // 获取用户信息的回调
      getUserProfile(e) {
        // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
        wx.getUserProfile({
          desc'用于完善会员资料'// 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
          success(res) => {
            let userInformation=res.userInfo
            console.log(res.userInfo.nickName)
            // 写入缓存
            wx.setStorageSync('userInformation', userInformation)
            // 更新用户信息
            this.setData({
              userInformation: userInformation,
            })
            // 登录成功提示
            wx.showToast({
              title'(登录成功)',
              icon:'success',
              duration:2000
            })
          },
          fail:()=>{
            wx.showToast({
              title'授权失败',
              icon:'error',
              duration:2000
            })
          }
        })
      },
      getUserInfo(e) {
        var that=this
        wx.showModal({
          title:'温馨提示',
          content:'确定要退出登录吗?',
          success(res){
            if (res.confirm) {
              that.setData({
                userInformation:null
              })
              // 清空缓存
              wx.setStorageSync('userInformation'null)
              wx.showToast({
                title'退出成功',
                icon:'success',
                duration:2000,
              })
            }
          }
        })
      },
  })


最后一次编辑于  2022-11-16
回答关注问题邀请回答
收藏

5 个回答

  • 风清雾云开见日出
    风清雾云开见日出
    2022-11-16

    在开发工具选择2.27.1一下的基础库,点击推送,再用真机调试测试一下看看,可能是你的手机微信的基础库是2.27.2以上的了

    2022-11-16
    有用 2
    回复 3
    • Caroline Wang💋
      Caroline Wang💋
      2022-12-03
      怎么吧客户的基础库降下来呢
      2022-12-03
      回复
    • 风清雾云开见日出
      风清雾云开见日出
      2022-12-05回复Caroline Wang💋
      客户的基础库降不下来,你只能兼容,且客户使用什么基础库你确定不了,只能限制客户最低基础库,最高限制不了
      2022-12-05
      回复
    • Caroline Wang💋
      Caroline Wang💋
      2022-12-06
      可以降开发者的基础库, 苦逼
      2022-12-06
      回复
  • 顺其自然
    顺其自然
    2022-11-16

    哈哈

    2022-11-16
    有用 1
    回复
  • 养乐多💍
    养乐多💍
    2022-11-16

    上百个小程序,挨个调整吧,微信动一动,我们累成狗

    2022-11-16
    有用 1
    回复
  • ⅴ
    2022-11-16

    getUserProfile要弃用了,官方建议用头像昵称填写能力。可以看看楼上大佬的公告。

    头像昵称填写能力:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html

    2022-11-16
    有用
    回复 2
    • 九节狸
      九节狸
      发表于移动端
      2022-11-16
      意思是要手动输入,而不能通过授权就自动获取头像和昵称了吗?
      2022-11-16
      回复
    • ⅴ
      2022-11-16回复九节狸
      确实。┓( ´∀` )┏
      2022-11-16
      回复
  • 拾忆
    拾忆
    2022-11-16

    参考公告:https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01

    2022-11-16
    有用
    回复 2
    • 九节狸
      九节狸
      发表于移动端
      2022-11-16
      11.9日的公告,意思是要手动输入,而不能通过授权就自动获取头像和昵称了吗?
      2022-11-16
      回复
    • 拾忆
      拾忆
      2022-11-16回复九节狸
      是的
      2022-11-16
      回复
登录 后发表内容