微信小程序注册/登录接口开发
文章目录
- 后端有关说明
- 前端有关说明
- 接口设计
- 小程序注册/登录接口
- APP 注册/登录接口
- PC Web 端的注册/登录接口
- 小程序注册/登录序列图
- 校验 token
后端有关说明
登录和注册的逻辑要独立抽取写成2个接口:注册接口、登录接口
小程序、APP、PC端的登录接口和注册接口要分开,因为不同端的注册和登录,业务流程会有差别,为了避免麻烦,建议分开写
APP 和 小程序 的登录 token 不需要时效性,PC端的登录 token 需要时效性
所以存储token表字段如下:
字段名称 | 类型 | 备注 |
---|---|---|
token串 | varchar | |
时效类型 | tinyint | 0 表示无时效性,1 表示有时效性 |
用户ID | integer unsigned | |
创建时间 | datetime | 对有时效性的 token 而言,可以理解为 token 的有效期开始时间 |
后期PC端如何判断token的时效,每次请求时拿着 token 去数据库取创建时间(可以理解为 token 的有效起始时间),然后将当前系统时间减去 token 的创建时间
- 注册成功后,后端自行调登录接口,不要让前端调登录接口
前端有关说明
需要用户信息的接口,需要传token,但是前端调此类接口,token也可以不传或者传空值
首次打开小程序,会按顺序做以下几件事:
(1)获取用户的定位信息
(2)发起登录请求
(3)请求首页数据用户进入其他内页后再返回首页,获取页面缓存的数据
登录成功后返回首页才会请求新的首页数据
接口设计
小程序注册/登录接口
- 小程序登录接口说明
小程序登录接口传参:手机号、OpenID、UnionID、code(微信登录凭证),返回:token、OpenID、UnionID、用户信息(昵称、头像、签名、区域、性别)
后端获取code,然后通过code获取OpenID,然后再查下该OpenID是否存在,存在则生成token,然后把token和user_id保存在数据库中,接着把token、OpenID、用户信息(昵称、头像、签名、区域、性别)返回;如果不存在说明未注册,也要将此OpenID返回给前端,用户注册时需要用到。
- 小程序注册接口说明
小程序注册接口传参:昵称、头像、区域、性别、手机号、encryptedData、iv、code、OpenID、UnionID,返回注册成功与否message。
如果获取不到UnionID、手机号码,后端用 encryptedData、iv以及 session_key 解密出 UnionID 和手机号码,再一起保存在用户表中。
APP 注册/登录接口
暂无
PC Web 端的注册/登录接口
暂无
小程序注册/登录序列图
校验 token
接口获取到 token,则调“校验 token”方法(例如:拦截器),此方法拿着 token 去数据库查询,如果查询不到,则告诉前端 token 无效,需要重新登录;如果查询到 token,则获取到 user_id,然后凭 user_id 获取请求数据返回给前端。
接口无法获取到 token,则告诉前端需要登录。
微信小程序注册/登录接口开发相关推荐
- 微信小程序-注册登录功能-本地数据保存-页面数据交替
Title:微信小程序-注册登录功能-本地数据保存-页面数据交替 完美-小程序登录注册功能.rar-- 访问码:yqa5 1.主页面 主页面login.js代码 // pages/login/logi ...
- 微信小程序api登录接口wx.login(OBJECT)
有些小程序可以直接使用而无需登录,例如,古诗.美图欣赏.美文等,这些微信小程序往往没有登录要求,只需要打开使用就可以了.但是,很多的小程序则往往需要登录,例如,在微信小程序里面您要发表评论.您要购买产 ...
- Springboot实现微信小程序注册登录及微信登录
运行环境 jdk1.8+eclipse+tomact 8.5+maven3.5+springboot 2.0.1 微信开发者工具 数据库 一张表三个字段 CREATE TABLE `user` (`u ...
- 成语填空微信小程序,登录接口修复版
花钱买的小程序源码,免费共享.
- 微信小程序授权登录接口
1.首先接收前端传过来的code 2.带上appid,secret以及code去请求微信,获取openid,那倒openid就可以获取用户的信息了 获取到openid,将openid返回给前端,前端获 ...
- 01_微信小程序-BLE低功耗蓝牙开发-注册和工具安装
1. 访问微信公众号平台,注册小程序 注意:一个邮箱只能注册一个微信小程序 2. 下载安装开发工具 这里有个重要的东西AppID,注册申请的时候生成的.我们这里只做学习用,所以可以点击后面的测试号,会 ...
- webform窗体怎么实现session唯一标识_微信小程序用户登录和登录态维护的实现_javascript技巧...
这篇文章主要介绍了微信小程序用户登录和登录态维护的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 让用户登录,标识用户和获取 ...
- 基于Thinkphp5+EasyWeChat+fastadmin微信小程序授权登录获取手机号微信公众号网页---联合授权登录
战前准备 1.使用 composer 安装 EasyWeChat $ composer require overtrue/wechat:~4.0 -vvv 或者在composer.json文件renq ...
- 微信小程序注册/登陆,若依后台获取token
微信小程序注册/登陆,若依后台获取token 后端接口: @ApiOperation(value = "小程序登入", httpMethod = "POST") ...
最新文章
- 分布式系统咋做同步?虐死人!
- junit--eclipse插件
- java继承和引用_浅谈Java继承、传递
- css 一行显示_CSS笔记1
- CentOS7安装PHP5.6.23
- [POI2007]ODW-Weights(贪心)
- Tools_Procexp找文件被哪个进程占用
- 错误解决:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to star
- Handler native层实现原理
- WIN10家庭版自动锁屏解决方案
- SAM-BA 2.14 reconfiguration----DIY你的sam-ba
- 数据库数据模型理解 概念数据模型 逻辑数据模型 物理数据模型区别和联系
- 益聚星荣:如果没有现代人类,地球会有什么不同?
- Another version of Vue Devtools seems to be installed报错
- google无法访问此网站
- 简述同步和异步的区别
- Aspose.Word企业案例:Acumen Fuse 使用 Aspose 组件将项目分析数据导出到 Microsoft Word 和 Excel
- Java学习记录_1:MOOC《零基础学Java语言》课后习题解
- 如何用计算机装B,计算机专业装逼经验(转)
- BSON和JSON的区别
热门文章
- eclipse neon_在自定义Java 9映像上运行Eclipse Neon
- spring解密_在运行时更新代码(已Spring解密)
- jboss调jvm参数_在同一台机器上启动多个JBoss A-MQ JVM
- jooq sql_用jOOQ用Java编写SQL
- hibernate jpa_JPAHibernate替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?...
- 背包问题九讲_背包问题
- modbus调试时间超时_Java调试器和超时
- jit 和 jvm_关于JVM和JIT的一点点
- 雅加达EE:干净的板岩
- Java与Python:哪一种最适合您? [信息图]