看了下第一次提交,是在2018年5月5号,到现在差不多6个月半年了,做这个的原因主要是上了腾讯云的车,想着一年多一点服务器就挂个博客太浪费了,就想着折腾个小程序,先看下大体的技术线
看下效果
小程序端:
扫码体验
👇👇👇
管理后台:
杂记
作为一名后端,主要讲讲后端的事,前端就不说了。
接口协议
接口统一使用post,content-type为json,开启gzip压缩提高性能,标识符以及接口签名都放在header头,签名使用sha1算法生成
1 | header: { |
通过时间戳和签名接口同时做防重放处理,将Signature存入redis中,3600秒内拒绝相同请求体
输入参数(即请求body)约定(Json格式)
1 | { |
其中package为接口path,class为该path下的具体实现
输出参数
1 | { |
其中status为接口状态集合,主要记录响应状态码、响应msg、执行时间,result则为具体的业务数据集合
返回状态值说明
约定统一的输入输出格式是一切的基础,这里说一下返回状态值。本系统约定成功的响应状态值为00000,0以下为唯一的特殊响应码,主要处理一些特殊逻辑,比如-1为token失效重新登录,-2为危险用户关闭,-3为强制更新等等,属于系统级的状态码;大于0的状态码暂时分为2种,其中1199999为常规的需要弹窗提示的业务状态码,200000299999为不需要弹窗的特殊业务逻辑码,比如页面跳转等。
接口文档管理
接口文档管理工具有很多,很多人也会写接口文档,但是基本上随着业务的快速迭代而年久失修,等后面的人接手时基本上这文档已经不能用了。所以最好的方式是代码和文档结合在一起,每次修改接口时就会响应的修改文档
这个是之前公司的使用框架,也是现在摇号管家使用的框架,基于Lumen的改造,集文档、代码、调试于一体