技术贴

uniapp 小程序获取用户信息 uni.getUserInfo

2021-10-21  本文已影响0人  zhudying

在uni微信小程序中,获取用户信息, 微信基础库2.10.4 以前的版本 使用uni.getUserInfo ,之后的使用uni.getUserProfile

  1. getUserInfo 用法

注:微信基础库2.10.4版本对用户信息相关接口进行了调整,使用 uni.getUserInfo 获取得到的 userInfo 为匿名数据,建议使用 uni.getUserProfile 获取用户信息。

// html 部分,通过open-type="getUserInfo" 中getuserinfo函数返回用户信息
<button type="default" open-type="getUserInfo" @getuserinfo="appLoginWx">微信登录</button>
// js 部分
appLoginWx(){
    // 获取用户信息
    uni.getUserInfo({
        provider: 'weixin',
        lang:'zh_CN',
        success: userInfo=> {
            console.log(userInfo,'userInfo');
            uni.login({
                provider: 'weixin',
                success: loginInfo=> {
                    console.log(loginInfo,'loginInfo');     
                }
            });
         },
        fail:err=>{
            console.log(err,'err')
        }
    });
}
  1. getUserProfile用法

注:推荐使用

// html
<button type="default" @tap="appLoginWx" >微信登录</button>
// js
appLoginWx(){
    // 获取用户信息
    // 注意 getUserProfile 不支持在事件中使用异步操作
    // 否则会触发错误:{errMsg: "getUserProfile:fail can only be invoked by user TAP gesture."}
    uni.getUserProfile({  
        lang: 'zh_CN',
        desc:'获取用户信息',
        success: userInfo=> {
            console.log(userInfo,'userInfo');
            uni.login({
                provider: 'weixin',
                success: loginInfo=> {
                    console.log(loginInfo,'loginInfo');     
                }
            });
         },
        fail:err=>{
            console.log(err,'err')
        }
    });
}
上一篇 下一篇

猜你喜欢

热点阅读