微信小程序(前端理论篇)

原创 Cheers 随笔 小程序 212阅读 2019-04-24 13:55:36 举报
以此来记录微信小程序学习过程中遇到的问题以及解决方法。
一、微信小程序用户信息

wx.login

看了以上步骤以后,大概对登录有了一个模糊的理解,脑海里也大概有了一些模糊的步骤。也百度了一些网上的登录案例,但个人觉得不是很完善,于是决定自己总结记录一下,也是对于学习微信小程序的一个回忆。

具体步骤如下:

(1)用户通过 button 的属性 open-typegetUserInfo 去绑定 bindgetuserinfo="自定义事件名" 触发授权个人信息弹框;

(2)wx.getSetting,获取用户的当前设置。如果当前用户已经授权(res.authSetting['scope.userInfo'] 为 true)的情况下则继续下一步。如果为 false,则弹出 wx.showModal 告诉用户拒绝授权的坏处同时让用户再次授权此时可以通过 wx.openSetting 调起客户端小程序设置界面,返回用户设置的操作结果;

(3)授权已经通过的情况下调用 wx.login 获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。此时需要注意,code 是有时效性的,目前微信自己定义为5分钟,那么此时我们还要通过 wx.checkSession 去检测 code 是否过期。如果没过期则继续下一步,否则则重新进行 wx.login

(4)如果 code 没有过期,我们要把 code 传给后台,根据后台提供的接口利用微信自己提供的请求方法 wx.request 拿到 openIdsession_key 并且把 openId 通过 wx.setStorageSync 缓存到本地服务器;

(5)通过 wx.getUserInfo 获取用户信息;注意:此时只能拿到用户的基础信息,但是手机号是无法直接获取的。必须通过其他方法获取,具体方法往下看。

(6)用户手机号需要通过 button 的属性 open-typegetPhoneNumber 去绑定 bindgetphonenumber="自定义事件名" 获取微信用户绑定的手机号;注意:需要 session_key 以及 app_id 进行解密获取手机号。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复