一次捋清uniapp小程序微信快速登陆、获取手机号验证、获取用户信息【前端】

Raite31 2024-10-20 14:33:01 阅读 89

首先要知道,微信登录和获取手机号、获取用户信息是相互独立的过程,接下来分开讲解这三个东西,内容很干,只用文字描述,认真看、跟着做就行,没有花里胡哨

uniapp微信登录流程

前端使用uni.login方法获取code(用户的登录凭证)发送给后端后端使用这个code请求code2Session这个接口: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html

获取到openid等信息后端根据openid判断用户是否已经注册,如果已经注册则直接登录,否则可能需要额外的注册流程最后,后端返回状态给前端,​前端进行存储即可

获取手机号

前端uniapp的button组件,设置open-type属性为getPhoneNumber,在回调函数@getphonenumber中可以拿到code(用于换取手机号的临时凭证)、encryptedData(加密数据,包含手机号)、iv(加密算法的初始向量)等数据发送给后端,其实在最新的获取用户手机号的方法中,encryptedData和iv已经不需要了,传不传都无所谓后端先通过这个接口:

https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html

获取access_token然后结合这个code请求getPhoneNumber这个接口:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html#%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F

就可以获取用户手机号

获取用户信息

前端使用uni.getUserInfo接口:https://uniapp.dcloud.net.cn/api/plugins/login.html#getuserinfo

直接就能获取到用户信息



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。