1079 lines
20 KiB
Markdown
1079 lines
20 KiB
Markdown
|
|
# H5商城网站API接口文档
|
|||
|
|
|
|||
|
|
> **API Base URL**: http://miao1admin.suzhouyuqi.com
|
|||
|
|
> **分析时间**: 2025-11-08
|
|||
|
|
> **接口协议**: HTTP/HTTPS
|
|||
|
|
> **数据格式**: JSON
|
|||
|
|
> **认证方式**: Bearer Token (Header: Authori-zation)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 文档说明
|
|||
|
|
|
|||
|
|
本文档基于服务器日志 `webman-2025-11-03.log` 和前端编译文件分析生成,记录了H5商城网站的所有API接口。
|
|||
|
|
|
|||
|
|
### 通用说明
|
|||
|
|
|
|||
|
|
- 所有需要登录的接口都需要在请求头中携带 Token
|
|||
|
|
- Token 名称:`Authori-zation`
|
|||
|
|
- 请求格式:`application/json` 或 `application/x-www-form-urlencoded`
|
|||
|
|
- 响应格式:JSON
|
|||
|
|
|
|||
|
|
### 错误码说明
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0, // 0=成功,非0=失败
|
|||
|
|
"msg": "提示信息",
|
|||
|
|
"data": {} // 返回数据
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 目录
|
|||
|
|
|
|||
|
|
1. [用户认证接口](#一用户认证接口)
|
|||
|
|
2. [商品相关接口](#二商品相关接口)
|
|||
|
|
3. [订单相关接口](#三订单相关接口)
|
|||
|
|
4. [地址管理接口](#四地址管理接口)
|
|||
|
|
5. [财务相关接口](#五财务相关接口)
|
|||
|
|
6. [支付相关接口](#六支付相关接口)
|
|||
|
|
7. [分享推广接口](#七分享推广接口)
|
|||
|
|
8. [首页相关接口](#八首页相关接口)
|
|||
|
|
9. [短信相关接口](#九短信相关接口)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一、用户认证接口
|
|||
|
|
|
|||
|
|
### 1.1 用户登录
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/user/login`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| account | string | 是 | 手机号/账号 |
|
|||
|
|
| password | string | 是 | 密码 |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"account": "18379637515",
|
|||
|
|
"password": "123456"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "登录成功",
|
|||
|
|
"data": {
|
|||
|
|
"token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
|
|||
|
|
"user_info": {
|
|||
|
|
"id": 92564,
|
|||
|
|
"mobile": "18379637515",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"avatar": "头像URL"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 1.2 用户注册
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/user/register`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| mobile | string | 是 | 手机号 |
|
|||
|
|
| password | string | 是 | 密码 |
|
|||
|
|
| code | string | 是 | 短信验证码 |
|
|||
|
|
| invite_code | string | 否 | 邀请码 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 1.3 获取用户信息
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/user/info`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"id": 92564,
|
|||
|
|
"mobile": "18379637515",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"avatar": "头像URL",
|
|||
|
|
"share_bonus": "1234.56", // 分红余额
|
|||
|
|
"self_bonus": "789.12", // 自购分红
|
|||
|
|
"coupon": "456.78", // 优惠券余额
|
|||
|
|
"today_share_bonus": "123.45", // 今日分红
|
|||
|
|
"total_share_bonus": "9876.54" // 累计分红
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 1.4 修改用户昵称
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/user/nickname`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| nickname | string | 是 | 新昵称 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 1.5 修改密码
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/user/changepwd`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| old_password | string | 是 | 原密码 |
|
|||
|
|
| new_password | string | 是 | 新密码 |
|
|||
|
|
| code | string | 是 | 短信验证码 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 二、商品相关接口
|
|||
|
|
|
|||
|
|
### 2.1 获取商品分类
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/goods/category`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"name": "分类名称"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.2 获取商品列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/goods/list`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| cate_id | int | 是 | 分类ID |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"title": "商品标题",
|
|||
|
|
"images": ["图片1", "图片2"],
|
|||
|
|
"price": "199.00",
|
|||
|
|
"line_price": "299.00",
|
|||
|
|
"sales_volume": 1000
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.3 获取商品详情
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/goods/detail`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| id | int | 是 | 商品ID |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"id": 2,
|
|||
|
|
"title": "商品标题",
|
|||
|
|
"images": ["图片1", "图片2"],
|
|||
|
|
"price": "199.00",
|
|||
|
|
"line_price": "299.00",
|
|||
|
|
"sales_volume": 1000,
|
|||
|
|
"content": "商品详情",
|
|||
|
|
"customer_service": "客服微信"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 三、订单相关接口
|
|||
|
|
|
|||
|
|
### 3.1 订单首页数据
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/index`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"shop_name": "商城名称",
|
|||
|
|
"open_week": "1,2,3,4,5", // 开放星期
|
|||
|
|
"start_time": "09:00", // 开始时间
|
|||
|
|
"end_time": "21:00", // 结束时间
|
|||
|
|
"goods_id": "1", // 商品ID
|
|||
|
|
"goods_image": "商品图片",
|
|||
|
|
"goods_setting": { // 商品配置
|
|||
|
|
"max_buy": 3 // 最大购买数量
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.2 可购买商品列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/goods`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| page | int | 是 | 页码 |
|
|||
|
|
| limit | int | 是 | 每页数量 |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"total": 100,
|
|||
|
|
"list": [
|
|||
|
|
{
|
|||
|
|
"id": 143657,
|
|||
|
|
"title": "商品标题",
|
|||
|
|
"image": "商品图片",
|
|||
|
|
"price": "199.00",
|
|||
|
|
"user_id": 92467,
|
|||
|
|
"nickname": "卖家昵称",
|
|||
|
|
"created_at": "2025-11-03 09:00:00"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.3 购买商品(抢单)
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/buy`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| id | int | 是 | 寄卖商品ID |
|
|||
|
|
| seller_id | int | 是 | 卖家用户ID |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"id": 143657,
|
|||
|
|
"seller_id": 92467
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.4 订单列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/list`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| cate | int | 是 | 分类:1=买方仓库,2=卖方仓库 |
|
|||
|
|
| type | int | 是 | 类型:1=寄卖中/交易中,2=已完成 |
|
|||
|
|
| page | int | 是 | 页码 |
|
|||
|
|
| limit | int | 是 | 每页数量 |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"total": 50,
|
|||
|
|
"list": [
|
|||
|
|
{
|
|||
|
|
"id": 148674,
|
|||
|
|
"order_sn": "订单号",
|
|||
|
|
"merchandise_id": 143657,
|
|||
|
|
"merchandise_title": "商品标题",
|
|||
|
|
"merchandise_image": "商品图片",
|
|||
|
|
"total_money": "199.00",
|
|||
|
|
"status": 1, // 0=待支付,1=已支付,2=已完成
|
|||
|
|
"buyer_nickname": "买家昵称",
|
|||
|
|
"seller_nickname": "卖家昵称",
|
|||
|
|
"created_at": "2025-11-03 09:00:00",
|
|||
|
|
"pay_time": "2025-11-03 09:01:00",
|
|||
|
|
"confirm_time": "2025-11-03 09:10:00"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.5 订单详情
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/detail`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| order_id | int | 是 | 订单ID |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"data": {
|
|||
|
|
"id": 149514,
|
|||
|
|
"old_id": null,
|
|||
|
|
"seller_id": 92680,
|
|||
|
|
"buyer_id": 92679,
|
|||
|
|
"order_sn": "97629117627810895214",
|
|||
|
|
"total_money": "22816.03",
|
|||
|
|
"pay_time": null,
|
|||
|
|
"pay_img": null,
|
|||
|
|
"status": 0,
|
|||
|
|
"is_resell": 0,
|
|||
|
|
"is_show": 1,
|
|||
|
|
"is_cancel": 0,
|
|||
|
|
"consignee": null,
|
|||
|
|
"phone": null,
|
|||
|
|
"province": null,
|
|||
|
|
"city": null,
|
|||
|
|
"area": null,
|
|||
|
|
"address": null,
|
|||
|
|
"merchandise_id": 144750,
|
|||
|
|
"confirm_time": null,
|
|||
|
|
"buy_time": "2025-11-10 21:24:49",
|
|||
|
|
"created_at": "2025-11-10 21:24:49",
|
|||
|
|
"updated_at": "2025-11-10 21:24:49",
|
|||
|
|
"buy_ip": "116.230.253.100",
|
|||
|
|
"cancel_ip": null,
|
|||
|
|
"goods": {
|
|||
|
|
"id": 144750,
|
|||
|
|
"title": "鲜锋活力宝",
|
|||
|
|
"image": "\/upload\/image\/20250914\/44d45afc28b6dfb47c20d127a7b64540_68c69ec7a6b0a.jpg"
|
|||
|
|
},
|
|||
|
|
"buyer": {
|
|||
|
|
"nickname": "潘1陈1勇",
|
|||
|
|
"mobile": "18621810000"
|
|||
|
|
},
|
|||
|
|
"seller": {
|
|||
|
|
"nickname": "李占明",
|
|||
|
|
"mobile": "19033999931"
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
"msg": "成功"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.6 支付订单
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/pay`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| order_id | int | 是 | 订单ID |
|
|||
|
|
| address_id | int | 是 | 收货地址ID |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"order_id": 148674,
|
|||
|
|
"address_id": 2911
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.7 确认订单(卖家发货)
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/confirm`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| order_id | int | 是 | 订单ID |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"order_id": 148674
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.8 取消订单
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/cancel`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| order_id | int | 是 | 订单ID |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 3.9 转卖订单
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/order/resell`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| order_id | int | 是 | 订单ID |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 四、地址管理接口
|
|||
|
|
|
|||
|
|
### 4.1 地址列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/address/list`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"id": 2911,
|
|||
|
|
"consignee": "收货人",
|
|||
|
|
"phone": "13584195313",
|
|||
|
|
"province": "江苏省",
|
|||
|
|
"city": "无锡市",
|
|||
|
|
"area": "锡山区",
|
|||
|
|
"address": "中大诺卡小镇",
|
|||
|
|
"is_default": 1
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.2 获取默认地址
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/address/default`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"id": 2911,
|
|||
|
|
"consignee": "收货人",
|
|||
|
|
"phone": "13584195313",
|
|||
|
|
"province": "江苏省",
|
|||
|
|
"city": "无锡市",
|
|||
|
|
"area": "锡山区",
|
|||
|
|
"address": "中大诺卡小镇",
|
|||
|
|
"is_default": 1
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.3 新增地址
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/address/insert`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| consignee | string | 是 | 收货人 |
|
|||
|
|
| phone | string | 是 | 手机号 |
|
|||
|
|
| province | string | 是 | 省 |
|
|||
|
|
| city | string | 是 | 市 |
|
|||
|
|
| area | string | 是 | 区 |
|
|||
|
|
| address | string | 是 | 详细地址 |
|
|||
|
|
| is_default | int | 否 | 是否默认:0=否,1=是 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.4 更新地址
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/address/update`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| id | int | 是 | 地址ID |
|
|||
|
|
| consignee | string | 是 | 收货人 |
|
|||
|
|
| phone | string | 是 | 手机号 |
|
|||
|
|
| province | string | 是 | 省 |
|
|||
|
|
| city | string | 是 | 市 |
|
|||
|
|
| area | string | 是 | 区 |
|
|||
|
|
| address | string | 是 | 详细地址 |
|
|||
|
|
| is_default | int | 否 | 是否默认:0=否,1=是 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.5 删除地址
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/address/delete`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| id | int | 是 | 地址ID |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 五、财务相关接口
|
|||
|
|
|
|||
|
|
### 5.1 财务记录列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/money/list`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| cate | int | 是 | 分类:1=分红明细,2=优惠券明细,3=自购分红明细 |
|
|||
|
|
| type | int | 是 | 类型:1=收入,2=支出 |
|
|||
|
|
| page | int | 是 | 页码 |
|
|||
|
|
| limit | int | 是 | 每页数量 |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"total": 100,
|
|||
|
|
"list": [
|
|||
|
|
{
|
|||
|
|
"id": 1234,
|
|||
|
|
"type": 1, // 1=收入,2=支出
|
|||
|
|
"money": "123.45",
|
|||
|
|
"before": "1000.00", // 变动前余额
|
|||
|
|
"after": "1123.45", // 变动后余额
|
|||
|
|
"memo": "今日收益",
|
|||
|
|
"created_at": "2025-11-03 09:00:00"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 5.2 提现记录
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/money/log`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| page | int | 是 | 页码 |
|
|||
|
|
| limit | int | 是 | 每页数量 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 5.3 申请提现
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/money/withdraw`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| type | int | 是 | 提现类型:1=分红,2=优惠券 |
|
|||
|
|
| money | string | 是 | 提现金额 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、支付相关接口
|
|||
|
|
|
|||
|
|
### 6.1 获取支付宝信息
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/alipay/index`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"id": 123,
|
|||
|
|
"alipay_account": "支付宝账号",
|
|||
|
|
"alipay_name": "支付宝姓名"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 6.2 绑定支付宝
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/alipay/bind`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| alipay_account | string | 是 | 支付宝账号 |
|
|||
|
|
| alipay_name | string | 是 | 支付宝姓名 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 6.3 获取银行卡信息
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/bank/index`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"id": 123,
|
|||
|
|
"bank_name": "银行名称",
|
|||
|
|
"bank_account": "银行卡号",
|
|||
|
|
"account_name": "持卡人姓名"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 七、分享推广接口
|
|||
|
|
|
|||
|
|
### 7.1 分享首页数据
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/share/index`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"invite_code": "ABC123", // 邀请码
|
|||
|
|
"direct_count": 10, // 直推人数
|
|||
|
|
"team_count": 50, // 团队人数
|
|||
|
|
"share_link": "https://..." // 分享链接
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 7.2 我的粉丝列表
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/share/select`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 是
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| page | int | 是 | 页码 |
|
|||
|
|
| limit | int | 是 | 每页数量 |
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"total": 20,
|
|||
|
|
"list": [
|
|||
|
|
{
|
|||
|
|
"id": 92490,
|
|||
|
|
"avatar": "头像",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"mobile": "138****1234",
|
|||
|
|
"team_count": 5, // 下级团队人数
|
|||
|
|
"created_at": "2025-11-03 09:00:00"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 八、首页相关接口
|
|||
|
|
|
|||
|
|
### 8.1 轮播图
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/index/banner`
|
|||
|
|
**请求方式**: `GET`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**: 无
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"image": "轮播图URL",
|
|||
|
|
"url": "跳转链接"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 8.2 首页配置数据
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/index/get`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| title | string | 是 | 配置标题,如"公告消息" |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"title": "公告消息"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "success",
|
|||
|
|
"data": {
|
|||
|
|
"value": "公告内容"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 九、短信相关接口
|
|||
|
|
|
|||
|
|
### 9.1 发送短信验证码
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/sms/send`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**请求参数**:
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| mobile | string | 是 | 手机号 |
|
|||
|
|
| event | string | 是 | 事件类型:register=注册,resetpwd=重置密码,changepwd=修改密码 |
|
|||
|
|
|
|||
|
|
**请求示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"mobile": "13585643985",
|
|||
|
|
"event": "resetpwd"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**返回示例**:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 0,
|
|||
|
|
"msg": "短信发送成功"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 十、其他接口
|
|||
|
|
|
|||
|
|
### 10.1 签名回调
|
|||
|
|
|
|||
|
|
**接口地址**: `/api/notify/sign`
|
|||
|
|
**请求方式**: `POST`
|
|||
|
|
**是否需要登录**: 否
|
|||
|
|
|
|||
|
|
**说明**: 第三方签名回调接口
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 接口汇总表
|
|||
|
|
|
|||
|
|
| 模块 | 接口数量 | 说明 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| 用户认证 | 5 | 登录、注册、信息获取、修改 |
|
|||
|
|
| 商品管理 | 3 | 分类、列表、详情 |
|
|||
|
|
| 订单管理 | 9 | 下单、支付、发货、取消等 |
|
|||
|
|
| 地址管理 | 5 | 增删改查、默认地址 |
|
|||
|
|
| 财务管理 | 3 | 明细、提现 |
|
|||
|
|
| 支付管理 | 3 | 支付宝、银行卡 |
|
|||
|
|
| 分享推广 | 2 | 分享数据、粉丝列表 |
|
|||
|
|
| 首页相关 | 2 | 轮播图、配置 |
|
|||
|
|
| 短信服务 | 1 | 验证码发送 |
|
|||
|
|
| **总计** | **33** | **全部接口** |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔐 Token 说明
|
|||
|
|
|
|||
|
|
### 获取 Token
|
|||
|
|
|
|||
|
|
用户登录成功后,响应数据中会返回 `token` 字段。
|
|||
|
|
|
|||
|
|
### 使用 Token
|
|||
|
|
|
|||
|
|
在需要登录的接口请求头中携带:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Authori-zation: Bearer eyJ0eXAiOiJKV1QiLCJhbGc...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**注意**: Header 名称是 `Authori-zation` (不是标准的 Authorization)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚙️ 业务逻辑说明
|
|||
|
|
|
|||
|
|
### 订单状态流程
|
|||
|
|
|
|||
|
|
1. **待支付** (status=0): 买家抢单成功,但未支付
|
|||
|
|
2. **已支付** (status=1): 买家已支付,等待卖家发货确认
|
|||
|
|
3. **已完成** (status=2): 卖家确认发货,订单完成,开始分红
|
|||
|
|
|
|||
|
|
### 订单分类
|
|||
|
|
|
|||
|
|
- **买方仓库** (cate=1): 我购买的商品订单
|
|||
|
|
- **卖方仓库** (cate=2): 我寄卖的商品订单
|
|||
|
|
|
|||
|
|
### 财务分类
|
|||
|
|
|
|||
|
|
- **分红余额** (share_bonus): 推广分红
|
|||
|
|
- **自购分红** (self_bonus): 自购返利
|
|||
|
|
- **优惠券** (coupon): 优惠券余额
|
|||
|
|
|
|||
|
|
### 短信事件类型
|
|||
|
|
|
|||
|
|
- `register`: 注册
|
|||
|
|
- `resetpwd`: 重置密码
|
|||
|
|
- `changepwd`: 修改密码
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 测试示例
|
|||
|
|
|
|||
|
|
### 登录测试
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST http://miao1admin.suzhouyuqi.com/api/user/login \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"account": "18379637515",
|
|||
|
|
"password": "123456"
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 获取用户信息
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST http://miao1admin.suzhouyuqi.com/api/user/info \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "Authori-zation: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 获取商品列表
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl "http://miao1admin.suzhouyuqi.com/api/goods/list?cate_id=1"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 订单列表(卖方仓库)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl "http://miao1admin.suzhouyuqi.com/api/order/list?cate=2&type=1&page=1&limit=10" \
|
|||
|
|
-H "Authori-zation: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 注意事项
|
|||
|
|
|
|||
|
|
1. **认证头名称**: 注意是 `Authori-zation` 而非标准的 `Authorization`
|
|||
|
|
2. **POST 方法**: 某些查询接口如 `/api/user/info`、`/api/order/index` 使用 POST 方法
|
|||
|
|
3. **限流机制**: 部分接口有访问频率限制,使用 Redis 实现
|
|||
|
|
4. **营业时间**: 商品购买受营业时间限制(通过 open_week、start_time、end_time 控制)
|
|||
|
|
5. **防重复提交**: 关键操作(购买、支付、确认)有防重复提交机制
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📅 更新日志
|
|||
|
|
|
|||
|
|
- **2025-11-08**: 基于 webman-2025-11-03.log 日志完整分析,新增 33 个接口文档
|
|||
|
|
|
|||
|
|
---
|