经常做小程序的小伙伴都曾遇到过这个问题,那就是小程序授权登录,官方文档经常更新,API不时更新迭代,对于基础库版本等等,都有着既定要求。
按照以往方式再去做,发现行不通,折腾一上午,整个人沉默了,原来是官方又进行了大改......
对于小程序登录的问题,借着2025开年之际,给宝子们做一期盘点,来一期《小程序授权登录复盘全攻略》 ,日常做需求时,大家尽管放心食用,话不多说,直接开始正题!
拜托拜托:点赞收藏是我更新的最大动力!!!
目前为止,微信小程序登录授权,有三种方式,第一种是无感登录,第二种是手机号登录,第三种是用户信息授权登录
比较经典的就是飞猪小程序和顺丰小程序,如果你不知道怎么做,可以去看看它们的样式,一目了然
比如下面这个登录首页面,就属于经典的手机号登陆
点击快速登录,小程序会迅速调用用户的手机号授权
再放一个案例,那就是用户信息授权登录,顾名思义,该登陆主要为了获取用户信息(姓名、性别、地址、昵称等等) ,用于给个人中心模块做铺垫,图中人名我这边和谐掉,因为也是我前两天刚做完的业务。
至于无感登录,这里就不演示了,因为无感无感,顾名思义就是没有感觉,用户是看不出来授权的,所以直接讲方法就好!
顺便放上小程序开发文档: 微信小程序官方文档
1.无感登录
首先无感登录是最简单的,步骤只有两步,第一步是前端调用官方文档API——wx.login,拿到登陆凭证code,通过wx.request()发起网络请求,随即传给后端。
第二步,后端那边利用code + appid + appsecret这三个数值,调用微信的auth.code2Session接口,拿到用户唯一标识openid 和 会话密钥session_key,随即定义token,将之与openid和session_key关联,最后再返回给前端。
前端拿到token,就很简单了,按照正常操作即可,比如拿token设置请求头、存入vuex、pinia等等,顺理成章直接写即可,大家都能明白。
总结一点:无感登录,说白了,就是拿小程序token的过程,够直白了吧!
至于有人会问,appid和appsecret是什么?看下图即可!(都在你的小程序后台里)