uniapp getUserProfile の使い方

uni.getUserProfile を使用する理由

    使用 uniapp 开发微信小程序时之前用的是 uni.getUserInfo,现在由于微信方面接口调整
    (https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)
现已改为 getUserProfile; 原来的 getUserInfo 接口可获取用户个人信息能力被回收, 还能返回数据但很
多关键数据是空的, 提示授权的弹窗更是没有。所以要使用新的 getUserProfile 接口。

uni.getUserProfile 使用例

<template>
	<view class="login-container">
		<!-- 登录按钮 -->
		<button class="btn-login" type="primary" @click="getUserInfo">一键登录</button>
	</view>
</template>

<script>
export default {
      
      
	name: 'my-login',
	methods: {
      
      
		//用户授权之后获取用户的基本信息
		getUserInfo(e) {
      
      
			// uni.getUserProfile({...}) 方法功能: 获取用户信息。页面产生点击事件后才可调用, 每次请求都会弹出授权窗口,用户同意后返回该用户的信息。该接口用来替换 wx.getUserInfo (针对相关接口有较大调整)
			uni.getUserProfile({
      
      
       			// 显示用户信息的语言
				lang: 'zh_CN',
				// 声明获取用户个人信息后的用途,不超过30个字符
				desc: '用来授权登录该小程序!',
				// 接口调用成功回调函数
				success: (userInfo) => {
      
      
				// 成功的回调里自带一个参数, 这个参数就是用户信息对象(userInfo)。其属性为:
				// rawDate: String,不包括敏感信息的原始数据字符串,用于计算签名;
				// signature: String, 使用 sha1(rawData + sessionkey) 得到字符串用于校验用户信息;
				// encryptedData: String, 包括敏感信息在内的加密数据详细见加密数据解密算法;
				// iv: String, 加密算法的初始向量,相见加密数据机密算法;
				// cloudID: String, 敏感数据对应的云 ID, 开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详见云开发直接获取开放数据;
				// errMsg: String, 错误的描述
				uni.$showMsg('登录成功!')
				},
				// 接口调用失败回调函数
				fail: () => {
      
      
					uni.$showMsg('登录失败!')
				},
				// 接口调用完成回调函数
				complete: () => {
      
      },
			})
		},
	},
}
</script>

具体的な手順

  1. ボタンにクリック イベントをバインドできます。
  2. クリック イベント ハンドラで uni.getUserProfile を呼び出します。
  3. 必要なプロパティを構成オブジェクトに追加します

参照文書

  1. WeChat ミニ プログラムの公式ドキュメント
  2. ユニアプリの公式ドキュメント

おすすめ

転載: blog.csdn.net/qq_47748894/article/details/126709155