1. 電商管理后臺 API 接口文檔
1.1. API V1 接口說明
- 接口基準地址:
http://127.0.0.1:8888/api/private/v1/
- 服務端已開啟 CORS 跨域支持
- API V1 認證統(tǒng)一使用 Token 認證
- 需要授權(quán)的 API 片排,必須在請求頭中使用
Authorization
字段提供 token
令牌
- 使用 HTTP Status Code 標識狀態(tài)
- 數(shù)據(jù)返回格式統(tǒng)一使用 JSON
1.1.1. 支持的請求方法
- GET(SELECT):從服務器取出資源(一項或多項)寨腔。
- POST(CREATE):在服務器新建一個資源。
- PUT(UPDATE):在服務器更新資源(客戶端提供改變后的完整資源)率寡。
- PATCH(UPDATE):在服務器更新資源(客戶端提供改變的屬性)迫卢。
- DELETE(DELETE):從服務器刪除資源。
- HEAD:獲取資源的元數(shù)據(jù)冶共。
- OPTIONS:獲取信息乾蛤,關(guān)于資源的哪些屬性是客戶端可以改變的。
1.1.2. 通用返回狀態(tài)說明
狀態(tài)碼 |
含義 |
說明 |
200 |
OK |
請求成功 |
201 |
CREATED |
創(chuàng)建成功 |
204 |
DELETED |
刪除成功 |
400 |
BAD REQUEST |
請求的地址不存在或者包含不支持的參數(shù) |
401 |
UNAUTHORIZED |
未授權(quán) |
403 |
FORBIDDEN |
被禁止訪問 |
404 |
NOT FOUND |
請求的資源不存在 |
422 |
Unprocesable entity |
[POST/PUT/PATCH] 當創(chuàng)建一個對象時捅僵,發(fā)生一個驗證錯誤 |
500 |
INTERNAL SERVER ERROR |
內(nèi)部錯誤 |
|
|
|
1.2. 登錄
1.2.1. 登錄驗證接口
- 請求路徑:login
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
username |
用戶名 |
不能為空 |
password |
密碼 |
不能為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
|
rid |
用戶角色 ID |
|
username |
用戶名 |
|
mobile |
手機號 |
|
email |
郵箱 |
|
token |
令牌 |
基于 jwt 的令牌 |
{
"data": {
"id": 500,
"rid": 0,
"username": "admin",
"mobile": "123",
"email": "123@qq.com",
"token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1MTI1NDQyOTksImV4cCI6MTUxMjYzMDY5OX0.eGrsrvwHm-tPsO9r_pxHIQ5i5L1kX9RX444uwnRGaIM"
},
"meta": {
"msg": "登錄成功",
"status": 200
}
}
1.3. 用戶管理
1.3.1. 用戶數(shù)據(jù)列表
- 請求路徑:users
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
query |
查詢參數(shù) |
可以為空 |
pagenum |
當前頁碼 |
不能為空 |
pagesize |
每頁顯示條數(shù) |
不能為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
total |
總記錄數(shù) |
|
pagenum |
當前頁碼 |
|
users |
用戶數(shù)據(jù)集合 |
|
{
"data": {
"total": 5,
"pagenum": 1,
"users": [
{
"id": 25,
"username": "tige117",
"mobile": "18616358651",
"type": 1,
"email": "tige112@163.com",
"create_time": "2017-11-09T20:36:26.000Z",
"mg_state": true, // 當前用戶的狀態(tài)
"role_name": "炒雞管理員"
}
]
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.3.2. 添加用戶
- 請求路徑:users
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
username |
用戶名稱 |
不能為空 |
password |
用戶密碼 |
不能為空 |
email |
郵箱 |
可以為空 |
mobile |
手機號 |
可以為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
|
rid |
用戶角色 ID |
|
username |
用戶名 |
|
mobile |
手機號 |
|
email |
郵箱 |
|
{
"data": {
"id": 28,
"username": "tige1200",
"mobile": "test",
"type": 1,
"openid": "",
"email": "test@test.com",
"create_time": "2017-11-10T03:47:13.533Z",
"modify_time": null,
"is_delete": false,
"is_active": false
},
"meta": {
"msg": "用戶創(chuàng)建成功",
"status": 201
}
}
1.3.3. 修改用戶狀態(tài)
- 請求路徑:users/:uId/state/:type
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
uId |
用戶 ID |
不能為空攜帶在url中
|
type |
用戶狀態(tài) |
不能為空攜帶在url中 家卖,值為 true 或者 false |
{
"data": {
"id": 566,
"rid": 30,
"username": "admin",
"mobile": "123456",
"email": "bb@itcast.com",
"mg_state": 0
},
"meta": {
"msg": "設置狀態(tài)成功",
"status": 200
}
}
1.3.4. 根據(jù) ID 查詢用戶信息
- 請求路徑:users/:id
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
不能為空攜帶在url中
|
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
|
role_id |
角色 ID |
|
mobile |
手機號 |
|
email |
郵箱 |
|
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "00000",
"email": "new@new.com"
},
"meta": {
"msg": "查詢成功",
"status": 200
}
}
1.3.5. 編輯用戶提交
- 請求路徑:users/:id
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 id |
不能為空 參數(shù)是url參數(shù):id
|
email |
郵箱 |
可以為空 |
mobile |
手機號 |
可以為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
|
role_id |
角色 ID |
|
mobile |
手機號 |
|
email |
郵箱 |
|
/* 200表示成功,500表示失敗 */
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "111",
"email": "123@123.com"
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.3.6. 刪除單個用戶
- 請求路徑:users/:id
- 請求方法:delete
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 id |
不能為空參數(shù)是url參數(shù):id
|
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.3.7. 分配用戶角色
- 請求路徑:users/:id/role
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
不能為空參數(shù)是url參數(shù):id
|
rid |
角色 id |
不能為空參數(shù)body參數(shù)
|
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
用戶 ID |
|
role_id |
角色 ID |
|
mobile |
手機號 |
|
email |
郵箱 |
|
{
"data": {
"id": 508,
"rid": "30",
"username": "asdf1",
"mobile": "123123",
"email": "adfsa@qq.com"
},
"meta": {
"msg": "設置角色成功",
"status": 200
}
}
1.4. 權(quán)限管理
1.4.1. 所有權(quán)限列表
- 請求路徑:rights/:type
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
type |
類型 |
值 list 或 tree , list 列表顯示權(quán)限, tree 樹狀顯示權(quán)限,參數(shù)是url參數(shù):type
|
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
權(quán)限 ID |
|
authName |
權(quán)限說明 |
|
level |
權(quán)限層級 |
|
pid |
權(quán)限父 ID |
|
path |
對應訪問路徑 |
|
{
"data": [
{
"id": 101,
"authName": "商品管理",
"level": "0",
"pid": 0,
"path": null
},
{
"id": 102,
"authName": "訂單管理",
"level": "0",
"pid": 0,
"path": null
}
],
"meta": {
"msg": "獲取權(quán)限列表成功",
"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: '獲取權(quán)限列表成功',
status: 200
}
}
1.4.2. 左側(cè)菜單權(quán)限
- 請求路徑:menus
- 請求方法:get
- 響應數(shù)據(jù)
{
"data":
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": []
}
]
}
"meta": {
"msg": "獲取菜單列表成功",
"status": 200
}
}
1.5. 角色管理
1.5.1. 角色列表
請求路徑:roles
請求方法:get
-
響應數(shù)據(jù)說明
- 第二層開始為權(quán)限說明庙楚,權(quán)限一共有 3 層權(quán)限
- 最后一層權(quán)限上荡,不包含
children
屬性
響應數(shù)據(jù)
{
"data": [
{
"id": 30,
"roleName": "主管",
"roleDesc": "技術(shù)負責人",
"children": [
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": [
{
"id": 105,
"authName": "添加商品",
"path": null
}
]
}
]
}
]
}
],
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.5.2. 添加角色
- 請求路徑:roles
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
roleName |
角色名稱 |
不能為空 |
roleDesc |
角色描述 |
可以為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
roleId |
角色 ID |
|
roleName |
角色名稱 |
|
roleDesc |
角色描述 |
|
{
"data": {
"roleId": 40,
"roleName": "admin2",
"roleDesc": "admin2Desc"
},
"meta": {
"msg": "創(chuàng)建成功",
"status": 201
}
}
1.5.3. 根據(jù) ID 查詢角色
- 請求路徑:roles/:id
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
角色 ID |
不能為空攜帶在url中
|
參數(shù)名 |
參數(shù)說明 |
備注 |
roleId |
角色 ID |
|
roleName |
角色名稱 |
|
roleDesc |
角色描述 |
|
{
"data": {
"roleId": 31,
"roleName": "測試角色",
"roleDesc": "測試負責人"
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.5.4. 編輯提交角色
- 請求路徑:roles/:id
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
角色 ID |
不能為空攜帶在url中
|
roleName |
角色名稱 |
不能為空 |
roleDesc |
角色描述 |
可以為空 |
{
"data": {
"roleId": 31,
"roleName": "測試角色",
"roleDesc": "測試角色描述"
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.5.5. 刪除角色
- 請求路徑:roles/:id
- 請求方法:delete
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
角色 ID |
不能為空攜帶在url中
|
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.5.6. 角色授權(quán)
- 請求路徑:roles/:roleId/rights
- 請求方法:post
- 請求參數(shù):通過
請求體
發(fā)送給后端
參數(shù)名 |
參數(shù)說明 |
備注 |
:roleId |
角色 ID |
不能為空攜帶在url中
|
rids |
權(quán)限 ID 列表(字符串) |
以 , 分割的權(quán)限 ID 列表(獲取所有被選中、葉子節(jié)點的key和半選中節(jié)點的key, 包括 1馒闷,2酪捡,3級節(jié)點) |
{
"data": null,
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.5.7. 刪除角色指定權(quán)限
請求路徑:roles/:roleId/rights/:rightId
請求方法:delete
-
請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:roleId |
角色 ID |
不能為空攜帶在url中
|
:rightId |
權(quán)限 ID |
不能為空攜帶在url中
|
-
響應數(shù)據(jù)說明
- 返回的data, 是當前角色下最新的權(quán)限數(shù)據(jù)
-
響應數(shù)據(jù)
{
"data": [
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": [
{
"id": 105,
"authName": "添加商品",
"path": null
},
{
"id": 116,
"authName": "修改",
"path": null
}
]
}
]
}
],
"meta": {
"msg": "取消權(quán)限成功",
"status": 200
}
}
1.6. 商品分類管理
1.6.1. 商品分類數(shù)據(jù)列表
- 請求路徑:categories
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
type |
[1,2,3] |
值:1,2纳账,3 分別表示顯示一層二層三層分類列表<br />【可選參數(shù)】如果不傳遞逛薇,則默認獲取所有級別的分類 |
pagenum |
當前頁碼值 |
【可選參數(shù)】如果不傳遞,則默認獲取所有分類 |
pagesize |
每頁顯示多少條數(shù)據(jù) |
【可選參數(shù)】如果不傳遞疏虫,則默認獲取所有分類 |
參數(shù)名 |
參數(shù)說明 |
備注 |
cat_id |
分類 ID |
|
cat_name |
分類名稱 |
|
cat_pid |
分類父 ID |
|
cat_level |
分類當前層級 |
|
{
"data": [
{
"cat_id": 1,
"cat_name": "大家電",
"cat_pid": 0,
"cat_level": 0,
"cat_deleted": false,
"children": [
{
"cat_id": 3,
"cat_name": "電視",
"cat_pid": 1,
"cat_level": 1,
"cat_deleted": false,
"children": [
{
"cat_id": 6,
"cat_name": "曲面電視",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false
},
{
"cat_id": 7,
"cat_name": "海信",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false
}
]
}
]
}
],
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.6.2. 添加分類
- 請求路徑:categories
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
cat_pid |
分類父 ID |
不能為空永罚,如果要添加1級分類,則父分類Id應該設置為 0
|
cat_name |
分類名稱 |
不能為空 |
cat_level |
分類層級 |
不能為空议薪,0 表示一級分類尤蛮;1 表示二級分類;2 表示三級分類 |
{
"data": {
"cat_id": 62,
"cat_name": "相框",
"cat_pid": "1",
"cat_level": "1"
},
"meta": {
"msg": "創(chuàng)建成功",
"status": 201
}
}
1.6.3. 根據(jù) id 查詢分類
- 請求路徑:categories/:id
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
{
"data": {
"cat_id": 3,
"cat_name": "廚衛(wèi)電器",
"cat_pid": 0,
"cat_level": 0
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.6.4. 編輯提交分類
- 請求路徑:categories/:id
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
cat_name |
分類名稱 |
不能為空【此參數(shù)斯议,放到請求體中】 |
{
"data": {
"cat_id": 22,
"cat_name": "自拍桿",
"cat_pid": 7,
"cat_level": 2
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.6.5. 刪除分類
- 請求路徑:categories/:id
- 請求方法:delete
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.7. 分類參數(shù)管理
1.7.1. 參數(shù)列表
- 請求路徑:categories/:id/attributes
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
sel |
[only,many] |
不能為空,通過 only 或 many 來獲取分類靜態(tài)參數(shù)還是動態(tài)參數(shù) |
參數(shù)名 |
參數(shù)說明 |
備注 |
attr_id |
分類參數(shù) ID |
|
attr_name |
分類參數(shù)名稱 |
|
cat_id |
分類參數(shù)所屬分類 |
|
attr_sel |
only:輸入框(唯一) many:后臺下拉列表/前臺單選框 |
|
attr_write |
manual:手工錄入 list:從列表選擇 |
|
attr_vals |
如果 attr_write:list,那么有值,該值以逗號分隔 |
|
{
"data": [
{
"attr_id": 1,
"attr_name": "cpu",
"cat_id": 22,
"attr_sel": "only",
"attr_write": "manual",
"attr_vals": "ffff"
}
],
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.7.2. 添加動態(tài)參數(shù)或者靜態(tài)屬性
- 請求路徑:categories/:id/attributes
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
attr_name |
參數(shù)名稱 |
不能為空 |
attr_sel |
[only,many] |
不能為空 |
attr_vals |
如果是 many 就需要填寫值的選項醇锚,以逗號分隔 |
【可選參數(shù)】 |
{
"data": {
"attr_id": 44,
"attr_name": "測試參數(shù)",
"cat_id": "1",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": "a,b,c"
},
"meta": {
"msg": "創(chuàng)建成功",
"status": 201
}
}
1.7.3. 刪除參數(shù)
- 請求路徑: categories/:id/attributes/:attrid
- 請求方法:delete
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
:attrid |
參數(shù) ID |
不能為空攜帶在url中
|
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.7.4. 根據(jù) ID 查詢參數(shù)
- 請求路徑:categories/:id/attributes/:attrId
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
:attrId |
屬性 ID |
不能為空攜帶在url中
|
attr_sel |
[only,many] |
不能為空 |
attr_vals |
如果是 many 就需要填寫值的選項哼御,以逗號分隔 |
|
{
"data": {
"attr_id": 1,
"attr_name": "cpu",
"cat_id": 22,
"attr_sel": "only",
"attr_write": "manual",
"attr_vals": "ffff"
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.7.5. 編輯提交參數(shù)
- 請求路徑:categories/:id/attributes/:attrId
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
:id |
分類 ID |
不能為空攜帶在url中
|
:attrId |
屬性 ID |
不能為空攜帶在url中
|
attr_name |
新屬性的名字 |
不能為空,攜帶在請求體 中 |
attr_sel |
屬性的類型[many或only] |
不能為空焊唬,攜帶在請求體 中 |
attr_vals |
參數(shù)的屬性值 |
可選參數(shù)恋昼,攜帶在請求體 中 |
{
"data": {
"attr_id": 9,
"attr_name": "測試更新",
"cat_id": "43",
"attr_sel": "only",
"attr_write": "manual",
"attr_vals": "abc"
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.8. 商品管理
1.8.1. 商品列表數(shù)據(jù)
- 請求路徑:goods
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
query |
查詢參數(shù) |
可以為空 |
pagenum |
當前頁碼 |
不能為空 |
pagesize |
每頁顯示條數(shù) |
不能為空 |
參數(shù)名 |
參數(shù)說明 |
備注 |
total |
總共商品條數(shù) |
|
pagenum |
當前商品頁數(shù) |
|
goods_id |
商品 ID |
|
goods_name |
商品名稱 |
|
goods_price |
價格 |
|
goods_number |
數(shù)量 |
|
goods_weight |
重量 |
不能為空 |
goods_state |
商品狀態(tài) |
商品狀態(tài) 0: 未通過 1: 審核中 2: 已審核 |
add_time |
添加時間 |
|
upd_time |
更新時間 |
|
hot_mumber |
熱銷品數(shù)量 |
|
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
}
}
1.8.2. 添加商品
- 請求路徑:goods
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
goods_name |
商品名稱 |
不能為空 |
goods_cat |
以為','分割的分類列表 |
不能為空 |
goods_price |
價格 |
不能為空 |
goods_number |
數(shù)量 |
不能為空 |
goods_weight |
重量 |
不能為空 |
goods_introduce |
介紹 |
可以為空 |
pics |
上傳的圖片臨時路徑(對象) |
可以為空 |
attrs |
商品的參數(shù)(數(shù)組),包含 動態(tài)參數(shù) 和 靜態(tài)屬性
|
可以為空 |
{
"goods_name":"test_goods_name2",
"goods_cat": "1,2,3",
"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"
}
]
}
參數(shù)名 |
參數(shù)說明 |
備注 |
total |
總共商品條數(shù) |
|
pagenum |
當前商品頁數(shù) |
|
goods_id |
商品 ID |
|
goods_cat |
以為','分割的分類列表 |
|
goods_name |
商品名稱 |
|
goods_price |
價格 |
|
goods_number |
數(shù)量 |
|
goods_weight |
重量 |
不能為空 |
goods_state |
商品狀態(tài) |
商品狀態(tài) 0: 未通過 1: 審核中 2: 已審核 |
add_time |
添加時間 |
|
upd_time |
更新時間 |
|
hot_mumber |
熱銷品數(shù)量 |
|
is_promote |
是否是熱銷品 |
|
pics |
上傳的圖片臨時路徑(對象) |
pics_id:圖片 ID,goods_id:商品 ID,pics_big:大圖,pics_mid:中圖,pics_sma:小圖 |
attrs |
商品的參數(shù)(數(shù)組) |
goods_id:商品 ID,attr_value:當前商品的參數(shù)值,add_price:浮動價格,attr_vals:預定義的參數(shù)值,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": "創(chuàng)建商品成功",
"status": 201
}
}
1.8.3. 根據(jù) ID 查詢商品
- 請求路徑:goods/:id
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
商品 ID |
不能為空攜帶在url中
|
參數(shù)名 |
參數(shù)說明 |
備注 |
total |
總共商品條數(shù) |
|
pagenum |
當前商品頁數(shù) |
|
goods_id |
商品 ID |
|
goods_name |
商品名稱 |
|
goods_price |
價格 |
|
goods_number |
數(shù)量 |
|
goods_weight |
重量 |
不能為空 |
goods_state |
商品狀態(tài) |
商品狀態(tài) 0: 未通過 1: 審核中 2: 已審核 |
add_time |
添加時間 |
|
upd_time |
更新時間 |
|
hot_mumber |
熱銷品數(shù)量 |
|
is_promote |
是否是熱銷品 |
|
pics |
上傳的圖片臨時路徑(對象) |
pics_id:圖片 ID,goods_id:商品 ID,pics_big:大圖,pics_mid:中圖,pics_sma:小圖 |
attrs |
商品的參數(shù)(數(shù)組) |
goods_id:商品 ID,attr_value:當前商品的參數(shù)值,add_price:浮動價格,attr_vals:預定義的參數(shù)值,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": "創(chuàng)建商品成功",
"status": 201
}
}
1.8.4. 編輯提交商品
- 請求路徑:goods/:id
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
商品 ID |
不能為空攜帶在url中
|
goods_name |
商品名稱 |
不能為空 |
goods_price |
價格 |
不能為空 |
goods_number |
數(shù)量 |
不能為空 |
goods_weight |
重量 |
不能為空 |
goods_introduce |
介紹 |
可以為空 |
pics |
上傳的圖片臨時路徑(對象) |
可以為空 |
attrs |
商品的參數(shù)(數(shù)組) |
可以為空 |
{
"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"
}
]
}
參數(shù)名 |
參數(shù)說明 |
備注 |
total |
總共商品條數(shù) |
|
pagenum |
當前商品頁數(shù) |
|
goods_id |
商品 ID |
|
goods_name |
商品名稱 |
|
goods_price |
價格 |
|
goods_number |
數(shù)量 |
|
goods_weight |
重量 |
不能為空 |
goods_state |
商品狀態(tài) |
商品狀態(tài) 0: 未通過 1: 審核中 2: 已審核 |
add_time |
添加時間 |
|
upd_time |
更新時間 |
|
hot_mumber |
熱銷品數(shù)量 |
|
is_promote |
是否是熱銷品 |
|
pics |
上傳的圖片臨時路徑(對象) |
pics_id:圖片 ID,goods_id:商品 ID,pics_big:大圖,pics_mid:中圖,pics_sma:小圖 |
attrs |
商品的參數(shù)(數(shù)組) |
goods_id:商品 ID,attr_value:當前商品的參數(shù)值,add_price:浮動價格,attr_vals:預定義的參數(shù)值,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": "創(chuàng)建商品成功",
"status": 201
}
}
1.8.5. 刪除商品
- 請求路徑:goods/:id
- 請求方法:delete
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
商品 ID |
不能為空攜帶在url中
|
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
###同步商品圖片
- 請求路徑:goods/:id/pics
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
商品 ID |
不能為空攜帶在url中
|
pics |
商品圖片集合 |
如果有 pics_id 字段會保留該圖片鸥滨,如果沒有 pics_id 但是有 pic 字段就會新生成圖片數(shù)據(jù) |
;[
{ pic: 'tmp_uploads/db28f6316835836e97653b5c75e418be.png' },
{
pics_id: 397,
goods_id: 145,
pics_big: 'uploads/goodspics/big_30f08d52c551ecb447277eae232304b8',
pics_mid: 'uploads/goodspics/mid_30f08d52c551ecb447277eae232304b8',
pics_sma: 'uploads/goodspics/sma_30f08d52c551ecb447277eae232304b8'
}
]
{
"data": {
"goods_id": 96,
"goods_name": "iphoneXX",
"goods_price": 2,
"goods_number": 22,
"goods_weight": 22,
"goods_introduce": null,
"goods_big_logo": "./uploads/goods/20171113/483a3b8e99e534ec3e4312dbbaee7c9d.jpg",
"goods_small_logo": "./uploads/goods/20171113/small_483a3b8e99e534ec3e4312dbbaee7c9d.jpg",
"goods_state": 0,
"is_del": "1",
"add_time": 1510045904,
"upd_time": 1512635159,
"delete_time": 1512635159,
"hot_mumber": 0,
"is_promote": false,
"pics": [
{
"pics_id": 383,
"goods_id": 96,
"pics_big": "uploads/goodspics/big_6f5750132abd3f5b2b93dd722fcde653.jpg",
"pics_mid": "uploads/goodspics/mid_6f5750132abd3f5b2b93dd722fcde653.jpg",
"pics_sma": "uploads/goodspics/sma_6f5750132abd3f5b2b93dd722fcde653.jpg"
}
],
"attrs": [
{
"goods_id": 96,
"attr_id": 15,
"attr_value": "eee",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
},
{
"goods_id": 96,
"attr_id": 15,
"attr_value": "ddd",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
}
]
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
###同步商品屬性
- 請求路徑:goods/:id/attributes
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
商品 ID |
不能為空攜帶在url中
|
;[
{
attr_id: 15,
attr_value: 'ddd'
},
{
attr_id: 15,
attr_value: 'eee'
}
]
{
"data": {
"goods_id": 96,
"goods_name": "iphoneXX",
"goods_price": 2,
"goods_number": 22,
"goods_weight": 22,
"goods_introduce": null,
"goods_big_logo": "./uploads/goods/20171113/483a3b8e99e534ec3e4312dbbaee7c9d.jpg",
"goods_small_logo": "./uploads/goods/20171113/small_483a3b8e99e534ec3e4312dbbaee7c9d.jpg",
"goods_state": 0,
"is_del": "1",
"add_time": 1510045904,
"upd_time": 1512635159,
"delete_time": 1512635159,
"hot_mumber": 0,
"is_promote": false,
"pics": [
{
"pics_id": 383,
"goods_id": 96,
"pics_big": "uploads/goodspics/big_6f5750132abd3f5b2b93dd722fcde653.jpg",
"pics_mid": "uploads/goodspics/mid_6f5750132abd3f5b2b93dd722fcde653.jpg",
"pics_sma": "uploads/goodspics/sma_6f5750132abd3f5b2b93dd722fcde653.jpg"
}
],
"attrs": [
{
"goods_id": 96,
"attr_id": 15,
"attr_value": "eee",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
},
{
"goods_id": 96,
"attr_id": 15,
"attr_value": "ddd",
"add_price": null,
"attr_name": "fffffff",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": ""
}
]
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
###商品圖片處理必須安裝 GraphicsMagick
apt-get install GraphicsMagick
brew install GraphicsMagick
1.9. 圖片上傳
- 請求路徑:upload
- 請求方法:post
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
file |
上傳文件 |
|
{
"data": {
"tmp_path": "tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png",
"url": "http://127.0.0.1:8888tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png"
},
"meta": {
"msg": "上傳成功",
"status": 200
}
}
1.10. 訂單管理
1.10.1. 訂單數(shù)據(jù)列表
- 請求路徑:orders
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
query |
查詢參數(shù) |
可以為空 |
pagenum |
當前頁碼 |
不能為空 |
pagesize |
每頁顯示條數(shù) |
不能為空 |
user_id |
用戶 ID |
可以為空 |
pay_status |
支付狀態(tài) |
可以為空 |
is_send |
是否發(fā)貨 |
可以為空 |
order_fapiao_title |
['個人','公司'] |
可以為空 |
order_fapiao_company |
公司名稱 |
可以為空 |
order_fapiao_content |
發(fā)票內(nèi)容 |
可以為空 |
consignee_addr |
發(fā)貨地址 |
可以為空 |
{
"data": {
"total": 1,
"pagenum": "1",
"goods": [
{
"order_id": 47,
"user_id": 133,
"order_number": "itcast-59e7502d7993d",
"order_price": 322,
"order_pay": "1",
"is_send": "是",
"trade_no": "",
"order_fapiao_title": "個人",
"order_fapiao_company": "",
"order_fapiao_content": "辦公用品",
"consignee_addr": "a:7:{s:6:\"cgn_id\";i:1;s:7:\"user_id\";i:133;s:8:\"cgn_name\";s:9:\"王二柱\";s:11:\"cgn_address\";s:51:\"北京市海淀區(qū)蘇州街長遠天地大廈305室\";s:7:\"cgn_tel\";s:11:\"13566771298\";s:8:\"cgn_code\";s:6:\"306810\";s:11:\"delete_time\";N;}",
"pay_status": "1",
"create_time": 1508331565,
"update_time": 1508331565
}
]
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.10.2. 修改訂單狀態(tài)
- 請求路徑:orders/:id
- 請求方法:put
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
訂單 ID |
不能為空攜帶在url中
|
is_send |
訂單是否發(fā)貨 |
1:已經(jīng)發(fā)貨嗦哆,0:未發(fā)貨 |
order_pay |
訂單支付 |
支付方式 0 未支付 1 支付寶 2 微信 3 銀行卡 |
order_price |
訂單價格 |
|
order_number |
訂單數(shù)量 |
|
pay_status |
支付狀態(tài) |
訂單狀態(tài): 0 未付款谤祖、1 已付款 |
- 請求數(shù)據(jù)說明
- 所有請求數(shù)據(jù)都是增量更新,如果參數(shù)不填寫老速,就不會更新該字段
- 響應數(shù)據(jù)
{
"data": {
"order_id": 67,
"user_id": 1,
"order_number": "itcast-g7kmck71vjaujfgoi",
"order_price": 20,
"order_pay": "0",
"is_send": "否",
"trade_no": "",
"order_fapiao_title": "個人",
"order_fapiao_company": "",
"order_fapiao_content": "",
"consignee_addr": "",
"pay_status": "0",
"create_time": 1512533560,
"update_time": 1512533560,
"goods": [
{
"id": 82,
"order_id": 67,
"goods_id": 96,
"goods_price": 333,
"goods_number": 2,
"goods_total_price": 999
},
{
"id": 83,
"order_id": 67,
"goods_id": 95,
"goods_price": 666,
"goods_number": 5,
"goods_total_price": 999
}
]
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.10.3. 查看訂單詳情
- 請求路徑:orders/:id
- 請求方法:get
- 請求參數(shù)
參數(shù)名 |
參數(shù)說明 |
備注 |
id |
訂單 ID |
不能為空攜帶在url中
|
{
"data": {
"order_id": 67,
"user_id": 1,
"order_number": "itcast-g7kmck71vjaujfgoi",
"order_price": 20,
"order_pay": "0",
"is_send": "否",
"trade_no": "",
"order_fapiao_title": "個人",
"order_fapiao_company": "",
"order_fapiao_content": "",
"consignee_addr": "",
"pay_status": "0",
"create_time": 1512533560,
"update_time": 1512533560,
"goods": [
{
"id": 82,
"order_id": 67,
"goods_id": 96,
"goods_price": 333,
"goods_number": 2,
"goods_total_price": 999
},
{
"id": 83,
"order_id": 67,
"goods_id": 95,
"goods_price": 666,
"goods_number": 5,
"goods_total_price": 999
}
]
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.10.4. 修改地址
- 省市區(qū)/縣聯(lián)動效果 - 結(jié)合ElementUI的 el-cascader 組件
1.10.5. 查看物流信息
請求路徑:/kuaidi/:id
請求方法:get
供測試的物流單號:1106975712662
-
響應數(shù)據(jù):
{
"data": [
{
"time": "2018-05-10 09:39:00",
"ftime": "2018-05-10 09:39:00",
"context": "已簽收,感謝使用順豐,期待再次為您服務",
"location": ""
},
{
"time": "2018-05-10 08:23:00",
"ftime": "2018-05-10 08:23:00",
"context": "[北京市]北京海淀育新小區(qū)營業(yè)點派件員 順豐速運 95338正在為您派件",
"location": ""
},
{
"time": "2018-05-10 07:32:00",
"ftime": "2018-05-10 07:32:00",
"context": "快件到達 [北京海淀育新小區(qū)營業(yè)點]",
"location": ""
},
{
"time": "2018-05-10 02:03:00",
"ftime": "2018-05-10 02:03:00",
"context": "快件在[北京順義集散中心]已裝車,準備發(fā)往 [北京海淀育新小區(qū)營業(yè)點]",
"location": ""
},
{
"time": "2018-05-09 23:05:00",
"ftime": "2018-05-09 23:05:00",
"context": "快件到達 [北京順義集散中心]",
"location": ""
},
{
"time": "2018-05-09 21:21:00",
"ftime": "2018-05-09 21:21:00",
"context": "快件在[北京寶勝營業(yè)點]已裝車,準備發(fā)往 [北京順義集散中心]",
"location": ""
},
{
"time": "2018-05-09 13:07:00",
"ftime": "2018-05-09 13:07:00",
"context": "順豐速運 已收取快件",
"location": ""
},
{
"time": "2018-05-09 12:25:03",
"ftime": "2018-05-09 12:25:03",
"context": "賣家發(fā)貨",
"location": ""
},
{
"time": "2018-05-09 12:22:24",
"ftime": "2018-05-09 12:22:24",
"context": "您的訂單將由HLA(北京海淀區(qū)清河中街店)門店安排發(fā)貨粥喜。",
"location": ""
},
{
"time": "2018-05-08 21:36:04",
"ftime": "2018-05-08 21:36:04",
"context": "商品已經(jīng)下單",
"location": ""
}
],
"meta": { "status": 200, "message": "獲取物流信息成功!" }
}
1.11. 數(shù)據(jù)統(tǒng)計
1.11.1. 基于時間統(tǒng)計的折線圖
請求路徑:reports/type/1
請求方法:get
響應數(shù)據(jù)
-
需要合并的選項
options: {
title: {
text: '用戶來源'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#E9EEF3'
}
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
boundaryGap: false
}
],
yAxis: [
{
type: 'value'
}
]
}