为什么要使用 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>
具体步骤
- 可以在一个 button 里绑定一个点击事件;
- 在点击事件处理函数中 调用 uni.getUserProfile
- 在配置对象中添加需要的属性
参考文档
- 微信小程序官方文档
- uniapp 官方文档
文章来源地址https://www.toymoban.com/news/detail-400426.html
文章来源:https://www.toymoban.com/news/detail-400426.html
到了这里,关于uniapp getUserProfile 的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!