# HTML
# 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": "123@qq.com",
    "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1MTI1NDQyOTksImV4cCI6MTUxMjYzMDY5OX0.eGrsrvwHm-tPsO9r_pxHIQ5i5L1kX9RX444uwnRGaIM"
  },
  "meta": {
    "msg": "登录成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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": "tige112@163.com",
        "create_time": "2017-11-09T20:36:26.000Z",
        "mg_state": true, // 当前用户的状态
        "role_name": "炒鸡管理员"
      }
    ]
  },
  "meta": {
    "msg": "获取成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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": "test@test.com",
    "create_time": "2017-11-10T03:47:13.533Z",
    "modify_time": null,
    "is_delete": false,
    "is_active": false
  },
  "meta": {
    "msg": "用户创建成功",
    "status": 201
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 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": "bb@itcast.com",
    "mg_state": 0
  },
  "meta": {
    "msg": "设置状态成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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": "new@new.com"
  },
  "meta": {
    "msg": "查询成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 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": "123@123.com"
  },
  "meta": {
    "msg": "更新成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.3.6. 删除单个用户
- 请求路径:users/:id
- 请求方法:delete
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| id | 用户 id | 不能为空 参数是url参数:id | 
- 响应参数
- 响应数据
{
  "data": null,
  "meta": {
    "msg": "删除成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 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": "adfsa@qq.com"
  },
  "meta": {
    "msg": "设置角色成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 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
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 1.4.2. 左侧菜单权限
- 请求路径:menus
- 请求方法:get
- 响应数据
{
    "data":
        {
            "id": 101,
            "authName": "商品管理",
            "path": null,
            "children": [
                {
                    "id": 104,
                    "authName": "商品列表",
                    "path": null,
                    "children": []
                }
            ]
        }
    "meta": {
        "msg": "获取菜单列表成功",
        "status": 200
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 1.5.2. 添加角色
- 请求路径:roles
- 请求方法:post
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| roleName | 角色名称 | 不能为空 | 
| roleDesc | 角色描述 | 可以为空 | 
- 响应参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| roleId | 角色 ID | |
| roleName | 角色名称 | |
| roleDesc | 角色描述 | 
- 响应数据
{
  "data": {
    "roleId": 40,
    "roleName": "admin2",
    "roleDesc": "admin2Desc"
  },
  "meta": {
    "msg": "创建成功",
    "status": 201
  }
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 1.5.3. 根据 ID 查询角色
- 请求路径:roles/:id
- 请求方法:get
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| :id | 角色 ID | 不能为空 携带在url中 | 
- 响应参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| roleId | 角色 ID | |
| roleName | 角色名称 | |
| roleDesc | 角色描述 | 
- 响应数据
{
  "data": {
    "roleId": 31,
    "roleName": "测试角色",
    "roleDesc": "测试负责人"
  },
  "meta": {
    "msg": "获取成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 1.5.4. 编辑提交角色
- 请求路径:roles/:id
- 请求方法:put
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| :id | 角色 ID | 不能为空 携带在url中 | 
| roleName | 角色名称 | 不能为空 | 
| roleDesc | 角色描述 | 可以为空 | 
- 响应数据
{
  "data": {
    "roleId": 31,
    "roleName": "测试角色",
    "roleDesc": "测试角色描述"
  },
  "meta": {
    "msg": "获取成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 1.5.5. 删除角色
- 请求路径:roles/:id
- 请求方法:delete
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| :id | 角色 ID | 不能为空 携带在url中 | 
- 响应数据
{
  "data": null,
  "meta": {
    "msg": "删除成功",
    "status": 200
  }
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 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
2
3
4
5
6
7
2
3
4
5
6
7
# 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
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 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
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 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
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 1.6.5. 删除分类
- 请求路径:categories/:id
- 请求方法:delete
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| :id | 分类 ID | 不能为空 携带在url中 | 
- 响应数据
{
    "data": null,
    "meta": {
        "msg": "删除成功",
        "status": 200
    }
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.7.3. 删除参数
- 请求路径: categories/:id/attributes/:attrid
- 请求方法:delete
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| :id | 分类 ID | 不能为空 携带在url中 | 
| :attrid | 参数 ID | 不能为空 携带在url中 | 
- 响应数据
{
    "data": null,
    "meta": {
        "msg": "删除成功",
        "status": 200
    }
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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"
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- 响应参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 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"
    }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 响应参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 1.8.5. 删除商品
- 请求路径:goods/:id
- 请求方法:delete
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| id | 商品 ID | 不能为空 携带在url中 | 
- 响应数据
{
    "data": null,
    "meta": {
        "msg": "删除成功",
        "status": 200
    }
}
1
2
3
4
5
6
7
2
3
4
5
6
7
###同步商品图片
- 请求路径: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'
  }
]
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- 响应数据
{
    "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
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
###同步商品属性
- 请求路径:goods/:id/attributes
- 请求方法:put
- 请求参数
| 参数名 | 参数说明 | 备注 | 
|---|---|---|
| id | 商品 ID | 不能为空 携带在url中 | 
- 请求数据
;[
  {
    attr_id: 15,
    attr_value: 'ddd'
  },
  {
    attr_id: 15,
    attr_value: 'eee'
  }
]
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- 响应数据
{
    "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
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
###商品图片处理必须安装 GraphicsMagick
- linux
apt-get install GraphicsMagick
1
- Mac OS X
brew install GraphicsMagick
1
- Windows 点击下载 (opens new window)
# 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
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
# 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' } ] }1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30