Oracle遷移至PostgreSQL工具之Ora2Pg
阿新 • • 發佈:2020-12-18
1. 電商管理後臺 API 介面文件
1.1. API V1 介面說明
- 介面基準地址:
http://127.0.0.1:8888/api/private/v1/
- 服務端已開啟 CORS 跨域支援
- API V1 認證統一使用 Token 認證
- 需要授權的 API ,必須在請求頭中使用
Authorization
欄位提供token
令牌 - 使用 HTTP Status Code 標識狀態
- 資料返回格式統一使用 JSON
1.1.1. 支援的請求方法
- GET(SELECT):從伺服器取出資源(一項或多項)。
- POST(CREATE):在伺服器新建一個資源。
- PUT(UPDATE):在伺服器更新資源(客戶端提供改變後的完整資源)。
- PATCH(UPDATE):在伺服器更新資源(客戶端提供改變的屬性)。
- DELETE(DELETE):從伺服器刪除資源。
- HEAD:獲取資源的元資料。
- OPTIONS:獲取資訊,關於資源的哪些屬性是客戶端可以改變的。
1.1.2. 通用返回狀態說明
狀態碼 | 含義 | 說明 |
---|---|---|
200 | OK | 請求成功 |
201 | CREATED | 建立成功 |
204 | DELETED | 刪除成功 |
400 | BAD REQUEST | 請求的地址不存在或者包含不支援的引數 |
401 | UNAUTHORIZED | 未授權 |
403 | FORBIDDEN | 被禁止訪問 |
404 | NOT FOUND | 請求的資源不存在 |
422 | Unprocesable entity | [POST/PUT/PATCH] 當建立一個物件時,發生一個驗證錯誤 |
500 | INTERNAL SERVER ERROR | 內部錯誤 |
1.2. 登入
1.2.1. 登入驗證介面
- 請求路徑:login
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
username | 使用者名稱 | 不能為空 |
password | 密碼 | 不能為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | |
rid | 使用者角色 ID | |
username | 使用者名稱 | |
mobile | 手機號 | |
郵箱 | ||
token | 令牌 | 基於 jwt 的令牌 |
- 響應資料
{
"data": {
"id": 500,
"rid": 0,
"username": "admin",
"mobile": "123",
"email": "[email protected]",
"token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1MTI1NDQyOTksImV4cCI6MTUxMjYzMDY5OX0.eGrsrvwHm-tPsO9r_pxHIQ5i5L1kX9RX444uwnRGaIM"
},
"meta": {
"msg": "登入成功",
"status": 200
}
}
1.3. 使用者管理
1.3.1. 使用者資料列表
- 請求路徑:users
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
query | 查詢引數 | 可以為空 |
pagenum | 當前頁碼 | 不能為空 |
pagesize | 每頁顯示條數 | 不能為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
totalpage | 總記錄數 | |
pagenum | 當前頁碼 | |
users | 使用者資料集合 |
- 響應資料
{
"data": {
"totalpage": 5,
"pagenum": 4,
"users": [
{
"id": 25,
"username": "tige117",
"mobile": "18616358651",
"type": 1,
"email": "[email protected]",
"create_time": "2017-11-09T20:36:26.000Z",
"mg_state": true, // 當前使用者的狀態
"role_name": "炒雞管理員"
}
]
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.3.2. 新增使用者
- 請求路徑:users
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
username | 使用者名稱稱 | 不能為空 |
password | 使用者密碼 | 不能為空 |
郵箱 | 可以為空 | |
mobile | 手機號 | 可以為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | |
rid | 使用者角色 ID | |
username | 使用者名稱 | |
mobile | 手機號 | |
郵箱 |
- 響應資料
{
"data": {
"id": 28,
"username": "tige1200",
"mobile": "test",
"type": 1,
"openid": "",
"email": "[email protected]",
"create_time": "2017-11-10T03:47:13.533Z",
"modify_time": null,
"is_delete": false,
"is_active": false
},
"meta": {
"msg": "使用者建立成功",
"status": 201
}
}
1.3.3. 修改使用者狀態
- 請求路徑:users/:uId/state/:type
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
uId | 使用者 ID | 不能為空攜帶在url中 |
type | 使用者狀態 | 不能為空攜帶在url中 ,值為 true 或者 false |
- 響應資料
{
"data": {
"id": 566,
"rid": 30,
"username": "admin",
"mobile": "123456",
"email": "[email protected]",
"mg_state": 0
},
"meta": {
"msg": "設定狀態成功",
"status": 200
}
}
1.3.4. 根據 ID 查詢使用者資訊
- 請求路徑:users/:id
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | 不能為空攜帶在url中 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | |
role_id | 角色 ID | |
mobile | 手機號 | |
郵箱 |
- 響應資料
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "00000",
"email": "[email protected]"
},
"meta": {
"msg": "查詢成功",
"status": 200
}
}
1.3.5. 編輯使用者提交
- 請求路徑:users/:id
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 id | 不能為空 引數是url引數:id |
郵箱 | 可以為空 | |
mobile | 手機號 | 可以為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | |
role_id | 角色 ID | |
mobile | 手機號 | |
郵箱 |
- 響應資料
/* 200表示成功,500表示失敗 */
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "111",
"email": "[email protected]"
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.3.6. 刪除單個使用者
- 請求路徑:users/:id
- 請求方法:delete
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 id | 不能為空引數是url引數:id |
- 響應引數
- 響應資料
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.3.7. 分配使用者角色
- 請求路徑:users/:id/role
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | 不能為空引數是url引數:id |
rid | 角色 id | 不能為空引數body引數 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 使用者 ID | |
role_id | 角色 ID | |
mobile | 手機號 | |
郵箱 |
- 響應資料
{
"data": {
"id": 508,
"rid": "30",
"username": "asdf1",
"mobile": "123123",
"email": "[email protected]"
},
"meta": {
"msg": "設定角色成功",
"status": 200
}
}
1.4. 許可權管理
1.4.1. 所有許可權列表
- 請求路徑:rights/:type
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
type | 型別 | 值 list 或 tree , list 列表顯示許可權, tree 樹狀顯示許可權,引數是url引數:type |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 許可權 ID | |
authName | 許可權說明 | |
level | 許可權層級 | |
pid | 許可權父 ID | |
path | 對應訪問路徑 |
- 響應資料 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
}
}
1.4.2. 左側選單許可權
- 請求路徑:menus
- 請求方法:get
- 響應資料
{
"data":
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": []
}
]
}
"meta": {
"msg": "獲取選單列表成功",
"status": 200
}
}
1.5. 角色管理
1.5.1. 角色列表
-
請求路徑:roles
-
請求方法:get
-
響應資料說明
- 第一層為角色資訊
- 第二層開始為許可權說明,許可權一共有 3 層許可權
- 最後一層許可權,不包含
children
屬性
-
響應資料
{
"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
}
}
1.5.2. 新增角色
- 請求路徑:roles
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
roleName | 角色名稱 | 不能為空 |
roleDesc | 角色描述 | 可以為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
roleId | 角色 ID | |
roleName | 角色名稱 | |
roleDesc | 角色描述 |
- 響應資料
{
"data": {
"roleId": 40,
"roleName": "admin2",
"roleDesc": "admin2Desc"
},
"meta": {
"msg": "建立成功",
"status": 201
}
}
1.5.3. 根據 ID 查詢角色
- 請求路徑:roles/:id
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 角色 ID | 不能為空攜帶在url中 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
roleId | 角色 ID | |
roleName | 角色名稱 | |
roleDesc | 角色描述 |
- 響應資料
{
"data": {
"roleId": 31,
"roleName": "測試角色",
"roleDesc": "測試負責人"
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.5.4. 編輯提交角色
- 請求路徑:roles/:id
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 角色 ID | 不能為空攜帶在url中 |
roleName | 角色名稱 | 不能為空 |
roleDesc | 角色描述 | 可以為空 |
- 響應資料
{
"data": {
"roleId": 31,
"roleName": "測試角色",
"roleDesc": "測試角色描述"
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.5.5. 刪除角色
- 請求路徑:roles/:id
- 請求方法:delete
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 角色 ID | 不能為空攜帶在url中 |
- 響應資料
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.5.6. 角色授權
- 請求路徑:roles/:roleId/rights
- 請求方法:post
- 請求引數:通過
請求體
傳送給後端
引數名 | 引數說明 | 備註 |
---|---|---|
:roleId | 角色 ID | 不能為空攜帶在url中 |
rids | 許可權 ID 列表(字串) | 以 , 分割的許可權 ID 列表(獲取所有被選中、葉子節點的key和半選中節點的key, 包括 1,2,3級節點) |
- 響應資料
{
"data": null,
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.5.7. 刪除角色指定許可權
-
請求路徑:roles/:roleId/rights/:rightId
-
請求方法:delete
-
請求引數
引數名 引數說明 備註 :roleId 角色 ID 不能為空 攜帶在url中
:rightId 許可權 ID 不能為空 攜帶在url中
-
響應資料說明
- 返回的data, 是當前角色下最新的許可權資料
-
響應資料
{ "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": "取消許可權成功", "status": 200 } }
1.6. 商品分類管理
1.6.1. 商品分類資料列表
- 請求路徑:categories
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
type | [1,2,3] | 值:1,2,3 分別表示顯示一層二層三層分類列表 【可選引數】如果不傳遞,則預設獲取所有級別的分類 |
pagenum | 當前頁碼值 | 【可選引數】如果不傳遞,則預設獲取所有分類 |
pagesize | 每頁顯示多少條資料 | 【可選引數】如果不傳遞,則預設獲取所有分類 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
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
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
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": "建立成功",
"status": 201
}
}
1.6.3. 根據 id 查詢分類
- 請求路徑:categories/:id
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
- 響應資料
{
"data": {
"cat_id": 3,
"cat_name": "廚衛電器",
"cat_pid": 0,
"cat_level": 0
},
"meta": {
"msg": "獲取成功",
"status": 200
}
}
1.6.4. 編輯提交分類
- 請求路徑:categories/:id
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
cat_name | 分類名稱 | 不能為空【此引數,放到請求體中】 |
- 響應資料
{
"data": {
"cat_id": 22,
"cat_name": "自拍杆",
"cat_pid": 7,
"cat_level": 2
},
"meta": {
"msg": "更新成功",
"status": 200
}
}
1.6.5. 刪除分類
- 請求路徑:categories/:id
- 請求方法:delete
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
- 響應資料
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.7. 分類引數管理
1.7.1. 引數列表
- 請求路徑:categories/:id/attributes
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
sel | [only,many] | 不能為空,通過 only 或 many 來獲取分類靜態引數還是動態引數 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
attr_id | 分類引數 ID | |
attr_name | 分類引數名稱 | |
cat_id | 分類引數所屬分類 | |
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. 新增動態引數或者靜態屬性
- 請求路徑:categories/:id/attributes
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
attr_name | 引數名稱 | 不能為空 |
attr_sel | [only,many] | 不能為空 |
attr_vals | 如果是 many 就需要填寫值的選項,以逗號分隔 | 【可選引數】 |
- 響應資料
{
"data": {
"attr_id": 44,
"attr_name": "測試引數",
"cat_id": "1",
"attr_sel": "many",
"attr_write": "list",
"attr_vals": "a,b,c"
},
"meta": {
"msg": "建立成功",
"status": 201
}
}
1.7.3. 刪除引數
- 請求路徑: categories/:id/attributes/:attrid
- 請求方法:delete
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
:attrid | 引數 ID | 不能為空攜帶在url中 |
- 響應資料
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
1.7.4. 根據 ID 查詢引數
- 請求路徑:categories/:id/attributes/:attrId
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
: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. 編輯提交引數
- 請求路徑:categories/:id/attributes/:attrId
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
:id | 分類 ID | 不能為空攜帶在url中 |
:attrId | 屬性 ID | 不能為空攜帶在url中 |
attr_name | 新屬性的名字 | 不能為空,攜帶在請求體 中 |
attr_sel | 屬性的型別[many或only] | 不能為空,攜帶在請求體 中 |
attr_vals | 引數的屬性值 | 可選引數,攜帶在請求體 中 |
- 響應資料
{
"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. 商品列表資料
- 請求路徑:goods
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
query | 查詢引數 | 可以為空 |
pagenum | 當前頁碼 | 不能為空 |
pagesize | 每頁顯示條數 | 不能為空 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
total | 總共商品條數 | |
pagenum | 當前商品頁數 | |
goods_id | 商品 ID | |
goods_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
}
}
1.8.2. 新增商品
- 請求路徑:goods
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
goods_name | 商品名稱 | 不能為空 |
goods_cat | 以為','分割的分類列表 | 不能為空 |
goods_price | 價格 | 不能為空 |
goods_number | 數量 | 不能為空 |
goods_weight | 重量 | 不能為空 |
goods_introduce | 介紹 | 可以為空 |
pics | 上傳的圖片臨時路徑(物件) | 可以為空 |
attrs | 商品的引數(陣列),包含 動態引數 和 靜態屬性 |
可以為空 |
- 請求資料
{
"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"
}
]
}
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
total | 總共商品條數 | |
pagenum | 當前商品頁數 | |
goods_id | 商品 ID | |
goods_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
}
}
1.8.3. 根據 ID 查詢商品
- 請求路徑:goods/:id
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 商品 ID | 不能為空攜帶在url中 |
- 響應引數
引數名 | 引數說明 | 備註 |
---|---|---|
total | 總共商品條數 | |
pagenum | 當前商品頁數 | |
goods_id | 商品 ID | |
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,
"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
}
}
1.8.4. 編輯提交商品
- 請求路徑: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 | 商品 ID | |
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,
"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
}
}
1.8.5. 刪除商品
- 請求路徑:goods/:id
- 請求方法:delete
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 商品 ID | 不能為空攜帶在url中 |
- 響應資料
{
"data": null,
"meta": {
"msg": "刪除成功",
"status": 200
}
}
###同步商品圖片
- 請求路徑:goods/:id/pics
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 商品 ID | 不能為空攜帶在url中 |
pics | 商品圖片集合 | 如果有 pics_id 欄位會保留該圖片,如果沒有 pics_id 但是有 pic 欄位就會新生成圖片資料 |
- 請求資料
;[
{ 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
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
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
- linux
apt-get install GraphicsMagick
- Mac OS X
brew install GraphicsMagick
- Windows
1.9. 圖片上傳
- 請求路徑:upload
- 請求方法:post
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
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. 訂單資料列表
- 請求路徑:orders
- 請求方法:get
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
query | 查詢引數 | 可以為空 |
pagenum | 當前頁碼 | 不能為空 |
pagesize | 每頁顯示條數 | 不能為空 |
user_id | 使用者 ID | 可以為空 |
pay_status | 支付狀態 | 可以為空 |
is_send | 是否發貨 | 可以為空 |
order_fapiao_title | ['個人','公司'] | 可以為空 |
order_fapiao_company | 公司名稱 | 可以為空 |
order_fapiao_content | 發票內容 | 可以為空 |
consignee_addr | 發貨地址 | 可以為空 |
- 響應資料
{
"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:\"北京市海淀區蘇州街長遠天地大廈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. 修改訂單狀態
- 請求路徑:orders/:id
- 請求方法:put
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
id | 訂單 ID | 不能為空攜帶在url中 |
is_send | 訂單是否發貨 | 1:已經發貨,0:未發貨 |
order_pay | 訂單支付 | 支付方式 0 未支付 1 支付寶 2 微信 3 銀行卡 |
order_price | 訂單價格 | |
order_number | 訂單數量 | |
pay_status | 支付狀態 | 訂單狀態: 0 未付款、1 已付款 |
- 請求資料說明
- 所有請求資料都是增量更新,如果引數不填寫,就不會更新該欄位
- 響應資料
{
"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
- 請求引數
引數名 | 引數說明 | 備註 |
---|---|---|
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. 修改地址
1.10.5. 檢視物流資訊
-
請求路徑:/kuaidi/:id
-
請求方法:get
-
供測試的物流單號:1106975712662
-
響應資料:
{ "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": "[北京市]北京海淀育新小區營業點派件員 順豐速運 95338正在為您派件", "location": "" }, { "time": "2018-05-10 07:32:00", "ftime": "2018-05-10 07:32:00", "context": "快件到達 [北京海淀育新小區營業點]", "location": "" }, { "time": "2018-05-10 02:03:00", "ftime": "2018-05-10 02:03:00", "context": "快件在[北京順義集散中心]已裝車,準備發往 [北京海淀育新小區營業點]", "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": "快件在[北京寶勝營業點]已裝車,準備發往 [北京順義集散中心]", "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": "賣家發貨", "location": "" }, { "time": "2018-05-09 12:22:24", "ftime": "2018-05-09 12:22:24", "context": "您的訂單將由HLA(北京海淀區清河中街店)門店安排發貨。", "location": "" }, { "time": "2018-05-08 21:36:04", "ftime": "2018-05-08 21:36:04", "context": "商品已經下單", "location": "" } ], "meta": { "status": 200, "message": "獲取物流資訊成功!" } }
1.11. 資料統計
1.11.1. 基於時間統計的折線圖
-
請求路徑:reports/type/1
-
請求方法:get
-
響應資料
-
需要合併的選項
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' } ] }