微信小程序获取当前用户信息

微信小程序获取当前用户信息,第1张

一个很常用的功能,但是我还是发现有一些需要注意的地方在里面,简单记录一下。

第一个问题就是这个 button 组件需要添加 open-type 属性,并指定为 getUserInfo 类型,来获取用户基本信息。还有另外一种做法,具体可以参考 官方文档的说明 。

放一个动图哈哈哈

js 部分就是响应点击事件,使用 api wxgetUserInfo(Object object)

获取用户信息,注意传递给 wxgetUserInfo 的是一个字典其中包含了两个函数分别作为成功和失败的回调函数(callback function)

注意 this 的指代对象发生了变化,最开始的this是指代 Page() 构造出来的对象,在函数里面使用 this 会说未指定,所以我们使用了 that 承接一下,这也算传统艺能咯。

另外一点:获取用户信息时会自动d出一个对话框问用户是否提供信息,这个d窗只d出一次,如果用户点击了拒绝后来又想改为允许,可以使用 wxopenSetting({})

除了可以获取用户的昵称之外还有很多信息可以得到,还有一个比较常用的就是用户头像了也就是 resuserInfoavatarUrl 。

<view @click=getUserInfo">获取微信信息</view>

// 获取用户信息

getUserInfo() {

    if(thisisShow){//防止多次点击

        thisisShow = false

         unigetUserProfile ({

            desc: "获取个人信息",

            success: (res) => {

                thisuserInfo = resuserInfo

                thisisShow = true

            },

            fail: getUserProfileFail => {

                thisisShow = true

                unishowToast({

                    title: '授权失败',

                    mask: false,

                    duration: 1000,

                    icon: 'none',

                })

            }

        })

    }

},

<button type="default" open-type="getPhoneNumber" @getphonenumber="ongetPhoneNumber">授权获取手机号登录</button>

// 获取手机号码

ongetPhoneNumber(e) {

    if (edetailerrMsg == "getPhoneNumber:fail user deny") { //用户拒绝授权 

        //拒绝授权后d出一些提示 

        unishowToast({

            title: '拒绝授权',

            mask: false,

            duration: 1000,

            icon: 'none',

        })

    } else { //允许授权 

        apppostData('url',{

            key: appglobalDatasession_key,

            encryptedData: edetailencryptedData,

            iv: edetailiv

        })then(res=>{

            consolelog("获取手机号码",res)

            thismobile = resdataphoneNumber

            unisetStorageSync('xmfTel',resdataphoneNumber)

        })catch(err=>{

            consolelog(err)

        })

    }

},

那是你没受权小程序应用权限导致的,系统无法检测你的登录信息,请重新受权即可。

需要将 <button> 组件 open-type 的值设置为 getPhoneNumber。用户点击后会d出一个授权d窗让用户确认(若该用户账户未绑定手机号码会执行一次绑定手机号码的流程;授权d窗每次使用都会d出)。

用户同意后,开发者可以通过 bindgetphonenumber 事件回调获取到一个加密数据,开发者可以把该数据传回到自己的服务端进行解密获取手机号。

安全管理:

2018年12月27日,腾讯公司发布《腾讯隐私保护白皮书》,倡导“科技向善,数据有度”的隐私保护理念。在微信小程序的《服务条款》、《运营规范》中,分别设有“用户个人信息保护”和“用户隐私及数据规范”专章介绍。

微信小程序在产品功能设计上给用户更多控制力。在微信小程序的设置页,为用户提供了数据权限开关,一旦用户授权之后又关闭,微信小程序再次使用该用户数据时需要重新获得授权,为用户提供更方便的数据控制权。用户在微信小程序的资料页还可以看到隐私数据保护的提示以及投诉入口。

以上就是关于微信小程序获取当前用户信息全部的内容,包括:微信小程序获取当前用户信息、uniapp微信小程序获取用户信息,手机号码、微信小程序获取用户信息失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9482236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存