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.

1154 lines
24 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 吃啥-接口文档
Shuaib编写---2022.7.24
1. 执行错误返回结果实例:
```javascript
{
"code": 500,
"msg": "系统异常!",
"data": null
}
```
2. 静态资源存放相对路径为: /static
3. 传递请求体参数时请以对象的形式传递
4. 本系统已设置跨域,若出现跨域问题请使用代理服务器
5. 数据库信息录入不容易请务必不要随意修改删除破坏,想要测试可以先增加一个🥶
6. 使用方式
1. 在文件夹路径内执行命令 nmp install
2. 使用node命令执行 node app.js或使用pm2挂起
7. 第一次写接口文档,因工作量大我并未测试,如果发现问题可以联系我(QQ: 2631667689)
8. 系统脆弱请手下留情,请求频率别那么那么高
## 一. 信息管理与权限控制子系统(管理员)
### 1.1 用户管理
#### 1. 添加用户
- 接口
请求类型post
请求地址121.37.102.50:3017/user
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :------: | :------: | ------------------------------------------- |
| userId | String | 用户的唯一标识(255,不可重复,必填,主键) |
| userPwd | String | 用户登录时所用的密码(13,必填) |
| userName | String | 用户的昵称(10) |
| userNumb | String | 用户的电话号码(登录账号)(12,不可重复,必填) |
| userLike | String | 用户的喜好(40) |
| userAdd | String | 用户的住址(50) |
| userGend | String | 用户的性别(2,男或女或未知) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 2. 查询所有用户
- 接口
请求类型get
请求地址121.37.102.50:3017/user
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
userAdd: "内蒙古自治区/呼和浩特市/玉泉区"
userGend: "男"
userId: "15899996666"
userLike: "甜食"
userName: "李宝"
userNumb: "15899996667"
userPwd: "2631667689zyx"
},
...
]
}
```
#### 3. 查询单个用户
- 接口
请求类型get
请求地址121.37.102.50:3017/user/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
userAdd: "内蒙古自治区/呼和浩特市/玉泉区"
userGend: "男"
userId: "15899996666"
userLike: "甜食"
userName: "李宝"
userNumb: "15899996667"
userPwd: "2631667689zyx"
}
]
}
```
#### 4. 删除单个用户
- 接口
请求类型delete
请求地址121.37.102.50:3017/user/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 5. 更新单个用户
- 接口
请求类型put
请求地址121.37.102.50:17/user
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :------: | :------: | ------------------------------------------- |
| userId | String | 用户的唯一标识(255,不可重复,必填,主键) |
| userPwd | String | 用户登录时所用的密码(13,必填) |
| userName | String | 用户的昵称(10) |
| userNumb | String | 用户的电话号码(登录账号)(12,不可重复,必填) |
| userLike | String | 用户的喜好(40) |
| userAdd | String | 用户的住址(50) |
| userGend | String | 用户的性别(2,男或女或未知) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
### 1.2 菜谱管理
注意:菜谱的食材组成(menuEle)必须是以|分隔的字符串
#### 1. 上传菜谱图片
- 接口
请求类型post
请求地址121.37.102.50:3017/menu/upload
- 请求体参数
图片文件建议使用element-ui upload图片上传组件
- 返回值示例
```javascript
{
"code": 200,
"msg": "菜谱图片上传成功",
"data": "http://121.37.102.50:3017/static/imgs_menu/b38850190505d2244a886bf00.png"
}
```
#### 2. 添加菜谱
- 接口
请求类型post
请求地址121.37.102.50:3017/menu
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :-------: | :------: | ----------------------------- |
| menuName | String | 菜谱名称(50,必填) |
| menuId | String | 菜谱的唯一标识(11,必填,主键) |
| menuEle | String | 菜谱组成(100,必填,使用\|分隔) |
| menuTaste | String | 菜谱口味(50,必填) |
| menuCuis | String | 菜谱菜系(20,必填) |
| menuBrief | String | 菜谱简介(255) |
| menuLevel | Int | 菜谱制作难度(11,1-5) |
| menuPut | String | 菜谱静态图片地址(255) |
| menuPrice | Double | 菜谱价格(7,必填) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 3. 查询所有菜谱
- 接口
请求类型get
请求地址121.37.102.50:3017/menu
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
menuBrief: "步骤1把鸭腿猪爪焯出来鲜鲍鱼洗净发干海参\n步骤2金华火腿鲍鱼蒸熟五花 肉焯水,冬菇冬笋,鸽子蛋煮好\n步骤3炒鸭腿猪爪\n步骤4再放入其他肉类加高 汤,冬菇和笋最后放\n步骤5砂锅炖5个小时\n步骤6收汁盛出\n步骤7周围摆上西 兰花和鸽子(鹌鹑)蛋,滋补"
menuCuis: "闽菜"
menuEle: "海参|鱼翅|鲍鱼|花菇|文蛤|瑶柱|草虾|冬笋|猪爪"
menuId: "0292ffe-4"
menuLevel: 5
menuName: "佛跳墙"
menuPrice: 68
menuPut: "http://121.37.102.50:3017/static/imgs_menu/b38850190505d2244a886bf00.png"
menuTaste: "鲜香"
},
...
]
}
```
#### 4. 查询单个菜谱
- 接口
请求类型get
请求地址121.37.102.50:3017/menu/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
menuBrief: "步骤1把鸭腿猪爪焯出来鲜鲍鱼洗净发干海参\n步骤2金华火腿鲍鱼蒸熟五花 肉焯水,冬菇冬笋,鸽子蛋煮好\n步骤3炒鸭腿猪爪\n步骤4再放入其他肉类加高 汤,冬菇和笋最后放\n步骤5砂锅炖5个小时\n步骤6收汁盛出\n步骤7周围摆上西 兰花和鸽子(鹌鹑)蛋,滋补"
menuCuis: "闽菜"
menuEle: "海参|鱼翅|鲍鱼|花菇|文蛤|瑶柱|草虾|冬笋|猪爪"
menuId: "0292ffe-4"
menuLevel: 5
menuName: "佛跳墙"
menuPrice: 68
menuPut: "http://121.37.102.50:3017/static/imgs_menu/b38850190505d2244a886bf00.png"
menuTaste: "鲜香"
}
]
}
```
#### 5. 删除单个菜谱
- 接口
请求类型delete
请求地址121.37.102.50:3017/menu/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 6. 更新单个菜谱
- 接口
请求类型put
请求地址121.37.102.50:3017/menu
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :-------: | :------: | ----------------------------- |
| menuName | String | 菜谱名称(50,必填) |
| menuId | String | 菜谱的唯一标识(11,必填,主键) |
| menuEle | String | 菜谱组成(100,必填,使用\|分隔) |
| menuTaste | String | 菜谱口味(50,必填) |
| menuCuis | String | 菜谱菜系(20,必填) |
| menuBrief | String | 菜谱简介(255) |
| menuLevel | Int | 菜谱制作难度(11,1-5) |
| menuPut | String | 菜谱静态图片地址(255) |
| menuPrice | Double | 菜谱价格(7,必填) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
### 1.3 食材管理
#### 1. 上传食材图片
- 接口
请求类型post
请求地址121.37.102.50:3017/ingredient/upload
- 请求体参数
图片文件建议使用element-ui upload图片上传组件
- 返回值示例
```javascript
{
"code": 200,
"msg": "食材图片上传成功",
"data": "http://121.37.102.50:3017/static/imgs_ingredient/9b40f16431477b08e9019441f.png"
}
```
#### 2. 添加食材
- 接口
请求类型post
请求地址121.37.102.50:3017/ingredient
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :--------: | :------: | ---------------------------- |
| ingreName | String | 食材名称(50,必填) |
| ingreId | String | 食材的唯一标识(11,必填,主键) |
| ingreAdd | String | 食材产地(50) |
| ingreAttr | String | 食材属性(50) |
| ingrePut | String | 食材静态图片地址(255) |
| ingrePrice | Double | 食材价格(10) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 3. 查询所有食材
- 接口
请求类型get
请求地址121.37.102.50:3017/ingredient
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
ingreAdd: "北京市/北京城区/西城区"
ingreAttr: "温"
ingreId: "0271ee3-2"
ingreName: "鸡肉"
ingrePrice: 28
ingrePut: "http://121.37.102.50:3017/static/imgs_ingredient/9b40f16431477b08e9019441f.png"
},
...
]
}
```
#### 4. 查询单个食材
- 接口
请求类型get
请求地址121.37.102.50:3017/ingredient/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
ingreAdd: "北京市/北京城区/西城区"
ingreAttr: "温"
ingreId: "0271ee3-2"
ingreName: "鸡肉"
ingrePrice: 28
ingrePut: "http://121.37.102.50:3017/static/imgs_ingredient/9b40f16431477b08e9019441f.png"
}
]
}
```
#### 5. 删除单个食材
- 接口
请求类型delete
请求地址121.37.102.50:3017/ingredient/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 6. 更新单个食材
- 接口
请求类型put
请求地址121.37.102.50:3017/ingredient
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :--------: | :------: | ---------------------------- |
| ingreName | String | 食材名称(50,必填) |
| ingreId | String | 食材的唯一标识(11,必填,主键) |
| ingreAdd | String | 食材产地(50) |
| ingreAttr | String | 食材属性(50) |
| ingrePut | String | 食材静态图片地址(255) |
| ingrePrice | Double | 食材价格(10) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
### 1.4 管理员管理
#### 1. 添加管理员
- 接口
请求类型post
请求地址121.37.102.50:3017/admin
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :------------: | :------: | -------------------------------------------------------- |
| adminId | String | 管理员的唯一标识(255,不可重复,必填,主键) |
| adminNumb | String | 管理员联系方式(11,不可重复,必填) |
| adminName | String | 管理员的昵称(10) |
| power | Int | 最高管理员(管理管理员)权限(1,必填,只有一位,手动录入为1) |
| adminPass | String | 管理员登陆密码(13必填) |
| adminAcco | String | 管理员账号(7,必填,不可重复) |
| menuAuth | Int | 管理菜谱权限(1,1->拥有权力或0->没有权力) |
| ingredientAuth | Int | 管理食材权限(1,1->拥有权力或0->没有权力) |
| userAuth | Int | 管理用户权限(1,1->拥有权力或0->没有权力) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 2. 查询所有管理员
- 接口
请求类型get
请求地址121.37.102.50:3017/admin
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
adminAcco: "bd9e67f"
adminId: "2ed90fe4-f561-44df-b586-3337c9be3220"
adminName: "俊南"
adminNumb: "15024930876"
ingredientAuth: 0
menuAuth: 0
power: 0
userAuth: 1
},
...
]
}
```
#### 3. 查询单个管理员
- 接口
请求类型get
请求地址121.37.102.50:3017/admin/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
adminAcco: "bd9e67f"
adminId: "2ed90fe4-f561-44df-b586-3337c9be3220"
adminName: "俊南"
adminNumb: "15024930876"
ingredientAuth: 0
menuAuth: 0
power: 0
userAuth: 1
}
]
}
```
#### 4. 删除单个管理员
- 接口
请求类型delete
请求地址121.37.102.50:3017/admin/{id}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 5. 更新单个用户
- 接口
请求类型put
请求地址121.37.102.50:3017/admin
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| :------------: | :------: | -------------------------------------------------------- |
| adminId | String | 管理员的唯一标识(255,不可重复,必填,主键) |
| adminNumb | String | 管理员联系方式(11,不可重复,必填) |
| adminName | String | 管理员的昵称(10) |
| power | Int | 最高管理员(管理管理员)权限(1,必填,只有一位,手动录入为1) |
| adminPass | String | 管理员登陆密码(13必填) |
| adminAcco | String | 管理员账号(7,必填,不可重复) |
| menuAuth | Int | 管理菜谱权限(1,1->拥有权力或0->没有权力) |
| ingredientAuth | Int | 管理食材权限(1,1->拥有权力或0->没有权力) |
| userAuth | Int | 管理用户权限(1,1->拥有权力或0->没有权力) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 6. 重置管理员密码
- 接口
请求类型post
请求地址121.37.102.50:3017/admin/password/{id}
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| -------- | -------- | ------------------------ |
| password | String | 管理员登陆密码(13必填) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 7. 管理员登录
- 接口
请求类型get
请求地址121.37.102.50:3017/admin/login/{adminAcco}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
adminAcco: "bd9e67f"
adminId: "2ed90fe4-f561-44df-b586-3337c9be3220"
adminName: "俊南"
adminNumb: "15024930876"
ingredientAuth: 0
menuAuth: 0
power: 0
userAuth: 1
}
]
}
```
## 二. 用户端子系统
### 2.1 菜谱相关
#### 1. 模糊查询菜谱
注意模糊查询传递的keyword参数必须为以|分隔的字符串,系统将从菜谱名称(menuName), 菜谱组成(menuEle),菜谱口味 (menuTaste), 菜谱菜系(menuCuis)四个属性中进行模糊查询。
- 接口
请求类型get
请求地址121.37.102.50:3017/menu/searchlike/{keyword}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
menuBrief: "步骤1把鸭腿猪爪焯出来鲜鲍鱼洗净发干海参\n步骤2金华火腿鲍鱼蒸熟五花肉焯水冬菇冬笋鸽子蛋煮好\n步骤3炒鸭腿猪爪\n步骤4再放入其他肉类加高汤冬菇和笋最后放\n步骤5砂锅炖5个小时\n步骤6收汁盛出\n步骤7周围摆上西兰花和鸽子鹌鹑滋补"
menuCuis: "闽菜"
menuEle: "海参|鱼翅|鲍鱼|花菇|文蛤|瑶柱|草虾|冬笋|猪爪"
menuId: "0292ffe-4"
menuLevel: 5
menuName: "佛跳墙"
menuPrice: 68
menuPut: "http://121.37.102.50:3017/static/imgs_menu/b38850190505d2244a886bf00.png"
menuTaste: "鲜香"
},
...
]
}
```
#### 2. 根据多个菜谱Id查询多个菜谱和菜谱历史记录
注意传递的id数据每一项必须为id字符串
- 接口
请求类型post
请求地址121.37.102.50:3017/menu/user/menuinfo
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| ---------- | ------------ | -------------------- |
| menuIdsArr | List数组 | 需要查询的菜谱id数组 |
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
count: 1
createTime: "2022-07-15 14:21:47"
menuBrief: "步骤1将苦瓜洗净一剖为二刮去内瓤切成薄片。\n步骤2把薄如纸片的苦瓜放进烧滚的开水里片刻后捞起。\n步骤3放入少许盐然后根据口味放入准备好的甜、酸、辣等调味品拌匀后即可食用。"
menuCuis: "粤菜"
menuEle: "苦瓜|豆瓣酱|酱油|蒜泥"
menuId: "a109fe9-6"
menuLevel: 1
menuName: "凉拌苦瓜"
menuPrice: 15
menuPut: "http://121.37.102.50:3017/static/imgs_menu/b58376487eec3b86d136d560e.png"
menuTaste: "苦涩"
modifyTime: "2022-07-15T06:22:07.000Z"
recordId: "0620585b-6ee1-4604-9884-e906d9ba779a"
userId: "1d57905f-6cfc-4b49-8c04-692ee6829a3b"
]
}
```
### 2.2 用户相关
#### 1. 修改密码
- 接口
请求类型post
请求地址121.37.102.50:3017/user/password{id}
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| -------- | -------- | -------------------- |
| password | String | 用户所需要修改的密码 |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 2. 用户登录
- 接口
请求类型get
请求地址121.37.102.50:3017/user/login/{userNumb}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
userAdd: "内蒙古自治区/呼和浩特市/玉泉区"
userGend: "男"
userId: "15899996666"
userLike: "甜食"
userName: "李宝"
userNumb: "15899996667"
userPwd: "2631667689zyx"
}
]
}
```
#### 3. 忘记密码
注意:本系统只做学习使用,密码无任何价值
- 接口
请求类型get
请求地址121.37.102.50:3017/user/login/forgetpass/{number}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
userPwd: "2631667689zyx"
}
]
}
```
#### 4. 用户注册
- 接口
请求类型post
请求地址121.37.102.50:3017/user/register
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| -------- | -------- | ------------------------------------------- |
| userId | String | 用户的唯一标识(255,不可重复,必填,主键) |
| userPwd | String | 用户登录时所用的密码(13,必填) |
| userNumb | String | 用户的电话号码(登录账号)(12,不可重复,必填) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
### 2.3 菜谱历史记录相关
#### 1. 添加菜谱历史记录
- 接口
请求类型post
请求地址121.37.102.50:3017/record
- 请求体参数
| 参数名 | 数据类型 | 说明 |
| ---------- | -------- | -------------------------------------------- |
| recordId | String | 菜谱历史记录唯一标识(255,不可重复,必填,主键) |
| userId | String | 用户的唯一标识(255,不可重复,必填,外键) |
| menuId | String | 菜谱的唯一标识(11,必填,外键) |
| createTime | String | 菜谱历史记录创建时间(255,必填) |
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 2. 删除单个菜谱历史记录
- 接口
请求类型delete
请求地址121.37.102.50:3017/record/{recordId}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 3. 查询单个用户的菜谱历史记录
- 接口
请求类型get
请求地址121.37.102.50:3017/record/{userId}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "查询成功!",
"data": [
{
count: 1
createTime: "2022-07-15 14:21:47"
menuId: "a109fe9-6"
modifyTime: "2022-07-15T06:22:07.000Z"
recordId: "0620585b-6ee1-4604-9884-e906d9ba779a"
userId: "1d57905f-6cfc-4b49-8c04-692ee6829a3b"
},
...
]
}
```
#### 4. 删除单个用户的菜谱历史记录
- 接口
请求类型delete
请求地址121.37.102.50:3017/record/user/{userId}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 5. 删除单个菜谱历史记录
- 接口
请求类型delete
请求地址121.37.102.50:3017/record/{recordId}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```
#### 6. 更新单个菜谱历史记录
注意:更新菜谱历史记录只对菜谱记录次数(count)加1
- 接口
请求类型put
请求地址121.37.102.50:3017/record/{recordId}
- 请求体参数
- 返回值示例
```javascript
{
"code": 200,
"msg": "更新成功!",
"data": null
}
```