一 前言
本系统采用 swagger 作为文档的基础
二 登陆
本系统登陆需要3部
1 需要调用图形验证码接口 调用时需要向图形验证码接口发送 uuid
2 需要将图形验证码 和 uuid 用户名密码 一同发送到登陆接口 /login
3 登陆成功后 /login 返回access_token 和 当前登陆用户数据
三 权限
所有接口遵循的规则为
/public/ 开头的接口为公开接口 不需要权限可以直接访问
/api/ 开头的接口为需要权限访问的接口
访问/api/开头的接口时 需要在请求的header中携带登陆时获取的access_token
例子如下
Authorization:Bearer c9290bf64e2704e499c0987e42261e53
其中 Authorization 为key
其中 Bearer c9290bf64e2704e499c0987e42261e53 为值 [Bearer后面有空格]
四 返回数据
接口返回的响应格式完全一致 格式如下
{
success:true //服务器返回正确还是错误
code:900 //此处code为特殊逻辑 不常用 不能代表服务器返回状态
data:{} //需要获取数据的接口 数据会放到 data中
msg:"" //当提交成功,或者出现错误时,这里会打印信息
timestamp:1256556666 //时间戳信息
}
五 请求数据
请求数据时 如果需要提交实体, 在Swagger中即可看到需要提交的数据结构
当使用get请求时 请求需要的描述, 具体调用方法在Swagger中的描述中
六 CURD接口
这里提到了很多CURD接口 完全符合resful规范
查询 采用GET方式 获取单条数据 需要将接口路径中的{id} 替换成实际ID
删除采用 DELETE方式 删除单条数据 需要将接口路径中的{id} 替换成实际ID
更新采用 PUT方式
新建 采用POST方式
七 分页与排序
分页与排序统一封装在了系统中, 在文档中看不到, 默认的resful接口 获取列表的方法都支持分页
分页接口有三个参数
page:需要查看第几页 默认为1
size:每页需要显示几行数据 默认为10
翻页例子如下
/api/user?page=1&size=100
sort:排序例子如下
sort=id desc&sort=time asc
该接口的解释为 使用id倒序 和 时间正序的方式
翻页返回数据如下
"total": 2, 总数
"size": 2, 每页大小
"current": 1, 当前页面
"searchCount": true,
"pages": 1 总页数
八 客户端版本控制
我们并没有在当前版本支持 客户端的版本控制和约束
但是可能在下个版本开始支持
版本控制也需要请求头header中增加一些参数
version: 当前软件版本号
system: 当前软件操作系统
九 前端表单验证
Type
Indicates the type of validator to use. Recognised type values are:
string: Must be of type string. This is the default type.
number: Must be of type number.
boolean: Must be of type boolean.
method: Must be of type function.
regexp: Must be an instance of RegExp or a string that does not generate an exception when creating a new RegExp.
integer: Must be of type number and an integer.
float: Must be of type number and a floating point number.
array: Must be an array as determined by Array.isArray.
object: Must be of type object and not Array.isArray.
enum: Value must exist in the enum.
date: Value must be valid as determined by Date
url: Must be of type url.
hex: Must be of type hex.
email: Must be of type email.
选择类表单注意事项
https://blog.csdn.net/winnershili/article/details/90269408
九, 微信小程序 调用接口示例
//GET
app.api.get('/public/area/getByPid',{params:{pid:37,id:100}}).then(res => {
console.info(res);
})
//POST
app.api.post('/public/area', { name: 'admin',sex:1 }).then(res => {
console.info(res);
})
//PUT
app.api.put('/public/sys_area', { name: 'admin', sex: 2 }).then(res => {
console.info(res);
})
//REMOVE
app.api.remove('/public/sys_area', { params: { id:100 } }).then(res => {
console.info(res);
})
十, AdminLTE控制tab页面
top.show_new_page('id','标题','想要打开的页面地址')
这个方法将会在当前tab的右侧 打开一个新的tab,
第一参数id为tab的id 这个id的作用是 不会重复打开id相同的页面,
第二参数为tab显示的文本
第三参数为tab对应的地址
top.close_current_page()
会关闭当前正在使用的tab页面