微信小程序注册/登录接口开发

文章目录

  • 后端有关说明
  • 前端有关说明
  • 接口设计
    • 小程序注册/登录接口
    • APP 注册/登录接口
    • PC Web 端的注册/登录接口
  • 小程序注册/登录序列图
  • 校验 token

后端有关说明

  1. 登录和注册的逻辑要独立抽取写成2个接口:注册接口、登录接口

  2. 小程序、APP、PC端的登录接口和注册接口要分开,因为不同端的注册和登录,业务流程会有差别,为了避免麻烦,建议分开写

  3. APP 和 小程序 的登录 token 不需要时效性,PC端的登录 token 需要时效性

所以存储token表字段如下:

字段名称类型备注
token串varchar
时效类型tinyint0 表示无时效性,1 表示有时效性
用户IDinteger unsigned
创建时间datetime对有时效性的 token 而言,可以理解为 token 的有效期开始时间

后期PC端如何判断token的时效,每次请求时拿着 token 去数据库取创建时间(可以理解为 token 的有效起始时间),然后将当前系统时间减去 token 的创建时间

  1. 注册成功后,后端自行调登录接口,不要让前端调登录接口

前端有关说明

  1. 需要用户信息的接口,需要传token,但是前端调此类接口,token也可以不传或者传空值

  2. 首次打开小程序,会按顺序做以下几件事:
    (1)获取用户的定位信息
    (2)发起登录请求
    (3)请求首页数据

  3. 用户进入其他内页后再返回首页,获取页面缓存的数据

  4. 登录成功后返回首页才会请求新的首页数据

接口设计

小程序注册/登录接口

  1. 小程序登录接口说明

小程序登录接口传参:手机号、OpenID、UnionID、code(微信登录凭证),返回:token、OpenID、UnionID、用户信息(昵称、头像、签名、区域、性别)

后端获取code,然后通过code获取OpenID,然后再查下该OpenID是否存在,存在则生成token,然后把token和user_id保存在数据库中,接着把token、OpenID、用户信息(昵称、头像、签名、区域、性别)返回;如果不存在说明未注册,也要将此OpenID返回给前端,用户注册时需要用到。

  1. 小程序注册接口说明

小程序注册接口传参:昵称、头像、区域、性别、手机号、encryptedData、iv、code、OpenID、UnionID,返回注册成功与否message。

如果获取不到UnionID、手机号码,后端用 encryptedData、iv以及 session_key 解密出 UnionID 和手机号码,再一起保存在用户表中。

APP 注册/登录接口

暂无

PC Web 端的注册/登录接口

暂无

小程序注册/登录序列图

在这里插入图片描述

校验 token

  1. 接口获取到 token,则调“校验 token”方法(例如:拦截器),此方法拿着 token 去数据库查询,如果查询不到,则告诉前端 token 无效,需要重新登录;如果查询到 token,则获取到 user_id,然后凭 user_id 获取请求数据返回给前端。

  2. 接口无法获取到 token,则告诉前端需要登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/254429.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

服务器 微信报警平台,Zabbix实现微信报警

zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 下文讲述了如何通过微信实现…

java微信二维码登录

1、注册 微信开放平台:https://open.weixin.qq.com 2、邮箱激活 3、完善开发者资料 4、开发者资质认证 准备营业执照,1-2个工作日审批、300元 5、创建网站应用 提交审核,7个工作日审批 6、内网穿透 ngrok的使用 2.2 授权流程 参考…

工作笔记——微信支付开发相关知识整理

在最近的工作中,引入了微信小程序支付,在开发过程中积累和整理了一些技术知识,现将其整理如下 目录 一、概念认识 (一)术语介绍 (二)名词解释 (四)对接微信支付接口规…

微信小程序——如何实现账号的注册、登录?

用到的数据库表: 用户表:chat-user,用于存放用户的基本信息,比如账号、密码、头像等等 用户的注册 1.先获取用户信息 使用wx.getUserProfile接口,获取用户的基本信息 功能描述获取用户信息。页面产生点击事件&…

java对接企业微信

java对接企业微信 一、注册企业微信 1.1 简介 企业微信与微信具有一样的体验,通过企业内部与外部客户的管理,构建出社群生态。企业微信提供丰富的api进行调用获取数据管理,也提供各种回调事件。 1.2 注册 登录官网,一键注册即可…

微信 JSAPI 支付流程

微信支付,开发文档地址: https://pay.weixin.qq.com/wiki/doc/api/index.html JSAPI支付文档地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter9_2 微信支付分为5种: Jsapi支付,二维码支付&#xf…

android 仿微信demo————注册功能完善添加头像功能(移动端)

android 仿微信demo————微信启动界面实现 android 仿微信demo————注册功能实现(移动端) android 仿微信demo————注册功能实现(服务端) android 仿微信demo————登录功能实现(移动端) an…

