以此来记录微信小程序学习过程中遇到的问题以及解决方法.
一, 微信小程序用户信息
看了以上步骤以后, 大概对登录有了一个模糊的理解, 脑海里也大概有了一些模糊的步骤. 也百度了一些网上的登录案例, 但个人觉得不是很完善, 于是决定自己总结记录一下, 也是对于学习微信小程序的一个回忆.
具体步骤如下:
(1)用户通过 的属性 open-type 为 getUserInfo 去绑定 bindgetuserinfo="自定义事件名" 触发授权个人信息弹框;
(2), 获取用户的当前设置. 如果当前用户已经授权 (res.authSetting['scope.userInfo'] 为 true) 的情况下则继续下一步. 如果为 false, 则弹出 告诉用户拒绝授权的坏处同时让用户再次授权此时可以通过 调起客户端小程序设置界面, 返回用户设置的操作结果;
(3)授权已经通过的情况下调用 获取登录凭证 (code). 通过凭证进而换取用户登录态信息, 包括用户的唯一标识(openid) 及本次登录的会话密钥 (session_key) 等. 此时需要注意, code 是有时效性的, 目前微信自己定义为 5 分钟, 那么此时我们还要通过 去检测 code 是否过期. 如果没过期则继续下一步, 否则则重新进行 wx.login;
(4)如果 code 没有过期, 我们要把 code 传给后台, 根据后台提供的接口利用微信自己提供的请求方法 拿到 openId 和 session_key 并且把 openId 通过 缓存到本地服务器;
(5)通过 获取用户信息; 注意: 此时只能拿到用户的基础信息, 但是手机号是无法直接获取的. 必须通过其他方法获取, 具体方法往下看.
(6)用户手机号需要通过 的属性 open-type 为 去绑定 bindgetphonenumber="自定义事件名" 获取微信用户绑定的手机号; 注意: 需要 session_key 以及 app_id 进行解密获取手机号.
来源: http://www.qdfuns.com/article/48293/0cdfe75cc5d5a6ba309d8d7816aa43c4.html