APP接口
简介:APP接口
联系人:联系人姓名
Version:1.0
接口路径:/v3/api-docs
[TOC]
邮件模板管理
更新邮件模板状态
接口地址:/email-templates/{templateId}/status
请求方式:PUT
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"templateId": 0,
"status": 0
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| templateId | path | true | integer(int64) | ||
| emailTemplateStatusUpdateDto | 邮件模板状态更新参数 | body | true | EmailTemplateStatusUpdateDto | EmailTemplateStatusUpdateDto |
| templateId | 模板ID | true | integer(int64) | ||
| status | 模板状态(0-启用,1-禁用) | true | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}分页查询邮件模板
接口地址:/email-templates
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| pageNum | 页码 | query | false | string | |
| pageSize | 每页条数 | query | false | string | |
| templateName | 模板名称搜索关键字 | query | false | string | |
| status | 模板状态(0-启用,1-禁用) | query | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultPageResultEmailTemplate |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | PageResultEmailTemplate | PageResultEmailTemplate | |
| records | 邮件模板实体 | array | EmailTemplate |
| templateId | 模板ID,主键自增 | integer | |
| templateName | 模板名称 | string | |
| templateSubject | 邮件主题 | string | |
| templateContent | 模板内容(HTML格式) | string | |
| status | 模板状态(0-启用,1-禁用) | integer | |
| createdBy | 创建人 | string | |
| updatedBy | 更新人 | string | |
| createTime | 创建时间 | string | |
| updateTime | 更新时间 | string | |
| isDeleted | 是否删除(0-未删除,1-已删除) | integer | |
| total | integer(int64) | ||
| pageNum | integer(int64) | ||
| pageSize | integer(int64) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"records": [
{
"templateId": 0,
"templateName": "",
"templateSubject": "",
"templateContent": "",
"status": 0,
"createdBy": "",
"updatedBy": "",
"createTime": "",
"updateTime": "",
"isDeleted": 0
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
}保存邮件模板(新增或更新)
接口地址:/email-templates
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"templateId": 0,
"templateName": "",
"templateSubject": "",
"templateContent": "",
"status": 0
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| emailTemplateSaveDto | 邮件模板保存参数 | body | true | EmailTemplateSaveDto | EmailTemplateSaveDto |
| templateId | 模板ID,更新时需要传入 | false | integer(int64) | ||
| templateName | 模板名称 | true | string | ||
| templateSubject | 邮件主题 | true | string | ||
| templateContent | 模板内容(HTML格式) | true | string | ||
| status | 模板状态(0-启用,1-禁用) | true | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}根据ID获取邮件模板详情
接口地址:/email-templates/{templateId}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| templateId | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultEmailTemplate |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | EmailTemplate | EmailTemplate | |
| templateId | 模板ID,主键自增 | integer(int64) | |
| templateName | 模板名称 | string | |
| templateSubject | 邮件主题 | string | |
| templateContent | 模板内容(HTML格式) | string | |
| status | 模板状态(0-启用,1-禁用) | integer(int32) | |
| createdBy | 创建人 | string | |
| updatedBy | 更新人 | string | |
| createTime | 创建时间 | string(date-time) | |
| updateTime | 更新时间 | string(date-time) | |
| isDeleted | 是否删除(0-未删除,1-已删除) | integer(int32) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"templateId": 0,
"templateName": "",
"templateSubject": "",
"templateContent": "",
"status": 0,
"createdBy": "",
"updatedBy": "",
"createTime": "",
"updateTime": "",
"isDeleted": 0
}
}删除邮件模板
接口地址:/email-templates/{templateId}
请求方式:DELETE
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| templateId | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}礼品类别接口
新增礼品类别
接口地址:/gift/category
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"categoryId": 0,
"categoryName": "",
"parentId": 0,
"level": 0,
"sortOrder": 0,
"iconUrl": "",
"description": "",
"createTime": "",
"updateTime": ""
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| giftCategory | 礼品类别实体 | body | true | GiftCategory | GiftCategory |
| categoryId | 类别ID,自增主键 | false | integer(int64) | ||
| categoryName | 类别名称(如:实用型/数码型/文具型) | false | string | ||
| parentId | 父类别ID(0表示一级类目) | false | integer(int64) | ||
| level | 类目层级(1-一级类目,2-二级类目) | false | integer(int32) | ||
| sortOrder | 排序权重(数字越大越靠前) | false | integer(int32) | ||
| iconUrl | 类目图标URL | false | string | ||
| description | 类目描述 | false | string | ||
| createTime | 创建时间 | false | string(date-time) | ||
| updateTime | 更新时间 | false | string(date-time) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}更新礼品类别
接口地址:/gift/category
请求方式:PUT
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"categoryId": 0,
"categoryName": "",
"parentId": 0,
"level": 0,
"sortOrder": 0,
"iconUrl": "",
"description": "",
"createTime": "",
"updateTime": ""
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| giftCategory | 礼品类别实体 | body | true | GiftCategory | GiftCategory |
| categoryId | 类别ID,自增主键 | false | integer(int64) | ||
| categoryName | 类别名称(如:实用型/数码型/文具型) | false | string | ||
| parentId | 父类别ID(0表示一级类目) | false | integer(int64) | ||
| level | 类目层级(1-一级类目,2-二级类目) | false | integer(int32) | ||
| sortOrder | 排序权重(数字越大越靠前) | false | integer(int32) | ||
| iconUrl | 类目图标URL | false | string | ||
| description | 类目描述 | false | string | ||
| createTime | 创建时间 | false | string(date-time) | ||
| updateTime | 更新时间 | false | string(date-time) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}根据ID获取礼品类别
接口地址:/gift/category/{id}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultGiftCategory |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | GiftCategory | GiftCategory | |
| categoryId | 类别ID,自增主键 | integer(int64) | |
| categoryName | 类别名称(如:实用型/数码型/文具型) | string | |
| parentId | 父类别ID(0表示一级类目) | integer(int64) | |
| level | 类目层级(1-一级类目,2-二级类目) | integer(int32) | |
| sortOrder | 排序权重(数字越大越靠前) | integer(int32) | |
| iconUrl | 类目图标URL | string | |
| description | 类目描述 | string | |
| createTime | 创建时间 | string(date-time) | |
| updateTime | 更新时间 | string(date-time) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"categoryId": 0,
"categoryName": "",
"parentId": 0,
"level": 0,
"sortOrder": 0,
"iconUrl": "",
"description": "",
"createTime": "",
"updateTime": ""
}
}删除礼品类别
接口地址:/gift/category/{id}
请求方式:DELETE
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}获取礼品类别列表
接口地址:/gift/category/list
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| name | query | true | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultListGiftCategory |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | array | GiftCategory | |
| categoryId | 类别ID,自增主键 | integer(int64) | |
| categoryName | 类别名称(如:实用型/数码型/文具型) | string | |
| parentId | 父类别ID(0表示一级类目) | integer(int64) | |
| level | 类目层级(1-一级类目,2-二级类目) | integer(int32) | |
| sortOrder | 排序权重(数字越大越靠前) | integer(int32) | |
| iconUrl | 类目图标URL | string | |
| description | 类目描述 | string | |
| createTime | 创建时间 | string(date-time) | |
| updateTime | 更新时间 | string(date-time) |
响应示例:
{
"code": 0,
"message": "",
"data": [
{
"categoryId": 0,
"categoryName": "",
"parentId": 0,
"level": 0,
"sortOrder": 0,
"iconUrl": "",
"description": "",
"createTime": "",
"updateTime": ""
}
]
}礼品管理接口
保存礼品(新增或更新)
接口地址:/gift
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"giftId": 0,
"giftName": "",
"categoryId": 0,
"scenario": "",
"unitPrice": 0,
"stock": 0,
"supplier": "",
"imageUrl": "",
"description": "",
"isCustomizable": 0
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| giftSaveDto | 礼品保存DTO | body | true | GiftSaveDto | GiftSaveDto |
| giftId | 礼品ID(更新时需要) | false | integer(int64) | ||
| giftName | 礼品名称 | false | string | ||
| categoryId | 礼品类别ID | false | integer(int64) | ||
| scenario | 适用场景 | false | string | ||
| unitPrice | 单价(元) | false | number | ||
| stock | 库存量 | false | integer(int32) | ||
| supplier | 供应商 | false | string | ||
| imageUrl | 礼品图片URL | false | string | ||
| description | 详细描述 | false | string | ||
| isCustomizable | 是否可定制(0否1是) | false | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}根据ID查询礼品详情
接口地址:/gift/{id}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultGiftVO |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | GiftVO | GiftVO | |
| giftId | 礼品ID | integer(int64) | |
| giftName | 礼品名称 | string | |
| categoryId | 礼品类别ID | integer(int64) | |
| categoryName | 礼品类别名称 | string | |
| scenario | 适用场景 | string | |
| unitPrice | 单价(元) | number | |
| stock | 库存量 | integer(int32) | |
| supplier | 供应商 | string | |
| imageUrl | 礼品图片URL | string | |
| description | 详细描述 | string | |
| isCustomizable | 是否可定制(0否1是) | integer(int32) | |
| isDeleted | 是否删除(0-未删除,1-已删除) | integer(int32) | |
| createTime | 创建时间 | string(date-time) | |
| updateTime | 更新时间 | string(date-time) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"giftId": 0,
"giftName": "",
"categoryId": 0,
"categoryName": "",
"scenario": "",
"unitPrice": 0,
"stock": 0,
"supplier": "",
"imageUrl": "",
"description": "",
"isCustomizable": 0,
"isDeleted": 0,
"createTime": "",
"updateTime": ""
}
}删除礼品
接口地址:/gift/{id}
请求方式:DELETE
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultBoolean |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | boolean |
响应示例:
{
"code": 0,
"message": "",
"data": true
}分页查询礼品列表
接口地址:/gift/list
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| pageNum | 当前页码 | query | false | string | |
| pageSize | 每页记录数 | query | false | string | |
| giftName | 礼品名称 | query | false | string | |
| categoryId | 礼品类别ID | query | false | string | |
| categoryName | 礼品类别名称 | query | false | string | |
| scenario | 适用场景 | query | false | string | |
| minPrice | 最低单价 | query | false | string | |
| maxPrice | 最高单价 | query | false | string | |
| supplier | 供应商 | query | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultPageResultGiftVO |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | PageResultGiftVO | PageResultGiftVO | |
| records | 礼品VO | array | GiftVO |
| giftId | 礼品ID | integer | |
| giftName | 礼品名称 | string | |
| categoryId | 礼品类别ID | integer | |
| categoryName | 礼品类别名称 | string | |
| scenario | 适用场景 | string | |
| unitPrice | 单价(元) | number | |
| stock | 库存量 | integer | |
| supplier | 供应商 | string | |
| imageUrl | 礼品图片URL | string | |
| description | 详细描述 | string | |
| isCustomizable | 是否可定制(0否1是) | integer | |
| isDeleted | 是否删除(0-未删除,1-已删除) | integer | |
| createTime | 创建时间 | string | |
| updateTime | 更新时间 | string | |
| total | integer(int64) | ||
| pageNum | integer(int64) | ||
| pageSize | integer(int64) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"records": [
{
"giftId": 0,
"giftName": "",
"categoryId": 0,
"categoryName": "",
"scenario": "",
"unitPrice": 0,
"stock": 0,
"supplier": "",
"imageUrl": "",
"description": "",
"isCustomizable": 0,
"isDeleted": 0,
"createTime": "",
"updateTime": ""
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
}文件管理接口
通用文件上传请求(单个)
接口地址:/files/upload
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| file | query | true | file |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultMapStringObject |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}通用多文件上传请求
接口地址:/files/upload/multi
请求方式:POST
请求数据类型:multipart/form-data
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| file | query | true | array | file |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultListMapStringObject |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | array |
响应示例:
{
"code": 0,
"message": "",
"data": []
}邮件管理
发送邮件
接口地址:/emails/send
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
发送邮件
请求示例:
{
"to": "10000@qq.com",
"subject": "测试邮件",
"content": "这是一封测试邮件",
"attachments": [
"/path/to/file1",
"/path/to/file2"
]
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| sendMailDto | 发送邮件请求参数 | body | true | SendMailDto | SendMailDto |
| to | 收件人邮箱地址 | false | string | ||
| subject | 邮件主题 | false | string | ||
| content | 邮件正文 | false | string | ||
| attachments | 附件路径列表 | false | array | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultObject |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}邮件列表
接口地址:/emails
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
邮件列表
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| pageNum | query | false | integer(int32) | ||
| pageSize | query | false | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultListMailInfo |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | array | MailInfo | |
| messageNumber | 邮件唯一编号(从1开始) | integer(int32) | |
| subject | 邮件主题 | string | |
| from | 发件人邮箱地址 | string | |
| sentDate | 原始发送时间(时间戳格式) | string(date-time) | |
| formattedSentDate | 格式化后的发送时间(yyyy-MM-dd HH:mm:ss) | string | |
| read | 是否已读 | boolean | |
| content | 邮件正文(HTML/纯文本) | string | |
| hasAttachments | 是否存在附件 | boolean | |
| attachments | 邮件附件信息 | array | AttachmentVo |
| fileName | 文件名(含扩展名) | string | |
| mimeType | MIME类型 | string | |
| size | 文件大小(字节) | integer | |
| downloadUrl | 下载URL(需鉴权时可空) | string | |
| formattedSize | 格式化后的文件大小(如1.2MB) | string | |
| fileExtension | 文件扩展名(自动解析) | string |
响应示例:
{
"code": 0,
"message": "",
"data": [
{
"messageNumber": 1,
"subject": "月度报告",
"from": "sender@example.com",
"sentDate": "2023-10-01T08:30:00Z",
"formattedSentDate": "2023-10-01 16:30:00",
"read": false,
"content": "这是邮件内容...",
"hasAttachments": true,
"attachments": [
{
"fileName": "report.pdf",
"mimeType": "application/pdf",
"size": 1024,
"downloadUrl": "https://example.com/download/123"
}
]
}
]
}邮件详情
接口地址:/emails/{messageNumber}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
根据邮件编号获取邮件详情
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| messageNumber | path | true | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultMailInfo |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | MailInfo | MailInfo | |
| messageNumber | 邮件唯一编号(从1开始) | integer(int32) | |
| subject | 邮件主题 | string | |
| from | 发件人邮箱地址 | string | |
| sentDate | 原始发送时间(时间戳格式) | string(date-time) | |
| formattedSentDate | 格式化后的发送时间(yyyy-MM-dd HH:mm:ss) | string | |
| read | 是否已读 | boolean | |
| content | 邮件正文(HTML/纯文本) | string | |
| hasAttachments | 是否存在附件 | boolean | |
| attachments | 邮件附件信息 | array | AttachmentVo |
| fileName | 文件名(含扩展名) | string | |
| mimeType | MIME类型 | string | |
| size | 文件大小(字节) | integer | |
| downloadUrl | 下载URL(需鉴权时可空) | string | |
| formattedSize | 格式化后的文件大小(如1.2MB) | string | |
| fileExtension | 文件扩展名(自动解析) | string |
响应示例:
{
"code": 0,
"message": "",
"data": {
"messageNumber": 1,
"subject": "月度报告",
"from": "sender@example.com",
"sentDate": "2023-10-01T08:30:00Z",
"formattedSentDate": "2023-10-01 16:30:00",
"read": false,
"content": "这是邮件内容...",
"hasAttachments": true,
"attachments": [
{
"fileName": "report.pdf",
"mimeType": "application/pdf",
"size": 1024,
"downloadUrl": "https://example.com/download/123"
}
]
}
}已发送邮件列表
接口地址:/emails/sent
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
已发送邮件列表
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| pageNum | query | false | integer(int32) | ||
| pageSize | query | false | integer(int32) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultListMailInfo |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | array | MailInfo | |
| messageNumber | 邮件唯一编号(从1开始) | integer(int32) | |
| subject | 邮件主题 | string | |
| from | 发件人邮箱地址 | string | |
| sentDate | 原始发送时间(时间戳格式) | string(date-time) | |
| formattedSentDate | 格式化后的发送时间(yyyy-MM-dd HH:mm:ss) | string | |
| read | 是否已读 | boolean | |
| content | 邮件正文(HTML/纯文本) | string | |
| hasAttachments | 是否存在附件 | boolean | |
| attachments | 邮件附件信息 | array | AttachmentVo |
| fileName | 文件名(含扩展名) | string | |
| mimeType | MIME类型 | string | |
| size | 文件大小(字节) | integer | |
| downloadUrl | 下载URL(需鉴权时可空) | string | |
| formattedSize | 格式化后的文件大小(如1.2MB) | string | |
| fileExtension | 文件扩展名(自动解析) | string |
响应示例:
{
"code": 0,
"message": "",
"data": [
{
"messageNumber": 1,
"subject": "月度报告",
"from": "sender@example.com",
"sentDate": "2023-10-01T08:30:00Z",
"formattedSentDate": "2023-10-01 16:30:00",
"read": false,
"content": "这是邮件内容...",
"hasAttachments": true,
"attachments": [
{
"fileName": "report.pdf",
"mimeType": "application/pdf",
"size": 1024,
"downloadUrl": "https://example.com/download/123"
}
]
}
]
}用户管理
保存用户(新增或编辑)
接口地址:/admin/users/save
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
保存用户信息,传userId为编辑,不传userId为新增
请求示例:
{
"userId": 1,
"username": "john_doe",
"mobile": "13800138000",
"email": "user@example.com",
"nickname": "John",
"avatarUrl": "https://example.com/avatar.jpg",
"gender": 1,
"birthday": "",
"bio": "这是一个用户简介",
"status": 0,
"password": "123456",
"authCode": "s8wdx3YliPdbPwXc"
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| loginRequest | 用户登录请求参数 | body | true | LoginRequest | LoginRequest |
| userId | 用户ID | false | integer(int64) | ||
| username | 用户名 | false | string | ||
| mobile | 手机号 | false | string | ||
| 邮箱 | false | string | |||
| nickname | 昵称 | false | string | ||
| avatarUrl | 头像URL | false | string | ||
| gender | 性别(0-未知,1-男,2-女) | false | integer(int32) | ||
| birthday | 生日 | false | string(date-time) | ||
| bio | 个人简介 | false | string | ||
| status | 状态(0-正常,1-禁用,2-注销) | false | integer(int32) | ||
| password | 密码 | false | string | ||
| authCode | 邮箱授权码 | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | Result |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}邮箱登录
接口地址:/admin/login/email
请求方式:POST
请求数据类型:application/x-www-form-urlencoded,application/json
响应数据类型:*/*
接口描述:
通过邮箱和密码进行登录
请求示例:
{
"email": "user@example.com",
"password": "123456"
}请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| emailLoginRequest | 邮箱登录请求参数 | body | true | EmailLoginRequest | EmailLoginRequest |
| 邮箱 | false | string | |||
| password | 密码 | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultMapStringObject |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}分页查询用户
接口地址:/admin/users
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
管理员分页查询用户列表
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| pageNum | 页码 | query | false | string | |
| pageSize | 每页条数 | query | false | string | |
| keyword | 用户名/手机号/邮箱搜索关键字 | query | false | string | |
| status | 用户状态(0-正常,1-禁用,2-注销) | query | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultPageResultUserResponse |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | PageResultUserResponse | PageResultUserResponse | |
| records | 注册/登录返回的用户数据 | array | UserResponse |
| userId | 用户唯一标识 | integer | |
| username | 用户名 | string | |
| mobile | 手机号 | string | |
| 邮箱 | string | ||
| nickname | 昵称 | string | |
| avatarUrl | 头像URL | string | |
| gender | 性别(0-未知,1-男,2-女) | integer | |
| birthday | 生日 | string | |
| bio | 个人简介 | string | |
| registrationTime | 注册时间 | string | |
| lastLoginTime | 最后登录时间 | string | |
| loginCount | 登录次数 | integer | |
| status | 账号状态(0-正常,1-禁用,2-注销) | integer | |
| authCode | 邮箱授权码 | string | |
| total | integer(int64) | ||
| pageNum | integer(int64) | ||
| pageSize | integer(int64) |
响应示例:
{
"code": 0,
"message": "",
"data": {
"records": [
{
"userId": 1,
"username": "john_doe",
"mobile": "13800138000",
"email": "user@example.com",
"nickname": "John",
"avatarUrl": "https://example.com/avatar.jpg",
"gender": 1,
"birthday": "",
"bio": "这是一个用户简介",
"registrationTime": "",
"lastLoginTime": "",
"loginCount": 10,
"status": 0,
"authCode": "s8wdx3YliPdbPwXc"
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
}获取用户详情
接口地址:/admin/users/{userId}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
管理员获取单个用户详情
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| userId | path | true | integer(int64) |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultUserResponse |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | UserResponse | UserResponse | |
| userId | 用户唯一标识 | integer(int64) | |
| username | 用户名 | string | |
| mobile | 手机号 | string | |
| 邮箱 | string | ||
| nickname | 昵称 | string | |
| avatarUrl | 头像URL | string | |
| gender | 性别(0-未知,1-男,2-女) | integer(int32) | |
| birthday | 生日 | string(date-time) | |
| bio | 个人简介 | string | |
| registrationTime | 注册时间 | string(date-time) | |
| lastLoginTime | 最后登录时间 | string(date-time) | |
| loginCount | 登录次数 | integer(int32) | |
| status | 账号状态(0-正常,1-禁用,2-注销) | integer(int32) | |
| authCode | 邮箱授权码 | string |
响应示例:
{
"code": 0,
"message": "",
"data": {
"userId": 1,
"username": "john_doe",
"mobile": "13800138000",
"email": "user@example.com",
"nickname": "John",
"avatarUrl": "https://example.com/avatar.jpg",
"gender": 1,
"birthday": "",
"bio": "这是一个用户简介",
"registrationTime": "",
"lastLoginTime": "",
"loginCount": 10,
"status": 0,
"authCode": "s8wdx3YliPdbPwXc"
}
}获取我的用户信息
接口地址:/admin/user
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
通过请求头中的Authorization获取当前登录用户的信息
请求参数:
暂无
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultUserResponse |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | UserResponse | UserResponse | |
| userId | 用户唯一标识 | integer(int64) | |
| username | 用户名 | string | |
| mobile | 手机号 | string | |
| 邮箱 | string | ||
| nickname | 昵称 | string | |
| avatarUrl | 头像URL | string | |
| gender | 性别(0-未知,1-男,2-女) | integer(int32) | |
| birthday | 生日 | string(date-time) | |
| bio | 个人简介 | string | |
| registrationTime | 注册时间 | string(date-time) | |
| lastLoginTime | 最后登录时间 | string(date-time) | |
| loginCount | 登录次数 | integer(int32) | |
| status | 账号状态(0-正常,1-禁用,2-注销) | integer(int32) | |
| authCode | 邮箱授权码 | string |
响应示例:
{
"code": 0,
"message": "",
"data": {
"userId": 1,
"username": "john_doe",
"mobile": "13800138000",
"email": "user@example.com",
"nickname": "John",
"avatarUrl": "https://example.com/avatar.jpg",
"gender": 1,
"birthday": "",
"bio": "这是一个用户简介",
"registrationTime": "",
"lastLoginTime": "",
"loginCount": 10,
"status": 0,
"authCode": "s8wdx3YliPdbPwXc"
}
}公共接口
公共测试接口
接口地址:/common
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
暂无
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | Result |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}测试接口
测试接口
接口地址:/admin/test
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
测试接口
请求参数:
暂无
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | ResultMapStringObject |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| code | integer(int32) | integer(int32) | |
| message | string | ||
| data | object |
响应示例:
{
"code": 0,
"message": "",
"data": {}
}自动创建售后申请
有关自动创建售后申请的详细 API 文档,请参阅 autosales.md