WeChat アプレット: ユーザー情報を取得する (ニックネームとアバター)

WeChat アプレットがユーザー情報を取得するためのインターフェイスは何度か変更されており、方法 4 を直接使用することをお勧めしますwx.getUserProfile

方法 1: オープンデータ表示ユーザー情報不推荐

コンポーネントの機能はユーザー エクスペリエンスを最適化するように調整され、プラットフォームは 2022 年 2 月 21 日 24:00 から個人情報を表示する機能をリサイクルします。
このテクニカル サービスを使用する場合は、サービス プロセスに影響を与えないように、時間内にアプレットを調整してください。詳細を見る:
https://developers.weixin.qq.com/community/develop/doc/000e881c7046a8fa1f4d464105b001

<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->

<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>

方法 2: wx.getUserInfo不推荐

ミニ プログラム ログイン、ユーザー情報関連のインターフェイス調整手順:
https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801

Page({
    
    
  onLoad: function (options) {
    
    
    this.getUserInfo();
  },
  async getUserInfo() {
    
    
    // 可以直接调用,无需用户授权
    const res = await wx.getUserInfo();
    console.log(res);
  },
});

取得データ

{
    
    
	userInfo{
    
    
		avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"
		city: ""
		country: ""
		gender: 0
		language: ""
		nickName: "微信用户"
		province: ""
	}
}

呼び出した後、取得したデータが実際のユーザー データではなくなっていることがわかりました

方法 3: open-type="getUserInfo"不推荐

呼び出した後、取得したデータが実際のユーザー データではなくなっていることがわかりました

バグ: 開発者ツールでは、2.10.4 ~ 2.16.1 基本ライブラリ バージョンは実際のデータを返し、実際のデバイスのこの範囲はアナウンスによると匿名データを返します。
発表を表示:
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html#Bug-Tip

wxml

<button open-type="getUserInfo"
        bind:getuserinfo="handleGetUserinfo">获取用户信息</button>

js

Page({
    
    
  handleGetUserinfo(e) {
    
    
    console.log(e);
  },
});

出力

{
    
    
	detail{
    
    
		userInfo:{
    
    
			avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"
			city: ""
			country: ""
			gender: 0
			language: ""
			nickName: "微信用户"
			province: ""
			}
	}
}

方法 4: wx.getUserProfile推荐

ユーザー情報を取得します。これは、ページがクリック イベントを生成した後にのみ呼び出すことができ (たとえば、ボタンの bindtap のコールバックで)、リクエストごとに承認ウィンドウがポップアップし、ユーザーが同意した後に userInfo が返されます。このインターフェースは wx.getUserInfo を置き換えるために使用されます

ドキュメント: https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

ユーザーデータ構造 UserInfo: https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html

<button bindtap="getUserProfile">获取头像昵称</button>
Page({
    
    
  async getUserProfile(e) {
    
    
    const res = await wx.getUserProfile({
    
    
      desc: '用于完善会员资料',
    });
    console.log(res);
  },
});

出力

{
    
    
	detail{
    
    
		userInfo:{
    
    
			avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"
			city: ""
			country: ""
			gender: 0
			language: ""
			nickName: "真实昵称"
			province: ""
			}
	}
}

おすすめ

転載: blog.csdn.net/mouday/article/details/123153296