1. 电商管理后台 API 接口文档
1.1. API V1 接口说明
http://127.0.0.1:8888/api/private/v1/
Authorization
с токеном в заголовке запроса1.1.1. Поддерживаемые методы запросов
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. Интерфейс входа
Параметр имени | Описание параметра | Примечание |
---|---|---|
username | Имя пользователя | Не может быть пустым |
password | Пароль | Не может быть пустым |
Параметр имени | Описание параметра | Примечание |
---|---|---|
id | Идентификатор пользователя | |
rid | Идентификатор роли пользователя | |
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.3. Управление пользователями
1.3.1. Список данных пользователей
Параметр имени | Описание параметра | Примечание |
---|---|---|
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": "Администратор Chao Ji"
}
]
},
"meta": {
"msg": "Получение выполнено успешно",
"status": 200
}
}
1.3.2. Добавление пользователя
Параметр имени | Описание параметра | Примечание |
---|---|---|
username | Имя пользователя | Не может быть пустым |
password | Пароль пользователя | Не может быть пустым |
Электронная почта | Может быть пустой | |
mobile | Мобильный телефон | Может быть пустым |
Параметр имени | Описание параметра | Примечание |
---|---|---|
id | Идентификатор пользователя | |
rid | Идентификатор роли пользователя | |
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,
``` **1.3.3 Изменение состояния пользователя**
*Запрос пути:* users/:uId/state/:type
*Метод запроса:* put
*Параметры запроса:*
| Параметр | Описание | Примечание |
| --- | --- | --- |
| uId | Идентификатор пользователя | Не может быть пустым, передаётся в URL |
| type | Состояние пользователя | Не может быть пустым, передаётся в URL, значение true или false |
*Ответные данные:*
```json
{
"data": {
"id": 566,
"rid": 30,
"username": "admin",
"mobile": "123456",
"email": "bb@itcast.com",
"mg_state": 0
},
"meta": {
"msg": "Состояние установлено успешно",
"status": 200
}
}
1.3.4 Запрос информации о пользователе по ID
Путь запроса: users/:id Метод запроса: get Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | Не может быть пустым, передаётся в URL |
Ответные параметры:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | |
role_id | Идентификатор роли | |
mobile | Номер мобильного телефона | |
Адрес электронной почты |
Ответные данные:
{
"data": {
"id": 503,
"username": "admin3",
"role_id": 0,
"mobile": "00000",
"email": "new@new.com"
},
"meta": {
"msg": "Запрос выполнен успешно",
"status": 200
}
}
1.3.5 Отправка изменений для пользователя
Путь запроса: users/:id Метод запроса: put Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | Не может быть пустым, параметр URL:id |
Электронная почта | Может быть пустым | |
mobile | Мобильный телефон | Может быть пустым |
Ответные параметры:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | |
role_id | Идентификатор роли | |
mobile | Номер мобильного телефона | |
Адрес электронной почты |
Ответные данные:
/* 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 Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | Не может быть пустым, параметр URL:id |
Ответные параметры и данные:
{
"data": null,
"meta": {
"msg": "Удаление выполнено успешно",
"status": 200
}
}
1.3.7 Назначение роли пользователю
Путь запроса: users/:id/role Метод запроса: put Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | Не может быть пустым, параметр URL:id |
rid | Идентификатор роли | Не может быть пустым, тело запроса |
Ответные параметры:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор пользователя | |
role_id | Идентификатор роли | |
mobile | Мобильный телефон | |
Адрес электронной почты |
Ответные данные:
{
"data": {
"id": 508,
"rid": "30",
"username": "asdf1",
"mobile": "123123",
"email": "adfsa@qq.com"
},
"meta": {
"msg": "Назначение роли выполнено успешно",
"status": 200
}
}
1.4.1 Список всех прав доступа
Путь запроса: rights/:type Метод запроса: get Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
type | Тип | Значение list или tree, list отображает список прав, tree отображает права в виде дерева, параметр URL:type |
Ответные параметры:
Параметр | Описание | Примечание |
---|---|---|
id | Идентификатор права | |
authName | Описание права | |
level | Уровень права | |
pid | Идентификатор родительского права | |
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: 'Список товаров',
``` **1.4.2. Левый боковой меню прав доступа**
Запрос пути: menus
Запрос метода: get
Ответ данных:
```json
{
"data": {
"id": 101,
"authName": "Управление товарами",
"path": null,
"children": [
{
"id": 104,
"authName": "Список товаров",
"path": null,
"children": []
}
]
},
"meta": {
"msg": "Получение списка меню успешно",
"status": 200
}
}
1.5. Управление ролями
1.5.1. Список ролей
Путь запроса: roles Метод запроса: get Описание ответа данных:
Ответ данных:
{
"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 | Идентификатор роли | |
roleName | Название роли | |
roleDesc | Описание роли |
Ответ данных:
{
"data": {
"roleId": 40,
"roleName": "admin2",
"roleDesc": "admin2Desc"
},
"meta": {
"msg": "Создание успешно",
"status": 201
}
}
1.5.3. Запрос роли по идентификатору
Путь запроса: roles/:id Метод запроса: get Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
:id | Идентификатор роли | Нельзя оставить пустым, передаётся в URL |
Ответ параметров:
Параметр | Описание | Примечание |
---|---|---|
roleId | Идентификатор роли | |
roleName | Название роли | |
roleDesc | Описание роли |
Ответ данных:
{
"data": {
"roleId": 31,
"roleName": "Тестовая роль",
"roleDesc": "Ответственный за тестирование"
},
"meta": {
"msg": "Получено успешно",
"status": 200
}
}
1.5.4. Изменение и отправка роли
Путь запроса: roles/:id Метод запроса: put Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
:id | Идентификатор роли | Нельзя оставить пустым, передаётся в URL |
roleName | Название роли | Нельзя оставить пустым |
roleDesc | Описание роли | Можно оставить пустым |
Ответ данных:
{
"data": {
"roleId": 31,
"roleName": "Тестовая роль",
"roleDesc": "Описание тестовой роли"
},
"meta": {
"msg": "Получено успешно",
"status": 200
}
}
1.5.5. Удаление роли
Путь запроса: roles/:id Метод запроса: delete Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
:id | Идентификатор роли | Нельзя оставить пустым, передаётся в URL |
Ответ данных:
{
"data": null,
"meta": {
"msg": "Удаление успешно",
"status": 200
}
}
1.5.6. Назначение прав роли
Путь запроса: roles/:roleId/rights Метод запроса: post Параметры запроса (передаются через тело запроса):
Параметр | Описание | Примечание |
---|---|---|
:roleId | Идентификатор роли | Нельзя оставить пустым, передаётся в URL |
rids | Список идентификаторов прав (строка, разделённая запятыми) | Включает все выбранные и полувыбранные ключи, включая права первого, второго и третьего уровней, включая 1, 2 и 3 |
Ответ данных:
{
"data":
} **Нулевой ответ:**
null, "meta": { "msg": "Обновление успешно", "status": 200 } }
**Ответ на запрос 1.5.7 «Удаление роли с определёнными правами»:**
```json
{
"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 «Список данных категорий товаров»:
{
"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": "Haier",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false
}
]
}
]
}
],
"meta": {
"msg": "Получение успешно",
"status": 200
}
}
Ответ на запрос 1.6.2 «Добавление категории»:
{
"data": {
"cat_id": 62,
"cat_name": "Рамки для фотографий",
"cat_pid": "1",
"cat_level": "1"
},
"meta": {
"msg": "Создание успешно",
"status": 201
}
}
Ответ на запрос 1.6.3 «Поиск категории по id»:
{
"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 | Идентификатор категории | Нельзя оставлять пустым, передаётся в URL |
| sel | [only, many] | Нельзя оставлять пустым; используется для получения статических или динамических параметров категории |
- Ответные параметры
| Параметр | Описание | Примечание |
|------------------------|----------------------------------------------------------|------------|
| attr_id | Идентификатор параметра категории | |
| attr_name | Имя параметра категории | |
| cat_id | Категория, к которой относится параметр | |
| attr_sel | only: поле ввода (уникальное значение) <br> many: список на стороне сервера / одиночный выбор на стороне клиента | |
| attr_write | manual: ручная запись <br> 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 | Идентификатор категории | Нельзя оставлять пустым, передаётся в 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 | Идентификатор категории | Нельзя оставлять пустым, передаётся в URL |
| :attrid | Идентификатор параметра | Нельзя оставлять пустым, передаётся в URL |
- Ответные данные
{ "data": null, "meta": { "msg": "Успешное удаление", "status": 200 } }
### 1.7.4. Запрос параметра по идентификатору
- Путь запроса: categories/:id/attributes/:attrId
- Метод запроса: get
- Параметры запроса
| Параметр | Описание | Примечание |
| ------------- | ----------------------------------------------------- | ------------------------------------ |
| :id | Идентификатор категории | Нельзя оставлять пустым, передаётся в URL |
| :attrId | Идентификатор параметра | Нельзя оставлять пустым, передаётся в 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 | Значения параметров атрибута | Необязательный параметр, передаётся в теле запроса |
— Ответные данные:
```json
{
"data": {
"attr_id": 9,
"attr_name": "Тестирование обновления",
"cat_id": "43",
"attr_sel": "only",
"attr_write": "manual",
"attr_vals": "abc"
},
"meta": {
"msg": "Обновление успешно",
"status": 200
}
}
— Путь запроса: goods — Метод запроса: get — Параметры запроса:
Параметр | Описание | Примечание |
---|---|---|
query | Параметр поиска | Может быть пустым |
pagenum | Номер текущей страницы | Не может быть пустым |
pagesize | Количество элементов на странице | Не может быть пустым |
— Параметры ответа:
Параметр | Описание | Примечание |
---|---|---|
total | Общее количество товаров | |
pagenum | Текущий номер товара | |
goods_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
}
}
— Путь запроса: 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 | Идентификатор товара | |
goods_cat | Список категорий через запятую | |
goods_name | Название товара | |
... | ... | ... |
------------------ | ------------------------------------------------------------ | |
goods_id | Идентификатор товара | |
goods_name | Наименование товара | |
goods_price | Цена товара | |
cat_id | Идентификатор категории | |
goods_number | Количество товара | |
goods_weight | Вес товара | |
goods_introduce | Описание товара | |
goods_big_logo | Логотип товара большого размера | |
goods_small_logo | Логотип товара маленького размера | |
goods_state | Статус товара: 0 — не прошёл, 1 — на рассмотрении, 2 — одобрен | |
add_time | Время добавления | |
upd_time | Время обновления | |
hot_mumber | Популярность товара | |
is_promote | Является ли товар популярным | |
pics | Временный путь к загруженным изображениям | |
attrs | Параметры товара | |
--- | --- | -------------------------------------------------------------- |
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:手动输入,还是单选, |
1.8.4. 编辑提交商品
参数名 | 参数说明 | 备注 |
---|---|---|
id | 商品 ID | 不能为空携带在url中
|
goods_name | 商品名称 | 不能为空 |
goods_price | 价格 | 不能为空 |
goods_number | 数量 | 不能为空 |
goods_weight | 重量 | 不能为空 |
goods_introduce | 介绍 | 可以为空 |
pics | 上传的图片临时路径(对象) | 可以为空 |
attrs | 商品的参数(数组) | 可以为空 |
{
"data": {
"goods_id": 145,
"goods_name": "test_goods_name2",
"goods_price": 20,
"goods_number": 30,
"goods_weight": 40,
"goods_introduce": "abc",
"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
}
}
``` | |
| upd_time | время обновления | |
| hot_mumber | количество товаров, пользующихся спросом | |
| is_promote | является ли товаром, пользующимся спросом | |
| pics | временный путь (объект) загруженных изображений | pics_id: идентификатор изображения, goods_id: идентификатор товара, pics_big: большое изображение, pics_mid: среднее изображение, pics_sma: маленькое изображение |
| attrs | параметры товара (массив) | goods_id: идентификатор товара, attr_value: текущее значение параметра товара, add_price: плавающая цена, attr_vals: предопределённые значения параметров, attr_sel: ручной ввод или одиночный выбор |
**1.8.5. Удаление товара**
- Запрос: путь — goods/:id, метод — delete.
Запрос содержит параметр:
| Параметр | Описание | Примечание |
| --- | --- | --- |
| id | Идентификатор товара | Не может быть пустым, передаётся в URL |
Ответ:
{ "data": null, "meta": { "msg": "Удаление успешно", "status": 200 } }
### Синхронное обновление изображения товара
- Запрос: путь — goods/:id/pics, метод — put.
Запрос содержит параметры:
| Параметр | Описание | Примечание |
| --- | --- | --- |
| 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" } ] }, "meta": {} }
Запрос:
- Путь: goods/:id/attributes.
- Метод: put.
- Параметры:
* id — идентификатор товара (обязательный параметр, передаётся в URL).
Данные запроса:
[ { attr_id: 15, attr_value: 'ddd' }, { attr_id: 15, attr_value: 'eee' } ]
Ответ:
```json
{
"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
Для установки GraphicsMagick на разных операционных системах необходимо выполнить следующие действия:
apt-get install GraphicsMagick
brew install GraphicsMagick
Загрузка изображений
Запрос:
Ответ:
{
"data": {
"tmp_path": "tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png",
"url": "http://127.0.0.1:8888tmp_uploads/ccfc5179a914e94506bcbb7377e8985f.png"
},
"meta": {
"msg": "Загрузка успешно",
"status": 200
}
}
Управление заказами
Список данных заказов
Запрос:
Ответ:
{
"data": {
"total": 1
},
"meta": {
"msg": "",
"status": 200
}
}
``` **1.10.2. Модификация статуса заказа**
* Запрос пути: orders/:id
* Метод запроса: put
* Параметры запроса
| Параметр | Описание | Примечание |
| --- | --- | --- |
| id | Идентификатор заказа | Не может быть пустым, передаётся в URL |
| is_send | Статус отправки заказа | 1 — заказ отправлен, 0 — не отправлен |
| order_pay | Способ оплаты заказа | 0 — оплата не произведена, 1 — оплата через Alipay, 2 — оплата через WeChat, 3 — оплата картой |
| order_price | Цена заказа | |
| order_number | Количество товаров в заказе | |
| pay_status | Статус оплаты | 0 — заказ не оплачен, 1 — оплачен |
* Описание данных запроса
* Все данные запроса являются данными для инкрементного обновления. Если параметр не указан, соответствующее поле обновляться не будет.
* Ответные данные
```json
{
"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 | Идентификатор заказа | Не может быть пустым, передаётся в 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":
``` Текст запроса представляет собой данные, связанные с логистикой и доставкой товаров. Перевод технической части текста не требуется, так как в запросе нет кода или специализированных терминов.
В запросе содержится информация о доставке товара от момента оформления заказа до получения его покупателем. В ответе также сообщается об успешном получении информации о логистике.
**Ответ:**
[ { "time": "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": "获取物流信息成功!" }
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )