uni.getUserProfile()的用法

2022-09-25 13:25:11

前言:由于.uni.getUserInfo无法获得用户真正的的昵称和头像,所以改uni.getUserProfile

误区:以为uni.getUserProfile()跟uni.getUserInfo()一样可以直接写在方法里面就能自动触发。

我将下图uni.getUserInfo直接改成了uni.getUserProfile(),搞了半天死活不弹授权窗

uni.login({
				provider: "weixin",
				success: (res) => {
					// console.log(res)
					if (res.errMsg == 'login:ok') {
						// console.log("==========")
						//通过code获取openId等信息
						uni.getUserInfo({
							desc: "weixin",
							success: (info) => {
								console.log('=info==', info)
                            }
                         })
                     }
                }
         })

正确思路:

    方法一:将uni.getUserProfile()单独拿出来放在一个方法里面,通过点击按钮触发

<template>
<view @click="login">获得信息</view>
</template>

<script>
		methods: {
			login() {
				// console.log("触发")
				uni.getUserProfile({
					desc: "获取你的昵称、头像、地区及性别",
					success: (res) => {
						console.log("所有",res)
					},
					fail() {
						
					}
				})
			}
		}
	}
</script>

方法二:通过uni.showModel()的确定键触发

<template>
</template>

<script>
	export default {
		created() {
			uni.showModal({
				title:'授权',
				content:"是否授权",
				success: () => {
					this.login()
				}
			})
		},
		methods: {
			login() {
				// console.log("触发")
				uni.getUserProfile({
					desc: "获取你的昵称、头像、地区及性别",
					success: (res) => {
						console.log("所有",res)
						
					},
					fail() {
						
					}
				})
			}
		}
	}
</script>

<style>
</style>
  • 作者:qq_44883318
  • 原文链接:https://blog.csdn.net/qq_44883318/article/details/122486710
    更新时间:2022-09-25 13:25:11