微信支付APIv3

文章目录 微信支付之前我的密钥啥的都是放到配置文件里面以后可以再写一个文件基础支付APIv3介绍获取验签和HttpClientAPIv3证书与密钥使用说明 微信支付的SDK工具Native支付流程我们程序运行时的日志也可以使用log.debug在方法堆栈里面查看我们程序执行的方法调用顺序内网穿透…

在线支付系列【8】微信支付之注册商户号

有道无术,术尚可求,有术无道,止于术。 文章目录 前言注册商户号1. 微信扫码登录2. 创建申请单2.1 基本信息2.2 主体身份2.3 法人信息及受益人信息2.4 经营与行业信息2.5 结算账户2.6 补充信息2.7 查看申请单 签约方式一:手机签约方…

Scala函数

1.基本语法 解析main方法 def main(args: Array[String]): Unit {函数体}*def 关键字,声明一个函数 * main 方法名 * args 参数名称 * Array[String] 参数的类型 * Unit 返回值类型,相当于Java中的void,没有返回值 * {} 函数体函数省略规则 …

微信公众号注册时提示该主体注册数量已超过上限怎么办?

很多用户在注册或认证微信公众号时,遇到“该主体注册数量已超过上限”的问题,这是怎么回事呢? 原因是2018年11月16日微信官方对公众号注册数量做了调整: 1.个人主体注册公众号数量上限由2个调整为1个; 2.企业类主体注…

开通微信公众号流程所需资料及时间

2019独角兽企业重金招聘Python工程师标准>>> 序号 阶段 所需资料 所需时间 一、(企业)注册公众平台 使用未注册过微信公众号的邮箱注册、验证激活 即时二、 选择帐号类型 详情查看服务号、订阅号、企业号区别后选择类型 即时三、信息登记 选择…

支付宝、微信注册时间,轻松查看!

早几天分享过与微信年度报告查询微信使用多少天,朋友圈传播非常火爆,今天教大家一招如何查询支付宝使用多少天。 看到上图还能回想到当时的激动吗? 马上进入正题,不啰嗦,查看支付宝注册日期的方法,也超级简…

车载ECU休眠唤醒-TJA1145

前言 首先,请教大家几个小小问题,你清楚: 什么是TJA1145吗?你知道休眠唤醒控制基本逻辑是怎么样的吗?TJA1145又是如何控制ECU进行休眠唤醒的呢?使用TJA1145时有哪些注意事项呢? 今天&#xff…

oppor15x支持html吗,oppor15x配置参数详情 r15和17的亲儿子

oppor15x虽然看上去和oppor15这款手机比较相似,但是实际上,作为oppo的最新款手机,oppor15x的发布时间是在oppor17之后的,不仅如此,在外观方面,oppor15x和oppor17会更为相似,在配置方面却更偏向o…

oppo r15 android 8,OPPO R15体验:基于安卓8.1,ColorOS 5.0更好用

当目前智能手机硬件性能普遍过剩,越来越多的人们开始逐渐意识到,参数并不等于体验,反而是依附于硬件之上的操作系统很大程度上直接决定了一款智能手机的使用体验。 在当前智能手机市场,虽然说安卓系统占据了绝大部分市场份额&…

android 汇编 参数,安卓ARM汇编基础知识

ARM 是 Advanced RISC Machine 的缩写,可以理解为一种处理器的架构,还可以将它作为一套完整的处理器指令集。RISC(Reduced Instruction Set Computing) 精简指令集计算机:一种执行较少类型计算机指令的微处理器。 处理器指令集: 计算机处理命…

linux x64 寄存器 传参,Linux X86架构参数传递规则

背景 突然好奇x86架构下函数参数怎么传递的,之前只是听别人说过通过寄存器,但是怎么传,什么顺序都没有仔细研究过,也没有实际测试过,因此就想着用实践来检验一下咯。 传参顺序 在32位和64位机器上,寄存器名称不同,64位机器为rxx,32位机器为exx。传参顺序如下, 64位系统…

linux控制协程参数,Linux高性能网络:协程系列06-协程实现之切换-Go语言中文社区...

目录 6.协程实现之切换 问题:协程的上下文如何切换?切换代码如何实现? 首先来回顾一下x86_64寄存器的相关知识。x86_64 的寄存器有16个64位寄存器,分别是:%rax, %rbx, %rcx, %esi, %edi, %rbp, %rsp, %r8, %r9, %r10, …

陶瓷气体放电管参数含义详解

​很多客户反应,不太明白陶瓷气体放电管产品手册中的参数含义。不可否认,电路保护器件产品规格书手册用的语言大部分都是英文,没有一定的英文基础,还真消化不了。有时候,就算能看得懂,但是面对枯燥无味的参…