互助圈
数据字典
用户表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
username | String | True | True | ||
password | String | True | |||
String | True | ||||
phone | String | True | |||
address | String | '' | |||
balance | Number | 0 | |||
role | Number | 0 | 0为普通用户,1为管理员 | ||
avatar | String | 图片url |
任务表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
title | String | True | |||
price | Number | True | |||
content | String | True | |||
imgs | Array | ||||
setter | ObjectId | True | |||
getter | ObjectId | ||||
status | Number | 0 | 0为未接受,1为已接受,2为已完成 |
商品表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
name | String | True | |||
price | Number | True | |||
stock | Number | True | |||
img | String | True |
订单表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
good | String | True | |||
price | Number | True | |||
img | String | True | |||
address | String | True | |||
express | String | ||||
user | ObjectId | True | |||
status | Number | 0 | 0为未发货,1为已发货,2为已完成 |
工单表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
user | ObjectId | True | |||
admin | ObjectId | ||||
question | String | True | |||
answer | String |
聊天表
字段名 | 数据类型 | 默认值 | 必须 | 唯一 | 备注 |
---|---|---|---|---|---|
sender | ObjectId | True | |||
receiver | ObjectId | True | |||
content | String | True | |||
delete | Boolean | false |
用户接口
用户列表
Path: /api/user
Method: GET
Description: 查询所有用户
Return
{
"data": [
{
"_id": "62d69b9db0357668735fe9f5",
"username": "admin",
"password": "a8fafeab06db8996201cd578b21f9ea9",
"email": "123@qq.com",
"phone": "18063526374",
"address": "",
"balance": 38,
"role": 1,
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png",
"createdAt": "2022-07-19T11:55:09.450Z",
"updatedAt": "2022-07-19T12:06:10.469Z",
"__v": 0
}
],
"errno": 0
}
登录
Path: /api/user/login
Method: POST
Description: 用户登录接口
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
username | String | True | 用户名 | |
password | String | True | 密码 |
- Return
{
"data": {
"_id": "62d69b9db0357668735fe9f5",
"username": "admin",
"password": "a8fafeab06db8996201cd578b21f9ea9",
"email": "123@qq.com",
"phone": "18063526374",
"address": "",
"balance": 38,
"role": 1,
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png",
"createdAt": "2022-07-19T11:55:09.450Z",
"updatedAt": "2022-07-19T12:06:10.469Z",
"__v": 0,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2MmQ2OWI5ZGIwMzU3NjY4NzM1ZmU5ZjUiLCJpYXQiOjE2NTgyMzUwMjYsImV4cCI6MTY1ODI3ODIyNn0._JyUpJyIvFfIUL282Wc-k_CcGLO4aIxb8tNnaPDfyj0"
},
"errno": 0
}
注册
Path: /api/user/register
Method: POST
Description: 用户注册接口
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
username | String | True | 用户名 | |
phone | String | True | 手机号 | |
String | True | 邮箱 | ||
password | String | True | 密码 | |
code | String | True | 验证码 |
- Return
{
"msg": "注册成功",
"errno": 0
}
发送验证码
Path: /api/user/code
Method: POST
Description: 用户注册接口
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
String | True | 邮箱 |
- Return
{
"msg": "发送成功",
"errno": 0
}
用户详情
Path: /api/user/detail
Method: GET
Description: 获取单个用户详情
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | False | 登录用户ID | 用户ID |
- Return
{
"data": {
"_id": "62d69b9db0357668735fe9f5",
"username": "admin",
"password": "a8fafeab06db8996201cd578b21f9ea9",
"email": "123@qq.com",
"phone": "18063526374",
"address": "",
"balance": 38,
"role": 1,
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png",
"createdAt": "2022-07-19T11:55:09.450Z",
"updatedAt": "2022-07-19T12:06:10.469Z",
"__v": 0
},
"errno": 0
}
修改密码
Path: /api/user/password
Method: POST
Description: 修改用户密码
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
oldPassword | String | True | 原密码 | |
password | String | True | 新密码 |
- Return
{
"msg": "修改成功",
"errno": 0
}
忘记密码
Path: /api/user/forget
Method: POST
Description: 通过邮箱重置密码,新密码发送至邮箱
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
String | True | 邮箱 |
- Return
{
"msg": "新密码已发送至邮箱!",
"errno": 0
}
编辑信息
Path: /api/user/edit
Method: POST
Description: 修改用户信息
Headers
参数名 | 值 |
---|---|
Content-Type | multipart/form-data |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | False | 登录用户ID | |
username | String | False | ||
phone | String | False | ||
String | False | |||
address | String | False | ||
avatarFile | File | False | ||
balance | Number | False | ||
role | Number | False | ||
password | String | False |
- Return
{
"msg": "修改成功",
"errno": 0
}
删除用户
Path: /api/user/delete
Method: POST
Description: 通过ID删除用户
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True |
- Return
{
"msg": "删除成功",
"errno": 0
}
任务接口
任务列表
Path: /api/task
Method: GET
Description: 查询所有任务
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
page | Number | False | 页码 | |
pageSize | Number | False | 每页任务数 | |
type | String | False | publish为发布列表,accept为接受列表,不填为全部任务 |
- Return
{
"data": {
"total": 12,
"list": [
{
"_id": "629d84fb3ef6e16c0c308bd2",
"title": "任务2",
"price": 15,
"content": "任务2",
"imgs": [ "/images/upload_f2c2f634e936423e0d2551ed0d310bbe.jpg" ],
"setter": "admin",
"getter": "user",
"status": 2,
"createdAt": "2022-06-06T04:39:23.021Z",
"updatedAt": "2022-06-06T12:47:33.774Z",
"__v": 0,
}
]
},
"errno": 0
}
搜索任务
Path: /api/search
Method: GET
Description: 通过关键字搜索任务
Headers
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
keyword | String | False | 查询关键字 |
- Return
同任务列表
任务详情
Path: /api/task/detail
Method: GET
Description: 查询任务详情
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 任务ID |
- Return
{
"data": {
"_id": "62d8ad96a7e3b68eb071ca9e",
"title": "任务1",
"price": 1,
"content": "任务1",
"imgs": [],
"setter": {
"_id": "629d847e3ef6e16c0c308b9c",
"username": "admin"
},
"status": 0,
"createdAt": "2022-07-21T01:36:22.371Z",
"updatedAt": "2022-07-21T01:36:22.371Z",
"__v": 0
},
"errno": 0
}
发布任务
Path: /api/task/create
Method: POST
Description: 发布任务
Headers
参数名 | 值 |
---|---|
Content-Type | multipart/form-data |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
title | String | True | 任务标题 | |
price | String | True | 任务价格 | |
content | String | True | 任务介绍 | |
imgFiles | File | False | 图片列表 |
- Return
{
"data": {
"title": "任务任务任务",
"price": 1,
"content": "任务任务任务",
"imgs": [],
"setter": "62d69b9db0357668735fe9f5",
"status": 0,
"_id": "62d8bb81b1e18dce8342124c",
"createdAt": "2022-07-21T02:35:45.318Z",
"updatedAt": "2022-07-21T02:35:45.318Z",
"__v": 0
},
"errno": 0
}
编辑任务
Path: /api/task/edit
Method: POST
Description: 编辑任务
Headers
参数名 | 值 | 是否必须 |
---|---|---|
Content-Type | multipart/form-data |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | Trie | 任务ID | |
title | String | True | 任务标题 | |
price | String | True | 任务价格 | |
content | String | True | 任务介绍 | |
imgFiles | File | False | 图片列表 | |
status | Number | False | 任务状态 |
- Return
同上
删除任务
Path: /api/task/delete
Method: POST
Description: 删除任务
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 任务ID |
- Return
{
"msg": "删除成功",
"errno": 0
}
接受任务
Path: /api/task/accept
Method: POST
Description: 接受任务
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 任务ID |
- Return
{
"msg": "接受成功",
"errno": 0
}
放弃任务
Path: /api/task/giveup
Method: POST
Description: 放弃任务
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 任务ID |
- Return
{
"msg": "放弃成功",
"errno": 0
}
完成任务
Path: /api/task/finish
Method: POST
Description: 完成任务
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 任务ID |
- Return
{
"msg": "任务完成",
"errno": 0
}
商城接口
商品列表
Path: /api/store
Method: GET
Description: 查询所有商品
Return
{
"data": [
{
"_id": "62d8aff6b1e18dce83421204",
"name": "耳机",
"price": 1,
"stock": 0,
"img": "http://localhost:8000/images/upload_d67246570c451fdce562b8fb9a527a7c.png",
"createdAt": "2022-07-21T01:46:30.830Z",
"updatedAt": "2022-07-21T01:46:30.830Z",
"__v": 0
}
],
"errno": 0
}
商品详情
Path: /api/store/detail
Method: GET
Description: 查询单个商品详情
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 商品ID |
- Return
{
"data": {
"_id": "62d8aff6b1e18dce83421204",
"name": "耳机",
"price": 1,
"stock": 0,
"img": "http://localhost:8000/images/upload_d67246570c451fdce562b8fb9a527a7c.png",
"createdAt": "2022-07-21T01:46:30.830Z",
"updatedAt": "2022-07-21T01:46:30.830Z",
"__v": 0
},
"errno": 0
}
添加商品
Path: /api/store/create
Method: POST
Description: 添加商品信息
Headers
参数名 | 值 |
---|---|
Content-Type | multipart/form-data |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
name | String | True | 商品名 | |
price | Number | True | 价格 | |
stock | Number | True | 库存 | |
imgFile | File | True | 图片 |
- Return
{
"msg": "添加成功",
"errno": 0
}
编辑商品
Path: /api/store/edit
Method: POST
Description: 编辑商品信息
Headers
参数名 | 值 |
---|---|
Content-Type | multipart/form-data |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 商品ID | |
name | String | True | 商品名 | |
price | Number | True | 价格 | |
stock | Number | True | 库存 | |
imgFile | File | False | 图片 |
- Return
{
"msg": "修改成功",
"errno": 0
}
删除商品
Path: /api/store/delete
Method: POST
Description: 删除单个商品
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 商品ID |
- Return
{
"msg": "删除成功",
"errno": 0
}
兑换商品
Path: /api/store/exchange
Method: POST
Description: 兑换商品
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 商品ID |
- Return
{
"msg": "兑换成功",
"errno": 0
}
余额查询
Path: /api/store/balance
Method: GET
Description: 查询用户余额
Return
{
"data": {
"balance": 36
},
"errno": 0
}
余额充值
Path: /api/store/recharge
Method: POST
Description: 余额充值
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
amount | Number | True | 充值金额 |
- Return
{
"data": {
"balance": 46
},
"errno": 0
}
订单接口
订单列表
Path: /api/order
Method: GET
Description: 查询所有订单
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
type | String | False | all为全部订单,不填为当前用户订单 |
Return
json{ "data": [ { "_id": "63a7d315c5d440b40fd9e34e", "good": "手机", "price": "30", "img": "http://localhost:8000/images/upload_ec09a6865d2bc0d034da787adc2b33ed.jpg", "address": "浙江", "user": "admin", "status": 1, "createdAt": "2022-12-25T04:35:33.249Z", "updatedAt": "2023-03-10T10:47:53.464Z", "__v": 0, "express": "123" } ], "errno": 0 }
订单详情
- Path: /api/order/detail
- Method: GET
- Description: 查询单个订单详情
- Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 订单ID |
Return
json{ "data": { "_id": "63a7d315c5d440b40fd9e34e", "good": "手机", "price": "30", "img": "/images/upload_ec09a6865d2bc0d034da787adc2b33ed.jpg", "address": "浙江", "user": "admin", "status": 1, "createdAt": "2022-12-25T04:35:33.249Z", "updatedAt": "2023-03-10T10:47:53.464Z", "__v": 0, "express": "123" }, "errno": 0 }
编辑订单
Path: /api/order/edit
Method: POST
Description: 编辑订单收货地址、填写快递单号
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
address | String | True | 收货地址 | |
express | String | False | 快递单号 |
- Return
{
"msg": "编辑成功",
"errno": 0
}
完成订单
Path: /api/order/finish
Method: POST
Description: 订单确认收货
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 订单ID |
- Return
{
"msg": "确认收货成功",
"errno": 0
}
工单接口
工单列表
Path: /api/ticket
Method: GET
Description: 查询所有工单
Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
type | String | False | all为全部工单,不填为当前用户工单 |
Return
json{ "data": [ { "_id": "63a9332af4ec535b92f3228d", "user": "user", "question": "问题", "answer": "回答", "createdAt": "2022-12-26T05:37:46.981Z", "updatedAt": "2023-03-10T09:28:37.991Z", "__v": 0, "admin": "admin" } ], "errno": 0 }
工单详情
- Path: /api/ticket/detail
- Method: GET
- Description: 查询单个订单详情
- Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 工单ID |
- Return
{
"data": {
"_id": "63a9332af4ec535b92f3228d",
"user": "user",
"question": "你好,我有个问题",
"answer": "请讲!",
"createdAt": "2022-12-26T05:37:46.981Z",
"updatedAt": "2023-03-10T09:28:37.991Z",
"__v": 0,
"admin": "admin"
},
"errno": 0
}
发布工单
Path: /api/ticket/question
Method: POST
Description: 发布订单
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
question | String | True | 提问内容 |
- Return
{
"msg": "发送成功",
"errno": 0
}
回复工单
Path: /api/order/finish
Method: POST
Description: 回复工单
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 工单ID | |
answer | String | True | 回复内容 |
- Return
{
"msg": "回复成功",
"errno": 0
}
聊天接口
聊天列表(所有)
Path: /api/chat
Method: GET
Description: 查询所有聊天列表
Return
json{ "data": [ { "_id": "64183285ed17c631e2888c71", "sender": { "_id": "629d84c53ef6e16c0c308ba7", "username": "user" }, "receiver": { "_id": "629d847e3ef6e16c0c308b9c", "username": "admin" }, "content": "你好!", "delete": false, "createdAt": "2023-03-20T10:16:37.874Z", "updatedAt": "2023-03-21T12:44:04.069Z", "__v": 0 } ], "errno": 0 }
聊天列表(个人)
Path: /api/chat/user
Method: GET
Description: 查询个人聊天列表
Return
json{ "data": [ { "_id": "641861144d4d36e417c4e0ce", "sender": "629d847e3ef6e16c0c308b9c", "receiver": "629d84c53ef6e16c0c308ba7", "content": "1", "delete": false, "createdAt": "2023-03-20T13:35:16.734Z", "updatedAt": "2023-03-20T13:35:16.734Z", "__v": 0, "target": "629d84c53ef6e16c0c308ba7", "username": "user", "avatar": "http://localhost:8000/images/upload_7b8b7ff1e44dcd711a2685e9b610b81c.jpg" } ], "errno": 0 }
聊天记录
- Path: /api/chat/past
- Method: GET
- Description: 查询聊天记录
- Query
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 聊天对象的ID |
Return
json{ "data": [ { "_id": "64183285ed17c631e2888c71", "sender": "629d84c53ef6e16c0c308ba7", "receiver": "629d847e3ef6e16c0c308b9c", "content": "你好!", "delete": false, "createdAt": "2023-03-20T10:16:37.874Z", "updatedAt": "2023-03-21T12:44:04.069Z", "__v": 0 } ], "errno": 0 }
删除聊天记录
Path: /api/chat/delete
Method: POST
Description: 删除聊天记录(将 delete 标记为 true )
Headers
参数名 | 值 |
---|---|
Content-Type | application/json |
- Body
参数名 | 类型 | 是否必须 | 默认值 | 备注 |
---|---|---|---|---|
_id | String | True | 聊天记录ID |
- Return
{
"msg": "操作成功",
"errno": 0
}
预览: