You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1236 lines
36 KiB

2 weeks ago
# 二手交易平台接口文档
## 目录
- [1、接口概述](#1接口概述)
- [2、用户接口列表](#2用户接口列表)
- [2.1、用户注册](#21用户注册)
- [2.1.1基本信息](#211基本信息)
- [2.1.2请求参数](#212请求参数)
- [2.1.3响应数据](#213响应数据)
- [2.2、用户登录](#22用户登录)
- [2.2.1基本信息](#221基本信息)
- [2.2.2请求参数](#222请求参数)
- [2.2.3响应数据](#223响应数据)
- [2.2.4备注说明](#224备注说明)
- [2.3、获取用户基本信息](#23获取用户基本信息)
- [2.3.1基本信息](#231基本信息)
- [2.3.2请求参数](#232请求参数)
- [2.3.3响应数据](#233响应数据)
- [2.4、更新用户基本信息](#24更新用户基本信息)
- [2.4.1基本信息](#241基本信息)
- [2.4.2请求参数](#242请求参数)
- [2.4.3响应数据](#243响应数据)
- [2.5、更新用户头像](#25更新用户头像)
- [2.5.1基本信息](#251基本信息)
- [2.5.2请求参数](#252请求参数)
- [2.5.3响应数据](#253响应数据)
- [2.6、更新用户密码](#26更新用户密码)
- [2.6.1基本信息](#261基本信息)
- [2.6.2请求参数](#262请求参数)
- [2.6.3响应数据](#263响应数据)
- [3、商品接口列表](#3商品接口列表)
- [3.1、添加商品](#31添加商品)
- [3.1.1基本信息](#311基本信息)
- [3.1.2请求参数](#312请求参数)
- [3.1.3响应数据](#313响应数据)
- [3.2、获取商品列表](#32获取商品列表)
- [3.2.1基本信息](#321基本信息)
- [3.2.2请求参数](#322请求参数)
- [3.2.3响应数据](#323响应数据)
- [3.3、获取商品详情](#33获取商品详情)
- [3.3.1基本信息](#331基本信息)
- [3.3.2请求参数](#332请求参数)
- [3.3.3响应数据](#333响应数据)
- [3.4、删除商品](#34删除商品)
- [3.4.1基本信息](#341基本信息)
- [3.4.2请求参数](#342请求参数)
- [3.4.3响应数据](#343响应数据)
- [4、交易管理](#4交易管理)
- [4.1、创建订单](#41创建订单)
- [4.1.1基本信息](#411基本信息)
- [4.1.2请求参数](#412请求参数)
- [4.1.3响应数据](#413响应数据)
- [4.2、获取订单列表](#42获取订单列表)
- [4.2.1基本信息](#421基本信息)
- [4.2.2请求参数](#422请求参数)
- [4.2.3响应数据](#423响应数据)
- [4.3、获取订单详情](#34删除商品)
- [4.3.1基本信息](#431基本信息)
- [4.3.2请求参数](#432请求参数)
- [4.3.3响应数据](#433响应数据)
- [4.4、取消订单](#44取消订单)
- [4.4.1基本信息](#441基本信息)
- [4.4.2请求参数](#442请求参数)
- [4.4.3响应数据](#443响应数据)
- [5、管理员管理](#5管理员管理)
- [5.1、管理员登录](#51管理员管理)
- [5.1.1基本信息](#511基本信息)
- [5.1.2请求参数](#512请求参数)
- [5.1.3响应数据](#513响应数据)
- [5.2、用户管理](#52管理员管理)
- [5.2.1基本信息](#521基本信息)
- [5.2.2请求参数](#522请求参数)
- [5.2.3响应数据](#523响应数据)
- [5.3、商品管理](#53商品管理)
- [5.3.1基本信息](#531基本信息)
- [5.3.2请求参数](#532请求参数)
- [5.3.3响应数据](#533响应数据)
- [5.4、订单管理](#54订单管理)
- [5.4.1基本信息](#541基本信息)
- [5.4.2请求参数](#542请求参数)
- [5.4.3响应数据](#543响应数据)
- [5.5、退出模块](#55退出模块)
- [5.5.1基本信息](#551基本信息)
- [5.5.2请求参数](#552请求参数)
- [5.5.3响应数据](#553响应数据)
- [6、其他接口](#6其他接口)
- [6.1、搜索商品](#61搜索商品)
- [6.1.1基本信息](#611基本信息)
- [6.1.2请求参数](#612请求参数)
- [6.1.3响应数据](#613响应数据)
- [6.2、用户反馈](#62用户反馈)
- [6.2.1基本信息](#621基本信息)
- [6.2.2请求参数](#622请求参数)
- [6.2.3响应数据](#623响应数据)
## 1、接口概述
该接口文档描述了二手交易平台的所有API接口包括用户管理、商品管理、交易管理、管理员管理等功能。
## 2、用户接口列表
### 2.1、用户注册
#### 2.1.1基本信息
- 请求路径URL`user/register`
- 请求方式:`POST`
- 接口描述:该接口用于注册新用户
#### 2.1.2请求参数
- 请求参数格式:`X-www-form-urlencoded`
`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:-------|:------:|:---------|:----------|
| **username** | 用户名 | string | 是 | 5-16位非空字符 |
| **password** | 密码 | string | 是 | 5-16位非空字符 |
- 请求数据样例:
```json
username=sunhehe&password=123456
```
#### 2.1.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | string | 必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": null
}
```
### 2.2、用户登录
#### 2.2.1基本信息
- 请求路径URL`user/login`
- 请求方式:`POST`
- 接口描述:该接口用于用户登录
#### 2.2.2请求参数
- 请求参数格式:`X-www-form-yrlencoded`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:-------|:-------|:---------|:----------|
| **username** | 用户名 | string | 是 | 5-16位非空字符 |
| **password** | 密码 | string | 是 | 5-16位非空字符 |
- 请求数据样例:
```json
username=sunhehe&password=123456
```
#### 2.2.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | string | 必须 | 返回的数据 jwt 令牌 |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMSIsInVzZXJuYW1lIjoi5byg5LiJIn0sImV4cCI6MTczMDY1MjY4NH0.U9DCkONPv_Nw29WHbpABQ2yRl4LVoQYPpkZ1_qKIR2U"
}
```
#### 2.2.4备注说明
> 用户登录成功后,系统会自动下发 JWT 令牌,然后在后续的每次请求中,浏览器都需要在请求头 header 中携带到服务端,请求头的名称为
` Authorization ` ,值为登录时下发的 JWT 令牌。
> \
> 如果检测到用户未登录,则 http 响应状态码为 `401`
### 2.3、获取用户基本信息
#### 2.3.1基本信息
- 请求路径URL`user/userinfo`
- 请求方式:`GET`
- 接口描述:该接口用于获取当前已登陆用户的详细信息
#### 2.3.2请求参数
#### 2.3.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:------------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | string | 必须 | 返回的数据 |
| --id | number | 非必须 | 主键ID |
| --userna | string | 非必须 | 用户名 |
| --nickname | string | 非必须 | 昵称 |
| --email | string | 非必须 | 邮箱 |
| --userPic | string | 非必须 | 头像地址 |
| --createTime | string | 非必须 | 创建时间 |
| --updateTime | string | 非必须 | 更新时间 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": {
"id": 5,
"username": "sunhehe",
"nickname": "",
"emai1": "",
"userPic": "",
"createTime": "2024-11-0322:21:31",
"updateTime": "2024-11-0322:21:31"
}
}
```
### 2.4、更新用户基本信息
#### 2.4.1基本信息
- 请求路径URL`/user/update`
- 请求方式:`PUT`
- 接口描述:该接口用于更新已登录用户的基本信息(除头像和密码)
#### 2.4.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:-------|:-------|:---------|----------:|
| **id** | 主键ID | number | 是 | |
| **username** | 用户名 | string | 否 | 5-16位非空字符 |
| **nickname** | 昵称 | string | 是 | 1-10位非空字符 |
| **email** | 邮箱 | string | 是 | 满足邮箱格式要求 |
- 请求数据样例:
```json
{
"id": 5,
"username": "sunhehe",
"nickname": "澜崽",
"email": "151037@qq.com"
}
```
#### 2.4.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 2.5、更新用户头像
#### 2.5.1基本信息
- 请求路径URL`user/updateAvatar`
- 请求方式:`PATCH`
- 接口描述:该接口用于更新已登录用户的头像
#### 2.5.2请求参数
- 请求参数格式:`queryString`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:--------------|:-------|:-------|:---------|-------:|
| **avatarUrl** | 头像地址 | string | 是 | url地址 |
- 请求数据样例:
```js
{
avatarur1 = https://haowallpaper.com/link/common/file/previewFileImg/15690537886650688
}
```
#### 2.5.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 2.6、更新用户密码
#### 2.6.1基本信息
- 请求路径URL`user/updatePwd`
- 请求方式:`PATCH`
- 接口描述:该接口用于更新已登录用户的密码
#### 2.6.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:-------|:---------|-------:|
| **old_pwd** | 原密码 | string | 是 | |
| **new_pwd** | 新密码 | string | 是 | |
| **re_pwd** | 确认新密码 | string | 是 | |
- 请求数据样例:
```json
{
"old_pwd": "123456",
"new_pwd": "234567",
"re_pwd": "234567"
}
```
#### 2.6.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
## 3、商品接口列表
### 3.1、添加商品
#### 3.1.1基本信息
- 请求路径URL`product/add`
- 请求方式:`POST`
- 接口描述:该接口用于添加新商品
#### 3.1.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:----------------|:---------|:--------|:---------|----------:|
| **name** | 商品名称 | string | 是 | 商品的名称 |
| **price** | 商品价格 | number | 是 | 商品的价格(¥) |
| **description** | 商品描述 | string | 否 | 对商品的详细描述 |
| **category** | 商品类别 | string | 是 | 商品所属类别 |
| **imageUrl** | 商品图片链接 | string | 否 | 商品图片的URL |
- 请求数据样例:
```json
{
"name": "二手书籍",
"price": 50,
"description": "一本很好的二手书籍",
"category": "书籍",
"imageUrl": "https://img3m5.ddimg.cn/58/24/27883705-1_e_2.jpg"
}
```
#### 3.1.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 3.2、获取商品列表
#### 3.2.1基本信息
- 请求路径URL`product/list`
- 请求方式:`GET`
- 接口描述:该接口用于获取商品列表
#### 3.2.2请求参数
#### 3.2.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:--------------|:---------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 商品列表 |
| --id | number | 非必须 | 商品ID |
| --name | string | 非必须 | 商品的名称 |
| --price | number | 非必须 | 商品的价格(¥) |
| --description | string | 非必须 | 商品描述 |
| --category | string | 非必须 | 商品类别 |
| --imageUrl | string | 非必须 | 商品图片 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": [
{
"id": 1,
"name": "二手书籍",
"price": 50,
"description": "一本很好的二手书籍",
"category": "书籍",
"imageUrl": "http://example.com/image.jpg"
},
{
"id": 2,
"name": "二手台灯",
"price": 300,
"description": "状态良好的二手台灯",
"category": "杂物",
"imageUrl": "http://example.com/image2.jpg"
}
]
}
```
### 3.3、获取商品详情
#### 3.3.1基本信息
- 请求路径URL`product/detail/{id}`
- 请求方式:`GET`
- 接口描述:该接口用于获取指定商品的详细信息
#### 3.3.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:---------|:-------|:--------|:---------|-----------:|
| **id** | 商品ID | number | 必须 | 要获取详情的商品ID |
- 请求数据样例:
```json
{
"id": 1
}
```
#### 3.3.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 商品详细信息 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": {
"id": 1,
"name": "二手书籍",
"price": 50,
"description": "一本很好的二手书籍",
"category": "书籍",
"imageUrl": "http://example.com/image.jpg"
}
}
```
### 3.4、删除商品
#### 3.4.1基本信息
- 请求路径URL`product/delete/{id}`
- 请求方式:`DELETE`
- 接口描述:该接口用于删除指定商品
#### 3.4.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:---------|:-------|:--------|:---------|---------:|
| **id** | 商品ID | number | 是 | 要删除的商品ID |
- 请求数据样例:
```json
{
"id": 2
}
```
#### 3.4.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
## 4、交易管理
### 4.1、创建订单
#### 4.1.1基本信息
- 请求路径URL`order/create`
- 请求方式:`POST`
- 接口描述:该接口用于创建新订单
#### 4.1.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:---------|:-------|:-------|:---------|-------:|
- 请求数据样例:
```json
{
}
```
#### 4.1.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 4.2、获取订单列表
#### 4.2.1基本信息
- 请求路径URL`order/list`
- 请求方式:`GET`
- 接口描述:该接口用于获取用户的订单列表
#### 4.2.2请求参数
#### 4.2.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 4.3、获取订单详情
#### 4.3.1基本信息
- 请求路径URL`order/detail/{id}`
- 请求方式:`GET`
- 接口描述:该接口用于获取指定订单的详细信息
#### 4.3.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
- 请求数据样例:
#### 4.3.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:------------|:-------|:---------|:----------------|
| **code** | number | 必须 | 响应码0 -成功1 -失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据 |
- 响应数据样例:
```json
{
"code": 0,
"message'": "操作成功",
"data": null
}
```
### 4.4、取消订单
#### 4.4.1基本信息
- 请求路径URL`/order/cancel/{id}`
- 请求方式:`DELETE`
- 接口描述该接口用于取消指定订单。通过订单ID`id`)来唯一标识待取消的订单。如果订单状态允许取消(例如未支付或待发货),则可以成功取消订单。
#### 4.4.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:------------|:------------|:--------|:-----------:|:------------|
| **id** | 订单ID | number | 是 | 订单的唯一标识符,用于指定需要取消的订单。 |
> 注:`id`是URL路径的一部分不是请求体中的参数。
- 请求数据样例:
#### 4.4.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:---------|:-----------:|:----------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据,通常为空 |
- 响应数据样例:
```json
//取消订单成功
{
"code": 0,
"message": "订单取消成功",
"data": null
}
```
```json
// 取消订单失败(例如订单已发货或已完成)
{
"code": 1,
"message": "订单无法取消,订单已发货",
"data": null
}
```
## 5、管理员管理
### 5.1、管理员登录
#### 5.1.1基本信息
- 请求路径URL`/admin/login`
- 请求方式:`POST`
- 接口描述:管理员登录接口,用于验证管理员身份并返回登录信息。
#### 5.1.2请求参数
- 请求参数格式:`application/x-www-form-urlencoded`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:--------:|:-----------:|:------------------|
| **username** | 用户名 | string | 是 | 管理员的用户名5-16位 |
| **password** | 密码 | string | 是 | 管理员的密码5-16位 |
- 请求数据样例:
```json
username=sunhehe&password=123456
```
#### 5.1.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:--------|:-----------:|:------------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息,登录成功或失败的描述 |
| **data** | object | 非必须 | 包含管理员的登录令牌等信息 |
- 响应数据样例:
```json
{
"code": 0,
"message": "登录成功",
"data": {
"token": "abcd1234xyz",
"adminId": "admin_001",
"role": "super_admin"
}
}
```
### 5.2、用户管理
#### 5.2.1基本信息
- 请求路径URL`/admin/user/list`
- 请求方式:`GET`
- 接口描述:管理员查看用户列表。
#### 5.2.2请求参数
- 请求参数格式:`application/x-www-form-urlencoded`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:--------:|:-----------:|:-------------|
| **page** | 页码 | number | 否 | 默认为1分页 |
| **size** | 每页数量 | number | 否 | 默认为10分页 |
- 请求数据样例:
#### 5.2.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:-----------:|:----------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object[] | 必须 | 用户列表数据 |
| **data[]** | object | 必须 | 每个用户的详细信息 |
| **data[].id**| string | 必须 | 用户ID |
| **data[].username** | string | 必须 | 用户名 |
| **data[].email** | string | 非必须 | 用户邮箱 |
| **data[].status** | string | 非必须 | 用户状态 (active/inactive) |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": [
{
"id": "user_001",
"username": "john_doe",
"email": "john.doe@example.com",
"status": "active"
},
{
"id": "user_002",
"username": "jane_smith",
"email": "jane.smith@example.com",
"status": "inactive"
}
]
}
```
### 5.3、商品管理
#### 5.3.1基本信息
- 请求路径URL`/admin/product/list`
- 请求方式:`GET`
- 接口描述:管理员查看所有商品信息。
#### 5.3.2请求参数
- 请求参数格式:`application/x-www-form-urlencoded`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:--------:|:-----------:|:--------------|
| **page** | 页码 | number | 否 | 默认为1分页 |
| **size** | 每页数量 | number | 否 | 默认为10分页 |
- 请求数据样例:
#### 5.3.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:-----------:|:----------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object[] | 必须 | 商品列表数据 |
| **data[]** | object | 必须 | 每个商品的详细信息 |
| **data[].id**| string | 必须 | 商品ID |
| **data[].name** | string | 必须 | 商品名称 |
| **data[].price** | number | 必须 | 商品价格 |
| **data[].quantity** | number | 必须 | 商品库存数量 |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": [
{
"id": "prod_001",
"name": "二手笔记本电脑",
"price": 2999.99,
"quantity": 10
},
{
"id": "prod_002",
"name": "二手手机",
"price": 1599.99,
"quantity": 25
}
]
}
```
### 5.4、订单管理
#### 5.4.1基本信息
- 请求路径URL`/admin/order/list`
- 请求方式:`GET`
- 接口描述:管理员查看所有订单信息。
#### 5.4.2请求参数
- 请求参数格式:`application/x-www-form-urlencoded`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:--------:|:-----------:|:--------------|
| **page** | 页码 | number | 否 | 默认为1分页 |
| **size** | 每页数量 | number | 否 | 默认为10分页 |
- 请求数据样例:
#### 5.4.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:-----------:|:----------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object[] | 必须 | 订单列表数据 |
| **data[]** | object | 必须 | 每个订单的详细信息 |
| **data[].orderId** | string | 必须 | 订单ID |
| **data[].userId** | string | 必须 | 用户ID |
| **data[].productId** | string | 必须 | 商品ID |
| **data[].quantity** | number | 必须 | 商品数量 |
| **data[].status** | string | 必须 | 订单状态 (pending/paid/shipped) |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": [
{
"orderId": "order_001",
"userId": "user_001",
"productId": "prod_001",
"quantity": 1,
"status": "paid"
},
{
"orderId": "order_002",
"userId": "user_002",
"productId": "prod_002",
"quantity": 2,
"status": "shipped"
}
]
}
```
### 5.5、退出模块
#### 5.5.1基本信息
- 请求路径URL`/admin/logout`
- 请求方式:`POST`
- 接口描述:管理员退出登录接口,用于清除
#### 5.5.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:-------------|:----------|:--------:|:-----------:|:--------------|
| **token** | 登录令牌 | string | 是 | 管理员登录时获取的token用于身份验证 |
- 请求数据样例:
#### 5.5.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:---------|:-----------:|:------------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
- 响应数据样例:
```json
{
"code": 0,
"message": "退出登录成功"
}
```
## 6、其他接口
### 6.1、搜索商品
#### 6.1.1基本信息
- 请求路径URL`/product/search`
- 请求方式:`GET`
- 接口描述:该接口用于根据关键词搜索商品。可以根据商品名称、分类、描述等信息进行模糊查询。
#### 6.1.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:--------------|:-------------------------|:---------|:-----------:|:-----------------------------------------|
| **keyword** | 搜索关键词(商品名称、描述等) | string | 是 | 用于搜索商品的关键词,支持模糊查询。 |
| **category** | 商品分类 | string | 否 | 可选,指定商品类别进行筛选,若不提供则不筛选类别。 |
| **page** | 页码(分页查询) | number | 否 | 默认值为1表示第一页。 |
| **pageSize** | 每页显示的商品数量 | number | 否 | 默认值为20最大值为100表示每页显示的商品数。 |
- 请求数据样例:
```json
{
"keyword": "手机",
"category": "电子产品",
"page": 1,
"pageSize": 20
}
```
#### 6.1.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:---------|:-----------:|:----------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 必须 | 返回的数据,包含商品列表信息 |
| **total** | number | 必须 | 符合条件的商品总数 |
| **page** | number | 必须 | 当前页码 |
| **pageSize** | number | 必须 | 每页商品数 |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": [
{
"productId": 12345,
"name": "二手iPhone 12",
"category": "电子产品",
"price": 3000,
"description": "几乎全新,屏幕完好,原装配件",
"imageUrl": "http://example.com/iphone12.jpg",
"sellerId": 67890,
"sellerName": "张三"
},
{
"productId": 67890,
"name": "二手MacBook Pro",
"category": "电子产品",
"price": 4500,
"description": "配置高,性能稳定,电池寿命长",
"imageUrl": "http://example.com/macbookpro.jpg",
"sellerId": 12345,
"sellerName": "李四"
}
],
"total": 50,
"page": 1,
"pageSize": 20
}
```
### 6.2、用户反馈
#### 6.2.1基本信息
- 请求路径URL`/feedback/submit`
- 请求方式:`POST`
- 接口描述:该接口用于提交用户反馈,用户可以通过此接口提交对平台的建议、问题或其他反馈。
#### 6.2.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:--------------|:----------------------------|:---------|:-----------:|:--------------------------------------|
| **userId** | 用户ID | number | 是 | 提交反馈的用户的ID用于标识反馈来源。 |
| **content** | 反馈内容 | string | 是 | 用户提交的反馈内容字数限制为500个字符。 |
| **contactInfo**| 联系方式(可选) | string | 否 | 可选,用户希望被平台联系的方式(如电话、邮箱等)。 |
- 请求数据样例:
```json
{
"userId": 12345,
"content": "平台的商品搜索功能有些慢,希望能够优化。",
"contactInfo": "example@example.com"
}
```
#### 6.2.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:---------|:-----------:|:----------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 非必须 | 返回的数据,通常为空 |
- 响应数据样例:
```json
{
"code": 0,
"message": "反馈提交成功",
"data": null
}
```
### 6.3、获取商品详情
#### 6.3.1基本信息
- 请求路径URL`/product/{productId}`
- 请求方式:`GET`
- 接口描述:该接口用于获取某个商品的详细信息。
#### 6.3.2请求参数
- 请求参数格式:`application/json`
- 请求参数说明:
| **参数名称** | **说明** | **类型** | **是否必须** | **备注** |
|:------------|:------------------|:--------|:-----------:|:-------------|
| **productId** | 商品ID | number | 是 | 商品的唯一标识符 |
- 请求数据样例
```json
{
"productId": 12345
}
```
#### 6.3.3响应数据
- 响应数据类型:`application/json`
- 响应参数说明:
| **名称** | **类型** | **是否必须** | **备注** |
|:-------------|:---------|:-----------:|:----------------------------|
| **code** | number | 必须 | 响应码0 - 成功1 - 失败 |
| **message** | string | 非必须 | 提示信息 |
| **data** | object | 必须 | 返回商品的详细信息 |
- 响应数据样例:
```json
{
"code": 0,
"message": "操作成功",
"data": {
"productId": 12345,
"name": "二手iPhone 12",
"category": "电子产品",
"price": 3000,
"description": "几乎全新,屏幕完好,原装配件",
"imageUrl": "http://example.com/iphone12.jpg",
"sellerId": 67890,
"sellerName": "张三",
"contactInfo": "example@example.com",
"location": "北京市",
"createTime": "2024-11-01T12:00:00"
}
}
```