小程序获取用户信息的方式

一、在此之前,小程序获取微信的用户信息,用的都是wx.getUserInfo

//例如
onLoad() {
    var that = this;
    wx.getUserInfo({
        this.setData({
            thumb: res.userInfo.avatarUrl,
            nickname: res.userInfo.nickName
        })
    })
}

二、自从微信接口有了新的调整之后 wx.getUserInfo()便不再出现授权弹窗了(PS:但仍能用于获取已授权用户数据),需要使用button做引导

//规定打开方式为获取用户信息,并且绑定bindgetuserinfo事件去获取
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
bindGetUserInfo(event) {
    const userInfo = event.detail.userInfo;
    if(userInfo) {
        this.setData({userInfo})
    }
}

判断用户是否授权

wx.getSetting({
    success: res => {
        //已经授权,直接调用 getUserInfo 获取用户信息
        if(res.authSetting[‘scope.userInfo‘]) {
            wx.getUserInfo({
                success: res => {
                    this.setData({
                        authorized: true,
                        userInfo: data.userInfo
                    })
                }
            })
        }
    }
})

获取用户是否授权

wx.getUserInfo({
    success: res => {
        this.setData({
            authorized: true,
            userInfo: data.userInfo
        })
    }
})

三、使用open-data组件展示用户信息

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

原文地址:https://www.cnblogs.com/theblogs/p/12346221.html

时间: 2024-11-10 02:21:40

小程序获取用户信息的方式的相关文章

微信小程序-获取用户信息和openid,session_key,

1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等, (1):获取用户信息调用 wx.getUserInfo 代码如下: 直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,, 2:获取 openid (1):请求wx.login 接口,代码如下: url:是微信提供的 appid:是小程序的appid secret:是小程序开发设置的 AppSecret 只要获取到这两项,用户信息可以用于页面,ope

小程序获取用户信息的不同方式

使用标签open-data ,和属性type(wxml) 可在wxml显示用户信息(自己的), 只能显示,但不能获取信息 type: userAvatarUrl(用户头像). userNickName(用户昵称). userCountry(用户国家). userCity(用户城市) 例如: <open-data type="userNickName"></open-data> <open-data type="userCountry"&

微信小程序 - 获取用户信息的几种方式

1. 老接口(上线使用-测试用button先获取用户信息) 1 // 登录 2 wx.login({ 3 success: res => { 4 // 发送 res.code 到后台换取 openId, sessionKey, unionId 5 // 也就是发送到后端,后端通过接口发送到前端,前端接收用户信息等.... 6 wx.setStorageSync('code', res.code); 7 console.log(wx.getStorageSync('code')) 8 9 // 获

微信小程序 获取用户信息 encryptData解密 C#版本

最近学习小程序开发,需要对encryptData解密,获取用户信息,官方源码没有C#版本,网上的资料比较杂,有的使用还有问题,下面贴一下自己亲试可以使用的一个源码 1.code 换取 session_key 前端先调 wx.login 得到code传输到后端,后端通过接口 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authoriza

微信小程序获取用户信息流程

获取用户信息与其他授权不太一样,其他授权会自动弹出对话框,请求获取用户授权,但获取用户信息不回,需要引导用户点击授权按钮同意授权获取用户基本信息 1.前端页面要有授权登录按钮 <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" > 授权登录 </button> <view wx:else>请升

微信小程序获取用户信息及手机号 进行微信登录

一.wxml页面 <view wx:if="{{config.tipsshow1}}" class='dialog-container'> <view class='dialog-mask'></view> <view class='dialog-info'> <view class='dialog-title'>login prompt</view> <view class='dialog-content'

小程序获取用户信息失败

最近在写小程序的时候遇到了一个问题:在修改了AppID信息之后,在页面中调用wx.getUserInfo会直接失败,换了一种<button open-type="getUserInfo">授权用户信息</button>手动授权的方法,这个方法虽然成功获取到了用户信息,但是:在页面第一次加载的时候,却出现了解密失败的情况,必须刷新一下程序. 解决方法:在wx.getUserInfo中加入属性withCredentials,并设置为true,表示带上登录状态信息 原

mpvue 小程序获取用户信息

<button open-type="getUserInfo" @getuserinfo="getUserInfo">登录</button> methods: { getUserInfo: function(e) { console.log(e) wx.setStorageSync("nickname", e.mp.detail.userInfo.nickName); wx.setStorageSync("ava

微信小程序 获取用户openid

1,可以在小程序app.js入口文件中放入登录代码 wx.login({ success: res => { // 登录注册接口 if (res.code) { // 调用服务端登录接口,发送 res.code 到服务器端换取 openId, sessionKey, unionId并存入数据库中 } else { console.log('登录失败!' + res.errMsg) } } }); 2,服务端PHP,小程序获取openid接口 // 获取openid function getOpe