电商管理后台API接口文档
接口说明
- 接口基准地址:
http://localhost:8888/api/private/v1/
- 服务端已开启 CORS 跨域支持
- API V1 认证统一使用 Token 认证
- 需要授权的 API ,必须在请求头中使用
Authorization
字段提供token
令牌 - 使用 HTTP Status Code 标识状态
- 数据返回格式统一使用 JSON
支持的请求方法
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
- HEAD:获取资源的元数据。
- OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
通用返回状态说明
状态码含义说明
200OK请求成功201CREATED创建成功204DELETED删除成功400BAD REQUEST请求的地址不存在或者包含不支持的参数401UNAUTHORIZED未授权403FORBIDDEN被禁止访问404NOT FOUND请求的资源不存在422Unprocesable entity[POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误500INTERNAL SERVER ERROR内部错误登录
登录验证接口
- 请求路径:login
- 请求方法:post
- 请求参数
参数名参数说明备注
username用户名不能为空password密码不能为空- 响应参数
参数名参数说明备注
id用户 IDrid用户角色 IDusername用户名mobile手机号email邮箱token令牌Bearer eyJhbGc .......- 响应数据
{
"data": {
"id": 500,
"rid": 0,
"username": "admin",
"mobile": "123",
"email": "123@qq.com",
"token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6I......"
},
"meta": {
"msg": "登录成功",
"status": 200
}
}
用户管理
用户数据列表
- 请求路径:users
- 请求方法:get
- 请求参数
参数名参数说明备注
query查询参数可以为空pagenum当前页码不能为空pagesize每页显示条数不能为空- 响应参数
参数名参数说明备注
total总个数pagenum当前页码users用户数据集合- 响应数据
{
"data": {
"total": 5,
"pagenum": 4,
"users": [
{
"id": 25,
"username": "tige117",
"mobile": "18616358651",
"type": 1,
"openid": "",
"email": "tige112@163.com",
"create_time": "2017-11-09T20:36:26.000Z",
"modify_time": null,
"is_delete": false,
"is_active": false
}
]
},
"meta": {
"msg": "获取成功",
"status": 200
}
}
添加用户
- 请求路径:users
- 请求方法:post
- 请求参数
参数名参数说明备注
username用户名称不能为空password用户密码不能为空email邮箱可以为空mobile手机号可以为空- 响应参数
参数名参数说明备注
id用户 IDrole_id用户角色 ID默认 : -1username用户名mobile手机号email邮箱create_time创建时间- 响应数据
{
"data": {
"id": 28,
"username": "tige1200",
"mobile": "test",
"role_id": -1,
"openid": "",
"email": "test@test.com",
"create_time": "1553526029",
},
"meta": {
"msg": "用户创建成功",
"status": 201
}
}
修改用户状态
- 请求路径:users/:uId/state/:type
- 请求方法:put
- 请求参数
参数名参数说明备注
uId用户 ID不能为空携带在url中
type用户状态不能为空
携带在url中
,值为 true 或者 false
- 响应数据
{
"data": {
"id": 566,
"rid": 30,
"username": "admin",
"mobile": "123456",
"email": "bb@itcast.com",
"mg_state": 0
},
"meta": {
"msg": "设置状态成功",
"status": 200
}
}
根据 ID 查询用户信息
- 请求路径:users/:id
- 请求方法:get
- 请求参数
参数名参数说明备注
id用户 ID不能为空携带在url中
- 响应参数
参数名参数说明备注
id用户 IDrole_id角色 IDmobile手机号email邮箱- 响应数据
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "00000",
"email": "new@new.com"
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
编辑用户提交
- 请求路径:users/:id
- 请求方法:put
- 请求参数
参数名参数说明备注
id用户 id不能为空参数是url参数:id
email邮箱可以为空mobile手机号可以为空
- 响应参数
参数名参数说明备注
id用户 IDrole_id角色 IDmobile手机号email邮箱- 响应数据
/* 200表示成功,500表示失败 */
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "111",
"email": "123@123.com"
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
删除单个用户
- 请求路径:users/:id
- 请求方法:delete
- 请求参数
参数名参数说明备注
id用户 id不能为空参数是url参数:id
- 响应参数
- 响应数据
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 200
}
}
分配用户角色
- 请求路径:users/:id/role
- 请求方法:put
- 请求参数
参数名参数说明备注
id用户 ID不能为空参数是url参数:id
rid角色 id不能为空
参数body参数
- 响应参数
参数名参数说明备注
id用户 IDrole_id角色 IDmobile手机号email邮箱- 响应数据
{
"data": {
"id": 508,
"rid": "30",
"username": "asdf1",
"mobile": "123123",
"email": "adfsa@qq.com"
},
"meta": {
"msg": "设置角色成功",
"status": 200
}
}
权限管理
所有权限列表
- 请求路径:rights/:type
- 请求方法:get
- 请求参数
参数名参数说明备注
type类型值: list 或 tree , list 列表显示权限, tree 树状显示权限,参数是url参数:type
- 响应参数
参数名参数说明备注
id权限 IDauthName权限说明level权限层级pid权限父 IDpath对应访问路径- 响应数据 type=list
{
"data": [
{
"id": 101,
"authName": "商品管理",
"level": "0",
"pid": 0,
"path": null
},
{
"id": 102,
"authName": "订单管理",
"level": "0",
"pid": 0,
"path": null
}
],
"meta": {
"msg": "获取权限列表成功",
"status": 200
}
}
type=tree
;[
{
data: [
{
id: 101,
authName: '商品管理',
path: null,
pid: 0,
children: [
{
id: 104,
authName: '商品列表',
path: null,
pid: 101,
children: [
{
id: 105,
authName: '添加商品',
path: null,
pid: '104,101'
}
]
}
]
}
],
meta: {
msg: '获取权限列表成功',
status: 200
}
}
]
左侧菜单权限
- 请求路径:menus
- 请求方法:get
- 响应数据
{
"data":
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": []
}
]
}
"meta": {
"msg": "获取菜单列表成功",
"status": 200
}
}
##角色管理
角色列表
- 请求路径:roles
- 请求方法:get
- 响应数据说明
- 第一层为角色信息
- 第二层开始为权限说明,权限一共有 3 层权限
- 响应数据
{
"data": [
{
"id": 30,
"roleName": "主管",
"roleDesc": "技术负责人",
"children": [
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": [
{
"id": 105,
"authName": "添加商品",
"path": null
}
]
}
]
}
]
}
],
"meta": {
"msg": "获取成功",
"status": 200
}
}
添加角色
- 请求路径:roles
- 请求方法:post
- 请求参数
参数名参数说明备注
roleName角色名称不能为空roleDesc角色描述可以为空- 响应参数
参数名参数说明备注
roleId角色 IDroleName角色名称roleDesc角色描述- 响应数据
{
"data": {
"roleId": 40,
"roleName": "admin2",
"roleDesc": "admin2Desc"
},
"meta": {
"msg": "创建成功",
"status": 201
}
}
根据 ID 查询角色
- 请求路径:roles/:id
- 请求方法:get
- 请求参数
参数名参数说明备注
:id角色 ID不能为空携带在url中
- 响应参数
参数名参数说明备注
roleId角色 IDroleName角色名称roleDesc角色描述- 响应数据
{
"data": {
"roleId": 31,
"roleName": "测试角色",
"roleDesc": "测试负责人"
},
"meta": {
"msg": "获取成功",
"status": 200
}
}
编辑提交角色
- 请求路径:roles/:id
- 请求方法:put
- 请求参数
参数名参数说明备注
:id角色 ID不能为空携带在url中
roleName角色名称不能为空roleDesc角色描述可以为空
- 响应数据
{
"data": {
"roleId": 31,
"roleName": "测试角色",
"roleDesc": "测试角色描述"
},
"meta": {
"msg": "获取成功",
"status": 200
}
}
删除角色
- 请求路径:roles/:id
- 请求方法:delete
- 请求参数
参数名参数说明备注
:id角色 ID不能为空携带在url中
- 响应数据
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 200
}
}
角色授权
- 请求路径:roles/:roleId/rights
- 请求方法:post
- 请求参数
参数名参数说明备注
:roleId角色 ID不能为空携带在url中
rids权限 ID 列表以
,
分割的权限 ID 列表
- 响应数据
{
"data": null,
"meta": {
"msg": "更新成功",
"status": 200
}
}
商品分类管理
商品数据列表
- 请求路径:categories
- 请求方法:get
- 请求参数
参数名参数说明备注
type[1,2,3]值:1,2,3 分别表示显示一层二层三层分类列表- 响应参数
参数名参数说明备注
cat_id分类 IDcat_name分类名称cat_pid分类父 IDcat_level分类当前层级- 响应数据
{
"data": [
{
"cat_id": 1,
"cat_name": "手机相机",
"cat_pid": 0,
"cat_level": 0
},
{
"cat_id": 2,
"cat_name": "电脑办公",
"cat_pid": 0,
"cat_level": 0
}
],
"meta": {
"msg": "获取成功",
"status": 200
}
}
添加分类
- 请求路径:categories
- 请求方法:post
- 请求参数
参数名参数说明备注
cat_pid分类父 ID不能为空cat_name分类名称不能为空cat_level分类层级不能为空- 响应数据
{
"data": {
"cat_id": 62,
"cat_name": "相框",
"cat_pid": "1",
"cat_level": "1"
},
"meta": {
"msg": "创建成功",
"status": 201
}
}
根据 id 查询分类
- 请求路径:categories/:id
- 请求方法:get
- 请求参数
参数名参数说明备注
:id分类 ID不能为空携带在url中
- 响应数据
{
"data": {
"cat_id": 3,
"cat_name": "厨卫电器",
"cat_pid": 0,
"cat_level": 0
},
"meta": {
"msg": "获取成功",
"status": 200
}
}
编辑提交分类
- 请求路径:categories/:id
- 请求方法:put
- 请求参数
参数名参数说明备注
:id分类 ID不能为空携带在url中
cat_name分类名称不能为空
- 响应数据
{
"data": {
"cat_id": 22,
"cat_name": "自拍杆",
"cat_pid": 7,
"cat_level": 2
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
删除分类
- 请求路径:categories/:id
- 请求方法:delete
- 请求参数
参数名参数说明备注
:id分类 ID不能为空携带在url中
- 响应数据
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 200
}
}
商品管理
商品列表数据
- 请求路径:goods
- 请求方法:get
- 请求参数
参数名参数说明备注
query查询参数可以为空pagenum当前页码不能为空pagesize每页显示条数不能为空- 响应参数
参数名参数说明备注
total总共商品条数pagenum当前商品页数goods_id商品 IDgoods_name商品名称goods_price价格goods_number数量goods_weight重量不能为空goods_state商品状态商品状态 0: 未通过 1: 审核中 2: 已审核add_time添加时间upd_time更新时间hot_mumber热销品数量is_promote是否是热销品- 响应数据
{
"data": {
"total": 50,
"pagenum": "1",
"goods": [
{
"goods_id": 144,
"goods_name": "asfdsd",
"goods_price": 1,
"goods_number": 1,
"goods_weight": 1,
"goods_state": null,
"add_time": 1512954923,
"upd_time": 1512954923,
"hot_mumber": 0,
"is_promote": false
}
]
},
"meta": {
"msg": "获取成功",
"status": 200
}
}
添加商品
- 请求路径:goods
- 请求方法:post
- 请求参数
参数名参数说明备注
goods_name商品名称不能为空goods_cat以为','分割的分类列表 (字符串)不能为空goods_price价格不能为空goods_number数量不能为空goods_weight重量不能为空goods_introduce介绍可以为空pics上传的图片临时路径(对象)可以为空- 请求数据
{
"goods_name":"test_goods_name2",
"goods_price":20,
"goods_number":30,
"goods_weight":40,
"goods_introduce":"abc",
"pics":[
{"pic":"/tmp_uploads/30f08d52c551ecb447277eae232304b8"}
],
"attrs":[
{
"attr_id":15,
"attr_value":"ddd"
},
{
"attr_id":15,
"attr_value":"eee"
}
]
}
- 响应参数
参数名参数说明备注
total总共商品条数pagenum当前商品页数goods_id商品 IDgoods_cat以为','分割的分类列表goods_name商品名称goods_price价格goods_number数量goods_weight重量不能为空goods_state商品状态商品状态 0: 未通过 1: 审核中 2: 已审核add_time添加时间upd_time更新时间hot_mumber热销品数量is_promote是否是热销品pics上传的图片临时路径(对象)pics_id:图片 ID,goods_id:商品 ID,pics_big:大图,pics_mid:中图,pics_sma:小图attrs商品的参数(数组)goods_id:商品 ID,attr_value:当前商品的参数值,add_price:浮动价格,attr_vals:预定义的参数值,attr_sel:手动输入,还是单选,- 响应数据
{
"data": {
"goods_id": 145,
"goods_name": "test_goods_name2",
"goods_price": 20,
"cat_id": 1,
"goods_number": 30,
"goods_weight": 40,
"goods_introduce": "abc",
"goods_big_logo": "",
"goods_small_logo": "",
"goods_state": 1,
"add_time": 1512962370,
"upd_time": 1512962370,
"hot_mumber": 0,
"is_promote": false,
"pics": [
{
"pics_id": 397,
"goods_id": 145,
"pics_big": "uploads/goodspics/big_30f08d52c551ecb447277eae232304b8",
"pics_mid": "uploads/goodspics/mid_30f08d52c551ecb447277eae232304b8",
"pics_sma": "uploads/goodspics/sma_30f08d52c551ecb447277eae232304b8"
}
],
"attrs": [
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "ddd",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
},
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "eee",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
}
]
},
"meta": {
"msg": "创建商品成功",
"status": 201
}
}
根据 ID 查询商品
- 请求路径:goods/:id
- 请求方法:get
- 请求参数
参数名参数说明备注
id商品 ID不能为空携带在url中
- 响应参数
参数名参数说明备注
total总共商品条数pagenum当前商品页数goods_id商品 IDgoods_name商品名称goods_price价格goods_number数量goods_weight重量不能为空goods_state商品状态商品状态 0: 未通过 1: 审核中 2: 已审核add_time添加时间upd_time更新时间hot_mumber热销品数量is_promote是否是热销品pics上传的图片临时路径(对象)pics_id:图片 ID,goods_id:商品 ID,pics_big:大图,pics_mid:中图,pics_sma:小图attrs商品的参数(数组)goods_id:商品 ID,attr_value:当前商品的参数值,add_price:浮动价格,attr_vals:预定义的参数值,attr_sel:手动输入,还是单选,- 响应数据
{
"data": {
"goods_id": 145,
"goods_name": "test_goods_name2",
"goods_price": 20,
"goods_number": 30,
"goods_weight": 40,
"goods_introduce": "abc",
"goods_big_logo": "",
"goods_small_logo": "",
"goods_state": 1,
"add_time": 1512962370,
"upd_time": 1512962370,
"hot_mumber": 0,
"is_promote": false,
"pics": [
{
"pics_id": 397,
"goods_id": 145,
"pics_big": "uploads/goodspics/big_30f08d52c551ecb447277eae232304b8",
"pics_mid": "uploads/goodspics/mid_30f08d52c551ecb447277eae232304b8",
"pics_sma": "uploads/goodspics/sma_30f08d52c551ecb447277eae232304b8"
}
],
"attrs": [
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "ddd",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
},
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "eee",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
}
]
},
"meta": {
"msg": "创建商品成功",
"status": 201
}
}
编辑提交商品
- 请求路径:goods/:id
- 请求方法:put
- 请求参数
参数名参数说明备注
id商品 ID不能为空携带在url中
goods_name商品名称不能为空goods_price价格不能为空goods_number数量不能为空goods_weight重量不能为空goods_introduce介绍可以为空pics上传的图片临时路径(对象)可以为空attrs商品的参数(数组)可以为空
- 请求数据
{
"goods_name":"test_goods_name2",
"goods_price":20,
"goods_number":30,
"goods_weight":40,
"goods_introduce":"abc",
"pics":[
{"pic":"/tmp_uploads/30f08d52c551ecb447277eae232304b8"}
],
"attrs":[
{
"attr_id":15,
"attr_value":"ddd"
},
{
"attr_id":15,
"attr_value":"eee"
}
]
}
- 响应参数
参数名参数说明备注
total总共商品条数pagenum当前商品页数goods_id商品 IDgoods_name商品名称goods_price价格goods_number数量goods_weight重量不能为空goods_state商品状态商品状态 0: 未通过 1: 审核中 2: 已审核add_time添加时间upd_time更新时间hot_mumber热销品数量is_promote是否是热销品pics上传的图片临时路径(对象)pics_id:图片 ID,goods_id:商品 ID,pics_big:大图,pics_mid:中图,pics_sma:小图attrs商品的参数(数组)goods_id:商品 ID,attr_value:当前商品的参数值,add_price:浮动价格,attr_vals:预定义的参数值,attr_sel:手动输入,还是单选,- 响应数据
{
"data": {
"goods_id": 145,
"goods_name": "test_goods_name2",
"goods_price": 20,
"goods_number": 30,
"goods_weight": 40,
"goods_introduce": "abc",
"goods_big_logo": "",
"goods_small_logo": "",
"goods_state": 1,
"add_time": 1512962370,
"upd_time": 1512962370,
"hot_mumber": 0,
"is_promote": false,
"pics": [
{
"pics_id": 397,
"goods_id": 145,
"pics_big": "uploads/goodspics/big_30f08d52c551ecb447277eae232304b8",
"pics_mid": "uploads/goodspics/mid_30f08d52c551ecb447277eae232304b8",
"pics_sma": "uploads/goodspics/sma_30f08d52c551ecb447277eae232304b8"
}
],
"attrs": [
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "ddd",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
},
{
"goods_id": 145,
"attr_id": 15,
"attr_value": "eee",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
}
]
},
"meta": {
"msg": "创建商品成功",
"status": 201
}
}
图片上传
- 请求路径:upload
- 请求方法:post
- 请求参数
参数名参数说明备注
file上传文件- 响应数据
{
"data": {
"tmp_path": "tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png",
"url": "http://127.0.0.1:8888tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png"
},
"meta": {
"msg": "上传成功",
"status": 200
}
}
$(document).ready(function () {
// 代码高亮的js代码
hljs.initHighlightingOnLoad();
//生成侧边栏的代码
var css_conf = eval(markdown_panel_style);
$('#readme').css(css_conf)
var conf = eval(jquery_ztree_toc_opts);
$('#tree').ztree_toc(conf);
});
一键复制
编辑
Web IDE
原始数据
按行查看
历史