本文实例讲述了微信小程序学习笔记之登录API与获取用户信息操作。分享给大家供大家参考,具体如下:
前面介绍了微信小程序跳转页面、传递参数获得数据,这里来分析一下登录API与获取用户信息操作方法。
【小程序登录】wx.login()
app.js:
App({ onLaunch: function () { // 登录 wx.login({ success: function (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://www.msllws.top/delcode.php', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } }); } })
初始化后得到了临时登录凭证code,使用wx.request()
发送code,请求后台接口获取【会话密钥session_key】和【用户唯一标识openid】,满足UnionID下发条件时还可以获得【用户在开放平台的唯一标识符unionid】。
后台接收code的接口delcode.php:
<"has" alt="" width="810" height="117" src="/UploadFiles/2021-04-02/201903290942341.png">(unionid需要小程序绑定已认证的微信开放平台才可以获得)
【获取用户信息】wx.getUserInfo()
首先借助button来授权登录,login.wxml:
<open-data type="userAvatarUrl"></open-data> <open-data type="userNickName"></open-data> <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button> <view wx:else>请升级微信版本</view>login.js如下:
Page({ data: { //判断getUserInfo是否在当前版本可用 canIUse: wx.canIUse('button.open-type.getUserInfo') }, bindGetUserInfo(e) { console.log(e.detail.userInfo) } })首次点击button按钮提示微信授权,允许后调用
bindGetUserInfo
函数打印获得的用户信息此时修改login.js如下,使用
wx.getSetting()
获得用户信息(调用
wx.getUserInfo()
之前需要调用wx.getSetting()获取用户当前的授权状态,返回结果中如果包含【scope.userInfo】,说明用户已对用户信息进行授权,可以直接调用wx.getUserInfo()
获取用户信息)Page({ data: { //判断getUserInfo是否在当前版本可用 canIUse: wx.canIUse('button.open-type.getUserInfo') }, onLoad: function () { // 查看是否授权 wx.getSetting({ success(res) { if (res.authSetting['scope.userInfo']) { // 已经授权,直接调用getUserInfo获取用户信息 wx.getUserInfo({ success: function (res) { console.log(res.userInfo) } }) } } }) }, bindGetUserInfo(e) { console.log(e.detail.userInfo) } })重新编译,页面加载获得同上用户信息:
此时再点击button按钮不再提示授权确认信息。
希望本文所述对大家微信小程序开发有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。