uniapp + vue3微信小程序开发(3)微信授权登录

整体思路:

接口获取openId => 用户微信信息入库 => 手机号授权入库

逻辑详解:

我们知道小程序都是需要openId的,那我们可以通过前端获取,也可以通过后端接口获取,

前端就是这个地址,appid和secret 在你微信公众平台下都可以找到, code,在你调用uni.login就可以获取,但是切记,code码只能使用一次,你在开发环境时可以使用下面链接来前端获取openId,但是在线上生产环境,就要切换成后端接口获取了,因为会被小程序服务器域名所限制。

https://api.weixin.qq.com/sns/jscode2session?appid=' +
						appid + '&secret=' + secret + '&js_code=' + code +
						'&grant_type=authorization_code

获取到openId的目的,就是判断你数据库里是否有该用户,在小程序里,openId就是唯一主键的意思,然后下一步就是获取你的微信昵称和头像,那么这个要调用

uni.getUserProfile()

大家一定要用这个api来获取微信信息,否则其他获取的是假的用户信息 !

获取手机号授权,这个必须要求你在微信公众平台申请哦,否则是没有这个权限的,另外大家可能有疑问,微信信息授权和手机号授权为啥不写在一起? 因为手机号授权只能通过button按钮,并且使用open-type来获取,这一点,uniapp和微信原生是一致的,而且这个获取手机号的按钮,必须用户主动去点击喔,所以这也是我为啥将他写在遮盖层上了。

 

手机号和微信用户信息这样都拿到了,那你就可以完成自己想要的操作了,那么又有同学想问,那我想获取身份证信息咋办? 那我明确告诉你,取不到!那有没有类似的呢,可以通过百度ocr识别来将前端传上去的身份证照片进行验证识别,这一点,我下一篇博客将会写上去 。

部分截图:

点击授权登录,将会弹出微信用户信息授权,然后会出现获取手机号按钮的遮盖层,点击获取手机号授权

uniapp + vue3微信小程序开发(3)微信授权登录_第1张图片

所有代码:

这里简单说一下, proxy.$api.user.xxx, 这是我调用接口的方式,大家可以根据自己想要方式来实现uni.request,这一点没有啥强制性要求





你可能感兴趣的:(uniapp,微信小程序,微信,vue.js)