1
0
Files
build.ems/docs/interfaces/08-OMC FE2BE HTTP API Interfaces.md

14158 lines
357 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: OMC v1.0.0
language_tabs:
- shell: Shell
- http: HTTP
- javascript: JavaScript
- ruby: Ruby
- python: Python
- php: PHP
- java: Java
- go: Go
toc_footers: []
includes: []
search: true
code_clipboard: true
highlight_theme: darkula
headingLevel: 2
generator: "@tarslib/widdershins v4.0.17"
---
# OMC
> v1.0.0
OMC Restful API服务接口
Base URLs:
# Authentication
# 通用模块
## GET 默认主页
GET /
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Referer|header|string| 是 |使用指定声明的Referer|
|User-Agent|header|string| 是 |用户浏览器代理|
|Accept-Language|header|string| 是 |zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "欢迎使用mask_api_midwayjs后台管理框架当前版本0.0.5,请通过前端管理地址访问。"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 获取验证码
GET /captchaImage
验证码有效期2分钟
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Referer|header|string| 是 |使用指定声明的Referer|
|User-Agent|header|string| 是 |用户浏览器代理|
|Accept-Language|header|string| 是 |zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"captchaEnabled": true,
"uuid": "os0t2l1532dhuvqv",
"img": "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='120' height='40' viewBox='0%2c0%2c120%2c40'%3e%3crect width='100%25' height='100%25' fill='%23fafafa'/%3e%3cpath fill='%2364e6e6' d='M62.19 26.62L62.24 26.67L62.16 26.59Q65.43 27.87 69.20 27.87L69.20 27.88L69.26 27.94Q70.89 27.97 72.45 27.75L72.42 27.71L72.32 27.61Q71.98 28.18 71.33 29.36L71.26 29.29L71.29 29.32Q71.92 29.46 72.60 29.23L72.65 29.27L72.49 29.11Q72.23 30.03 72.23 30.83L72.28 30.89L72.19 30.79Q72.19 31.52 72.46 32.24L72.54 32.32L72.51 32.29Q70.98 31.95 69.20 31.99L69.29 32.08L69.23 32.02Q67.58 32.12 66.17 32.39L66.17 32.39L66.03 32.25Q66.46 31.46 66.35 30.47L66.36 30.48L66.36 30.49Q66.19 30.62 65.97 30.58L65.86 30.48L65.87 30.49Q65.69 30.47 65.39 30.47L65.37 30.44L65.49 30.57Q65.20 28.71 62.15 26.58ZM65.45 29.99L65.54 30.08L65.51 30.05Q67.04 30.25 68.18 30.21L68.22 30.25L68.13 30.16Q70.97 30.30 70.97 30.30L70.96 30.28L70.83 30.16Q71.02 29.20 71.74 28.18L71.68 28.11L71.59 28.03Q70.56 28.29 69.38 28.29L69.45 28.36L69.38 28.29Q66.36 28.35 63.47 27.40L63.43 27.36L63.37 27.30Q65.24 28.64 65.62 30.17ZM65.12 30.77L65.19 30.84L65.23 30.87Q65.53 30.79 66.21 30.83L66.19 30.81L66.15 30.77Q66.09 31.89 65.56 32.65L65.56 32.66L65.59 32.69Q67.19 32.57 67.03 32.57L67.07 32.60L67.07 32.60Q66.49 33.54 65.73 34.31L65.65 34.22L65.68 34.26Q67.75 33.97 69.69 33.97L69.55 33.83L69.64 33.91Q74.20 33.87 78.31 35.58L78.40 35.67L75.97 34.31L75.83 34.16Q73.52 32.73 73.52 30.52L73.38 30.39L73.46 30.46Q73.14 30.45 72.88 30.45L72.98 30.55L72.52 30.63L72.40 30.51Q72.58 29.78 73.15 28.83L73.13 28.81L73.05 28.72Q72.58 28.75 71.63 28.94L71.80 29.11L71.65 28.96Q72.26 28.05 73.25 27.29L73.21 27.25L73.11 27.15Q71.26 27.58 69.24 27.58L69.32 27.66L69.18 27.52Q64.54 27.64 60.77 25.77L60.70 25.70L60.78 25.78Q65.14 28.39 65.25 30.90ZM66.06 29.73L66.15 29.82L65.84 29.78L65.93 29.86Q65.64 29.61 65.53 29.61L65.71 29.79L65.72 29.80Q65.53 29.23 65.15 28.82L64.97 28.64L64.22 27.77L64.27 27.82Q66.75 28.66 69.49 28.66L69.36 28.54L69.46 28.64Q70.16 28.50 71.03 28.42L71.14 28.52L70.96 28.84L70.75 29.05L70.74 29.04Q69.46 29.09 68.17 29.06L68.18 29.06L68.33 29.22Q66.91 29.10 65.62 28.83L65.53 28.74L65.68 28.88Q66.05 29.26 66.20 29.87Z'/%3e%3cpath fill='%2371ade8' d='M44.80 18.31L44.89 18.39L44.82 18.33Q41.80 18.50 39.97 17.43L39.85 17.31L39.91 17.37Q42.41 15.99 47.28 11.77L47.20 11.68L47.21 11.69Q47.93 11.50 49.23 10.89L49.37 11.03L49.19 10.85Q47.99 16.93 47.88 23.28L47.82 23.23L47.74 23.15Q47.66 29.54 48.72 35.63L48.88 35.78L48.77 35.68Q47.12 34.97 44.98 34.86L45.00 34.87L44.91 34.78Q44.95 30.79 44.95 26.71L44.85 26.62L44.84 26.60Q44.89 22.55 44.93 18.43ZM44.49 20.62L44.51 35.22L44.60 35.31Q45.66 35.15 46.61 35.34L46.63 35.36L46.75 35.48Q46.71 36.05 46.90 37.42L46.91 37.43L46.92 37.44Q49.78 37.98 52.21 40.22L52.28 40.29L52.29 40.30Q49.82 33.19 49.79 25.73L49.66 25.60L49.66 25.60Q49.66 18.22 51.49 10.98L51.52 11.02L51.56 11.05Q50.92 11.37 49.32 12.47L49.37 12.52L49.39 12.53Q49.53 11.73 49.84 10.21L49.89 10.26L49.86 10.23Q48.47 10.94 47.02 11.32L47.11 11.40L47.16 11.45Q43.30 14.94 39.00 17.22L39.01 17.23L38.93 17.16Q40.33 18.25 42.69 18.59L42.75 18.65L42.72 18.62Q42.05 19.13 40.76 20.20L40.80 20.24L40.77 20.21Q42.38 20.71 44.58 20.71L44.48 20.61Z'/%3e%3cpath fill='%23328ce5' d='M21.38 18.49L21.29 18.40L21.25 18.35Q18.06 18.36 16.23 17.29L16.30 17.36L16.32 17.39Q18.86 16.04 23.73 11.82L23.69 11.77L23.72 11.80Q24.32 11.48 25.61 10.87L25.68 10.95L25.67 10.93Q24.27 16.80 24.15 23.16L24.27 23.28L24.25 23.25Q24.08 29.55 25.14 35.65L25.24 35.75L25.26 35.76Q23.44 34.90 21.31 34.78L21.45 34.93L21.33 34.80Q21.30 30.73 21.30 26.66L21.32 26.68L21.30 26.66Q21.18 22.44 21.22 18.33ZM21.01 20.74L20.85 35.16L20.88 35.19Q22.20 35.29 23.15 35.48L23.18 35.51L23.02 35.35Q23.15 36.09 23.34 37.46L23.40 37.53L23.34 37.46Q26.25 38.05 28.68 40.29L28.73 40.34L28.57 40.18Q26.18 33.15 26.15 25.69L26.07 25.61L26.20 25.74Q26.00 18.15 27.82 10.92L27.83 10.92L27.98 11.08Q27.25 11.30 25.65 12.40L25.78 12.53L25.79 12.54Q25.94 11.73 26.24 10.21L26.19 10.16L26.21 10.19Q24.96 11.03 23.51 11.41L23.43 11.32L23.48 11.37Q19.71 14.95 15.41 17.23L15.40 17.22L15.37 17.19Q16.80 18.32 19.16 18.66L19.09 18.60L19.19 18.70Q18.48 19.16 17.18 20.22L17.13 20.18L17.27 20.32Q18.61 20.55 20.82 20.55L20.86 20.59Z'/%3e%3cpath fill='%23ea5b7f' d='M99.33 32.82L99.48 32.98L99.49 32.99Q99.70 33.88 100.23 35.90L100.26 35.93L100.19 35.86Q95.96 34.53 91.36 34.79L91.43 34.87L91.36 34.79Q86.86 35.13 82.86 37.11L82.93 37.18L82.77 37.02Q83.04 36.37 83.08 36.45L83.03 36.40L83.12 36.49Q86.76 32.44 90.68 28.03L90.81 28.15L90.75 28.10Q95.13 23.07 96.31 18.39L96.27 18.35L96.37 18.45Q96.79 16.66 95.52 15.48L95.57 15.53L95.51 15.48Q94.32 14.38 92.53 14.53L92.55 14.55L92.54 14.55Q92.19 14.49 91.85 14.49L91.78 14.43L91.82 14.47Q90.33 14.50 89.08 15.42L88.92 15.26L89.03 15.38Q87.75 16.75 87.97 19.42L87.92 19.37L88.00 19.44Q86.06 18.95 84.84 18.50L84.84 18.49L84.86 18.51Q84.76 17.19 84.68 15.75L84.69 15.75L84.77 15.83Q84.61 14.11 85.22 12.97L85.20 12.95L85.12 12.87Q87.02 11.61 90.37 11.61L90.36 11.60L92.10 11.59L92.14 11.63Q94.30 11.54 95.25 11.66L95.24 11.65L95.25 11.65Q99.69 12.18 99.96 14.61L99.85 14.51L99.95 14.61Q100.04 15.19 99.96 15.99L99.88 15.90L100.03 16.05Q99.98 16.69 99.83 17.37L99.82 17.37L99.67 17.22Q98.08 25.38 90.51 32.23L90.53 32.26L90.51 32.23Q91.96 32.12 93.33 32.12L93.30 32.09L93.29 32.08Q96.57 32.13 99.43 32.93ZM98.92 12.16L98.80 12.04L98.93 12.17Q97.17 11.37 95.46 11.29L95.53 11.37L92.18 11.25L92.06 11.13Q87.59 10.85 85.38 11.96L85.41 11.98L85.34 11.91Q84.31 13.32 84.31 15.38L84.34 15.40L84.44 15.51Q84.32 16.07 84.63 18.89L84.76 19.02L84.72 18.98Q85.24 19.19 86.42 19.50L86.39 19.47L86.47 20.58L86.37 20.48Q86.42 21.03 86.50 21.56L86.48 21.54L86.42 21.48Q87.75 21.67 90.23 21.90L90.24 21.92L90.11 21.79Q90.23 21.56 90.23 21.22L90.21 21.20L90.17 21.16Q90.16 19.32 91.37 17.96L91.45 18.04L91.47 18.06Q92.64 16.66 94.43 16.78L94.36 16.71L94.33 16.67Q95.20 16.82 95.96 16.97L95.93 16.94L95.93 16.94Q95.99 17.27 96.06 17.69L96.08 17.71L96.00 17.62Q96.11 18.11 96.03 18.46L95.97 18.39L96.15 18.57Q94.71 23.15 90.30 27.99L90.36 28.05L90.40 28.09Q88.21 30.27 82.76 36.33L82.77 36.33L82.78 36.35Q82.53 37.12 82.18 37.69L82.19 37.70L82.23 37.73Q83.92 36.95 85.45 36.42L85.31 36.28L85.46 36.43Q84.62 36.88 83.67 38.37L83.80 38.50L83.77 38.47Q83.69 38.85 83.57 39.19L83.52 39.14L83.49 39.10Q88.27 36.96 93.76 37.15L93.88 37.28L93.90 37.29Q99.62 37.50 104.19 39.86L104.12 39.79L103.17 37.70L103.03 37.56Q102.53 36.37 102.26 35.57L102.12 35.43L102.24 35.55Q101.46 35.08 100.24 34.66L100.30 34.71L100.21 34.63Q100.03 33.87 99.65 32.50L99.78 32.63L99.64 32.49Q97.40 31.89 95.12 31.70L95.17 31.75L95.13 31.71Q99.98 27.32 101.51 19.05L101.48 19.03L101.62 16.09L101.67 16.13Q101.59 14.34 100.37 13.66L100.31 13.59L100.27 13.59L100.27 13.59Q100.18 13.47 100.11 13.47L100.09 13.45L100.11 13.47Q100.01 12.76 98.91 12.15Z'/%3e%3cpath d='M14 30 C59 18%2c65 9%2c110 17' stroke='%2363dddd' fill='none'/%3e%3cpath d='M13 24 C48 26%2c39 6%2c107 9' stroke='%23de77c4' fill='none'/%3e%3cpath d='M12 11 C50 25%2c80 39%2c113 8' stroke='%23e593bc' fill='none'/%3e%3cpath d='M19 17 C43 30%2c51 8%2c109 8' stroke='%23ddc16d' fill='none'/%3e%3c/svg%3e"
}
```
```json
{
"code": 200,
"msg": "成功",
"text": "9",
"captchaEnabled": true,
"uuid": "s7hf2j3erfpritqy",
"img": "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='120' height='40' viewBox='0%2c0%2c120%2c40'%3e%3crect width='100%25' height='100%25' fill='%23fafafa'/%3e%3cpath fill='%23ec73ce' d='M85.44 24.04L85.53 24.13L85.51 24.11Q83.59 23.90 82.35 25.33L82.43 25.40L82.43 25.41Q81.15 26.79 80.96 28.70L81.02 28.76L81.00 28.73Q80.82 30.84 81.91 31.81L81.97 31.87L81.87 31.78Q83.04 32.83 85.13 32.72L84.98 32.56L85.02 32.61Q87.16 32.50 88.26 31.81L88.29 31.84L88.27 31.82Q89.38 30.68 89.38 29.12L89.37 29.11L89.44 29.19Q89.37 28.73 89.30 28.35L89.35 28.41L89.39 28.44Q89.39 26.69 88.28 25.34L88.23 25.29L88.35 25.40Q87.20 24.01 85.52 24.12ZM85.09 35.22L85.17 35.31L85.10 35.24Q80.72 35.24 79.32 34.48L79.34 34.50L79.28 34.44Q78.32 33.75 78.13 32.04L78.05 31.96L78.03 31.93Q78.01 31.27 78.05 30.55L78.11 30.61L78.16 30.65Q78.27 29.66 78.27 29.21L78.24 29.17L78.13 29.06Q78.70 26.32 78.85 25.64L78.79 25.57L78.85 25.64Q79.36 23.75 80.20 22.34L80.18 22.33L80.01 22.15Q82.70 17.80 88.64 11.44L88.62 11.42L88.67 11.48Q91.34 11.17 93.55 10.37L93.58 10.41L93.62 10.44Q86.67 17.81 83.47 22.04L83.47 22.03L83.48 22.04Q84.46 21.53 85.75 21.53L85.86 21.64L85.82 21.60Q89.14 21.61 90.67 23.56L90.71 23.60L90.75 23.64Q91.92 25.12 92.26 28.66L92.27 28.66L92.29 28.68Q92.39 29.43 92.39 30.04L92.36 30.01L92.47 30.12Q92.44 33.21 90.23 34.28L90.23 34.28L90.26 34.30Q88.98 34.86 85.10 35.24ZM87.47 37.72L87.43 37.68L87.35 37.60Q88.60 37.52 90.58 37.60L90.71 37.72L90.71 37.73Q92.28 37.73 93.84 37.01L93.93 37.09L93.82 36.99Q94.99 36.26 94.99 34.47L94.96 34.43L95.01 34.49Q95.03 34.01 94.86 33.02L94.88 33.04L94.82 32.98Q94.56 31.91 94.56 31.45L94.60 31.49L94.54 31.43Q93.75 26.79 92.15 24.88L92.04 24.78L92.07 24.81Q92.00 24.70 91.85 24.47L91.90 24.52L91.66 24.36L91.50 24.24L91.51 24.25Q91.11 23.69 90.50 22.74L90.55 22.79L90.49 22.74Q89.69 21.89 87.71 21.44L87.64 21.36L87.62 21.35Q88.95 19.86 91.92 16.17L91.82 16.07L96.16 10.89L96.12 10.85Q94.61 11.77 92.21 12.53L92.15 12.47L92.19 12.52Q93.08 11.51 94.87 9.53L94.82 9.48L94.81 9.46Q92.46 10.58 88.58 11.15L88.59 11.17L88.58 11.16Q82.94 17.12 79.97 22.07L79.85 21.95L79.89 21.99Q78.41 24.55 77.84 30.79L77.84 30.79L77.72 30.67Q77.67 31.27 77.74 32.22L77.69 32.17L77.72 32.20Q77.90 34.05 79.00 34.96L78.95 34.91L78.92 34.88Q79.37 35.10 79.33 35.14L79.29 35.10L79.36 35.17Q79.71 36.05 80.51 36.47L80.42 36.38L80.50 36.46Q81.90 37.10 83.84 37.29L83.84 37.29L83.85 37.30Q83.79 37.24 87.30 37.54ZM87.11 26.36L87.10 26.35L87.17 26.41Q87.77 26.33 88.72 26.83L88.63 26.74L88.77 26.87Q88.99 27.71 88.99 28.36L88.94 28.30L89.00 28.37Q89.12 30.16 88.17 31.15L88.28 31.26L88.28 31.26Q87.16 31.92 85.06 32.23L85.15 32.32L85.11 32.28Q83.59 32.20 83.05 31.93L83.20 32.08L83.03 31.91Q82.84 31.45 82.84 31.15L82.85 31.16L83.00 31.31Q82.76 28.03 85.69 26.73L85.62 26.66L85.62 26.65Q86.45 26.39 87.22 26.46Z'/%3e%3cpath d='M10 16 C70 25%2c49 8%2c114 10' stroke='%2378c4dd' fill='none'/%3e%3cpath fill='%23d24065' d='M23.39 35.44L23.31 35.35L23.31 35.35Q21.80 35.33 20.24 34.91L20.24 34.91L20.26 34.93Q19.14 34.12 18.99 32.48L18.89 32.38L18.88 32.38Q18.97 32.31 19.16 29.68L19.17 29.69L19.07 29.59Q20.06 29.37 22.08 28.99L22.06 28.97L21.89 29.75L22.00 29.86Q21.69 31.57 23.10 32.14L23.15 32.19L23.18 32.22Q23.98 32.57 26.08 32.57L26.01 32.50L25.93 32.42Q27.52 32.26 27.71 32.18L27.87 32.35L27.76 32.23Q28.67 32.08 29.39 31.58L29.52 31.71L29.51 31.70Q30.85 30.68 30.66 28.59L30.61 28.54L30.60 28.52Q30.46 26.14 28.73 24.58L28.78 24.63L28.81 24.66Q27.08 23.10 24.61 23.10L24.60 23.09L24.53 22.79L24.55 22.81Q24.82 22.67 25.69 22.59L25.87 22.76L25.67 22.57Q27.66 22.53 29.03 21.30L29.07 21.34L28.97 21.24Q30.46 20.12 30.61 18.26L30.65 18.29L30.63 18.27Q30.61 17.84 30.61 17.50L30.70 17.58L30.61 17.49Q30.67 16.03 29.29 15.11L29.30 15.12L29.23 15.05Q28.02 14.25 26.42 14.37L26.39 14.34L26.38 14.33Q25.06 14.15 23.84 14.57L23.94 14.67L23.85 14.58Q22.55 15.25 22.24 16.40L22.11 16.26L22.21 16.37Q21.98 17.09 22.06 17.85L22.16 17.96L22.17 17.96Q21.02 17.62 18.97 16.89L18.89 16.82L18.91 16.83Q18.81 15.28 18.85 14.45L18.82 14.42L18.84 14.44Q18.83 12.80 19.90 12.11L20.08 12.29L19.99 12.20Q21.48 11.67 23.08 11.67L22.93 11.53L22.93 11.53Q26.17 11.57 29.33 11.84L29.29 11.79L29.34 11.85Q34.43 12.29 34.12 16.06L34.06 16.00L34.04 15.97Q34.00 17.50 33.51 19.06L33.59 19.14L33.55 19.10Q32.65 22.20 30.29 23.12L30.22 23.04L30.14 22.97Q32.90 23.63 33.51 26.98L33.50 26.97L33.50 26.97Q33.63 28.02 33.71 30.03L33.80 30.12L33.74 30.06Q33.91 34.53 29.30 34.99L29.30 34.99L29.40 35.09Q28.57 35.06 23.28 35.33ZM28.53 37.60L28.57 37.65L28.41 37.49Q29.16 37.66 32.01 37.74L31.88 37.61L32.06 37.79Q33.81 37.86 35.45 37.22L35.45 37.22L35.35 37.11Q36.46 36.10 36.27 34.35L36.41 34.49L36.29 34.36Q36.31 33.16 36.00 31.41L35.88 31.29L35.94 31.36Q35.18 26.82 33.24 25.19L33.21 25.16L33.10 24.86L33.06 24.78L32.98 24.69Q34.87 23.39 35.63 19.01L35.50 18.88L35.45 18.84Q35.57 18.46 35.69 17.51L35.78 17.61L35.65 17.47Q35.78 16.76 35.70 16.08L35.80 16.17L35.71 16.08Q35.63 14.48 34.33 13.79L34.34 13.80L34.17 13.71L34.22 13.76Q33.85 12.70 32.71 12.17L32.80 12.26L32.68 12.14Q31.11 11.41 25.97 11.11L26.08 11.21L25.99 11.12Q24.41 11.14 22.81 11.14L22.83 11.16L22.87 11.20Q21.14 11.07 19.62 11.72L19.76 11.86L19.73 11.83Q18.52 12.60 18.52 14.35L18.51 14.34L18.41 14.24Q18.40 13.81 18.67 17.16L18.78 17.28L18.69 17.19Q18.99 17.26 20.63 17.87L20.60 17.84L20.62 17.86Q20.76 18.53 20.72 19.02L20.54 18.84L20.73 19.03Q20.54 19.34 20.58 19.87L20.63 19.93L20.66 19.95Q22.51 20.39 24.53 20.51L24.57 20.55L24.39 20.37Q24.38 18.42 25.48 17.58L25.50 17.59L25.44 17.54Q26.27 16.89 28.29 16.66L28.41 16.78L28.39 16.76Q29.52 16.75 30.09 16.94L30.06 16.90L30.08 16.92Q30.15 17.07 30.19 17.19L30.05 17.05L30.20 17.39L30.27 17.92L30.23 17.88Q30.30 18.13 30.26 18.28L30.18 18.21L30.31 18.34Q30.19 20.01 28.67 21.19L28.59 21.10L28.57 21.09Q27.71 22.06 25.69 22.25L25.72 22.28L25.69 22.24Q25.04 22.47 24.17 22.47L24.11 22.42L24.00 22.30Q24.03 22.64 24.19 23.33L24.35 23.49L24.35 23.50Q26.11 23.50 27.56 24.23L27.50 24.16L27.36 24.14L25.79 24.32L25.76 24.29Q25.76 24.59 25.87 25.20L26.02 25.36L25.90 25.23Q28.07 25.19 29.78 26.53L29.72 26.46L29.85 26.59Q30.02 26.92 30.33 28.55L30.36 28.59L30.35 28.58Q30.47 31.44 27.54 31.85L27.69 32.01L27.61 31.92Q25.48 32.16 24.91 32.12L24.88 32.09L24.98 32.19Q24.46 32.02 23.93 31.94L23.99 32.00L23.91 31.47L24.12 31.10L24.16 30.73L24.16 30.38L24.18 30.40Q23.17 30.42 22.37 30.61L22.44 30.68L22.41 30.65Q22.35 30.40 22.35 30.21L22.43 30.29L22.42 30.28Q22.46 30.09 22.46 29.86L22.33 29.73L22.34 29.74Q22.44 29.39 22.59 28.67L22.57 28.64L22.66 28.73Q20.80 28.96 18.93 29.30L18.88 29.26L18.80 29.18Q18.85 29.72 18.74 30.84L18.80 30.91L18.66 30.76Q18.64 31.99 18.64 32.59L18.55 32.50L18.55 32.50Q18.70 34.63 20.07 35.39L20.08 35.40L20.01 35.33Q21.56 37.68 26.28 37.49L26.31 37.52L26.24 37.45Q27.06 37.51 28.59 37.66Z'/%3e%3cpath d='M13 4 C51 9%2c65 6%2c110 4' stroke='%237590df' fill='none'/%3e%3cpath fill='%23d24b4b' d='M57.55 34.48L57.61 34.54L57.53 34.46Q56.76 34.34 56.08 34.38L56.14 34.44L56.20 34.50Q55.53 34.63 54.85 34.63L54.68 34.47L54.66 34.45Q55.13 31.03 55.13 27.61L55.18 27.66L55.14 27.61Q53.29 27.63 52.37 27.63L52.57 27.82L52.48 27.73Q51.54 27.64 49.72 27.56L49.69 27.54L49.80 27.64Q49.90 27.44 49.71 24.97L49.65 24.91L49.57 24.82Q52.15 25.39 55.12 25.39L55.18 25.45L55.19 25.46Q54.81 20.93 54.39 18.34L54.48 18.43L54.56 18.51Q55.36 18.62 56.16 18.62L56.03 18.49L57.67 18.50L57.78 18.61Q57.44 22.76 57.44 25.35L57.58 25.49L57.45 25.36Q59.72 25.46 62.92 25.12L62.84 25.04L62.84 25.03Q62.75 26.40 62.75 27.61L62.81 27.68L62.69 27.56Q62.58 27.71 61.78 27.75L61.75 27.72L61.70 27.66Q60.68 27.63 60.07 27.67L60.01 27.62L60.07 27.68Q60.10 27.71 57.44 27.71L57.51 27.78L57.34 31.04L57.51 31.21Q57.46 32.79 57.57 34.50ZM63.36 24.64L63.33 24.62L63.27 24.55Q61.46 24.95 59.59 25.03L59.54 24.98L59.53 24.97Q59.78 21.82 60.19 19.96L60.18 19.94L60.22 19.98Q59.51 20.03 58.10 20.18L58.10 20.18L58.31 18.15L58.19 18.03Q55.69 18.15 54.01 18.04L54.01 18.04L54.02 18.05Q54.54 21.12 54.73 25.00L54.70 24.97L54.67 24.94Q52.99 24.97 49.30 24.36L49.20 24.27L49.30 24.37Q49.53 25.51 49.53 28.14L49.55 28.16L51.02 28.11L50.96 28.05Q51.07 28.88 50.92 30.29L50.86 30.23L54.76 29.90L54.85 29.99Q54.64 33.17 54.34 35.00L54.38 35.04L54.33 34.99Q55.05 34.95 56.45 34.83L56.56 34.93L56.49 34.86Q56.55 35.62 56.52 36.95L56.41 36.85L56.39 36.83Q56.88 36.78 60.50 36.93L60.59 37.02L60.50 36.94Q59.71 33.98 59.48 30.02L59.38 29.92L59.45 29.99Q62.82 30.12 64.91 30.50L64.93 30.52L64.79 30.38Q64.61 29.43 64.61 28.48L64.58 28.46L64.74 26.71L64.69 26.66Q64.46 26.66 63.93 26.70L63.98 26.75L63.08 26.65L63.05 26.62Q63.09 25.86 63.20 24.49Z'/%3e%3cpath d='M6 19 C52 21%2c78 16%2c107 21' stroke='%2383ebb7' fill='none'/%3e%3cpath d='M8 38 C57 34%2c69 37%2c109 30' stroke='%237baddf' fill='none'/%3e%3c/svg%3e"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|number|true|none||none|
|» msg|string|true|none||none|
|» text|string|false|none|验证码值|仅开发模式返回显示|
|» captchaEnabled|boolean|true|none|是否启用|none|
|» uuid|string|true|none|uuid|none|
|» img|string|true|none|base64图片|none|
## GET 获取系统可暴露的配置信息
GET /sys-conf
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Accept-Language|header|string| 是 |zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"name": "System",
"path": "/system",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/user",
"children": [
{
"name": "User",
"path": "user",
"component": "system/user/index",
"meta": {
"icon": "icon-pcduan",
"title": "用户管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Role",
"path": "role",
"component": "system/role/index",
"meta": {
"icon": "icon-pcduan",
"title": "角色管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "RoleinlineauthuserroleId",
"path": "role/inline/auth-user/:roleId",
"component": "system/role/auth-user",
"meta": {
"icon": "icon-pcduan",
"title": "角色分配用户",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Menu",
"path": "menu",
"component": "system/menu/index",
"meta": {
"icon": "icon-pcduan",
"title": "菜单管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dept",
"path": "dept",
"component": "system/dept/index",
"meta": {
"icon": "icon-pcduan",
"title": "部门管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Post",
"path": "post",
"component": "system/post/index",
"meta": {
"icon": "icon-pcduan",
"title": "岗位管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dict",
"path": "dict",
"component": "system/dict/index",
"meta": {
"icon": "icon-pcduan",
"title": "字典管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "DictinlinedatadictId",
"path": "dict/inline/data/:dictId",
"component": "system/dict/data",
"meta": {
"icon": "icon-pcduan",
"title": "字典数据",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Config",
"path": "config",
"component": "system/config/index",
"meta": {
"icon": "icon-pcduan",
"title": "参数设置",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Notice",
"path": "notice",
"component": "system/notice/index",
"meta": {
"icon": "icon-pcduan",
"title": "通知公告",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Log",
"path": "log",
"component": "BlankLayout",
"meta": {
"icon": "icon-pcduan",
"title": "日志管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/log/operlog",
"children": [
{
"name": "Operlog",
"path": "operlog",
"component": "monitor/operlog/index",
"meta": {
"icon": "icon-pcduan",
"title": "操作日志",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Logininfor",
"path": "logininfor",
"component": "monitor/logininfor/index",
"meta": {
"icon": "icon-pcduan",
"title": "登录日志",
"hide": false,
"cache": true,
"target": null
}
}
]
}
]
},
{
"name": "Monitor",
"path": "/monitor",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统监控",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/monitor/server",
"children": [
{
"name": "Server",
"path": "server",
"component": "monitor/server/index",
"meta": {
"icon": "icon-pcduan",
"title": "服务监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Cache",
"path": "cache",
"component": "monitor/cache/index",
"meta": {
"icon": "icon-pcduan",
"title": "缓存监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "CacheList",
"path": "cacheList",
"component": "monitor/cache/list",
"meta": {
"icon": "icon-pcduan",
"title": "缓存列表",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Online",
"path": "online",
"component": "monitor/online/index",
"meta": {
"icon": "icon-pcduan",
"title": "在线用户",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Job",
"path": "job",
"component": "monitor/job/index",
"meta": {
"icon": "icon-pcduan",
"title": "调度任务",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "JobinlinelogjobId",
"path": "job/inline/log/:jobId",
"component": "monitor/job/log",
"meta": {
"icon": "icon-pcduan",
"title": "调度日志",
"hide": true,
"cache": true,
"target": null
}
}
]
},
{
"name": "Tool",
"path": "/tool",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统工具",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/tool/swagger",
"children": [
{
"name": "Swagger",
"path": "swagger",
"component": "tool/swagger/index",
"meta": {
"icon": "icon-pcduan",
"title": "系统接口",
"hide": false,
"cache": true,
"target": null
}
}
]
},
{
"name": "HttpsLink4",
"path": "https://gitee.com/TsMask/mask_api_midwayjs",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "Gitee仓库",
"hide": false,
"cache": false,
"target": "_blank"
}
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none|路由数组|none|
|»» name|string|true|none|路由名称|none|
|»» path|string|true|none|路由地址|none|
|»» component|string|true|none|组件|- BasicLayout-基础布局组件标识 菜单类型-菜单D<br />- BlankLayout-空白布局组件标识 菜单类型-菜单M<br />- LinkLayout-内链接布局组件标识 菜单类型-菜单M<br />- 按钮菜单类型-菜单B 不会读取到路由中|
|»» meta|object|true|none|元数据|none|
|»»» icon|string|true|none|菜单图标|none|
|»»» title|string|true|none|菜单标题|none|
|»»» hide|boolean|true|none|是否隐藏|默认 false|
|»»» cache|boolean|true|none|是否缓存|默认 false|
|»»» target|string¦null|true|none|链接行为|- 非链接 null<br />- 内部跳转 _self<br />- 外部跳转 _blank|
|»» redirect|string|false|none|目录重定向|none|
|»» children|[object]|false|none|子菜单|none|
|»»» name|string|true|none||none|
|»»» path|string|true|none||none|
|»»» component|string|true|none||none|
|»»» meta|object|true|none|元数据|none|
|»»»» icon|string|true|none||none|
|»»»» title|string|true|none|标题|none|
|»»»» hide|boolean|true|none||none|
|»»»» cache|boolean|true|none||none|
|»»»» target|string¦null|true|none||none|
## POST 转存帮助文档
POST /help-doc
> Body 请求参数
```json
{
"uploadPath": "string",
"language": "string"
}
```
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |授权令牌|
|Referer|header|string| 是 |使用指定声明的Referer|
|User-Agent|header|string| 是 |用户浏览器代理|
|Accept-Language|header|string| 是 |zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 |none|
|» uploadPath|body|string| 是 |none|
|» language|body|string| 是 |none|
> 返回示例
> 成功
```json
{
"code": 1,
"data": "/static/helpDoc/zh_doc.pdf",
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 通用模块/文件操作
## POST 上传文件
POST /file/upload
> Body 请求参数
```yaml
file: string
subPath: "{% mock 'pick' , ['default', 'avatar', 'import', 'export', 'common',
'download', 'chunk'] %}"
```
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |授权令牌|
|Referer|header|string| 是 |使用指定声明的Referer|
|User-Agent|header|string| 是 |用户浏览器代理|
|Accept-Language|header|string| 是 |zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 |none|
|» file|body|string(binary)| 是 |上传文件对象|
|» subPath|body|string| 是 |子路径,可选范围 ['default', 'avatar', 'import', 'export', 'common', 'download', 'chunk']|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"url": "http://127.0.0.1:6275/upload/common/2023/05/o_1d2bofn8f19dh5s11okpje61mipg_画板1_iq526uqv.png",
"fileName": "/upload/common/2023/05/o_1d2bofn8f19dh5s11okpje61mipg_画板1_iq526uqv.png",
"newFileName": "o_1d2bofn8f19dh5s11okpje61mipg_画板1_iq526uqv.png",
"originalFileName": "o_1d2bofn8f19dh5s11okpje61mipg_画板1.png"
}
}
```
```json
{
"code": 500,
"msg": "上传文件类型不支持支持以下类型bmp,gif,jpg,jpeg,png,doc,docx,xls,xlsx,ppt,pptx,html,htm,txt,rar,zip,gz,bz2,mp4,avi,rmvb,pdf"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» url|string|true|none||none|
|»» fileName|string|true|none||none|
|»» newFileName|string|true|none||none|
|»» originalFileName|string|true|none||none|
## POST 切片文件检查
POST /file/chunkCheck
> Body 请求参数
```json
{
"identifier": "string",
"fileName": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» identifier|body|string| 是 | 切片文件目录标识符|MD5(文件名+文件大小)|
|» fileName|body|string| 是 | 原始文件名称|检查格式是否允许上传|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": []
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[string]|true|none|已上传切片数据块的编号|none|
## POST 切片文件上传
POST /file/chunkUpload
```js
// 上传数据块
const formData = new FormData();
formData.append('file', chunk, 'xxx.pdf');
formData.append('index', chunksIndex);
formData.append('identifier', fileIdentifier);
```
chunk是切片块的数据需要给上传文件的名称带后缀
> Body 请求参数
```yaml
file: string
index: "{% mock 'increment' %}"
identifier: "{% mock 'id' %}"
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» file|body|string(binary)| 是 ||数据块Blob对象需要给文件名称带后缀|
|» index|body|string| 是 ||数据块的编号|
|» identifier|body|string| 是 ||切片文件目录标识符|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "/upload/chunk/2023/06/identifier/index"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|206|[Partial Content](https://tools.ietf.org/html/rfc7233#section-4.1)|成功|Inline|
### 返回数据结构
状态码 **206**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none|上传资源地址|none|
## POST 切片文件合并
POST /file/chunkMerge
> Body 请求参数
```json
{
"identifier": "string",
"fileName": "string",
"subPath": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» identifier|body|string| 是 | 切片文件目录标识符|MD5(文件名+文件大小)|
|» fileName|body|string| 是 | 原始文件名称|检查格式是否允许上传|
|» subPath|body|string| 是 | 子路径|可选范围 ['default', 'avatar', 'import', 'export', 'common', 'download', 'chunk']|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"url": "http://127.0.0.1:6275/upload/avatar/2023/06/gmircbr_48xqb8.png",
"fileName": "/upload/avatar/2023/06/gmircbr_48xqb8.png",
"newFileName": "gmircbr_48xqb8.png",
"originalFileName": "gmircbr.png"
}
}
```
```json
{
"code": 500,
"msg": "上传文件类型不支持支持以下类型bmp,gif,jpg,jpeg,png,doc,docx,xls,xlsx,ppt,pptx,html,htm,txt,rar,zip,gz,bz2,mp4,avi,rmvb,pdf"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[string]|true|none|已上传切片数据块的编号|none|
## GET 下载文件
GET /file/download/{filePath}
filePath参数需要进行base64编码base64("文件存放资源路径URL相对地址")
断点续传可以在请求头中加入下载数据块的区间示例如单块5M大小 `Range: bytes=0-5242879`
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|filePath|path|string| 是 ||base64("文件存放资源路径URL相对地址")|
|Range|header|string| 否 ||进行断点续传数据块下载|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 文件数据
> 206 Response
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|文件数据|Inline|
|206|[Partial Content](https://tools.ietf.org/html/rfc7233#section-4.1)|断点续传数据块|Inline|
### 返回数据结构
# 通用模块/通用请求
## POST 哈希加密
POST /common/hash
> Body 请求参数
```json
{
"type": "string",
"str": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» type|body|string| 是 | 加密类型|'sha1' | 'sha256' | 'sha512' | 'md5'|
|» str|body|string| 是 | 加密字符串|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "9e9a253840ebd80b2160be621d2efc7c"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none||none|
## GET 多语言处理
GET /common/i18n
> Body 请求参数
```json
{
"type": "string",
"str": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Accept-Language|header|string| 否 ||en_US/zh_CN|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|body|body|object| 否 ||none|
|» type|body|string| 是 | 加密类型|'sha1' | 'sha256' | 'sha512' | 'md5'|
|» str|body|string| 是 | 加密字符串|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "9e9a253840ebd80b2160be621d2efc7c"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none||none|
## POST 哈希加盐加密
POST /common/hmac
> Body 请求参数
```json
{
"type": "string",
"str": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» type|body|string| 是 | 加密类型|'sha1' | 'sha256' | 'sha512' | 'md5'|
|» str|body|string| 是 | 加密字符串|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "6c44dbdf8d759c97dfd8c43a2974ba22"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none||none|
## POST 微信数据解密
POST /common/decryptWxData
> Body 请求参数
```json
{
"encryptedData": "string",
"key": "string",
"iv": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» encryptedData|body|string| 是 | 加密数据|none|
|» key|body|string| 是 | 键|none|
|» iv|body|string| 是 | 向量值|none|
> 返回示例
> 文件数据
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|文件数据|Inline|
### 返回数据结构
# 通用模块/账号身份操作
## GET 登录用户信息
GET /getInfo
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"permissions": [
"*:*:*"
],
"roles": [
"admin"
],
"user": {
"roles": [
{
"roleId": "1",
"roleName": "管理员",
"roleKey": "admin",
"roleSort": 1,
"dataScope": "1",
"status": "1"
}
],
"userId": "1",
"deptId": "103",
"userName": "maskAdmin",
"nickName": "管理员",
"userType": "sys",
"email": "",
"avatar": "",
"phonenumber": "",
"sex": "1",
"status": "1",
"delFlag": "0",
"loginIp": "127.0.0.1",
"loginDate": "1683968355811",
"createBy": "maskAdmin",
"createTime": "1682264526306",
"remark": "管理员",
"dept": {
"deptId": "103",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "研发部门",
"orderNum": 1,
"leader": "MASK",
"status": "1"
}
}
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» permissions|[string]|true|none|权限|字符数组|
|»» roles|[string]|true|none|角色|字符数组|
|»» user|object|true|none|用户信息|none|
|»»» roles|[object]|true|none||none|
|»»»» roleId|string|false|none||none|
|»»»» roleName|string|false|none||none|
|»»»» roleKey|string|false|none||none|
|»»»» roleSort|integer|false|none||none|
|»»»» dataScope|string|false|none||none|
|»»»» status|string|false|none||none|
|»»» userId|string|true|none||none|
|»»» deptId|string|true|none||none|
|»»» userName|string|true|none||none|
|»»» nickName|string|true|none||none|
|»»» userType|string|true|none||none|
|»»» email|string|true|none||none|
|»»» avatar|string|true|none||none|
|»»» phonenumber|string|true|none||none|
|»»» sex|string|true|none||none|
|»»» status|string|true|none||none|
|»»» delFlag|string|true|none||none|
|»»» loginIp|string|true|none||none|
|»»» loginDate|string|true|none||none|
|»»» createBy|string|true|none||none|
|»»» createTime|string|true|none||none|
|»»» remark|string|true|none||none|
|»»» dept|object|false|none||none|
|»»»» deptId|string|true|none||none|
|»»»» parentId|string|true|none||none|
|»»»» ancestors|string|true|none||none|
|»»»» deptName|string|true|none||none|
|»»»» orderNum|integer|true|none||none|
|»»»» leader|string|true|none||none|
|»»»» status|string|true|none||none|
## GET 登录路由信息
GET /getRouters
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"name": "System",
"path": "/system",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/user",
"children": [
{
"name": "User",
"path": "user",
"component": "system/user/index",
"meta": {
"icon": "icon-pcduan",
"title": "用户管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Role",
"path": "role",
"component": "system/role/index",
"meta": {
"icon": "icon-pcduan",
"title": "角色管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "RoleinlineauthuserroleId",
"path": "role/inline/auth-user/:roleId",
"component": "system/role/auth-user",
"meta": {
"icon": "icon-pcduan",
"title": "角色分配用户",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Menu",
"path": "menu",
"component": "system/menu/index",
"meta": {
"icon": "icon-pcduan",
"title": "菜单管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dept",
"path": "dept",
"component": "system/dept/index",
"meta": {
"icon": "icon-pcduan",
"title": "部门管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Post",
"path": "post",
"component": "system/post/index",
"meta": {
"icon": "icon-pcduan",
"title": "岗位管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dict",
"path": "dict",
"component": "system/dict/index",
"meta": {
"icon": "icon-pcduan",
"title": "字典管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "DictinlinedatadictId",
"path": "dict/inline/data/:dictId",
"component": "system/dict/data",
"meta": {
"icon": "icon-pcduan",
"title": "字典数据",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Config",
"path": "config",
"component": "system/config/index",
"meta": {
"icon": "icon-pcduan",
"title": "参数设置",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Notice",
"path": "notice",
"component": "system/notice/index",
"meta": {
"icon": "icon-pcduan",
"title": "通知公告",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Log",
"path": "log",
"component": "BlankLayout",
"meta": {
"icon": "icon-pcduan",
"title": "日志管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/log/operlog",
"children": [
{
"name": "Operlog",
"path": "operlog",
"component": "monitor/operlog/index",
"meta": {
"icon": "icon-pcduan",
"title": "操作日志",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Logininfor",
"path": "logininfor",
"component": "monitor/logininfor/index",
"meta": {
"icon": "icon-pcduan",
"title": "登录日志",
"hide": false,
"cache": true,
"target": null
}
}
]
}
]
},
{
"name": "Monitor",
"path": "/monitor",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统监控",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/monitor/server",
"children": [
{
"name": "Server",
"path": "server",
"component": "monitor/server/index",
"meta": {
"icon": "icon-pcduan",
"title": "服务监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Cache",
"path": "cache",
"component": "monitor/cache/index",
"meta": {
"icon": "icon-pcduan",
"title": "缓存监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "CacheList",
"path": "cacheList",
"component": "monitor/cache/list",
"meta": {
"icon": "icon-pcduan",
"title": "缓存列表",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Online",
"path": "online",
"component": "monitor/online/index",
"meta": {
"icon": "icon-pcduan",
"title": "在线用户",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Job",
"path": "job",
"component": "monitor/job/index",
"meta": {
"icon": "icon-pcduan",
"title": "调度任务",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "JobinlinelogjobId",
"path": "job/inline/log/:jobId",
"component": "monitor/job/log",
"meta": {
"icon": "icon-pcduan",
"title": "调度日志",
"hide": true,
"cache": true,
"target": null
}
}
]
},
{
"name": "Tool",
"path": "/tool",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统工具",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/tool/swagger",
"children": [
{
"name": "Swagger",
"path": "swagger",
"component": "tool/swagger/index",
"meta": {
"icon": "icon-pcduan",
"title": "系统接口",
"hide": false,
"cache": true,
"target": null
}
}
]
},
{
"name": "HttpsLink4",
"path": "https://gitee.com/TsMask/mask_api_midwayjs",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "Gitee仓库",
"hide": false,
"cache": false,
"target": "_blank"
}
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none|路由数组|none|
|»» name|string|true|none|路由名称|none|
|»» path|string|true|none|路由地址|none|
|»» component|string|true|none|组件|- BasicLayout-基础布局组件标识 菜单类型-菜单D<br />- BlankLayout-空白布局组件标识 菜单类型-菜单M<br />- LinkLayout-内链接布局组件标识 菜单类型-菜单M<br />- 按钮菜单类型-菜单B 不会读取到路由中|
|»» meta|object|true|none|元数据|none|
|»»» icon|string|true|none|菜单图标|none|
|»»» title|string|true|none|菜单标题|none|
|»»» hide|boolean|true|none|是否隐藏|默认 false|
|»»» cache|boolean|true|none|是否缓存|默认 false|
|»»» target|string¦null|true|none|链接行为|- 非链接 null<br />- 内部跳转 _self<br />- 外部跳转 _blank|
|»» redirect|string|false|none|目录重定向|none|
|»» children|[object]|false|none|子菜单|none|
|»»» name|string|true|none||none|
|»»» path|string|true|none||none|
|»»» component|string|true|none||none|
|»»» meta|object|true|none|元数据|none|
|»»»» icon|string|true|none||none|
|»»»» title|string|true|none|标题|none|
|»»»» hide|boolean|true|none||none|
|»»»» cache|boolean|true|none||none|
|»»»» target|string¦null|true|none||none|
## POST 系统登录
POST /login
> Body 请求参数
```json
{
"username": "admin",
"password": "rootaa",
"code": "{{code-text}}",
"uuid": "{{code-uuid}}"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» username|body|string| 是 | 登录名|none|
|» password|body|string| 是 | 密码|none|
|» code|body|string| 是 | 验证码值|none|
|» uuid|body|string| 是 | 验证码唯一标识|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dpbl9rZXkiOiIwamJmM3J1anRyamdibHNtOW44Mnk4Z2gxcTZmN2s1OCIsInVzZXJfaWQiOiIxIiwiaWF0IjoxNjgzOTY1ODEwLCJleHAiOjE2ODQwMDQyMTB9.rOChRhSPUi7ps6F3QLGMBB8IIOgrfYv2S5ApgxHjtXo"
}
}
```
```json
{
"code": 500,
"msg": "验证码已失效"
}
```
```json
{
"code": 500,
"msg": "验证码错误"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|false|none||none|
|»» access_token|string|true|none|授权令牌|none|
## POST 系统登出
POST /logout
对IP进行限流
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 否 ||授权令牌,可有可无|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "退出成功"
}
```
```json
{
"code": 500,
"msg": "访问过于频繁,请稍候再试"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none|固定值|none|
|» msg|string|true|none|固定值|none|
# 通用模块/账号注册操作
## POST 系统注册
POST /register
> Body 请求参数
```json
{
"username": "string",
"password": "string",
"confirmPassword": "string",
"code": "string",
"uuid": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» username|body|string| 是 | 用户名|none|
|» password|body|string| 是 | 密码|none|
|» confirmPassword|body|string| 是 | 确认密码|none|
|» code|body|string| 是 | 验证码值|none|
|» uuid|body|string| 是 | 验证码唯一标识|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "当前系统没有开启注册功能!"
}
```
```json
{
"code": 500,
"msg": "注册用户【xxxx】失败注册账号已存在"
}
```
```json
{
"code": 500,
"msg": "账号不能以数字开头可包含大写小写字母数字且不少于5位"
}
```
```json
{
"code": 500,
"msg": "密码至少包含大小写字母、数字、特殊符号且不少于6位"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/缓存信息
## GET 缓存监控信息
GET /monitor/cache
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"info": {
"server": {
"redis_version": "7.0.5",
"redis_git_sha1": "00000000",
"redis_git_dirty": "0",
"redis_build_id": "aab17434977410f1",
"redis_mode": "standalone",
"os": "Linux 5.4.0-137-generic x86_64",
"arch_bits": "64",
"monotonic_clock": "POSIX clock_gettime",
"multiplexing_api": "epoll",
"atomicvar_api": "c11-builtin",
"gcc_version": "10.2.1",
"process_id": "1",
"process_supervised": "no",
"run_id": "94ee88d0059383b5c1a29d292dbdcb228022c001",
"tcp_port": "6379",
"server_time_usec": "1683985833118338",
"uptime_in_seconds": "25513",
"uptime_in_days": "0",
"hz": "10",
"configured_hz": "10",
"lru_clock": "6264233",
"executable": "/data/redis-server",
"config_file": "/etc/redis/redis.conf",
"io_threads_active": "0"
},
"clients": {
"connected_clients": "11",
"cluster_connections": "0",
"maxclients": "10000",
"client_recent_max_input_buffer": "20565",
"client_recent_max_output_buffer": "0",
"blocked_clients": "3",
"tracking_clients": "0",
"clients_in_timeout_table": "3"
},
"memory": {
"used_memory": "1664304",
"used_memory_human": "1.59M",
"used_memory_rss": "9228288",
"used_memory_rss_human": "8.80M",
"used_memory_peak": "1917352",
"used_memory_peak_human": "1.83M",
"used_memory_peak_perc": "86.80%",
"used_memory_overhead": "978099",
"used_memory_startup": "863272",
"used_memory_dataset": "686205",
"used_memory_dataset_perc": "85.67%",
"allocator_allocated": "1851152",
"allocator_active": "2396160",
"allocator_resident": "4734976",
"total_system_memory": "2079748096",
"total_system_memory_human": "1.94G",
"used_memory_lua": "59392",
"used_memory_vm_eval": "59392",
"used_memory_lua_human": "58.00K",
"used_memory_scripts_eval": "5608",
"number_of_cached_scripts": "3",
"number_of_functions": "0",
"number_of_libraries": "0",
"used_memory_vm_functions": "32768",
"used_memory_vm_total": "92160",
"used_memory_vm_total_human": "90.00K",
"used_memory_functions": "184",
"used_memory_scripts": "5792",
"used_memory_scripts_human": "5.66K",
"maxmemory": "0",
"maxmemory_human": "0B",
"maxmemory_policy": "noeviction",
"allocator_frag_ratio": "1.29",
"allocator_frag_bytes": "545008",
"allocator_rss_ratio": "1.98",
"allocator_rss_bytes": "2338816",
"rss_overhead_ratio": "1.95",
"rss_overhead_bytes": "4493312",
"mem_fragmentation_ratio": "5.55",
"mem_fragmentation_bytes": "7565808",
"mem_not_counted_for_evict": "3584",
"mem_replication_backlog": "0",
"mem_total_replication_buffers": "0",
"mem_clients_slaves": "0",
"mem_clients_normal": "102107",
"mem_cluster_links": "0",
"mem_aof_buffer": "3584",
"mem_allocator": "jemalloc-5.2.1",
"active_defrag_running": "0",
"lazyfree_pending_objects": "0",
"lazyfreed_objects": "0"
},
"persistence": {
"loading": "0",
"async_loading": "0",
"current_cow_peak": "0",
"current_cow_size": "0",
"current_cow_size_age": "0",
"current_fork_perc": "0.00",
"current_save_keys_processed": "0",
"current_save_keys_total": "0",
"rdb_changes_since_last_save": "28",
"rdb_bgsave_in_progress": "0",
"rdb_last_save_time": "1683985267",
"rdb_last_bgsave_status": "ok",
"rdb_last_bgsave_time_sec": "0",
"rdb_current_bgsave_time_sec": "-1",
"rdb_saves": "18",
"rdb_last_cow_size": "901120",
"rdb_last_load_keys_expired": "0",
"rdb_last_load_keys_loaded": "0",
"aof_enabled": "1",
"aof_rewrite_in_progress": "0",
"aof_rewrite_scheduled": "0",
"aof_last_rewrite_time_sec": "-1",
"aof_current_rewrite_time_sec": "-1",
"aof_last_bgrewrite_status": "ok",
"aof_rewrites": "0",
"aof_rewrites_consecutive_failures": "0",
"aof_last_write_status": "ok",
"aof_last_cow_size": "0",
"module_fork_in_progress": "0",
"module_fork_last_cow_size": "0",
"aof_current_size": "52707266",
"aof_base_size": "88",
"aof_pending_rewrite": "0",
"aof_buffer_length": "0",
"aof_pending_bio_fsync": "0",
"aof_delayed_fsync": "0"
},
"stats": {
"total_connections_received": "139",
"total_commands_processed": "215944",
"instantaneous_ops_per_sec": "5",
"total_net_input_bytes": "6096966",
"total_net_output_bytes": "546971",
"total_net_repl_input_bytes": "0",
"total_net_repl_output_bytes": "0",
"instantaneous_input_kbps": "0.60",
"instantaneous_output_kbps": "0.01",
"instantaneous_input_repl_kbps": "0.00",
"instantaneous_output_repl_kbps": "0.00",
"rejected_connections": "0",
"sync_full": "0",
"sync_partial_ok": "0",
"sync_partial_err": "0",
"expired_keys": "1270",
"expired_stale_perc": "0.00",
"expired_time_cap_reached_count": "0",
"expire_cycle_cpu_milliseconds": "712",
"evicted_keys": "0",
"evicted_clients": "0",
"total_eviction_exceeded_time": "0",
"current_eviction_exceeded_time": "0",
"keyspace_hits": "1580",
"keyspace_misses": "27951",
"pubsub_channels": "3",
"pubsub_patterns": "0",
"pubsubshard_channels": "0",
"latest_fork_usec": "275",
"total_forks": "18",
"migrate_cached_sockets": "0",
"slave_expires_tracked_keys": "0",
"active_defrag_hits": "0",
"active_defrag_misses": "0",
"active_defrag_key_hits": "0",
"active_defrag_key_misses": "0",
"total_active_defrag_time": "0",
"current_active_defrag_time": "0",
"tracking_total_keys": "0",
"tracking_total_items": "0",
"tracking_total_prefixes": "0",
"unexpected_error_replies": "0",
"total_error_replies": "0",
"dump_payload_sanitizations": "0",
"total_reads_processed": "29542",
"total_writes_processed": "29425",
"io_threaded_reads_processed": "0",
"io_threaded_writes_processed": "0",
"reply_buffer_shrinks": "135",
"reply_buffer_expands": "9"
},
"replication": {
"role": "master",
"connected_slaves": "0",
"master_failover_state": "no-failover",
"master_replid": "08e7cd72f9ecda6c4fd3e1e8504571203bb61290",
"master_replid2": "0000000000000000000000000000000000000000",
"master_repl_offset": "0",
"second_repl_offset": "-1",
"repl_backlog_active": "0",
"repl_backlog_size": "1048576",
"repl_backlog_first_byte_offset": "0",
"repl_backlog_histlen": "0"
},
"cpu": {
"used_cpu_sys": "21.297760",
"used_cpu_user": "30.032301",
"used_cpu_sys_children": "0.033118",
"used_cpu_user_children": "0.030797",
"used_cpu_sys_main_thread": "20.252124",
"used_cpu_user_main_thread": "30.825211"
},
"modules": {},
"errorstats": {},
"cluster": {
"cluster_enabled": "0"
},
"keyspace": {
"db0": "keys=19,expires=0,avg_ttl=0",
"db1": "keys=22,expires=3,avg_ttl=21492323"
}
},
"dbSize": 22,
"commandStats": [
{
"name": "brpoplpush",
"value": "12044"
},
{
"name": "get",
"value": "545"
},
{
"name": "incr",
"value": "144"
},
{
"name": "smembers",
"value": "1207"
},
{
"name": "scan",
"value": "13"
},
{
"name": "subscribe",
"value": "36"
},
{
"name": "del",
"value": "147"
},
{
"name": "auth",
"value": "139"
},
{
"name": "exists",
"value": "2145"
},
{
"name": "lrange",
"value": "1207"
},
{
"name": "type",
"value": "28"
},
{
"name": "ttl",
"value": "189"
},
{
"name": "quit",
"value": "51"
},
{
"name": "keys",
"value": "22"
},
{
"name": "evalsha",
"value": "14200"
},
{
"name": "select",
"value": "139"
},
{
"name": "expire",
"value": "44"
},
{
"name": "info",
"value": "61"
},
{
"name": "zrevrange",
"value": "36"
},
{
"name": "config|get",
"value": "9"
},
{
"name": "zrangebyscore",
"value": "12087"
},
{
"name": "client|setname",
"value": "37"
},
{
"name": "ping",
"value": "1765"
},
{
"name": "zrange",
"value": "12087"
},
{
"name": "set",
"value": "1420"
},
{
"name": "dbsize",
"value": "2"
},
{
"name": "eval",
"value": "83"
}
]
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» info|object|true|none||none|
|»»» server|object|true|none|服务|none|
|»»»» redis_version|string|true|none|Redis版本|none|
|»»»» redis_git_sha1|string|true|none||none|
|»»»» redis_git_dirty|string|true|none||none|
|»»»» redis_build_id|string|true|none||none|
|»»»» redis_mode|string|true|none|运行模式|none|
|»»»» os|string|true|none|服务系统|none|
|»»»» arch_bits|string|true|none||none|
|»»»» monotonic_clock|string|true|none||none|
|»»»» multiplexing_api|string|true|none||none|
|»»»» atomicvar_api|string|true|none||none|
|»»»» gcc_version|string|true|none||none|
|»»»» process_id|string|true|none||none|
|»»»» process_supervised|string|true|none||none|
|»»»» run_id|string|true|none||none|
|»»»» tcp_port|string|true|none|端口|none|
|»»»» server_time_usec|string|true|none||none|
|»»»» uptime_in_seconds|string|true|none|运行时间(秒)|none|
|»»»» uptime_in_days|string|true|none|运行时间(天)|none|
|»»»» hz|string|true|none||none|
|»»»» configured_hz|string|true|none||none|
|»»»» lru_clock|string|true|none||none|
|»»»» executable|string|true|none||none|
|»»»» config_file|string|true|none|配置文件|none|
|»»»» io_threads_active|string|true|none||none|
|»»» clients|object|true|none|客户端|none|
|»»»» connected_clients|string|true|none|客户端数|none|
|»»»» cluster_connections|string|true|none||none|
|»»»» maxclients|string|true|none||none|
|»»»» client_recent_max_input_buffer|string|true|none||none|
|»»»» client_recent_max_output_buffer|string|true|none||none|
|»»»» blocked_clients|string|true|none||none|
|»»»» tracking_clients|string|true|none||none|
|»»»» clients_in_timeout_table|string|true|none||none|
|»»» memory|object|true|none|内存|none|
|»»»» used_memory|string|true|none|总内存|none|
|»»»» used_memory_human|string|true|none|使用内存|none|
|»»»» used_memory_rss|string|true|none||none|
|»»»» used_memory_rss_human|string|true|none||none|
|»»»» used_memory_peak|string|true|none||none|
|»»»» used_memory_peak_human|string|true|none||none|
|»»»» used_memory_peak_perc|string|true|none||none|
|»»»» used_memory_overhead|string|true|none||none|
|»»»» used_memory_startup|string|true|none||none|
|»»»» used_memory_dataset|string|true|none||none|
|»»»» used_memory_dataset_perc|string|true|none||none|
|»»»» allocator_allocated|string|true|none||none|
|»»»» allocator_active|string|true|none||none|
|»»»» allocator_resident|string|true|none||none|
|»»»» total_system_memory|string|true|none||none|
|»»»» total_system_memory_human|string|true|none||none|
|»»»» used_memory_lua|string|true|none||none|
|»»»» used_memory_vm_eval|string|true|none||none|
|»»»» used_memory_lua_human|string|true|none||none|
|»»»» used_memory_scripts_eval|string|true|none||none|
|»»»» number_of_cached_scripts|string|true|none||none|
|»»»» number_of_functions|string|true|none||none|
|»»»» number_of_libraries|string|true|none||none|
|»»»» used_memory_vm_functions|string|true|none||none|
|»»»» used_memory_vm_total|string|true|none||none|
|»»»» used_memory_vm_total_human|string|true|none||none|
|»»»» used_memory_functions|string|true|none||none|
|»»»» used_memory_scripts|string|true|none||none|
|»»»» used_memory_scripts_human|string|true|none||none|
|»»»» maxmemory|string|true|none||none|
|»»»» maxmemory_human|string|true|none||none|
|»»»» maxmemory_policy|string|true|none||none|
|»»»» allocator_frag_ratio|string|true|none||none|
|»»»» allocator_frag_bytes|string|true|none||none|
|»»»» allocator_rss_ratio|string|true|none||none|
|»»»» allocator_rss_bytes|string|true|none||none|
|»»»» rss_overhead_ratio|string|true|none||none|
|»»»» rss_overhead_bytes|string|true|none||none|
|»»»» mem_fragmentation_ratio|string|true|none||none|
|»»»» mem_fragmentation_bytes|string|true|none||none|
|»»»» mem_not_counted_for_evict|string|true|none||none|
|»»»» mem_replication_backlog|string|true|none||none|
|»»»» mem_total_replication_buffers|string|true|none||none|
|»»»» mem_clients_slaves|string|true|none||none|
|»»»» mem_clients_normal|string|true|none||none|
|»»»» mem_cluster_links|string|true|none||none|
|»»»» mem_aof_buffer|string|true|none||none|
|»»»» mem_allocator|string|true|none||none|
|»»»» active_defrag_running|string|true|none||none|
|»»»» lazyfree_pending_objects|string|true|none||none|
|»»»» lazyfreed_objects|string|true|none||none|
|»»» persistence|object|true|none||none|
|»»»» loading|string|true|none||none|
|»»»» async_loading|string|true|none||none|
|»»»» current_cow_peak|string|true|none||none|
|»»»» current_cow_size|string|true|none||none|
|»»»» current_cow_size_age|string|true|none||none|
|»»»» current_fork_perc|string|true|none||none|
|»»»» current_save_keys_processed|string|true|none||none|
|»»»» current_save_keys_total|string|true|none||none|
|»»»» rdb_changes_since_last_save|string|true|none||none|
|»»»» rdb_bgsave_in_progress|string|true|none||none|
|»»»» rdb_last_save_time|string|true|none||none|
|»»»» rdb_last_bgsave_status|string|true|none|RDB是否成功|none|
|»»»» rdb_last_bgsave_time_sec|string|true|none||none|
|»»»» rdb_current_bgsave_time_sec|string|true|none||none|
|»»»» rdb_saves|string|true|none||none|
|»»»» rdb_last_cow_size|string|true|none||none|
|»»»» rdb_last_load_keys_expired|string|true|none||none|
|»»»» rdb_last_load_keys_loaded|string|true|none||none|
|»»»» aof_enabled|string|true|none|AOF是否开启|none|
|»»»» aof_rewrite_in_progress|string|true|none||none|
|»»»» aof_rewrite_scheduled|string|true|none||none|
|»»»» aof_last_rewrite_time_sec|string|true|none||none|
|»»»» aof_current_rewrite_time_sec|string|true|none||none|
|»»»» aof_last_bgrewrite_status|string|true|none||none|
|»»»» aof_rewrites|string|true|none||none|
|»»»» aof_rewrites_consecutive_failures|string|true|none||none|
|»»»» aof_last_write_status|string|true|none||none|
|»»»» aof_last_cow_size|string|true|none||none|
|»»»» module_fork_in_progress|string|true|none||none|
|»»»» module_fork_last_cow_size|string|true|none||none|
|»»»» aof_current_size|string|true|none||none|
|»»»» aof_base_size|string|true|none||none|
|»»»» aof_pending_rewrite|string|true|none||none|
|»»»» aof_buffer_length|string|true|none||none|
|»»»» aof_pending_bio_fsync|string|true|none||none|
|»»»» aof_delayed_fsync|string|true|none||none|
|»»» stats|object|true|none||none|
|»»»» total_connections_received|string|true|none||none|
|»»»» total_commands_processed|string|true|none||none|
|»»»» instantaneous_ops_per_sec|string|true|none||none|
|»»»» total_net_input_bytes|string|true|none||none|
|»»»» total_net_output_bytes|string|true|none||none|
|»»»» total_net_repl_input_bytes|string|true|none||none|
|»»»» total_net_repl_output_bytes|string|true|none||none|
|»»»» instantaneous_input_kbps|string|true|none|网络入口|none|
|»»»» instantaneous_output_kbps|string|true|none|网络出口|none|
|»»»» instantaneous_input_repl_kbps|string|true|none||none|
|»»»» instantaneous_output_repl_kbps|string|true|none||none|
|»»»» rejected_connections|string|true|none||none|
|»»»» sync_full|string|true|none||none|
|»»»» sync_partial_ok|string|true|none||none|
|»»»» sync_partial_err|string|true|none||none|
|»»»» expired_keys|string|true|none||none|
|»»»» expired_stale_perc|string|true|none||none|
|»»»» expired_time_cap_reached_count|string|true|none||none|
|»»»» expire_cycle_cpu_milliseconds|string|true|none||none|
|»»»» evicted_keys|string|true|none||none|
|»»»» evicted_clients|string|true|none||none|
|»»»» total_eviction_exceeded_time|string|true|none||none|
|»»»» current_eviction_exceeded_time|string|true|none||none|
|»»»» keyspace_hits|string|true|none||none|
|»»»» keyspace_misses|string|true|none||none|
|»»»» pubsub_channels|string|true|none||none|
|»»»» pubsub_patterns|string|true|none||none|
|»»»» pubsubshard_channels|string|true|none||none|
|»»»» latest_fork_usec|string|true|none||none|
|»»»» total_forks|string|true|none||none|
|»»»» migrate_cached_sockets|string|true|none||none|
|»»»» slave_expires_tracked_keys|string|true|none||none|
|»»»» active_defrag_hits|string|true|none||none|
|»»»» active_defrag_misses|string|true|none||none|
|»»»» active_defrag_key_hits|string|true|none||none|
|»»»» active_defrag_key_misses|string|true|none||none|
|»»»» total_active_defrag_time|string|true|none||none|
|»»»» current_active_defrag_time|string|true|none||none|
|»»»» tracking_total_keys|string|true|none||none|
|»»»» tracking_total_items|string|true|none||none|
|»»»» tracking_total_prefixes|string|true|none||none|
|»»»» unexpected_error_replies|string|true|none||none|
|»»»» total_error_replies|string|true|none||none|
|»»»» dump_payload_sanitizations|string|true|none||none|
|»»»» total_reads_processed|string|true|none||none|
|»»»» total_writes_processed|string|true|none||none|
|»»»» io_threaded_reads_processed|string|true|none||none|
|»»»» io_threaded_writes_processed|string|true|none||none|
|»»»» reply_buffer_shrinks|string|true|none||none|
|»»»» reply_buffer_expands|string|true|none||none|
|»»» replication|object|true|none||none|
|»»»» role|string|true|none||none|
|»»»» connected_slaves|string|true|none||none|
|»»»» master_failover_state|string|true|none||none|
|»»»» master_replid|string|true|none||none|
|»»»» master_replid2|string|true|none||none|
|»»»» master_repl_offset|string|true|none||none|
|»»»» second_repl_offset|string|true|none||none|
|»»»» repl_backlog_active|string|true|none||none|
|»»»» repl_backlog_size|string|true|none||none|
|»»»» repl_backlog_first_byte_offset|string|true|none||none|
|»»»» repl_backlog_histlen|string|true|none||none|
|»»» cpu|object|true|none|CPU|none|
|»»»» used_cpu_sys|string|true|none||none|
|»»»» used_cpu_user|string|true|none||none|
|»»»» used_cpu_sys_children|string|true|none||none|
|»»»» used_cpu_user_children|string|true|none||none|
|»»»» used_cpu_sys_main_thread|string|true|none||none|
|»»»» used_cpu_user_main_thread|string|true|none||none|
|»»» modules|object|true|none||none|
|»»» errorstats|object|true|none||none|
|»»» cluster|object|true|none|集群|none|
|»»»» cluster_enabled|string|true|none||none|
|»»» keyspace|object|true|none||none|
|»»»» db0|string|true|none||none|
|»»»» db1|string|true|none||none|
|»» dbSize|integer|true|none|Key数量|none|
|»» commandStats|[object]|true|none|命令统计|none|
|»»» name|string|true|none||none|
|»»» value|string|true|none||none|
## GET 缓存名称列表
GET /monitor/cache/getNames
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"cacheName": "login_tokens",
"cacheKey": "",
"cacheValue": "",
"remark": "用户信息"
},
{
"cacheName": "sys_config",
"cacheKey": "",
"cacheValue": "",
"remark": "配置信息"
},
{
"cacheName": "sys_dict",
"cacheKey": "",
"cacheValue": "",
"remark": "数据字典"
},
{
"cacheName": "captcha_codes",
"cacheKey": "",
"cacheValue": "",
"remark": "验证码"
},
{
"cacheName": "repeat_submit",
"cacheKey": "",
"cacheValue": "",
"remark": "防重提交"
},
{
"cacheName": "rate_limit",
"cacheKey": "",
"cacheValue": "",
"remark": "限流处理"
},
{
"cacheName": "pwd_err_cnt",
"cacheKey": "",
"cacheValue": "",
"remark": "密码错误次数"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» cacheName|string|true|none|缓存名称|none|
|»» cacheKey|string|true|none|缓存键名|空字符串|
|»» cacheValue|string|true|none|缓存内容|空字符串|
|»» remark|string|true|none|备注|none|
## GET 缓存名称下键名列表
GET /monitor/cache/getKeys/{cacheName}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|cacheName|path|string| 是 ||缓存名称列表中得到的缓存名称|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"cacheName": "sys_config",
"cacheKey": "sys.user.initPassword",
"cacheValue": "",
"remark": ""
},
{
"cacheName": "sys_config",
"cacheKey": "sys.account.captchaEnabled",
"cacheValue": "",
"remark": ""
},
{
"cacheName": "sys_config",
"cacheKey": "sys.account.registerUser",
"cacheValue": "",
"remark": ""
},
{
"cacheName": "sys_config",
"cacheKey": "sys.account.captchaType",
"cacheValue": "",
"remark": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» cacheName|string|true|none|缓存名称|缓存名称列表中得到的缓存名称|
|»» cacheKey|string|true|none|缓存键名|none|
|»» cacheValue|string|true|none|缓存内容|空字符串|
|»» remark|string|true|none|备注|空字符串|
## GET 缓存内容
GET /monitor/cache/getValue/{cacheName}/{cacheKey}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|cacheName|path|string| 是 ||键名列表中得到的缓存名称|
|cacheKey|path|string| 是 ||键名列表中得到的缓存键名|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"cacheName": "sys_config",
"cacheKey": "sys.account.captchaType",
"cacheValue": "math",
"remark": ""
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» cacheName|string|true|none|缓存名称|键名列表中得到的缓存名称|
|»» cacheKey|string|true|none|缓存名称|键名列表中得到的缓存键名|
|»» cacheValue|string|true|none|缓存内容|none|
|»» remark|string|true|none|备注|空字符串|
## DELETE 删除缓存键名
DELETE /monitor/cache/clearCacheKey/{cacheName}/{cacheKey}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|cacheName|path|string| 是 ||键名列表中得到的缓存名称|
|cacheKey|path|string| 是 ||键名列表中得到的缓存键名|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 删除缓存名称下键名列表
DELETE /monitor/cache/clearCacheName/{cacheName}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|cacheName|path|string| 是 ||缓存名称列表中得到的缓存名称|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 安全清理缓存名称
DELETE /monitor/cache/clearCacheSafe
指定可清理的缓存键名
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/调度任务日志信息
## POST 调度任务日志列表导出
POST /monitor/jobLog/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=jobLog_export_1_1684058366284.xlsx
content-length: 17079
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"jobName": "string",
"jobGroup": "string",
"status": "string",
"pageNum": 0,
"pageSize": 0,
"beginTime": "string",
"endTime": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» jobName|body|string| 否 | 任务名称|none|
|» jobGroup|body|string| 否 | 任务组名|none|
|» status|body|string| 否 | 执行状态|none|
|» pageNum|body|number| 否 | 页数默认1|none|
|» pageSize|body|number| 否 | 单页记录数默认10|none|
|» beginTime|body|string| 否 | 操作开始时间|none|
|» endTime|body|string| 否 | 操作结束时间|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 调度任务日志列表
GET /monitor/jobLog/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobName|query|string| 否 ||任务名称|
|jobGroup|query|string| 否 ||任务组名|
|status|query|string| 否 ||执行状态|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 4,
"rows": [
{
"jobLogId": "4",
"jobName": "2-20个字符",
"jobGroup": "DEFAULT",
"invokeTarget": "test",
"targetParams": "{\"a\":1,\"b\":1}",
"jobMsg": "{\"jobId\":\"103\",\"params\":\"{\\\"a\\\":1,\\\"b\\\":1}\"}",
"status": "1",
"createTime": "1684056232934"
},
{
"jobLogId": "3",
"jobName": "2-20个字符",
"jobGroup": "DEFAULT",
"invokeTarget": "test",
"targetParams": "{\"a\":1,\"b\":1}",
"jobMsg": "{\"jobId\":\"103\",\"params\":\"{\\\"a\\\":1,\\\"b\\\":1}\"}",
"status": "1",
"createTime": "1684056199482"
},
{
"jobLogId": "2",
"jobName": "2-20个字符",
"jobGroup": "DEFAULT",
"invokeTarget": "test",
"targetParams": "{\"a\":1,\"b\":1}",
"jobMsg": "{\"jobId\":\"103\",\"params\":\"{\\\"a\\\":1,\\\"b\\\":1}\"}",
"status": "1",
"createTime": "1684056090490"
},
{
"jobLogId": "1",
"jobName": "异常执行",
"jobGroup": "SYSTEM",
"invokeTarget": "bar",
"targetParams": "字符串参数",
"jobMsg": "{\"name\":\"Error\",\"message\":\"程序中途执行错误\"}",
"status": "0",
"createTime": "1683901320750"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» jobLogId|string|true|none|日志ID|none|
|»» jobName|string|true|none|任务名|none|
|»» jobGroup|string|true|none|任务组|none|
|»» invokeTarget|string|true|none|任务目标|none|
|»» targetParams|string|true|none|任务参数|none|
|»» jobMsg|string|true|none|日志记录|none|
|»» status|string|true|none|状态|none|
|»» createTime|string|true|none|记录时间|none|
## GET 调度任务日志信息
GET /monitor/jobLog/{jobLogId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobLogId|path|string| 是 ||日志ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"jobLogId": "3",
"jobName": "2-20个字符",
"jobGroup": "DEFAULT",
"invokeTarget": "test",
"targetParams": "{\"a\":1,\"b\":1}",
"jobMsg": "{\"jobId\":\"103\",\"params\":\"{\\\"a\\\":1,\\\"b\\\":1}\"}",
"status": "1",
"createTime": "1684056199482"
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» jobLogId|string|true|none|日志ID|none|
|»» jobName|string|true|none|任务名|none|
|»» jobGroup|string|true|none|任务组|none|
|»» invokeTarget|string|true|none|任务目标|none|
|»» targetParams|string|true|none|任务参数|none|
|»» jobMsg|string|true|none|日志记录|none|
|»» status|string|true|none|状态|none|
|»» createTime|string|true|none|记录时间|none|
## DELETE 调度任务日志删除
DELETE /monitor/jobLog/{jobLogIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobLogIds|path|string| 是 ||日志ID多个可用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 调度任务日志清空
DELETE /monitor/jobLog/clean
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/调度任务信息
## POST 调度任务列表导出
POST /monitor/job/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=job_export_6_1684058991890.xlsx
content-length: 19346
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"jobName": "string",
"jobGroup": "string",
"status": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» jobName|body|string| 否 | 任务名称|none|
|» jobGroup|body|string| 否 | 任务组名|none|
|» status|body|string| 否 | 执行状态|none|
|» pageNum|body|number| 否 | 页数默认1|none|
|» pageSize|body|number| 否 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 调度任务列表
GET /monitor/job/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobName|query|string| 否 ||任务名称|
|jobGroup|query|string| 否 ||任务组名|
|status|query|string| 否 ||任务状态|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 3,
"rows": [
{
"jobId": "1",
"jobName": "触发执行",
"jobGroup": "SYSTEM",
"invokeTarget": "test",
"targetParams": "字符串参数",
"cronExpression": "0/10 * * * * ?",
"misfirePolicy": "3",
"concurrent": "0",
"status": "0",
"createBy": "maskAdmin",
"createTime": "1682264527348",
"remark": ""
},
{
"jobId": "2",
"jobName": "缓慢执行",
"jobGroup": "SYSTEM",
"invokeTarget": "foo",
"targetParams": "字符串参数",
"cronExpression": "0/15 * * * * ?",
"misfirePolicy": "3",
"concurrent": "0",
"status": "0",
"createBy": "maskAdmin",
"createTime": "1682264527355",
"remark": ""
},
{
"jobId": "3",
"jobName": "异常执行",
"jobGroup": "SYSTEM",
"invokeTarget": "bar",
"targetParams": "字符串参数",
"cronExpression": "0/20 * * * * ?",
"misfirePolicy": "3",
"concurrent": "0",
"status": "0",
"createBy": "maskAdmin",
"createTime": "1682264527364",
"remark": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» jobId|string|true|none|任务id|none|
|»» jobName|string|true|none|任务名|none|
|»» jobGroup|string|true|none|任务组|同组内不可同任务名|
|»» invokeTarget|string|true|none|调用目标|需要代码中通过 @Processor('xxx') 注册任务目标|
|»» targetParams|string|true|none|传入参数|标准json格式字符串|
|»» cronExpression|string|true|none|cron表达式|6位最后?号不使用|
|»» misfirePolicy|string|true|none|执行策略|计划执行错误策略1立即执行 2执行一次 3放弃执行|
|»» concurrent|string|true|none|是否并发|是否并发执行0禁止 1允许|
|»» status|string|true|none|状态|none|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none|创建时间|none|
|»» remark|string|true|none|备注|none|
## GET 调度任务信息
GET /monitor/job/{jobId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobId|path|string| 是 ||任务ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"jobId": "1",
"jobName": "触发执行",
"jobGroup": "SYSTEM",
"invokeTarget": "test",
"targetParams": "字符串参数",
"cronExpression": "0/10 * * * * ?",
"misfirePolicy": "3",
"concurrent": "0",
"status": "0",
"createBy": "maskAdmin",
"createTime": "1682264527348",
"remark": ""
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» jobId|string|true|none|任务id|none|
|»» jobName|string|true|none|任务名|none|
|»» jobGroup|string|true|none|任务组|同组内不可同任务名|
|»» invokeTarget|string|true|none|调用目标|需要代码中通过 @Processor('xxx') 注册任务目标|
|»» targetParams|string|true|none|传入参数|标准json格式字符串|
|»» cronExpression|string|true|none|cron表达式|6位最后?号不使用|
|»» misfirePolicy|string|true|none|执行策略|计划执行错误策略1立即执行 2执行一次 3放弃执行|
|»» concurrent|string|true|none|是否并发|是否并发执行0禁止 1允许|
|»» status|string|true|none|状态|none|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none|创建时间|none|
|»» remark|string|true|none|备注|none|
## POST 调度任务新增
POST /monitor/job
> Body 请求参数
```json
{
"jobName": "2-20个字符",
"invokeTarget": "test1",
"cronExpression": "0/22 * * * * ?",
"misfirePolicy": "3",
"concurrent": "0",
"jobGroup": "DEFAULT",
"status": "ullamco minim Ut",
"targetParams": "{\"a\":1,\"b\":1}",
"remark": "asdf"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» jobName|body|string| 是 | 任务名称|none|
|» jobGroup|body|string| 是 | 任务组名|none|
|» invokeTarget|body|string| 是 | 调用目标字符串|需要代码中通过 @Processor('xxx') 注册任务目标|
|» targetParams|body|string| 是 | 调用目标传入参数|标准json格式字符串|
|» cronExpression|body|string| 是 | cron执行表达式|6位最后?号不使用|
|» misfirePolicy|body|string| 是 | 计划执行错误策略|1立即执行 2执行一次 3放弃执行|
|» concurrent|body|string| 是 | 是否并发执行|0禁止 1允许|
|» status|body|string| 是 | 任务状态|0正常 1暂停|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "调度任务新增【xxx】失败同任务组内有相同任务名称"
}
```
```json
{
"code": 500,
"msg": "调度任务新增【xxxx】失败Cron表达式不正确"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 调度任务修改
PUT /monitor/job
> Body 请求参数
```json
{
"jobName": "大但任",
"invokeTarget": "test",
"cronExpression": "0/40 * * * * ?",
"misfirePolicy": "3",
"concurrent": "1",
"jobGroup": "SYSTEM",
"status": "0",
"targetParams": "{\"a\":1,\"b\":1}",
"remark": "据连思过维存斗维动南子听。",
"jobId": "2"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» jobId|body|string| 是 | 任务ID|none|
|» jobName|body|string| 是 | 任务名称|none|
|» jobGroup|body|string| 是 | 任务组名|none|
|» invokeTarget|body|string| 是 | 调用目标字符串|需要代码中通过 @Processor('xxx') 注册任务目标|
|» targetParams|body|string| 是 | 调用目标传入参数|标准json格式字符串|
|» cronExpression|body|string| 是 | cron执行表达式|6位最后?号不使用|
|» misfirePolicy|body|string| 是 | 计划执行错误策略|1立即执行 2执行一次 3放弃执行|
|» concurrent|body|string| 是 | 是否并发执行|0禁止 1允许|
|» status|body|string| 是 | 任务状态|0正常 1暂停|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "调度任务修改【xxxx】失败Cron表达式不正确"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 调度任务删除
DELETE /monitor/job/{jobIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobIds|path|string| 是 ||任务ID多个可用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 调度任务修改状态
PUT /monitor/job/changeStatus
> Body 请求参数
```json
{
"jobId": "22",
"status": "0"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» jobId|body|string| 是 | 任务ID|none|
|» status|body|string| 是 | 变更的状态|0正常 1暂停|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 调度任务立即执行一次
PUT /monitor/job/run/{jobId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|jobId|path|string| 是 ||任务ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 调度任务重置刷新队列
PUT /monitor/job/resetQueueJob
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/操作日志信息
## GET 操作日志列表
GET /monitor/operlog/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|title|query|string| 否 ||操作模块名称|
|operName|query|string| 否 ||操作人员名称|
|businessType|query|string| 否 ||操作类型|
|status|query|string| 否 ||操作状态|
|beginTime|query|string| 否 ||操作开始时间|
|endTime|query|string| 否 ||操作结束时间|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 125,
"rows": [
{
"operId": "224",
"title": "通知公告信息",
"businessType": "3",
"method": "SysNoticeController.remove()",
"requestMethod": "DELETE",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice/17",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071705357"
},
{
"operId": "223",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"常员报情\",\"noticeType\":\"1\",\"noticeContent\":\"记月为认交叫次去铁亲基天会产。气深情问值约于严火更思目部光交。在目部深效五己运设接本报资。论型治感标消当期再件始军品团命院写结。\",\"status\":\"1\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071683254"
},
{
"operId": "222",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"常员报情\",\"noticeType\":\"1\",\"noticeContent\":\"记月为认交叫次去铁亲基天会产。气深情问值约于严火更思目部光交。在目部深效五己运设接本报资。论型治感标消当期再件始军品团命院写结。\",\"status\":\"1\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071682157"
},
{
"operId": "221",
"title": "通知公告信息",
"businessType": "3",
"method": "SysNoticeController.remove()",
"requestMethod": "DELETE",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice/201",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{}",
"operMsg": "{\"code\":500,\"msg\":\"失败\"}",
"status": "0",
"operTime": "1684071669833"
},
{
"operId": "220",
"title": "通知公告信息",
"businessType": "3",
"method": "SysNoticeController.remove()",
"requestMethod": "DELETE",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice/11,12,13",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071570065"
},
{
"operId": "219",
"title": "通知公告信息",
"businessType": "3",
"method": "SysNoticeController.remove()",
"requestMethod": "DELETE",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice/7,58,96,8,45",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{}",
"operMsg": "{\"code\":500,\"msg\":\"失败\"}",
"status": "0",
"operTime": "1684071537536"
},
{
"operId": "218",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"常员报情\",\"noticeType\":\"1\",\"noticeContent\":\"记月为认交叫次去铁亲基天会产。气深情问值约于严火更思目部光交。在目部深效五己运设接本报资。论型治感标消当期再件始军品团命院写结。\",\"status\":\"1\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071459926"
},
{
"operId": "217",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"结西基\",\"noticeType\":\"2\",\"noticeContent\":\"运素元低角工老风三易切员火组干。任下极你部万利求听在这年。见准需东经布资张口动太领员本。引果历常高划党却分造行火九影。干强百历但所可存各拉技白广强日如定提。整次段得受都着维东转律自化。\",\"status\":\"0\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071429311"
},
{
"operId": "216",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"结西基\",\"noticeType\":\"2\",\"noticeContent\":\"运素元低角工老风三易切员火组干。任下极你部万利求听在这年。见准需东经布资张口动太领员本。引果历常高划党却分造行火九影。干强百历但所可存各拉技白广强日如定提。整次段得受都着维东转律自化。\",\"status\":\"0\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071426784"
},
{
"operId": "215",
"title": "通知公告信息",
"businessType": "1",
"method": "SysNoticeController.add()",
"requestMethod": "POST",
"operatorType": "1",
"operName": "maskAdmin",
"deptName": "研发部门",
"operUrl": "/system/notice",
"operIp": "127.0.0.1",
"operLocation": "内网IP",
"operParam": "{\"noticeTitle\":\"结西基\",\"noticeType\":\"2\",\"noticeContent\":\"运素元低角工老风三易切员火组干。任下极你部万利求听在这年。见准需东经布资张口动太领员本。引果历常高划党却分造行火九影。干强百历但所可存各拉技白广强日如定提。整次段得受都着维东转律自化。\",\"status\":\"0\"}",
"operMsg": "{\"code\":200,\"msg\":\"成功\"}",
"status": "1",
"operTime": "1684071419755"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» operId|string|true|none||none|
|»» title|string|true|none||none|
|»» businessType|string|true|none||none|
|»» method|string|true|none||none|
|»» requestMethod|string|true|none||none|
|»» operatorType|string|true|none|操作类型|字典类型中配置|
|»» operName|string|true|none|操作人名称|none|
|»» deptName|string|true|none|操作人部门|none|
|»» operUrl|string|true|none||none|
|»» operIp|string|true|none|IP地址|none|
|»» operLocation|string|true|none|IP地区|none|
|»» operParam|string|true|none|请求参数|none|
|»» operMsg|string|true|none|操作信息|none|
|»» status|string|true|none|状态|none|
|»» operTime|string|true|none|时间|none|
|»» costTime|string|true|none|消耗时间(毫秒)|none|
## POST 操作日志列表导出
POST /monitor/operlog/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=operlog_export_20_1684073261184.xlsx
content-length: 36500
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"title": "string",
"operName": "string",
"businessType": "string",
"status": "string",
"beginTime": "string",
"endTime": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» title|body|string| 否 | 操作模块名称|none|
|» operName|body|string| 否 | 操作人员名称|none|
|» businessType|body|string| 否 | 操作类型|none|
|» status|body|string| 否 | 操作状态|none|
|» beginTime|body|string| 否 | 操作开始时间|none|
|» endTime|body|string| 否 | 操作结束时间|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 操作日志清空
DELETE /monitor/operlog/clean
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 操作日志删除
DELETE /monitor/operlog/{operIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|operIds|path|string| 是 ||操作日志ID多个可用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/登录访问信息
## GET 登录访问列表
GET /monitor/logininfor/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|ipaddr|query|string| 否 ||登录地址ip|
|userName|query|string| 否 ||用户名称|
|status|query|string| 否 ||登录状态 0失败 1成功|
|beginTime|query|string| 否 ||登录开始时间|
|endTime|query|string| 否 ||登录结束时间|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 130,
"rows": [
{
"infoId": "119",
"userName": "maskAdmin",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "登录成功",
"loginTime": "1683370928996"
},
{
"infoId": "118",
"userName": "liming",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "退出成功",
"loginTime": "1683370924042"
},
{
"infoId": "117",
"userName": "liming",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "登录成功",
"loginTime": "1683370402328"
},
{
"infoId": "116",
"userName": "liming",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "注册成功",
"loginTime": "1683370382877"
},
{
"infoId": "115",
"userName": "maskAdmin",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "退出成功",
"loginTime": "1683370352406"
},
{
"infoId": "114",
"userName": "maskAdmin",
"ipaddr": "192.168.56.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "登录成功",
"loginTime": "1683364801882"
},
{
"infoId": "113",
"userName": "maskUser",
"ipaddr": "192.168.56.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "退出成功",
"loginTime": "1683364794403"
},
{
"infoId": "112",
"userName": "maskUser",
"ipaddr": "192.168.56.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "登录成功",
"loginTime": "1683364764244"
},
{
"infoId": "111",
"userName": "wangdf",
"ipaddr": "192.168.56.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "注册成功",
"loginTime": "1683364746502"
},
{
"infoId": "110",
"userName": "maskAdmin",
"ipaddr": "192.168.56.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"status": "1",
"msg": "退出成功",
"loginTime": "1683364727385"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» infoId|string|true|none|登录记录ID|none|
|»» userName|string|true|none|登录用户名称|none|
|»» ipaddr|string|true|none|IP地址|none|
|»» loginLocation|string|true|none|IP地区|none|
|»» browser|string|true|none|浏览器|none|
|»» os|string|true|none|操作系统|none|
|»» status|string|true|none|状态|0失败 1成功|
|»» msg|string|true|none|操作行为|none|
|»» loginTime|string|true|none|登录时间|none|
## POST 登录访问列表导出
POST /monitor/logininfor/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=logininfor_export_124_1684076929742.xlsx
content-length: 24305
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"ipaddr": "string",
"userName": "string",
"status": "string",
"beginTime": "string",
"endTime": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» ipaddr|body|string| 否 | 登录地址ip|none|
|» userName|body|string| 否 | 用户名称|none|
|» status|body|string| 否 | 登录状态|0失败 1成功|
|» beginTime|body|string| 否 | 登录开始时间|none|
|» endTime|body|string| 否 | 登录结束时间|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 登录访问清空
DELETE /monitor/logininfor/clean
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 登录访问账户解锁
PUT /monitor/logininfor/unlock/{userName}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userName|path|string| 是 ||登录用户名|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 登录访问删除
DELETE /monitor/logininfor/{infoIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|infoIds|path|string| 是 ||访问日志ID多个可用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/在线用户信息
## GET 在线用户列表
GET /monitor/online/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userName|query|string| 否 ||用户名称(登录账号)|
|ipaddr|query|string| 否 ||登录主机|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"rows": [
{
"tokenId": "vikufxmx625271bnddbe9t79p4pik5kv",
"userName": "maskAdmin",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "未知 未知",
"os": "未知 未知",
"loginTime": 1684046645462,
"deptName": "研发部门"
},
{
"tokenId": "lpatqefeohnxsnjpp28radugp0bovwt1",
"userName": "maskAdmin",
"ipaddr": "127.0.0.1",
"loginLocation": "内网IP",
"browser": "Chrome 86.0.4240.198",
"os": "Windows 10",
"loginTime": 1684046560517,
"deptName": "研发部门"
}
],
"total": 2
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» rows|[object]|true|none||none|
|»» tokenId|string|true|none||none|
|»» userName|string|true|none||none|
|»» ipaddr|string|true|none|登录主机|none|
|»» loginLocation|string|true|none||none|
|»» browser|string|true|none||none|
|»» os|string|true|none||none|
|»» loginTime|integer|true|none||none|
|»» deptName|string|true|none||none|
|» total|integer|true|none||none|
## DELETE 强退用户
DELETE /monitor/online/{tokenId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|tokenId|path|string| 是 ||授权标识|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 否 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 服务器模块/服务器监控信息
## GET 服务器服务信息
GET /monitor/system-info
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"project": {
"appDir": "E:\\Self\\Projects\\mask_api_midwayjs",
"env": "local",
"name": "mask_api_midwayjs",
"version": "0.0.5",
"dependencies": {
"@dropb/diskinfo": "^3.0.0",
"@midwayjs/bootstrap": "^3.0.0",
"@midwayjs/bull": "^3.0.0",
"@midwayjs/core": "^3.0.0",
"@midwayjs/decorator": "^3.0.0",
"@midwayjs/jwt": "^3.0.0",
"@midwayjs/koa": "^3.0.0",
"@midwayjs/cross-domain": "^3.0.0",
"@midwayjs/logger": "^2.0.0",
"@midwayjs/redis": "^3.0.0",
"@midwayjs/static-file": "^3.0.0",
"@midwayjs/typeorm": "^3.0.0",
"@midwayjs/upload": "^3.0.0",
"cron-parser": "^4.0.0",
"bcrypt": "^5.0.0",
"dayjs": "^1.0.0",
"mini-svg-data-uri": "^1.4.0",
"mysql2": "^2.0.0",
"nanoid": "^3.0.0",
"svg-captcha": "^1.4.0",
"typeorm": "^0.3.0",
"ua-parser-js": "^1.0.0",
"xlsx": "^0.18.0"
}
},
"cpu": {
"model": "Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz",
"speed": "2904MHz",
"core": 6,
"coreUsed": [
"12.94",
"16.88",
"14.15",
"14.48",
"13.20",
"15.08"
]
},
"memory": {
"usage": "71.57",
"freemem": "4.51GB",
"totalmem": "15.88GB",
"rss": "309.80MB",
"heapTotal": "252.49MB",
"heapUsed": "246.27MB",
"external": "6.54MB"
},
"network": {
"以太网 2": "IPv4 1.251.212.178",
"以太网": "IPv4 192.168.1.54 / IPv6 fe80::9906:92e5:b85e:3943",
"VirtualBox Host-Only Network": "IPv4 192.168.56.1 / IPv6 fe80::74da:97e8:b5e8:2c78",
"Loopback Pseudo-Interface 1": "IPv4 127.0.0.1 / IPv6 ::1"
},
"time": {
"current": "2023-02-01 17:20:07",
"uptime": "8h",
"timezone": "GMT+0800",
"timezoneName": "中国标准时间"
},
"system": {
"platform": "win32",
"node": "18.11.0",
"v8": "10.2.154.15-node.12",
"processId": 19988,
"arch": "x64",
"uname": "Windows_NT",
"release": "10.0.19045",
"hostname": "DESKTOP-QFRQUSF",
"homeDir": "C:\\Users\\LC1234",
"cmd": "E:\\Self\\Projects\\mask_api_midwayjs",
"execCommand": "D:\\Program Files\\nodejs\\node.exe E:\\Self\\Projects\\mask_api_midwayjs\\node_modules\\@midwayjs\\cli-plugin-dev\\dist\\child.js {\"baseDir\":\"E:\\\\Self\\\\Projects\\\\mask_api_midwayjs\\\\src\",\"_\":[\"dev\"],\"ts\":true,\"npm\":\"npm --registry=https://registry.npmmirror.com\",\"layers\":[],\"port\":\"6275\"} -r E:\\Self\\Projects\\mask_api_midwayjs\\node_modules\\ts-node\\register"
},
"disk": [
{
"size": "100.00GB",
"used": "91.22GB",
"avail": "8.78GB",
"pcent": "92%",
"target": "C:"
},
{
"size": "174.00GB",
"used": "114.02GB",
"avail": "59.98GB",
"pcent": "66%",
"target": "D:"
},
{
"size": "173.12GB",
"used": "138.62GB",
"avail": "34.50GB",
"pcent": "81%",
"target": "E:"
}
]
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» project|object|true|none|项目|none|
|»»» appDir|string|true|none||none|
|»»» env|string|true|none||none|
|»»» name|string|true|none||none|
|»»» version|string|true|none||none|
|»»» dependencies|object|false|none||none|
|»»»» xlsx|string|true|none||none|
|»» cpu|object|true|none|CPU|none|
|»»» model|string|true|none||none|
|»»» speed|string|true|none||none|
|»»» core|integer|true|none||none|
|»»» coreUsed|[string]|true|none||none|
|»» memory|object|true|none|内存|none|
|»»» usage|string|true|none||none|
|»»» freemem|string|true|none||none|
|»»» totalmem|string|true|none||none|
|»»» rss|string|true|none||none|
|»»» heapTotal|string|true|none||none|
|»»» heapUsed|string|true|none||none|
|»»» external|string|true|none||none|
|»» network|object|false|none|网络|none|
|»»» 以太网 2|string|false|none||none|
|»»» 以太网|string|false|none||none|
|»»» VirtualBox Host-Only Network|string|false|none||none|
|»»» Loopback Pseudo-Interface 1|string|false|none||none|
|»» time|object|true|none|时间|none|
|»»» current|string|true|none||none|
|»»» uptime|string|true|none||none|
|»»» timezone|string|true|none||none|
|»»» timezoneName|string|true|none||none|
|»» system|object|true|none|系统|none|
|»»» platform|string|true|none||none|
|»»» node|string|true|none||none|
|»»» v8|string|true|none||none|
|»»» processId|integer|true|none||none|
|»»» arch|string|true|none||none|
|»»» uname|string|true|none||none|
|»»» release|string|true|none||none|
|»»» hostname|string|true|none||none|
|»»» homeDir|string|true|none||none|
|»»» cmd|string|true|none||none|
|»»» execCommand|string|true|none||none|
|»» disk|[object]|true|none|磁盘|none|
|»»» size|string|true|none||none|
|»»» used|string|true|none||none|
|»»» avail|string|true|none||none|
|»»» pcent|string|true|none||none|
|»»» target|string|true|none||none|
## GET 资源监控信息加载
GET /monitor/load
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|type|query|string| 是 ||数据类型all/cpu/memory/io/network|
|startTime|query|number| 是 ||开始时间-时间戳毫秒|
|endTime|query|number| 是 ||结束时间-时间戳毫秒|
|neType|query|string| 否 ||网元类型|
|neId|query|string| 否 ||网元ID|
|name|query|string| 否 ||名称networ和iok时有效|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"project": {
"appDir": "E:\\Self\\Projects\\mask_api_midwayjs",
"env": "local",
"name": "mask_api_midwayjs",
"version": "0.0.5",
"dependencies": {
"@dropb/diskinfo": "^3.0.0",
"@midwayjs/bootstrap": "^3.0.0",
"@midwayjs/bull": "^3.0.0",
"@midwayjs/core": "^3.0.0",
"@midwayjs/decorator": "^3.0.0",
"@midwayjs/jwt": "^3.0.0",
"@midwayjs/koa": "^3.0.0",
"@midwayjs/cross-domain": "^3.0.0",
"@midwayjs/logger": "^2.0.0",
"@midwayjs/redis": "^3.0.0",
"@midwayjs/static-file": "^3.0.0",
"@midwayjs/typeorm": "^3.0.0",
"@midwayjs/upload": "^3.0.0",
"cron-parser": "^4.0.0",
"bcrypt": "^5.0.0",
"dayjs": "^1.0.0",
"mini-svg-data-uri": "^1.4.0",
"mysql2": "^2.0.0",
"nanoid": "^3.0.0",
"svg-captcha": "^1.4.0",
"typeorm": "^0.3.0",
"ua-parser-js": "^1.0.0",
"xlsx": "^0.18.0"
}
},
"cpu": {
"model": "Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz",
"speed": "2904MHz",
"core": 6,
"coreUsed": [
"12.94",
"16.88",
"14.15",
"14.48",
"13.20",
"15.08"
]
},
"memory": {
"usage": "71.57",
"freemem": "4.51GB",
"totalmem": "15.88GB",
"rss": "309.80MB",
"heapTotal": "252.49MB",
"heapUsed": "246.27MB",
"external": "6.54MB"
},
"network": {
"以太网 2": "IPv4 1.251.212.178",
"以太网": "IPv4 192.168.1.54 / IPv6 fe80::9906:92e5:b85e:3943",
"VirtualBox Host-Only Network": "IPv4 192.168.56.1 / IPv6 fe80::74da:97e8:b5e8:2c78",
"Loopback Pseudo-Interface 1": "IPv4 127.0.0.1 / IPv6 ::1"
},
"time": {
"current": "2023-02-01 17:20:07",
"uptime": "8h",
"timezone": "GMT+0800",
"timezoneName": "中国标准时间"
},
"system": {
"platform": "win32",
"node": "18.11.0",
"v8": "10.2.154.15-node.12",
"processId": 19988,
"arch": "x64",
"uname": "Windows_NT",
"release": "10.0.19045",
"hostname": "DESKTOP-QFRQUSF",
"homeDir": "C:\\Users\\LC1234",
"cmd": "E:\\Self\\Projects\\mask_api_midwayjs",
"execCommand": "D:\\Program Files\\nodejs\\node.exe E:\\Self\\Projects\\mask_api_midwayjs\\node_modules\\@midwayjs\\cli-plugin-dev\\dist\\child.js {\"baseDir\":\"E:\\\\Self\\\\Projects\\\\mask_api_midwayjs\\\\src\",\"_\":[\"dev\"],\"ts\":true,\"npm\":\"npm --registry=https://registry.npmmirror.com\",\"layers\":[],\"port\":\"6275\"} -r E:\\Self\\Projects\\mask_api_midwayjs\\node_modules\\ts-node\\register"
},
"disk": [
{
"size": "100.00GB",
"used": "91.22GB",
"avail": "8.78GB",
"pcent": "92%",
"target": "C:"
},
{
"size": "174.00GB",
"used": "114.02GB",
"avail": "59.98GB",
"pcent": "66%",
"target": "D:"
},
{
"size": "173.12GB",
"used": "138.62GB",
"avail": "34.50GB",
"pcent": "81%",
"target": "E:"
}
]
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» project|object|true|none|项目|none|
|»»» appDir|string|true|none||none|
|»»» env|string|true|none||none|
|»»» name|string|true|none||none|
|»»» version|string|true|none||none|
|»»» dependencies|object|false|none||none|
|»»»» xlsx|string|true|none||none|
|»» cpu|object|true|none|CPU|none|
|»»» model|string|true|none||none|
|»»» speed|string|true|none||none|
|»»» core|integer|true|none||none|
|»»» coreUsed|[string]|true|none||none|
|»» memory|object|true|none|内存|none|
|»»» usage|string|true|none||none|
|»»» freemem|string|true|none||none|
|»»» totalmem|string|true|none||none|
|»»» rss|string|true|none||none|
|»»» heapTotal|string|true|none||none|
|»»» heapUsed|string|true|none||none|
|»»» external|string|true|none||none|
|»» network|object|false|none|网络|none|
|»»» 以太网 2|string|false|none||none|
|»»» 以太网|string|false|none||none|
|»»» VirtualBox Host-Only Network|string|false|none||none|
|»»» Loopback Pseudo-Interface 1|string|false|none||none|
|»» time|object|true|none|时间|none|
|»»» current|string|true|none||none|
|»»» uptime|string|true|none||none|
|»»» timezone|string|true|none||none|
|»»» timezoneName|string|true|none||none|
|»» system|object|true|none|系统|none|
|»»» platform|string|true|none||none|
|»»» node|string|true|none||none|
|»»» v8|string|true|none||none|
|»»» processId|integer|true|none||none|
|»»» arch|string|true|none||none|
|»»» uname|string|true|none||none|
|»»» release|string|true|none||none|
|»»» hostname|string|true|none||none|
|»»» homeDir|string|true|none||none|
|»»» cmd|string|true|none||none|
|»»» execCommand|string|true|none||none|
|»» disk|[object]|true|none|磁盘|none|
|»»» size|string|true|none||none|
|»»» used|string|true|none||none|
|»»» avail|string|true|none||none|
|»»» pcent|string|true|none||none|
|»»» target|string|true|none||none|
# 系统模块/参数配置信息
## GET 参数配置列表
GET /system/config/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|configName|query|string| 否 ||参数名称|
|configKey|query|string| 否 ||参数键名|
|configType|query|string| 否 ||系统内置-是Y 否N|
|beginTime|query|string| 否 ||创建时间-开始|
|endTime|query|string| 否 ||创建时间-结束|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 4,
"rows": [
{
"configId": 1,
"configName": "用户管理-账号初始密码",
"configKey": "sys.user.initPassword",
"configValue": "123456",
"configType": "Y",
"createBy": "maskAdmin",
"createTime": "1682264527266",
"updateBy": "",
"updateTime": "0",
"remark": "导入用户初始化密码 123456"
},
{
"configId": 2,
"configName": "账号自助-验证码开关",
"configKey": "sys.account.captchaEnabled",
"configValue": "true",
"configType": "Y",
"createBy": "maskAdmin",
"createTime": "1682264527271",
"updateBy": "",
"updateTime": "0",
"remark": "是否开启验证码功能true开启false关闭"
},
{
"configId": 3,
"configName": "账号自助-验证码类型",
"configKey": "sys.account.captchaType",
"configValue": "math",
"configType": "Y",
"createBy": "maskAdmin",
"createTime": "1682264527277",
"updateBy": "",
"updateTime": "0",
"remark": "使用验证码类型math数值计算char字符验证"
},
{
"configId": 4,
"configName": "账号自助-是否开启用户注册功能",
"configKey": "sys.account.registerUser",
"configValue": "true",
"configType": "Y",
"createBy": "maskAdmin",
"createTime": "1682264527280",
"updateBy": "maskAdmin",
"updateTime": "1683291796123",
"remark": "是否开启注册用户功能true开启false关闭"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» configId|integer|true|none|配置ID|none|
|»» configName|string|true|none|配置名称|none|
|»» configKey|string|true|none|参数键名|none|
|»» configValue|string|true|none|配置值|none|
|»» configType|string|true|none|系统内置|Y是 N否|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» updateBy|string|true|none||none|
|»» updateTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## POST 参数配置列表导出
POST /system/config/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=config_export_10_1684131509100.xlsx
content-length: 18337
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"configName": "string",
"configKey": "string",
"beginTime": "string",
"endTime": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» configName|body|string| 否 | 参数名称|none|
|» configKey|body|string| 否 | 参数键名|none|
|» beginTime|body|string| 否 | 创建开始时间|none|
|» endTime|body|string| 否 | 创建结束时间|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 根据参数键名取值
GET /system/config/configKey/{configKey}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|configKey|path|string| 是 ||参数键名|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "true"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none|配置值|none|
## GET 参数配置信息
GET /system/config/{configId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|configId|path|string| 是 ||配置ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"configId": 4,
"configName": "账号自助-是否开启用户注册功能",
"configKey": "sys.account.registerUser",
"configValue": "true",
"configType": "Y",
"createBy": "maskAdmin",
"createTime": "1682264527280",
"updateBy": "maskAdmin",
"updateTime": "1683291796123",
"remark": "是否开启注册用户功能true开启false关闭"
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» configId|integer|true|none|配置ID|none|
|»» configName|string|true|none|配置名称|none|
|»» configKey|string|true|none|参数键名|none|
|»» configValue|string|true|none|配置值|none|
|»» configType|string|true|none|系统内置|Y是 N否|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» updateBy|string|true|none||none|
|»» updateTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## POST 参数配置新增
POST /system/config
> Body 请求参数
```json
{
"configName": "string",
"configKey": "string",
"configValue": "string",
"configType": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» configName|body|string| 是 | 配置名称|none|
|» configKey|body|string| 是 | 参数键名|none|
|» configValue|body|string| 是 | 配置值|none|
|» configType|body|string| 是 | 系统内置|Y是 N否|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "参数配置新增【xxxx】失败参数键名已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 参数配置修改
PUT /system/config
> Body 请求参数
```json
{
"configName": "string",
"configKey": "string",
"configValue": "string",
"configType": "string",
"remark": "string",
"configId": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» configName|body|string| 是 | 配置名称|none|
|» configKey|body|string| 是 | 参数键名|none|
|» configValue|body|string| 是 | 配置值|none|
|» configType|body|string| 是 | 系统内置|Y是 N否|
|» remark|body|string| 是 | 备注|none|
|» configId|body|integer| 是 | 配置ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问参数配置数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 根据参数键名改值
PUT /system/config/changeValue
> Body 请求参数
```json
{
"key": "sys.logo.filePathIcon",
"value": "核心网"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» key|body|string| 是 ||none|
|» value|body|string| 是 ||none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "参数配置新增【xxxx】失败参数键名已存在"
}
```
```json
{
"code": 1,
"msg": "success"
}
```
```json
{
"code": 0,
"msg": "变更状态与旧值相等!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 参数配置删除
DELETE /system/config/{configIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|configIds|path|string| 是 ||配置ID多个用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "内置参数 xxx 不能删除"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 参数缓存刷新
PUT /system/config/refreshCache
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/部门信息
## GET 部门列表
GET /system/dept/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|status|query|string| 否 ||状态0正常 1停用|
|deptName|query|string| 否 ||部门名称|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"deptId": "100",
"parentId": "0",
"ancestors": "0",
"deptName": "MASK科技",
"orderNum": 0,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526241"
},
{
"deptId": "101",
"parentId": "100",
"ancestors": "0,100",
"deptName": "广西总公司",
"orderNum": 1,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526245"
},
{
"deptId": "102",
"parentId": "100",
"ancestors": "0,100",
"deptName": "广东分公司",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526248"
},
{
"deptId": "103",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "研发部门",
"orderNum": 1,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526251"
},
{
"deptId": "104",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "市场部门",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526254"
},
{
"deptId": "105",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "测试部门",
"orderNum": 3,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526257"
},
{
"deptId": "106",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "财务部门",
"orderNum": 4,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526261"
},
{
"deptId": "107",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "运维部门",
"orderNum": 5,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526264"
},
{
"deptId": "108",
"parentId": "102",
"ancestors": "0,100,102",
"deptName": "市场部门",
"orderNum": 1,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526268"
},
{
"deptId": "109",
"parentId": "102",
"ancestors": "0,100,102",
"deptName": "财务部门",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526271"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» deptId|string|true|none|部门ID|none|
|»» parentId|string|true|none|父部门ID|none|
|»» ancestors|string|true|none|祖级列表|none|
|»» deptName|string|true|none|部门名称|none|
|»» orderNum|integer|true|none|显示顺序|none|
|»» leader|string|true|none|负责人|none|
|»» phone|string|true|none|联系电话|none|
|»» email|string|true|none|邮箱|none|
|»» status|string|true|none|部门状态|0正常 1停用|
|»» delFlag|string|true|none|删除标志|0代表存在 1代表删除|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
## GET 部门列表(排除节点)
GET /system/dept/list/exclude/{deptId}
进行更新操作时,可选的上级应排除当前部门下的所有节点
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|deptId|path|string| 是 ||部门编号|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"deptId": "100",
"parentId": "0",
"ancestors": "0",
"deptName": "MASK科技",
"orderNum": 0,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526241"
},
{
"deptId": "102",
"parentId": "100",
"ancestors": "0,100",
"deptName": "广东分公司",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526248"
},
{
"deptId": "108",
"parentId": "102",
"ancestors": "0,100,102",
"deptName": "市场部门",
"orderNum": 1,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526268"
},
{
"deptId": "109",
"parentId": "102",
"ancestors": "0,100,102",
"deptName": "财务部门",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"delFlag": "0",
"createBy": "maskAdmin",
"createTime": "1682264526271"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» deptId|string|true|none|部门ID|none|
|»» parentId|string|true|none|父部门ID|none|
|»» ancestors|string|true|none|祖级列表|none|
|»» deptName|string|true|none|部门名称|none|
|»» orderNum|integer|true|none|显示顺序|none|
|»» leader|string|true|none|负责人|none|
|»» phone|string|true|none|联系电话|none|
|»» email|string|true|none|邮箱|none|
|»» status|string|true|none|部门状态|0正常 1停用|
|»» delFlag|string|true|none|删除标志|0代表存在 1代表删除|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
## GET 部门树结构列表
GET /system/dept/treeSelect
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|status|query|string| 否 ||状态0正常 1停用|
|deptName|query|string| 否 ||部门名称|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"id": "100",
"label": "MASK科技",
"children": [
{
"id": "101",
"label": "广西总公司",
"children": [
{
"id": "103",
"label": "研发部门",
"children": []
},
{
"id": "104",
"label": "市场部门",
"children": []
},
{
"id": "105",
"label": "测试部门",
"children": []
},
{
"id": "106",
"label": "财务部门",
"children": []
},
{
"id": "107",
"label": "运维部门",
"children": []
}
]
},
{
"id": "102",
"label": "广东分公司",
"children": [
{
"id": "108",
"label": "市场部门",
"children": []
},
{
"id": "109",
"label": "财务部门",
"children": []
}
]
}
]
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» id|string|true|none||none|
|»» label|string|true|none||none|
|»» children|[object]|true|none||none|
|»»» id|string|true|none||none|
|»»» label|string|true|none||none|
|»»» children|[object]|false|none||none|
## GET 部门树结构列表(指定角色)
GET /system/dept/roleDeptTreeSelect/{roleId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|roleId|path|string| 是 ||角色ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"depts": [
{
"id": "100",
"label": "MASK科技",
"children": [
{
"id": "101",
"label": "广西总公司",
"children": [
{
"id": "103",
"label": "研发部门",
"children": []
},
{
"id": "104",
"label": "市场部门",
"children": []
},
{
"id": "105",
"label": "测试部门",
"children": []
},
{
"id": "106",
"label": "财务部门",
"children": []
},
{
"id": "107",
"label": "运维部门",
"children": []
}
]
},
{
"id": "102",
"label": "广东分公司",
"children": [
{
"id": "108",
"label": "市场部门",
"children": []
},
{
"id": "109",
"label": "财务部门",
"children": []
}
]
}
]
}
],
"checkedKeys": []
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» depts|[object]|true|none|部门节点|none|
|»»» id|string|true|none|ID|none|
|»»» label|string|true|none|名称|none|
|»»» children|[object]|true|none|子节点|none|
|»»»» id|string|false|none|ID|none|
|»»»» label|string|false|none|名称|none|
|»»»» children|[object]|false|none|子节点|none|
|»» checkedKeys|[object]|true|none|已选ID数组|none|
## POST 部门新增
POST /system/dept
> Body 请求参数
```json
{
"orderNum": 0,
"deptName": "string",
"leader": "string",
"phone": "string",
"email": "string",
"status": "string",
"parentId": "string",
"parentName": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» orderNum|body|integer| 是 | 显示顺序|none|
|» deptName|body|string| 是 | 部门名称|none|
|» leader|body|string| 是 | 负责人|none|
|» phone|body|string| 是 | 联系电话|none|
|» email|body|string| 是 | 邮箱|none|
|» status|body|string| 是 | 部门状态|0正常 1停用|
|» parentId|body|string| 是 | 父部门ID|0为根节点|
|» parentName|body|string| 否 | 父部门名称|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "部门新增【xxx】失败部门名称已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 部门修改
PUT /system/dept
> Body 请求参数
```json
{
"orderNum": 0,
"deptName": "string",
"leader": "string",
"phone": "string",
"email": "string",
"status": "string",
"parentId": "string",
"parentName": "string",
"deptId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» orderNum|body|integer| 是 | 显示顺序|none|
|» deptName|body|string| 是 | 部门名称|none|
|» leader|body|string| 是 | 负责人|none|
|» phone|body|string| 是 | 联系电话|none|
|» email|body|string| 是 | 邮箱|none|
|» status|body|string| 是 | 部门状态|0正常 1停用|
|» parentId|body|string| 是 | 父部门ID|none|
|» parentName|body|string| 否 | 父部门名称|none|
|» deptId|body|string| 是 | 部门ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问部门数据"
}
```
```json
{
"code": 500,
"msg": "部门修改【拉高济查】失败,上级部门不能是自己"
}
```
```json
{
"code": 500,
"msg": "该部门包含未停用的子部门!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 部门删除
DELETE /system/dept/{deptId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|deptId|path|string| 是 ||部门ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问部门数据"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 部门信息
GET /system/dept/{deptId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|deptId|path|string| 是 ||部门编号|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"deptId": "109",
"parentId": "102",
"ancestors": "0,100,102",
"deptName": "财务部门",
"orderNum": 2,
"leader": "MASK",
"phone": "15888888888",
"email": "mask@qq.com",
"status": "1",
"parentName": "广东分公司"
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» deptId|string|true|none|部门ID|none|
|»» parentId|string|true|none|父部门ID|none|
|»» ancestors|string|true|none|祖级列表|none|
|»» deptName|string|true|none|部门名称|none|
|»» orderNum|integer|true|none|显示顺序|none|
|»» leader|string|true|none|负责人|none|
|»» phone|string|true|none|联系电话|none|
|»» email|string|true|none|邮箱|none|
|»» status|string|true|none|部门状态|0正常 1停用|
|»» parentName|string|true|none|父部门名称|none|
# 系统模块/字典数据信息
## POST 字典数据列表导出
POST /system/dict/data/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=dict_data_export_10_1684245668586.xlsx
content-length: 18236
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"dictLabel": "string",
"dictType": "string",
"status": "string",
"beginTime": "string",
"endTime": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictLabel|body|string| 否 | 数据标签|none|
|» dictType|body|string| 否 | 字典类型|none|
|» status|body|string| 否 | 状态|0正常 1停用|
|» beginTime|body|string| 否 | 创建开始时间|none|
|» endTime|body|string| 否 | 创建结束时间|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 字典数据列表
GET /system/dict/data/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictType|query|string| 否 ||字典类型|
|dictLabel|query|string| 否 ||数据标签|
|status|query|string| 否 ||状态0正常 1停用|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 3,
"rows": [
{
"dictCode": "1",
"dictSort": 1,
"dictLabel": "未知",
"dictValue": "0",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527109",
"remark": "性别男"
},
{
"dictCode": "2",
"dictSort": 2,
"dictLabel": "男",
"dictValue": "1",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527118",
"remark": "性别女"
},
{
"dictCode": "3",
"dictSort": 3,
"dictLabel": "女",
"dictValue": "2",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527126",
"remark": "性别未知"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» dictCode|string|true|none|编码ID|none|
|»» dictSort|integer|true|none|排序|none|
|»» dictLabel|string|true|none|标签名称|none|
|»» dictValue|string|true|none|标签值|none|
|»» dictType|string|true|none|字典类型|从字典类型列表中获取|
|»» tagClass|string|true|none|样式属性(样式扩展)|预设的class样式|
|»» tagType|string|true|none|标签类型(预设颜色)|预设数据固定项|
|»» status|string|true|none|状态|0停用 1正常|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## GET 字典数据详情
GET /system/dict/data/{dictCode}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictCode|path|string| 是 ||编码ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"dictCode": "15",
"dictSort": 2,
"dictLabel": "公告",
"dictValue": "2",
"dictType": "sys_notice_type",
"tagClass": "",
"tagType": "processing",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527183",
"remark": "公告"
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» dictCode|string|true|none|编码ID|none|
|»» dictSort|integer|true|none|排序|none|
|»» dictLabel|string|true|none|标签名称|none|
|»» dictValue|string|true|none|标签值|none|
|»» dictType|string|true|none|字典类型|从字典类型列表中获取|
|»» tagClass|string|true|none|样式属性(样式扩展)|预设的class样式|
|»» tagType|string|true|none|标签类型(预设颜色)|预设数据固定项|
|»» status|string|true|none|状态|0停用 1正常|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## GET 字典数据列表(指定字典类型)
GET /system/dict/data/type/{dictType}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictType|path|string| 是 ||字典类型,从字典类型列表中获取|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"dictCode": "1",
"dictSort": 1,
"dictLabel": "未知",
"dictValue": "0",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527109",
"remark": "性别男"
},
{
"dictCode": "2",
"dictSort": 2,
"dictLabel": "男",
"dictValue": "1",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527118",
"remark": "性别女"
},
{
"dictCode": "3",
"dictSort": 3,
"dictLabel": "女",
"dictValue": "2",
"dictType": "sys_user_sex",
"tagClass": "",
"tagType": "",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527126",
"remark": "性别未知"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» dictCode|string|false|none|编码ID|none|
|»» dictSort|integer|false|none|排序|none|
|»» dictLabel|string|false|none|标签名称|none|
|»» dictValue|string|false|none|标签值|none|
|»» dictType|string|false|none|字典类型|从字典类型列表中获取|
|»» tagClass|string|false|none|样式属性(样式扩展)|预设的class样式|
|»» tagType|string|false|none|标签类型(预设颜色)|预设数据固定项|
|»» status|string|false|none|状态|0停用 1正常|
|»» createBy|string|false|none||none|
|»» createTime|string|false|none||none|
|»» remark|string|false|none|备注|none|
## POST 字典数据新增
POST /system/dict/data
> Body 请求参数
```json
{
"dictType": "string",
"dictLabel": "string",
"dictValue": "string",
"dictSort": 0,
"tagClass": "string",
"tagType": "string",
"status": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictType|body|string| 是 | 字典类型|从字典类型列表中获取|
|» dictLabel|body|string| 是 | 标签名称|none|
|» dictValue|body|string| 是 | 标签值|none|
|» dictSort|body|integer| 是 | 排序|none|
|» tagClass|body|string| 是 | 样式属性(样式扩展)|预设的class样式|
|» tagType|body|string| 是 | 标签类型(预设颜色)|预设数据固定项|
|» status|body|string| 是 | 状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "数据新增【xxxx】失败该字典类型下标签名已存在"
}
```
```json
{
"code": 500,
"msg": "数据新增【x】失败该字典类型下标签值已存在"
}
```
```json
{
"code": 500,
"msg": "没有权限访问字典类型数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 字典数据修改
PUT /system/dict/data
> Body 请求参数
```json
{
"dictCode": "string",
"dictType": "string",
"dictLabel": "string",
"dictValue": "string",
"dictSort": 0,
"tagClass": "string",
"tagType": "string",
"status": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictCode|body|string| 是 | 编码ID|none|
|» dictType|body|string| 是 | 字典类型|从字典类型列表中获取|
|» dictLabel|body|string| 是 | 标签名称|none|
|» dictValue|body|string| 是 | 标签值|none|
|» dictSort|body|integer| 是 | 排序|none|
|» tagClass|body|string| 是 | 样式属性(样式扩展)|预设的class样式|
|» tagType|body|string| 是 | 标签类型(预设颜色)|预设数据固定项|
|» status|body|string| 是 | 状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问字典类型数据!"
}
```
```json
{
"code": 500,
"msg": "没有权限访问字典编码数据!"
}
```
```json
{
"code": 500,
"msg": "数据修改【x】失败该字典类型下标签值已存在"
}
```
```json
{
"code": 500,
"msg": "数据修改【xxxx】失败该字典类型下标签名已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 字典数据删除
DELETE /system/dict/data/{dictCodes}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictCodes|path|string| 是 ||字典编码ID多个用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问字典编码数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/字典类型信息
## GET 字典类型列表
GET /system/dict/type/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictName|query|string| 否 ||名称|
|dictType|query|string| 否 ||类型|
|status|query|string| 否 ||状态0正常 1停用|
|beginTime|query|string| 否 ||创建时间-开始|
|endTime|query|string| 否 ||创建时间-结束|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 10,
"rows": [
{
"dictId": "1",
"dictName": "用户性别",
"dictType": "sys_user_sex",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526985",
"remark": "用户性别列表"
},
{
"dictId": "2",
"dictName": "菜单状态",
"dictType": "sys_show_hide",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526992",
"remark": "菜单状态列表"
},
{
"dictId": "3",
"dictName": "系统开关",
"dictType": "sys_normal_disable",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526999",
"remark": "系统开关列表"
},
{
"dictId": "4",
"dictName": "任务状态",
"dictType": "sys_job_status",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527005",
"remark": "任务状态列表"
},
{
"dictId": "5",
"dictName": "任务分组",
"dictType": "sys_job_group",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527010",
"remark": "任务分组列表"
},
{
"dictId": "6",
"dictName": "系统是否",
"dictType": "sys_yes_no",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527016",
"remark": "系统是否列表"
},
{
"dictId": "7",
"dictName": "通知类型",
"dictType": "sys_notice_type",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527023",
"remark": "通知类型列表"
},
{
"dictId": "8",
"dictName": "通知状态",
"dictType": "sys_notice_status",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527029",
"remark": "通知状态列表"
},
{
"dictId": "9",
"dictName": "操作类型",
"dictType": "sys_oper_type",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527035",
"remark": "操作类型列表"
},
{
"dictId": "10",
"dictName": "系统状态",
"dictType": "sys_common_status",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264527042",
"remark": "登录状态列表"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» dictId|string|true|none|字典ID|none|
|»» dictName|string|true|none|名称|none|
|»» dictType|string|true|none|类型|none|
|»» status|string|true|none|状态|0停用 1正常|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## GET 字典类型详细
GET /system/dict/type/{dictId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictId|path|string| 是 ||字典ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"dictId": "1",
"dictName": "用户性别",
"dictType": "sys_user_sex",
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526985",
"remark": "用户性别列表"
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» dictId|string|true|none|字典ID|none|
|»» dictName|string|true|none|名称|none|
|»» dictType|string|true|none|类型|none|
|»» status|string|true|none|状态|0停用 1正常|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## POST 字典类型列表导出
POST /system/dict/type/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=dict_type_export_12_1684240671183.xlsx
content-length: 18246
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"dictName": "string",
"dictType": "string",
"status": "string",
"beginTime": "string",
"endTime": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictName|body|string| 否 | 名称|none|
|» dictType|body|string| 否 | 类型|none|
|» status|body|string| 否 | 状态|0正常 1停用|
|» beginTime|body|string| 否 | 创建开始时间|none|
|» endTime|body|string| 否 | 创建结束时间|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 字典类型新增
POST /system/dict/type
> Body 请求参数
```json
{
"dictName": "string",
"dictType": "string",
"status": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictName|body|string| 是 | 名称|none|
|» dictType|body|string| 是 | 类型|none|
|» status|body|string| 是 | 状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "字典新增【xxx】失败字典名称已存在"
}
```
```json
{
"code": 500,
"msg": "字典新增【xxxx】失败字典类型已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 字典类型修改
PUT /system/dict/type
> Body 请求参数
```json
{
"dictName": "string",
"dictType": "string",
"remark": "string",
"status": "string",
"dictId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dictName|body|string| 是 | 名称|none|
|» dictType|body|string| 是 | 类型|none|
|» remark|body|string| 是 | 备注|none|
|» status|body|string| 是 | 状态|0停用 1正常|
|» dictId|body|string| 否 | 字典ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "字典修改【xxxx】失败字典名称已存在"
}
```
```json
{
"code": 500,
"msg": "字典修改【xxxx】失败字典类型已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 字典类型删除
DELETE /system/dict/type/{dictIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|dictIds|path|string| 是 ||字典ID多个用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问字典类型数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 字典类型选择框列表
GET /system/dict/type/getDictOptionselect
在字典数据中进行下拉项选择
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"label": "用户性别",
"value": "sys_user_sex"
},
{
"label": "菜单状态",
"value": "sys_show_hide"
},
{
"label": "系统开关",
"value": "sys_normal_disable"
},
{
"label": "任务状态",
"value": "sys_job_status"
},
{
"label": "任务分组",
"value": "sys_job_group"
},
{
"label": "系统是否",
"value": "sys_yes_no"
},
{
"label": "通知类型",
"value": "sys_notice_type"
},
{
"label": "通知状态",
"value": "sys_notice_status"
},
{
"label": "操作类型",
"value": "sys_oper_type"
},
{
"label": "系统状态",
"value": "sys_common_status"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» label|string|true|none|标签名称|none|
|»» value|string|true|none|标签值|none|
## PUT 字典类型刷新缓存
PUT /system/dict/type/refreshCache
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/菜单信息
## GET 菜单列表
GET /system/menu/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|menuName|query|string| 否 ||菜单名称|
|status|query|string| 否 ||菜单状态 0正常 1停用|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"menuId": "1",
"menuName": "系统管理",
"parentId": "0",
"menuSort": 1,
"path": "system",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "D",
"visible": "1",
"status": "1",
"perms": "",
"icon": "#",
"createTime": "1682264526443",
"remark": "系统管理目录"
},
{
"menuId": "2",
"menuName": "系统监控",
"parentId": "0",
"menuSort": 2,
"path": "monitor",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "D",
"visible": "1",
"status": "1",
"perms": "",
"icon": "#",
"createTime": "1682264526448",
"remark": "系统监控目录"
},
{
"menuId": "3",
"menuName": "系统工具",
"parentId": "0",
"menuSort": 3,
"path": "tool",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "D",
"visible": "1",
"status": "1",
"perms": "",
"icon": "#",
"createTime": "1682264526452",
"remark": "系统工具目录"
},
{
"menuId": "4",
"menuName": "开源仓库",
"parentId": "0",
"menuSort": 4,
"path": "https://gitee.com/TsMask",
"component": "",
"isFrame": "0",
"isCache": "0",
"menuType": "D",
"visible": "1",
"status": "1",
"perms": "",
"icon": "#",
"createTime": "1682264526456",
"remark": "开源仓库跳转外部链接打开新窗口"
},
{
"menuId": "100",
"menuName": "用户管理",
"parentId": "1",
"menuSort": 1,
"path": "user",
"component": "system/user/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:user:list",
"icon": "#",
"createTime": "1682264526459",
"remark": "用户管理菜单"
},
{
"menuId": "101",
"menuName": "角色管理",
"parentId": "1",
"menuSort": 2,
"path": "role",
"component": "system/role/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:role:list",
"icon": "#",
"createTime": "1682264526463",
"remark": "角色管理菜单"
},
{
"menuId": "102",
"menuName": "分配角色",
"parentId": "1",
"menuSort": 3,
"path": "role/inline/auth-user/:roleId",
"component": "system/role/auth-user",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "0",
"status": "1",
"perms": "system:role:auth",
"icon": "#",
"createTime": "1682264526467",
"remark": "分配角色内嵌隐藏菜单"
},
{
"menuId": "103",
"menuName": "菜单管理",
"parentId": "1",
"menuSort": 4,
"path": "menu",
"component": "system/menu/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:menu:list",
"icon": "#",
"createTime": "1682264526471",
"remark": "菜单管理菜单"
},
{
"menuId": "104",
"menuName": "部门管理",
"parentId": "1",
"menuSort": 5,
"path": "dept",
"component": "system/dept/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:dept:list",
"icon": "#",
"createTime": "1682264526475",
"remark": "部门管理菜单"
},
{
"menuId": "105",
"menuName": "岗位管理",
"parentId": "1",
"menuSort": 6,
"path": "post",
"component": "system/post/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:post:list",
"icon": "#",
"createTime": "1682264526479",
"remark": "岗位管理菜单"
},
{
"menuId": "106",
"menuName": "字典管理",
"parentId": "1",
"menuSort": 7,
"path": "dict",
"component": "system/dict/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:dict:list",
"icon": "#",
"createTime": "1682264526484",
"remark": "字典管理菜单"
},
{
"menuId": "107",
"menuName": "字典数据",
"parentId": "1",
"menuSort": 8,
"path": "dict/inline/data/:dictId",
"component": "system/dict/data",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "0",
"status": "1",
"perms": "system:dict:data",
"icon": "#",
"createTime": "1682264526488",
"remark": "字典数据内嵌隐藏菜单"
},
{
"menuId": "108",
"menuName": "参数设置",
"parentId": "1",
"menuSort": 9,
"path": "config",
"component": "system/config/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:config:list",
"icon": "#",
"createTime": "1682264526491",
"remark": "参数设置菜单"
},
{
"menuId": "109",
"menuName": "通知公告",
"parentId": "1",
"menuSort": 10,
"path": "notice",
"component": "system/notice/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:notice:list",
"icon": "#",
"createTime": "1682264526495",
"remark": "通知公告菜单"
},
{
"menuId": "111",
"menuName": "日志管理",
"parentId": "1",
"menuSort": 11,
"path": "log",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "D",
"visible": "1",
"status": "1",
"perms": "",
"icon": "#",
"createTime": "1682264526498",
"remark": "日志管理菜单"
},
{
"menuId": "112",
"menuName": "服务监控",
"parentId": "2",
"menuSort": 1,
"path": "server-info",
"component": "monitor/server/info",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:server:info",
"icon": "#",
"createTime": "1682264526502",
"remark": "服务监控菜单"
},
{
"menuId": "113",
"menuName": "缓存监控",
"parentId": "2",
"menuSort": 2,
"path": "cache-info",
"component": "monitor/cache/info",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:cache:info",
"icon": "#",
"createTime": "1682264526505",
"remark": "缓存监控菜单"
},
{
"menuId": "114",
"menuName": "缓存列表",
"parentId": "2",
"menuSort": 3,
"path": "cache",
"component": "monitor/cache/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:cache:list",
"icon": "#",
"createTime": "1682264526509",
"remark": "缓存列表菜单"
},
{
"menuId": "115",
"menuName": "在线用户",
"parentId": "2",
"menuSort": 4,
"path": "online",
"component": "monitor/online/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:online:list",
"icon": "#",
"createTime": "1682264526513",
"remark": "在线用户菜单"
},
{
"menuId": "116",
"menuName": "调度任务",
"parentId": "2",
"menuSort": 5,
"path": "job",
"component": "monitor/job/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:job:list",
"icon": "#",
"createTime": "1682264526517",
"remark": "调度任务菜单"
},
{
"menuId": "117",
"menuName": "调度日志",
"parentId": "2",
"menuSort": 6,
"path": "job/inline/log/:jobId",
"component": "monitor/job/log",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "0",
"status": "1",
"perms": "monitor:job:log",
"icon": "#",
"createTime": "1682264526520",
"remark": "调度日志内嵌隐藏菜单"
},
{
"menuId": "118",
"menuName": "系统接口",
"parentId": "3",
"menuSort": 1,
"path": "swagger",
"component": "tool/swagger/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:swagger:list",
"icon": "#",
"createTime": "1682264526524",
"remark": "系统接口菜单"
},
{
"menuId": "1000",
"menuName": "用户查询",
"parentId": "100",
"menuSort": 1,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:query",
"icon": "#",
"createTime": "1682264526537",
"remark": ""
},
{
"menuId": "1001",
"menuName": "用户新增",
"parentId": "100",
"menuSort": 2,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:add",
"icon": "#",
"createTime": "1682264526540",
"remark": ""
},
{
"menuId": "1002",
"menuName": "用户修改",
"parentId": "100",
"menuSort": 3,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:edit",
"icon": "#",
"createTime": "1682264526545",
"remark": ""
},
{
"menuId": "1003",
"menuName": "用户删除",
"parentId": "100",
"menuSort": 4,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:remove",
"icon": "#",
"createTime": "1682264526549",
"remark": ""
},
{
"menuId": "1004",
"menuName": "用户导出",
"parentId": "100",
"menuSort": 5,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:export",
"icon": "#",
"createTime": "1682264526552",
"remark": ""
},
{
"menuId": "1005",
"menuName": "用户导入",
"parentId": "100",
"menuSort": 6,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:import",
"icon": "#",
"createTime": "1682264526556",
"remark": ""
},
{
"menuId": "1006",
"menuName": "重置密码",
"parentId": "100",
"menuSort": 7,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:user:resetPwd",
"icon": "#",
"createTime": "1682264526561",
"remark": ""
},
{
"menuId": "1007",
"menuName": "角色查询",
"parentId": "101",
"menuSort": 1,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:role:query",
"icon": "#",
"createTime": "1682264526564",
"remark": ""
},
{
"menuId": "1008",
"menuName": "角色新增",
"parentId": "101",
"menuSort": 2,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:role:add",
"icon": "#",
"createTime": "1682264526567",
"remark": ""
},
{
"menuId": "1009",
"menuName": "角色修改",
"parentId": "101",
"menuSort": 3,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:role:edit",
"icon": "#",
"createTime": "1682264526571",
"remark": ""
},
{
"menuId": "1010",
"menuName": "角色删除",
"parentId": "101",
"menuSort": 4,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:role:remove",
"icon": "#",
"createTime": "1682264526575",
"remark": ""
},
{
"menuId": "1011",
"menuName": "角色导出",
"parentId": "101",
"menuSort": 5,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:role:export",
"icon": "#",
"createTime": "1682264526579",
"remark": ""
},
{
"menuId": "1012",
"menuName": "菜单查询",
"parentId": "103",
"menuSort": 1,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:menu:query",
"icon": "#",
"createTime": "1682264526583",
"remark": ""
},
{
"menuId": "1013",
"menuName": "菜单新增",
"parentId": "103",
"menuSort": 2,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:menu:add",
"icon": "#",
"createTime": "1682264526586",
"remark": ""
},
{
"menuId": "1014",
"menuName": "菜单修改",
"parentId": "103",
"menuSort": 3,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:menu:edit",
"icon": "#",
"createTime": "1682264526589",
"remark": ""
},
{
"menuId": "1015",
"menuName": "菜单删除",
"parentId": "103",
"menuSort": 4,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:menu:remove",
"icon": "#",
"createTime": "1682264526592",
"remark": ""
},
{
"menuId": "1016",
"menuName": "部门查询",
"parentId": "104",
"menuSort": 1,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dept:query",
"icon": "#",
"createTime": "1682264526595",
"remark": ""
},
{
"menuId": "1017",
"menuName": "部门新增",
"parentId": "104",
"menuSort": 2,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dept:add",
"icon": "#",
"createTime": "1682264526598",
"remark": ""
},
{
"menuId": "1018",
"menuName": "部门修改",
"parentId": "104",
"menuSort": 3,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dept:edit",
"icon": "#",
"createTime": "1682264526600",
"remark": ""
},
{
"menuId": "1019",
"menuName": "部门删除",
"parentId": "104",
"menuSort": 4,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dept:remove",
"icon": "#",
"createTime": "1682264526603",
"remark": ""
},
{
"menuId": "1020",
"menuName": "岗位查询",
"parentId": "105",
"menuSort": 1,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:post:query",
"icon": "#",
"createTime": "1682264526606",
"remark": ""
},
{
"menuId": "1021",
"menuName": "岗位新增",
"parentId": "105",
"menuSort": 2,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:post:add",
"icon": "#",
"createTime": "1682264526609",
"remark": ""
},
{
"menuId": "1022",
"menuName": "岗位修改",
"parentId": "105",
"menuSort": 3,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:post:edit",
"icon": "#",
"createTime": "1682264526612",
"remark": ""
},
{
"menuId": "1023",
"menuName": "岗位删除",
"parentId": "105",
"menuSort": 4,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:post:remove",
"icon": "#",
"createTime": "1682264526616",
"remark": ""
},
{
"menuId": "1024",
"menuName": "岗位导出",
"parentId": "105",
"menuSort": 5,
"path": "",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:post:export",
"icon": "#",
"createTime": "1682264526618",
"remark": ""
},
{
"menuId": "1025",
"menuName": "字典查询",
"parentId": "106",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dict:query",
"icon": "#",
"createTime": "1682264526621",
"remark": ""
},
{
"menuId": "1026",
"menuName": "字典新增",
"parentId": "106",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dict:add",
"icon": "#",
"createTime": "1682264526623",
"remark": ""
},
{
"menuId": "1027",
"menuName": "字典修改",
"parentId": "106",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dict:edit",
"icon": "#",
"createTime": "1682264526627",
"remark": ""
},
{
"menuId": "1028",
"menuName": "字典删除",
"parentId": "106",
"menuSort": 4,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dict:remove",
"icon": "#",
"createTime": "1682264526630",
"remark": ""
},
{
"menuId": "1029",
"menuName": "字典导出",
"parentId": "106",
"menuSort": 5,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:dict:export",
"icon": "#",
"createTime": "1682264526632",
"remark": ""
},
{
"menuId": "1030",
"menuName": "参数查询",
"parentId": "108",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:config:query",
"icon": "#",
"createTime": "1682264526635",
"remark": ""
},
{
"menuId": "1031",
"menuName": "参数新增",
"parentId": "108",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:config:add",
"icon": "#",
"createTime": "1682264526638",
"remark": ""
},
{
"menuId": "1032",
"menuName": "参数修改",
"parentId": "108",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:config:edit",
"icon": "#",
"createTime": "1682264526640",
"remark": ""
},
{
"menuId": "1033",
"menuName": "参数删除",
"parentId": "108",
"menuSort": 4,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:config:remove",
"icon": "#",
"createTime": "1682264526643",
"remark": ""
},
{
"menuId": "1034",
"menuName": "参数导出",
"parentId": "108",
"menuSort": 5,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:config:export",
"icon": "#",
"createTime": "1682264526646",
"remark": ""
},
{
"menuId": "1035",
"menuName": "公告查询",
"parentId": "109",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:notice:query",
"icon": "#",
"createTime": "1682264526650",
"remark": ""
},
{
"menuId": "1036",
"menuName": "公告新增",
"parentId": "109",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:notice:add",
"icon": "#",
"createTime": "1682264526654",
"remark": ""
},
{
"menuId": "1037",
"menuName": "公告修改",
"parentId": "109",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:notice:edit",
"icon": "#",
"createTime": "1682264526658",
"remark": ""
},
{
"menuId": "1038",
"menuName": "公告删除",
"parentId": "109",
"menuSort": 4,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "system:notice:remove",
"icon": "#",
"createTime": "1682264526662",
"remark": ""
},
{
"menuId": "500",
"menuName": "操作日志",
"parentId": "111",
"menuSort": 1,
"path": "operlog",
"component": "monitor/operlog/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:operlog:list",
"icon": "#",
"createTime": "1682264526528",
"remark": "操作日志菜单"
},
{
"menuId": "501",
"menuName": "登录日志",
"parentId": "111",
"menuSort": 2,
"path": "logininfor",
"component": "monitor/logininfor/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "monitor:logininfor:list",
"icon": "#",
"createTime": "1682264526532",
"remark": "登录日志菜单"
},
{
"menuId": "1046",
"menuName": "缓存查询",
"parentId": "114",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:cache:query",
"icon": "#",
"createTime": "1682264526692",
"remark": ""
},
{
"menuId": "1047",
"menuName": "缓存删除",
"parentId": "114",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:cache:remove",
"icon": "#",
"createTime": "1682264526696",
"remark": ""
},
{
"menuId": "1048",
"menuName": "在线查询",
"parentId": "115",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:online:query",
"icon": "#",
"createTime": "1682264526700",
"remark": ""
},
{
"menuId": "1049",
"menuName": "批量强退",
"parentId": "115",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:online:batchLogout",
"icon": "#",
"createTime": "1682264526704",
"remark": ""
},
{
"menuId": "1050",
"menuName": "单条强退",
"parentId": "115",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:online:forceLogout",
"icon": "#",
"createTime": "1682264526707",
"remark": ""
},
{
"menuId": "1051",
"menuName": "任务查询",
"parentId": "116",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:query",
"icon": "#",
"createTime": "1682264526713",
"remark": ""
},
{
"menuId": "1052",
"menuName": "任务新增",
"parentId": "116",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:add",
"icon": "#",
"createTime": "1682264526717",
"remark": ""
},
{
"menuId": "1053",
"menuName": "任务修改",
"parentId": "116",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:edit",
"icon": "#",
"createTime": "1682264526721",
"remark": ""
},
{
"menuId": "1054",
"menuName": "任务删除",
"parentId": "116",
"menuSort": 4,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:remove",
"icon": "#",
"createTime": "1682264526725",
"remark": ""
},
{
"menuId": "1055",
"menuName": "状态修改",
"parentId": "116",
"menuSort": 5,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:changeStatus",
"icon": "#",
"createTime": "1682264526730",
"remark": ""
},
{
"menuId": "1056",
"menuName": "任务导出",
"parentId": "116",
"menuSort": 6,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:job:export",
"icon": "#",
"createTime": "1682264526735",
"remark": ""
},
{
"menuId": "1039",
"menuName": "操作查询",
"parentId": "500",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:operlog:query",
"icon": "#",
"createTime": "1682264526665",
"remark": ""
},
{
"menuId": "1040",
"menuName": "操作删除",
"parentId": "500",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:operlog:remove",
"icon": "#",
"createTime": "1682264526670",
"remark": ""
},
{
"menuId": "1041",
"menuName": "日志导出",
"parentId": "500",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:operlog:export",
"icon": "#",
"createTime": "1682264526673",
"remark": ""
},
{
"menuId": "1042",
"menuName": "登录查询",
"parentId": "501",
"menuSort": 1,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:logininfor:query",
"icon": "#",
"createTime": "1682264526677",
"remark": ""
},
{
"menuId": "1043",
"menuName": "登录删除",
"parentId": "501",
"menuSort": 2,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:logininfor:remove",
"icon": "#",
"createTime": "1682264526681",
"remark": ""
},
{
"menuId": "1044",
"menuName": "日志导出",
"parentId": "501",
"menuSort": 3,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:logininfor:export",
"icon": "#",
"createTime": "1682264526684",
"remark": ""
},
{
"menuId": "1045",
"menuName": "账户解锁",
"parentId": "501",
"menuSort": 4,
"path": "#",
"component": "",
"isFrame": "1",
"isCache": "1",
"menuType": "B",
"visible": "1",
"status": "1",
"perms": "monitor:logininfor:unlock",
"icon": "#",
"createTime": "1682264526688",
"remark": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none||none|
|»» menuId|string|true|none|菜单ID|none|
|»» menuName|string|true|none|菜单名称|none|
|»» parentId|string|true|none|父菜单ID|none|
|»» menuSort|integer|true|none|显示顺序|none|
|»» path|string|true|none|路由地址|none|
|»» component|string|true|none|组件路径|none|
|»» isFrame|string|true|none|是否内部跳转|0否 1是|
|»» isCache|string|true|none|是否缓存|0不缓存 1缓存|
|»» menuType|string|true|none|菜单类型|D目录 M菜单 B按钮|
|»» visible|string|true|none|是否显示|0隐藏 1显示|
|»» status|string|true|none|状态|0停用 1正常|
|»» perms|string|true|none|权限标识|none|
|»» icon|string|true|none|图标|无图标要#号或空字符串|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## GET 菜单信息
GET /system/menu/{menuId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|menuId|path|string| 是 ||菜单ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"menuId": "100",
"menuName": "用户管理",
"parentId": "1",
"menuSort": 1,
"path": "user",
"component": "system/user/index",
"isFrame": "1",
"isCache": "1",
"menuType": "M",
"visible": "1",
"status": "1",
"perms": "system:user:list",
"icon": "#",
"createTime": "1682264526459",
"remark": "用户管理菜单"
}
}
```
```json
{
"code": 200,
"msg": "成功",
"data": null
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» menuId|string|true|none|菜单ID|none|
|»» menuName|string|true|none|菜单名称|none|
|»» parentId|string|true|none|父菜单ID|none|
|»» menuSort|integer|true|none|显示顺序|none|
|»» path|string|true|none|路由地址|none|
|»» component|string|true|none|组件路径|none|
|»» isFrame|string|true|none|是否内部跳转|0否 1是|
|»» isCache|string|true|none|是否缓存|0不缓存 1缓存|
|»» menuType|string|true|none|菜单类型|D目录 M菜单 B按钮|
|»» visible|string|true|none|是否显示|0隐藏 1显示|
|»» status|string|true|none|状态|0停用 1正常|
|»» perms|string|true|none|权限标识|none|
|»» icon|string|true|none|图标|无图标要#号或空字符串|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## DELETE 菜单删除
DELETE /system/menu/{menuId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|menuId|path|string| 是 ||菜单ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问菜单数据"
}
```
```json
{
"code": 500,
"msg": "存在子菜单,不允许删除"
}
```
```json
{
"code": 500,
"msg": "菜单已分配给角色,不允许删除"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 菜单修改
PUT /system/menu
> Body 请求参数
```json
{
"menuId": "string",
"parentId": "string",
"menuName": "string",
"menuType": "string",
"menuSort": 0,
"isFrame": "string",
"isCache": "string",
"visible": "string",
"status": "string",
"icon": "string",
"path": "string",
"component": "string",
"perms": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» menuId|body|string| 是 | 菜单ID|none|
|» parentId|body|string| 是 | 父菜单ID|none|
|» menuName|body|string| 是 | 菜单名称|none|
|» menuType|body|string| 是 | 菜单类型|D目录 M菜单 B按钮|
|» menuSort|body|integer| 是 | 显示顺序|默认0|
|» isFrame|body|string| 否 | 是否内部跳转|目录和菜单必传0否 1是|
|» isCache|body|string| 否 | 是否缓存|目录和菜单必传0不缓存 1缓存|
|» visible|body|string| 否 | 是否显示|目录和菜单必传0隐藏 1显示|
|» status|body|string| 否 | 状态|目录和菜单必传0停用 1正常|
|» icon|body|string| 否 | 图标|目录和菜单必传,#无图标|
|» path|body|string| 否 | 路由地址|目录和菜单必传|
|» component|body|string| 否 | 组件路径|菜单必传|
|» perms|body|string| 否 | 权限标识|菜单和按钮必传|
|» remark|body|string| 否 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问菜单数据"
}
```
```json
{
"code": 500,
"msg": "菜单修改【xxxx】失败非内部地址必须以http(s)://开头"
}
```
```json
{
"code": 500,
"msg": "菜单修改【xxxx】失败菜单路由地址已存在"
}
```
```json
{
"code": 500,
"msg": "菜单修改【xxx】失败菜单名称已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## POST 菜单新增
POST /system/menu
> Body 请求参数
```json
{
"parentId": "string",
"menuName": "string",
"menuType": "string",
"menuSort": 0,
"isFrame": "string",
"isCache": "string",
"visible": "string",
"status": "string",
"icon": "string",
"path": "string",
"component": "string",
"perms": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» parentId|body|string| 是 | 父菜单ID|根据菜单ID|
|» menuName|body|string| 是 | 菜单名称|none|
|» menuType|body|string| 是 | 菜单类型|D目录 M菜单 B按钮|
|» menuSort|body|integer| 是 | 显示顺序|默认0|
|» isFrame|body|string| 否 | 是否内部跳转|目录和菜单必传0否 1是|
|» isCache|body|string| 否 | 是否缓存|目录和菜单必传0不缓存 1缓存|
|» visible|body|string| 否 | 是否显示|目录和菜单必传0隐藏 1显示|
|» status|body|string| 否 | 状态|目录和菜单必传0停用 1正常|
|» icon|body|string| 否 | 图标|目录和菜单必传,#无图标|
|» path|body|string| 否 | 路由地址|目录和菜单必传|
|» component|body|string| 否 | 组件路径|菜单必传|
|» perms|body|string| 否 | 权限标识|菜单和按钮必传|
|» remark|body|string| 否 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "菜单新增【xxx】失败菜单路由地址已存在"
}
```
```json
{
"code": 500,
"msg": "菜单新增【xxxx】失败菜单名称已存在"
}
```
```json
{
"code": 500,
"msg": "菜单新增【xxxx】失败非内部地址必须以http(s)://开头"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 菜单树结构列表(指定角色)
GET /system/menu/roleMenuTreeSelect/{roleId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|roleId|path|string| 是 ||角色ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"menus": [
{
"id": "1",
"label": "系统管理",
"children": [
{
"id": "100",
"label": "用户管理",
"children": [
{
"id": "1000",
"label": "用户查询",
"children": []
},
{
"id": "1001",
"label": "用户新增",
"children": []
},
{
"id": "1002",
"label": "用户修改",
"children": []
},
{
"id": "1003",
"label": "用户删除",
"children": []
},
{
"id": "1004",
"label": "用户导出",
"children": []
},
{
"id": "1005",
"label": "用户导入",
"children": []
},
{
"id": "1006",
"label": "重置密码",
"children": []
}
]
},
{
"id": "101",
"label": "角色管理",
"children": [
{
"id": "1007",
"label": "角色查询",
"children": []
},
{
"id": "1008",
"label": "角色新增",
"children": []
},
{
"id": "1009",
"label": "角色修改",
"children": []
},
{
"id": "1010",
"label": "角色删除",
"children": []
},
{
"id": "1011",
"label": "角色导出",
"children": []
}
]
},
{
"id": "102",
"label": "分配角色",
"children": []
},
{
"id": "103",
"label": "菜单管理",
"children": [
{
"id": "1012",
"label": "菜单查询",
"children": []
},
{
"id": "1013",
"label": "菜单新增",
"children": []
},
{
"id": "1014",
"label": "菜单修改",
"children": []
},
{
"id": "1015",
"label": "菜单删除",
"children": []
}
]
},
{
"id": "104",
"label": "部门管理",
"children": [
{
"id": "1016",
"label": "部门查询",
"children": []
},
{
"id": "1017",
"label": "部门新增",
"children": []
},
{
"id": "1018",
"label": "部门修改",
"children": []
},
{
"id": "1019",
"label": "部门删除",
"children": []
}
]
},
{
"id": "105",
"label": "岗位管理",
"children": [
{
"id": "1020",
"label": "岗位查询",
"children": []
},
{
"id": "1021",
"label": "岗位新增",
"children": []
},
{
"id": "1022",
"label": "岗位修改",
"children": []
},
{
"id": "1023",
"label": "岗位删除",
"children": []
},
{
"id": "1024",
"label": "岗位导出",
"children": []
}
]
},
{
"id": "106",
"label": "字典管理",
"children": [
{
"id": "1025",
"label": "字典查询",
"children": []
},
{
"id": "1026",
"label": "字典新增",
"children": []
},
{
"id": "1027",
"label": "字典修改",
"children": []
},
{
"id": "1028",
"label": "字典删除",
"children": []
},
{
"id": "1029",
"label": "字典导出",
"children": []
}
]
},
{
"id": "107",
"label": "字典数据",
"children": []
},
{
"id": "108",
"label": "参数设置",
"children": [
{
"id": "1030",
"label": "参数查询",
"children": []
},
{
"id": "1031",
"label": "参数新增",
"children": []
},
{
"id": "1032",
"label": "参数修改",
"children": []
},
{
"id": "1033",
"label": "参数删除",
"children": []
},
{
"id": "1034",
"label": "参数导出",
"children": []
}
]
},
{
"id": "109",
"label": "通知公告",
"children": [
{
"id": "1035",
"label": "公告查询",
"children": []
},
{
"id": "1036",
"label": "公告新增",
"children": []
},
{
"id": "1037",
"label": "公告修改",
"children": []
},
{
"id": "1038",
"label": "公告删除",
"children": []
}
]
},
{
"id": "111",
"label": "日志管理",
"children": [
{
"id": "500",
"label": "操作日志",
"children": [
{
"id": "1039",
"label": "操作查询",
"children": "[Object]"
},
{
"id": "1040",
"label": "操作删除",
"children": "[Object]"
},
{
"id": "1041",
"label": "日志导出",
"children": "[Object]"
}
]
},
{
"id": "501",
"label": "登录日志",
"children": [
{
"id": "1042",
"label": "登录查询",
"children": "[Object]"
},
{
"id": "1043",
"label": "登录删除",
"children": "[Object]"
},
{
"id": "1044",
"label": "日志导出",
"children": "[Object]"
},
{
"id": "1045",
"label": "账户解锁",
"children": "[Object]"
}
]
}
]
}
]
},
{
"id": "2",
"label": "系统监控",
"children": [
{
"id": "112",
"label": "服务监控",
"children": []
},
{
"id": "113",
"label": "缓存监控",
"children": []
},
{
"id": "114",
"label": "缓存列表",
"children": [
{
"id": "1046",
"label": "缓存查询",
"children": []
},
{
"id": "1047",
"label": "缓存删除",
"children": []
}
]
},
{
"id": "115",
"label": "在线用户",
"children": [
{
"id": "1048",
"label": "在线查询",
"children": []
},
{
"id": "1049",
"label": "批量强退",
"children": []
},
{
"id": "1050",
"label": "单条强退",
"children": []
}
]
},
{
"id": "116",
"label": "调度任务",
"children": [
{
"id": "1051",
"label": "任务查询",
"children": []
},
{
"id": "1052",
"label": "任务新增",
"children": []
},
{
"id": "1053",
"label": "任务修改",
"children": []
},
{
"id": "1054",
"label": "任务删除",
"children": []
},
{
"id": "1055",
"label": "状态修改",
"children": []
},
{
"id": "1056",
"label": "任务导出",
"children": []
}
]
},
{
"id": "117",
"label": "调度日志",
"children": []
}
]
},
{
"id": "3",
"label": "系统工具",
"children": [
{
"id": "118",
"label": "系统接口",
"children": []
}
]
},
{
"id": "4",
"label": "开源仓库",
"children": []
},
{
"id": "2002",
"label": "备千验白儿这",
"children": []
},
{
"id": "2001",
"label": "要形存做情式2史",
"children": []
}
],
"checkedKeys": []
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» menus|[object]|true|none|菜单节点|none|
|»»» id|string|true|none|ID|none|
|»»» label|string|true|none|名称|none|
|»»» children|[object]|true|none|子节点|none|
|»»»» id|string|false|none|ID|none|
|»»»» label|string|false|none|名称|none|
|»»»» children|[object]|false|none|子节点|none|
|»» checkedKeys|[object]|true|none|已选ID数组|none|
## GET 菜单树结构列表
GET /system/menu/treeSelect
角色新增修改中菜单权限列表使用
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|menuName|query|string| 否 ||菜单名称|
|status|query|string| 否 ||菜单状态 0正常 1停用|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"id": "1",
"label": "系统管理",
"children": [
{
"id": "100",
"label": "用户管理",
"children": [
{
"id": "1000",
"label": "用户查询",
"children": []
},
{
"id": "1001",
"label": "用户新增",
"children": []
},
{
"id": "1002",
"label": "用户修改",
"children": []
},
{
"id": "1003",
"label": "用户删除",
"children": []
},
{
"id": "1004",
"label": "用户导出",
"children": []
},
{
"id": "1005",
"label": "用户导入",
"children": []
},
{
"id": "1006",
"label": "重置密码",
"children": []
}
]
},
{
"id": "101",
"label": "角色管理",
"children": [
{
"id": "1007",
"label": "角色查询",
"children": []
},
{
"id": "1008",
"label": "角色新增",
"children": []
},
{
"id": "1009",
"label": "角色修改",
"children": []
},
{
"id": "1010",
"label": "角色删除",
"children": []
},
{
"id": "1011",
"label": "角色导出",
"children": []
}
]
},
{
"id": "102",
"label": "分配角色",
"children": []
},
{
"id": "103",
"label": "菜单管理",
"children": [
{
"id": "1012",
"label": "菜单查询",
"children": []
},
{
"id": "1013",
"label": "菜单新增",
"children": []
},
{
"id": "1014",
"label": "菜单修改",
"children": []
},
{
"id": "1015",
"label": "菜单删除",
"children": []
}
]
},
{
"id": "104",
"label": "部门管理",
"children": [
{
"id": "1016",
"label": "部门查询",
"children": []
},
{
"id": "1017",
"label": "部门新增",
"children": []
},
{
"id": "1018",
"label": "部门修改",
"children": []
},
{
"id": "1019",
"label": "部门删除",
"children": []
}
]
},
{
"id": "105",
"label": "岗位管理",
"children": [
{
"id": "1020",
"label": "岗位查询",
"children": []
},
{
"id": "1021",
"label": "岗位新增",
"children": []
},
{
"id": "1022",
"label": "岗位修改",
"children": []
},
{
"id": "1023",
"label": "岗位删除",
"children": []
},
{
"id": "1024",
"label": "岗位导出",
"children": []
}
]
},
{
"id": "106",
"label": "字典管理",
"children": [
{
"id": "1025",
"label": "字典查询",
"children": []
},
{
"id": "1026",
"label": "字典新增",
"children": []
},
{
"id": "1027",
"label": "字典修改",
"children": []
},
{
"id": "1028",
"label": "字典删除",
"children": []
},
{
"id": "1029",
"label": "字典导出",
"children": []
}
]
},
{
"id": "107",
"label": "字典数据",
"children": []
},
{
"id": "108",
"label": "参数设置",
"children": [
{
"id": "1030",
"label": "参数查询",
"children": []
},
{
"id": "1031",
"label": "参数新增",
"children": []
},
{
"id": "1032",
"label": "参数修改",
"children": []
},
{
"id": "1033",
"label": "参数删除",
"children": []
},
{
"id": "1034",
"label": "参数导出",
"children": []
}
]
},
{
"id": "109",
"label": "通知公告",
"children": [
{
"id": "1035",
"label": "公告查询",
"children": []
},
{
"id": "1036",
"label": "公告新增",
"children": []
},
{
"id": "1037",
"label": "公告修改",
"children": []
},
{
"id": "1038",
"label": "公告删除",
"children": []
}
]
},
{
"id": "111",
"label": "日志管理",
"children": [
{
"id": "500",
"label": "操作日志",
"children": [
{
"id": "1039",
"label": "操作查询",
"children": []
},
{
"id": "1040",
"label": "操作删除",
"children": []
},
{
"id": "1041",
"label": "日志导出",
"children": []
}
]
},
{
"id": "501",
"label": "登录日志",
"children": [
{
"id": "1042",
"label": "登录查询",
"children": []
},
{
"id": "1043",
"label": "登录删除",
"children": []
},
{
"id": "1044",
"label": "日志导出",
"children": []
},
{
"id": "1045",
"label": "账户解锁",
"children": []
}
]
}
]
}
]
},
{
"id": "2",
"label": "系统监控",
"children": [
{
"id": "112",
"label": "服务监控",
"children": []
},
{
"id": "113",
"label": "缓存监控",
"children": []
},
{
"id": "114",
"label": "缓存列表",
"children": [
{
"id": "1046",
"label": "缓存查询",
"children": []
},
{
"id": "1047",
"label": "缓存删除",
"children": []
}
]
},
{
"id": "115",
"label": "在线用户",
"children": [
{
"id": "1048",
"label": "在线查询",
"children": []
},
{
"id": "1049",
"label": "批量强退",
"children": []
},
{
"id": "1050",
"label": "单条强退",
"children": []
}
]
},
{
"id": "116",
"label": "调度任务",
"children": [
{
"id": "1051",
"label": "任务查询",
"children": []
},
{
"id": "1052",
"label": "任务新增",
"children": []
},
{
"id": "1053",
"label": "任务修改",
"children": []
},
{
"id": "1054",
"label": "任务删除",
"children": []
},
{
"id": "1055",
"label": "状态修改",
"children": []
},
{
"id": "1056",
"label": "任务导出",
"children": []
}
]
},
{
"id": "117",
"label": "调度日志",
"children": []
}
]
},
{
"id": "3",
"label": "系统工具",
"children": [
{
"id": "118",
"label": "系统接口",
"children": []
}
]
},
{
"id": "4",
"label": "开源仓库",
"children": []
},
{
"id": "2002",
"label": "备千验白儿这",
"children": []
},
{
"id": "2001",
"label": "要形存做情式2史",
"children": []
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» menus|[object]|true|none||none|
|»»» id|string|true|none|ID|none|
|»»» label|string|true|none|名称|none|
|»»» children|[object]|true|none|子节点|none|
|»»»» id|string|false|none|ID|none|
|»»»» label|string|false|none|名称|none|
|»»»» children|[object]|false|none|子节点|none|
|»» checkedKeys|[object]|true|none|已选ID数组|none|
# 系统模块/岗位信息
## GET 岗位列表
GET /system/post/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|postCode|query|string| 否 ||岗位编码|
|postName|query|string| 否 ||岗位名称|
|status|query|string| 否 ||状态0正常 1停用|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 4,
"rows": [
{
"postId": "1",
"postCode": "ceo",
"postName": "董事长",
"postSort": 1,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526344",
"remark": ""
},
{
"postId": "2",
"postCode": "se",
"postName": "项目经理",
"postSort": 2,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526348",
"remark": ""
},
{
"postId": "3",
"postCode": "hr",
"postName": "人力资源",
"postSort": 3,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526354",
"remark": ""
},
{
"postId": "4",
"postCode": "user",
"postName": "普通员工",
"postSort": 4,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526358",
"remark": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» postId|string|true|none|岗位ID|none|
|»» postCode|string|true|none|编码|none|
|»» postName|string|true|none|名称|none|
|»» postSort|integer|true|none|排序|none|
|»» status|string|true|none|状态|none|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## POST 岗位列表导出
POST /system/post/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=post_export_16_1684133344353.xlsx
content-length: 19438
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"configName": "string",
"postCode": "string",
"status": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» configName|body|string| 否 | 岗位名称|none|
|» postCode|body|string| 否 | 岗位编码|none|
|» status|body|string| 否 | 状态|0正常 1停用|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 岗位详细
GET /system/post/{postId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|postId|path|string| 是 ||岗位ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"postId": "1",
"postCode": "ceo",
"postName": "董事长",
"postSort": 1,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526344",
"remark": ""
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» postId|string|true|none|岗位ID|none|
|»» postCode|string|true|none|编码|none|
|»» postName|string|true|none|名称|none|
|»» postSort|integer|true|none|排序|none|
|»» status|string|true|none|状态|none|
|»» createBy|string|true|none||none|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## POST 岗位新增
POST /system/post
> Body 请求参数
```json
{
"postCode": "string",
"postName": "string",
"postSort": "string",
"phone": "string",
"remark": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» postCode|body|string| 是 | 岗位编码|none|
|» postName|body|string| 是 | 岗位名称|none|
|» postSort|body|string| 是 | 排序|none|
|» phone|body|string| 是 | 状态|0正常 1停用|
|» remark|body|string| 是 | 备注|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "岗位新增【xxx】失败岗位名称已存在"
}
```
```json
{
"code": 500,
"msg": "岗位新增【xxx】失败岗位编码已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 岗位修改
PUT /system/post
> Body 请求参数
```json
{
"postCode": "string",
"postName": "string",
"postSort": "string",
"phone": "string",
"remark": "string",
"postId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» postCode|body|string| 是 | 岗位编码|none|
|» postName|body|string| 是 | 岗位名称|none|
|» postSort|body|string| 是 | 排序|none|
|» phone|body|string| 是 | 状态|0正常 1停用|
|» remark|body|string| 是 | 备注|none|
|» postId|body|string| 是 | 岗位ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "岗位修改【xxx】失败岗位名称已存在"
}
```
```json
{
"code": 500,
"msg": "岗位修改【xxx】失败岗位编码已存在"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 岗位删除
DELETE /system/post/{postIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|postIds|path|string| 是 ||岗位ID多个用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问岗位数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/个人信息
## GET 基础信息获取
GET /system/user/profile
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"user": {
"roles": [
{
"roleId": "1",
"roleName": "管理员",
"roleKey": "admin",
"roleSort": 1,
"dataScope": "1",
"status": "1"
}
],
"userId": "1",
"deptId": "103",
"userName": "maskAdmin",
"nickName": "管理员",
"userType": "sys",
"email": "",
"avatar": "",
"phonenumber": "",
"sex": "1",
"status": "1",
"delFlag": "0",
"loginIp": "127.0.0.1",
"loginDate": "1683968355811",
"createBy": "maskAdmin",
"createTime": "1682264526306",
"remark": "管理员",
"dept": {
"deptId": "103",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "研发部门",
"orderNum": 1,
"leader": "MASK",
"status": "1"
}
},
"roleGroup": [
"管理员"
],
"postGroup": [
"董事长"
]
}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none|用户信息|none|
|»» user|object|true|none|用户信息|none|
|»»» roles|[object]|true|none|角色信息|none|
|»»»» roleId|string|false|none||none|
|»»»» roleName|string|false|none||none|
|»»»» roleKey|string|false|none||none|
|»»»» roleSort|integer|false|none||none|
|»»»» dataScope|string|false|none||none|
|»»»» status|string|false|none||none|
|»»» userId|string|true|none||none|
|»»» deptId|string|true|none||none|
|»»» userName|string|true|none||none|
|»»» nickName|string|true|none||none|
|»»» userType|string|true|none||none|
|»»» email|string|true|none||none|
|»»» avatar|string|true|none||none|
|»»» phonenumber|string|true|none||none|
|»»» sex|string|true|none||none|
|»»» status|string|true|none||none|
|»»» delFlag|string|true|none||none|
|»»» loginIp|string|true|none||none|
|»»» loginDate|string|true|none||none|
|»»» createBy|string|true|none||none|
|»»» createTime|string|true|none||none|
|»»» remark|string|true|none||none|
|»»» dept|object|false|none|岗位|none|
|»»»» deptId|string|true|none||none|
|»»»» parentId|string|true|none||none|
|»»»» ancestors|string|true|none||none|
|»»»» deptName|string|true|none||none|
|»»»» orderNum|integer|true|none||none|
|»»»» leader|string|true|none||none|
|»»»» status|string|true|none||none|
|»» roleGroup|[string]|true|none|角色|字符数组|
|»» postGroup|[string]|true|none|岗位|字符数组|
## PUT 基础信息修改
PUT /system/user/profile
> Body 请求参数
```json
{
"nickName": "阎秀兰",
"sex": "1",
"phonenumber": "18169338391",
"email": "t.eknevzfl@htejfppo.so"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» nickName|body|string| 是 | 昵称|none|
|» email|body|string| 否 | 邮箱|none|
|» phonenumber|body|string| 否 | 手机|none|
|» sex|body|string| 是 | 性别|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "修改用户【xxxx】失败手机号码格式错误"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 修改头像
POST /system/user/profile/avatar
> Body 请求参数
```yaml
file: string
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» file|body|string(binary)| 是 ||请选择等比大小图片作为头像如200x200、400x400|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": "/upload/avatar/2023/04/o_1d2bofn8f19dh5s11okpje61mipg_画板1_bf3wq4h6.png"
}
```
```json
{
"code": 500,
"msg": "上传文件类型不支持仅支持以下类型jpg,jpeg,png"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|string|true|none|图片地址|none|
## PUT 修改密码
PUT /system/user/profile/updatePwd
> Body 请求参数
```json
{
"oldPassword": "admin@1234",
"newPassword": "Admin@1234"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» oldPassword|body|string| 是 | 旧密码|none|
|» newPassword|body|string| 是 | 新密码|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "新密码不能与旧密码相同"
}
```
```json
{
"code": 500,
"msg": "修改密码失败,旧密码错误"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/角色信息
## GET 角色信息列表
GET /system/role/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|roleName|query|string| 否 ||角色名称|
|roleKey|query|string| 否 ||权限字符|
|status|query|string| 否 ||状态 0正常 1停用|
|beginTime|query|string| 否 ||创建时间-开始|
|endTime|query|string| 否 ||创建时间-结束|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 2,
"rows": [
{
"roleId": "1",
"roleName": "管理员",
"roleKey": "admin",
"roleSort": 1,
"dataScope": "1",
"menuCheckStrictly": "1",
"deptCheckStrictly": "1",
"status": "1",
"delFlag": "0",
"createTime": "1682264526399",
"remark": "管理员"
},
{
"roleId": "2",
"roleName": "普通角色",
"roleKey": "common",
"roleSort": 2,
"dataScope": "2",
"menuCheckStrictly": "1",
"deptCheckStrictly": "1",
"status": "1",
"delFlag": "0",
"createTime": "1682264526404",
"remark": "普通角色"
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» roleId|string|true|none|角色ID|none|
|»» roleName|string|true|none|名称|none|
|»» roleKey|string|true|none|键值|none|
|»» roleSort|integer|true|none|排序|none|
|»» dataScope|string|true|none|数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|»» menuCheckStrictly|string|true|none|菜单树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»» deptCheckStrictly|string|true|none|部门树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»» status|string|true|none|角色状态|0停用 1正常|
|»» delFlag|string|true|none|删除标志|0代表存在 1代表删除|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## GET 角色分配用户列表
GET /system/role/authUser/allocatedList
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userName|query|string| 否 ||用户名称|
|phonenumber|query|string| 否 ||用户手机号|
|status|query|string| 否 ||用户状态|
|roleId|query|string| 是 ||角色ID|
|allocated|query|string| 是 ||已分配角色用户 true是 false否|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 1,
"rows": [
{
"roles": [],
"userId": "2",
"deptId": "105",
"userName": "maskUser",
"nickName": "普通用户",
"email": "maskUser@qq.com",
"phonenumber": "13412341234",
"status": "1",
"createTime": "1682264526309",
"dept": {
"deptId": "105",
"deptName": "测试部门"
}
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» status|string|false|none|角色状态|0停用 1正常|
|»» createTime|string|false|none|创建时间|none|
|»» roles|[string]|false|none|角色ID数组|none|
|»» userId|string|false|none|用户ID|none|
|»» deptId|string|false|none|部门ID|none|
|»» userName|string|false|none|用户名称|none|
|»» nickName|string|false|none|用户昵称|none|
|»» email|string|false|none|邮箱|none|
|»» phonenumber|string|false|none|手机号|none|
|»» dept|object|false|none|部门信息|none|
|»»» deptId|string|false|none|部门ID|none|
|»»» deptName|string|false|none|部门名称|none|
## GET 角色信息详情
GET /system/role/{roleId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|roleId|path|string| 是 ||角色ID|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"roleId": "1",
"roleName": "管理员",
"roleKey": "admin",
"roleSort": 1,
"dataScope": "1",
"menuCheckStrictly": "1",
"deptCheckStrictly": "1",
"status": "1",
"delFlag": "0",
"createTime": "1682264526399",
"remark": "管理员"
}
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object|true|none||none|
|»» roleId|string|true|none|角色ID|none|
|»» roleName|string|true|none|名称|none|
|»» roleKey|string|true|none|键值|none|
|»» roleSort|integer|true|none|排序|none|
|»» dataScope|string|true|none|数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|»» menuCheckStrictly|string|true|none|菜单树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»» deptCheckStrictly|string|true|none|部门树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»» status|string|true|none|角色状态|0停用 1正常|
|»» delFlag|string|true|none|删除标志|0代表存在 1代表删除|
|»» createTime|string|true|none||none|
|»» remark|string|true|none|备注|none|
## PUT 角色信息修改
PUT /system/role
> Body 请求参数
```json
{
"roleName": "string",
"roleKey": "string",
"roleSort": 0,
"status": "string",
"remark": "string",
"dataScope": "string",
"menuCheckStrictly": "string",
"menuIds": [
"string"
],
"roleId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» roleName|body|string| 是 | 名称|none|
|» roleKey|body|string| 是 | 键值|none|
|» roleSort|body|integer| 是 | 排序|none|
|» status|body|string| 是 | 角色状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
|» dataScope|body|string| 是 | 数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|» menuCheckStrictly|body|string| 是 | 菜单树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|» menuIds|body|[string]| 是 | 菜单权限|菜单ID数组|
|» roleId|body|string| 是 | 角色ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "角色修改【xxx】失败角色名称已存在"
}
```
```json
{
"code": 500,
"msg": "角色修改【xxxx】失败权限键值已存在"
}
```
```json
{
"code": 500,
"msg": "没有权限访问角色数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 角色信息新增
POST /system/role
> Body 请求参数
```json
{
"roleName": "string",
"roleKey": "string",
"roleSort": 0,
"status": "string",
"remark": "string",
"dataScope": "string",
"menuCheckStrictly": "string",
"menuIds": [
"string"
]
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» roleName|body|string| 是 | 名称|none|
|» roleKey|body|string| 是 | 键值|none|
|» roleSort|body|integer| 是 | 排序|none|
|» status|body|string| 是 | 角色状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
|» dataScope|body|string| 是 | 数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|» menuCheckStrictly|body|string| 是 | 菜单树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|» menuIds|body|[string]| 是 | 菜单权限|菜单ID数组|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "角色新增【xxxx】失败角色名称已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## DELETE 角色信息删除
DELETE /system/role/{roleIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|roleIds|path|string| 是 ||角色ID多个可用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问角色数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## PUT 角色状态变更
PUT /system/role/changeStatus
> Body 请求参数
```json
{
"roleId": "string",
"status": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» roleId|body|string| 是 | 角色ID|none|
|» status|body|string| 否 | 状态|0停用 1正常|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问角色数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 角色数据权限修改
PUT /system/role/dataScope
> Body 请求参数
```json
{
"dataScope": "string",
"deptCheckStrictly": "string",
"menuIds": [
"string"
],
"roleId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» dataScope|body|string| 是 | 数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|» deptCheckStrictly|body|string| 是 | 部门树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|» menuIds|body|[string]| 否 | 部门权限|数据范围选择2时必传部门ID数组|
|» roleId|body|string| 是 | 角色ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问角色数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 角色列表导出
POST /system/role/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=role_export_16_1684133344353.xlsx
content-length: 19438
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"roleName": "string",
"roleKey": "string",
"status": "string",
"beginTime": "string",
"endTime": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» roleName|body|string| 否 | 角色名称|none|
|» roleKey|body|string| 否 | 权限字符|none|
|» status|body|string| 否 | 状态|0正常 1停用|
|» beginTime|body|string| 否 | 创建时间-开始|none|
|» endTime|body|string| 否 | 创建时间-结束|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 角色分配选择授权
PUT /system/role/authUser/checked
> Body 请求参数
```json
{
"roleId": "string",
"userIds": "string",
"checked": true
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» roleId|body|string| 是 | 角色ID|none|
|» userIds|body|string| 是 | 用户ID|多个可用英文逗号分隔|
|» checked|body|boolean| 是 | 选择操作|添加true 取消false|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问角色数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 系统模块/用户信息
## POST 用户信息列表导入模板下载
POST /system/user/importTemplate
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=user_import_template_1684230715497.xlsx
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## GET 用户信息列表
GET /system/user/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userName|query|string| 否 ||用户名称|
|phonenumber|query|string| 否 ||手机号码|
|status|query|string| 否 ||状态|
|beginTime|query|string| 否 ||创建时间-开始|
|endTime|query|string| 否 ||创建时间-结束|
|deptId|query|string| 否 ||部门ID|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"total": 1,
"rows": [
{
"roles": [],
"userId": "2",
"deptId": "105",
"nickName": "普通用户",
"userName": "maskUser",
"email": "maskUser@qq.com",
"avatar": "",
"phonenumber": "13412341234",
"sex": "1",
"status": "1",
"delFlag": "0",
"loginIp": "192.168.56.1",
"loginDate": "1683364764238",
"createBy": "maskAdmin",
"createTime": "1682264526309",
"remark": "普通人员",
"dept": {
"deptId": "105",
"deptName": "测试部门",
"leader": "MASK"
}
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» total|integer|true|none||none|
|» rows|[object]|true|none||none|
|»» roles|[string]|true|none|角色ID数组|none|
|»» userId|string|true|none|用户ID|none|
|»» deptId|string¦null|true|none|部门ID|none|
|»» nickName|string|true|none|用户昵称|none|
|»» userName|string|true|none|用户名称|none|
|»» email|string|true|none|邮箱|none|
|»» avatar|string|true|none|头像|none|
|»» phonenumber|string|true|none|电话|none|
|»» sex|string|true|none|性别|0未知 1男 2女|
|»» status|string|true|none|状态|0停用 1正常|
|»» delFlag|string|true|none|是否删除|0代表存在 1代表删除|
|»» loginIp|string|true|none|登录IP|none|
|»» loginDate|string|true|none|登录时间|none|
|»» createBy|string|true|none|创建人|none|
|»» createTime|string|true|none|创建时间|none|
|»» remark|string¦null|true|none|备注|none|
|»» dept|object|true|none|部门信息|none|
|»»» deptId|string¦null|true|none|部门ID|none|
|»»» deptName|string¦null|true|none|部门名称|none|
|»»» leader|string¦null|true|none|负责人|none|
## GET 用户信息详情
GET /system/user/{userId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userId|path|string| 是 ||用户ID新增0|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": {
"user": {
"roles": [
{
"roleId": "2",
"roleName": "普通角色",
"roleKey": "common",
"roleSort": 2,
"dataScope": "2",
"status": "1"
}
],
"userId": "2",
"deptId": "105",
"userName": "maskUser",
"nickName": "普通用户",
"userType": "sys",
"email": "maskUser@qq.com",
"avatar": "",
"phonenumber": "13412341234",
"sex": "1",
"status": "1",
"delFlag": "0",
"loginIp": "192.168.56.1",
"loginDate": "1683364764238",
"createBy": "maskAdmin",
"createTime": "1682264526309",
"remark": "普通人员",
"dept": {
"deptId": "105",
"parentId": "101",
"ancestors": "0,100,101",
"deptName": "测试部门",
"orderNum": 3,
"leader": "MASK",
"status": "1"
}
},
"roleIds": [
"2"
],
"postIds": [
"2"
],
"roles": [
{
"roleId": "2",
"roleName": "普通角色",
"roleKey": "common",
"roleSort": 2,
"dataScope": "2",
"menuCheckStrictly": "1",
"deptCheckStrictly": "1",
"status": "1",
"delFlag": "0",
"createTime": "1682264526404",
"remark": "普通角色"
}
],
"posts": [
{
"postId": "1",
"postCode": "ceo",
"postName": "董事长",
"postSort": 1,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526344",
"remark": ""
},
{
"postId": "2",
"postCode": "se",
"postName": "项目经理",
"postSort": 2,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526348",
"remark": ""
},
{
"postId": "3",
"postCode": "hr",
"postName": "人力资源",
"postSort": 3,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526354",
"remark": ""
},
{
"postId": "4",
"postCode": "user",
"postName": "普通员工",
"postSort": 4,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526358",
"remark": ""
}
]
}
}
```
```json
{
"code": 200,
"msg": "成功",
"data": {
"user": {},
"roleIds": [],
"postIds": [],
"roles": [
{
"roleId": "2",
"roleName": "普通角色",
"roleKey": "common",
"roleSort": 2,
"dataScope": "2",
"menuCheckStrictly": "1",
"deptCheckStrictly": "1",
"status": "1",
"delFlag": "0",
"createTime": "1682264526404",
"remark": "普通角色"
}
],
"posts": [
{
"postId": "1",
"postCode": "ceo",
"postName": "董事长",
"postSort": 1,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526344",
"remark": ""
},
{
"postId": "2",
"postCode": "se",
"postName": "项目经理",
"postSort": 2,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526348",
"remark": ""
},
{
"postId": "3",
"postCode": "hr",
"postName": "人力资源",
"postSort": 3,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526354",
"remark": ""
},
{
"postId": "4",
"postCode": "user",
"postName": "普通员工",
"postSort": 4,
"status": "1",
"createBy": "maskAdmin",
"createTime": "1682264526358",
"remark": ""
}
]
}
}
```
```json
{
"code": 500,
"msg": "没有权限访问用户数据"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|object¦null|true|none||none|
|»» user|object|true|none|用户信息|none|
|»»» roles|[object]|true|none|角色信息|none|
|»»»» roleId|string|false|none|角色ID|none|
|»»»» roleName|string|false|none|名称|none|
|»»»» roleKey|string|false|none|键值|none|
|»»»» roleSort|integer|false|none|排序|none|
|»»»» dataScope|string|false|none|数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|»»»» status|string|false|none|角色状态|0停用 1正常|
|»»» userId|string|true|none|用户ID|none|
|»»» deptId|string¦null|true|none|部门ID|none|
|»»» userName|string|true|none|用户名称|none|
|»»» nickName|string|true|none|用户昵称|none|
|»»» email|string|true|none|邮箱|none|
|»»» avatar|string|true|none|头像|none|
|»»» phonenumber|string|true|none|电话|none|
|»»» sex|string|true|none|性别|0未知 1男 2女|
|»»» status|string|true|none|状态|0停用 1正常|
|»»» delFlag|string|true|none|是否删除|0代表存在 1代表删除|
|»»» loginIp|string|true|none|登录IP|none|
|»»» loginDate|string|true|none|登录时间|none|
|»»» createBy|string|true|none|创建人|none|
|»»» createTime|string|true|none|创建时间|none|
|»»» remark|string¦null|true|none|备注|none|
|»»» dept|object|true|none|部门信息|none|
|»»»» deptId|string|true|none|部门ID|none|
|»»»» parentId|string|true|none|父部门ID|none|
|»»»» ancestors|string|true|none|祖级列表|none|
|»»»» deptName|string|true|none|部门名称|none|
|»»»» orderNum|integer|true|none|显示顺序|none|
|»»»» leader|string|true|none|负责人|none|
|»»»» status|string|true|none|部门状态|0正常 1停用|
|»»»» phone|string|false|none|联系电话|none|
|»»»» email|string|false|none|邮箱|none|
|»» roleIds|[string]|true|none|已选角色ID|none|
|»» postIds|[string]|true|none|已选岗位ID|none|
|»» roles|[object]|true|none|角色信息数组|none|
|»»» roleId|string|true|none|角色ID|none|
|»»» roleName|string|true|none|名称|none|
|»»» roleKey|string|true|none|键值|none|
|»»» roleSort|integer|true|none|排序|none|
|»»» dataScope|string|true|none|数据范围|1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限 5仅本人数据权限|
|»»» menuCheckStrictly|string|true|none|菜单树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»»» deptCheckStrictly|string|true|none|部门树选择项是否关联显示|0父子不互相关联显示 1父子互相关联显示|
|»»» status|string|true|none|角色状态|0停用 1正常|
|»»» delFlag|string|true|none|删除标志|0代表存在 1代表删除|
|»»» createTime|string|true|none||none|
|»»» remark|string|true|none|备注|none|
|»» posts|[object]|true|none|岗位信息数组|none|
|»»» postId|string|true|none|岗位ID|none|
|»»» postCode|string|true|none|编码|none|
|»»» postName|string|true|none|名称|none|
|»»» postSort|integer|true|none|排序|none|
|»»» status|string|true|none|状态|none|
|»»» createBy|string|true|none||none|
|»»» createTime|string|true|none||none|
|»»» remark|string|true|none|备注|none|
## POST 用户信息新增
POST /system/user
> Body 请求参数
```json
{
"remark": "去只传周物给",
"deptId": 102,
"nickName": "龙杰",
"email": "h.vrcjiz@qcfgqedxw.bz",
"phonenumber": "18641692257",
"sex": "0",
"status": "1",
"roleIds": [
2
],
"postIds": [
1,
2,
3,
4
],
"userName": "gijobqebs",
"password": "123456"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» userName|body|string| 是 | 用户名称|none|
|» password|body|string| 是 | 用户密码|none|
|» nickName|body|string| 是 | 用户昵称|none|
|» email|body|string| 是 | 邮箱|none|
|» phonenumber|body|string| 是 | 电话|none|
|» sex|body|string| 是 | 性别|0未知 1男 2女|
|» status|body|string| 是 | 状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
|» deptId|body|string| 是 | 部门ID|none|
|» roleIds|body|[string]| 是 | 角色ID数组|none|
|» postIds|body|[string]| 是 | 岗位ID数组|none|
|» userType|body|string| 否 | 用户类型|sys系统用户|
|» avatar|body|string| 否 | 头像|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
```json
{
"code": 500,
"msg": "新增用户【xxxx】失败登录账号已存在"
}
```
```json
{
"code": 500,
"msg": "新增用户【xxxx】失败手机号码已存在"
}
```
```json
{
"code": 500,
"msg": "新增用户【zwciugaw2】失败邮箱已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## PUT 用户信息修改
PUT /system/user
> Body 请求参数
```json
{
"remark": "群劳设着给王",
"deptId": 80,
"nickName": "许芳",
"email": "x.swtaf@oypeubb.tg",
"phonenumber": "18106129309",
"sex": "1",
"status": "1",
"roleIds": [
2
],
"postIds": [
2
],
"userId": "101",
"userName": "x34bvpi"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» userId|body|string| 是 | 用户ID|none|
|» userName|body|string| 是 | 用户名称|none|
|» nickName|body|string| 是 | 用户昵称|none|
|» email|body|string| 是 | 邮箱|none|
|» phonenumber|body|string| 是 | 电话|none|
|» sex|body|string| 是 | 性别|0未知 1男 2女|
|» status|body|string| 是 | 状态|0停用 1正常|
|» remark|body|string| 是 | 备注|none|
|» deptId|body|string| 是 | 部门ID|none|
|» roleIds|body|[string]| 是 | 角色ID数组|none|
|» postIds|body|[string]| 是 | 岗位ID数组|none|
|» userType|body|string| 否 | 用户类型|sys系统用户|
|» avatar|body|string| 否 | 头像|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
```json
{
"code": 500,
"msg": "修改用户【xxx】失败手机号码已存在"
}
```
```json
{
"code": 500,
"msg": "修改用户【liming】失败登录账号已存在"
}
```
```json
{
"code": 500,
"msg": "修改用户【xxx】失败邮箱已存在"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 用户信息列表导出
POST /system/user/export
正常返回文件流,响应头如下
```text
content-disposition: attachment;filename=user_export_11_1684230271701.xlsx
content-length: 21499
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
```
> Body 请求参数
```json
{
"userName": "string",
"phonenumber": "string",
"status": "string",
"beginTime": "string",
"endTime": "string",
"deptId": "string",
"pageNum": 0,
"pageSize": 0
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» userName|body|string| 否 | 用户名称|none|
|» phonenumber|body|string| 否 | 手机号码|none|
|» status|body|string| 否 | 状态|0停用 1正常|
|» beginTime|body|string| 否 | 创建开始时间|none|
|» endTime|body|string| 否 | 创建结束时间|none|
|» deptId|body|string| 否 | 部门ID|none|
|» pageNum|body|number| 是 | 页数默认1|none|
|» pageSize|body|number| 是 | 单页记录数默认10|none|
> 返回示例
> 成功
```json
{
"code": 500,
"msg": "导出数据记录为空"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## POST 用户信息列表导入
POST /system/user/importData
> Body 请求参数
```yaml
file: []
updateSupport: "{% mock 'pick' , ['false','true'] %}"
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» file|body|string(binary)| 否 ||导入xls、xlsx表格文件|
|» updateSupport|body|string| 否 ||是否更新已经存在的数据默认false|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "恭喜您,数据已全部导入成功!共 1 条,数据如下:<br/>序号1 登录名称 user001 导入成功"
}
```
```json
{
"code": 200,
"msg": "恭喜您,数据已全部导入成功!共 0 条,数据如下:"
}
```
```json
{
"code": 200,
"msg": "恭喜您,数据已全部导入成功!共 1 条,数据如下:<br/>序号1 登录名称 user001 更新成功"
}
```
```json
{
"code": 500,
"msg": "失败"
}
```
```json
{
"code": 500,
"msg": "很抱歉,导入失败!共 5 条数据格式不正确,错误如下:<br/>表格中必填列表项,登录名称、用户名称<br/>表格中必填列表项,登录名称、用户名称<br/>表格中必填列表项,登录名称、用户名称<br/>表格中必填列表项,登录名称、用户名称<br/>表格中必填列表项,登录名称、用户名称"
}
```
```json
{
"code": 500,
"msg": "导入用户数据不能为空!"
}
```
```json
{
"code": 500,
"msg": "上传文件类型不支持仅支持以下类型xls,xlsx"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## DELETE 用户信息删除
DELETE /system/user/{userIds}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|userIds|path|string| 是 ||用户ID多个用英文逗号分隔|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问用户数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 用户重置密码
PUT /system/user/resetPwd
> Body 请求参数
```json
{
"password": "string",
"userId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» password|body|string| 是 | 密码|none|
|» userId|body|string| 是 | 用户ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问用户数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
## PUT 用户状态修改
PUT /system/user/changeStatus
> Body 请求参数
```json
{
"status": "string",
"userId": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» status|body|string| 是 | 状态|0停用 1正常|
|» userId|body|string| 是 | 用户ID|none|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功"
}
```
```json
{
"code": 500,
"msg": "没有权限访问用户数据!"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 网元模块
## GET 网元neType和neID查询
GET /ne/info
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neType|query|string| 是 ||none|
|neId|query|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
# 网元模块/UDM鉴权用户
## GET 列表
GET /ne/udm/auth/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|query|string| 否 ||none|
|imsi|query|string| 否 ||none|
|msisdn|query|string| 否 ||none|
|sortField|query|string| 否 ||none|
|sortOrder|query|string| 否 ||none|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"msg": "string",
"rows": [
{
"id": "string",
"imsi": "string",
"amf": "string",
"status": "string",
"ki": "string",
"algoIndex": "string",
"opc": "string",
"neId": "string"
}
],
"total": 0
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» rows|[object]|true|none||none|
|»» id|string|true|none||none|
|»» imsi|string|true|none||none|
|»» amf|string|true|none||none|
|»» status|string|true|none||none|
|»» ki|string|true|none||none|
|»» algoIndex|string|true|none||none|
|»» opc|string|true|none||none|
|»» neId|string|true|none||none|
|» total|integer|true|none||none|
## GET 信息
GET /ne/udm/auth/{neId}/{imsi}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": {
"id": "string",
"imsi": "string",
"amf": "string",
"status": "string",
"ki": "string",
"algoIndex": "string",
"opc": "string",
"neId": "string"
},
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|object|true|none||none|
|»» id|string|true|none||none|
|»» imsi|string|true|none||none|
|»» amf|string|true|none||none|
|»» status|string|true|none||none|
|»» ki|string|true|none||none|
|»» algoIndex|string|true|none||none|
|»» opc|string|true|none||none|
|»» neId|string|true|none||none|
|» msg|string|true|none||none|
## DELETE 删除
DELETE /ne/udm/auth/{neId}/{imsi}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## PUT 重载数据 for Redis
PUT /ne/udm/auth/resetData/{neId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 37981,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|integer|true|none||none|
|» msg|string|true|none||none|
## POST 新增
POST /ne/udm/auth/{neId}
> Body 请求参数
```json
{
"algoIndex": "string",
"amf": "string",
"imsi": "string",
"ki": "string",
"opc": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» algoIndex|body|string| 是 ||none|
|» amf|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ki|body|string| 是 ||none|
|» opc|body|string| 是 ||none|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": "string",
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|string|true|none||none|
|» msg|string|true|none||none|
## PUT 修改
PUT /ne/udm/auth/{neId}
> Body 请求参数
```json
{
"algoIndex": "string",
"amf": "string",
"imsi": "string",
"ki": "string",
"opc": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» algoIndex|body|string| 是 ||none|
|» amf|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ki|body|string| 是 ||none|
|» opc|body|string| 是 ||none|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## POST 批量新增
POST /ne/udm/auth/{neId}/{num}
> Body 请求参数
```json
{
"algoIndex": "string",
"amf": "string",
"imsi": "string",
"ki": "string",
"opc": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|num|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» algoIndex|body|string| 是 ||none|
|» amf|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ki|body|string| 是 ||none|
|» opc|body|string| 是 ||none|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": "string",
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|string|true|none||none|
|» msg|string|true|none||none|
## DELETE 批量删除
DELETE /ne/udm/auth/{neId}/{imsi}/{num}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|num|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## POST 导出
POST /ne/udm/auth/export
> Body 请求参数
```json
{
"neId": "string",
"type": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neId|body|string| 是 ||none|
|» type|body|string| 是 | csv txt|none|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## POST 导入
POST /ne/udm/auth/import
> Body 请求参数
```yaml
neId: "002"
file: string
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neId|body|string| 是 ||none|
|» file|body|string(binary)| 是 ||none|
> 返回示例
> 200 Response
```json
{
"code": 0,
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
# 网元模块/UDM签约用户
## GET 信息
GET /ne/udm/sub/{neId}/{imsi}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": {
"id": "string",
"msisdn": "string",
"imsi": "string",
"ambr": "string",
"nssai": "string",
"rat": "string",
"arfb": "string",
"sar": "string",
"cn": "string",
"smData": "string",
"smfSel": "string",
"epsDat": "string",
"neId": "string",
"epsFlag": "string",
"epsOdb": "string",
"hplmnOdb": "string",
"ard": "string",
"epstpl": "string",
"contextId": "string",
"apnContext": "string",
"staticIp": "string"
},
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|object|true|none||none|
|»» id|string|true|none||none|
|»» msisdn|string|true|none||none|
|»» imsi|string|true|none||none|
|»» ambr|string|true|none||none|
|»» nssai|string|true|none||none|
|»» rat|string|true|none||none|
|»» arfb|string|true|none||none|
|»» sar|string|true|none||none|
|»» cn|string|true|none||none|
|»» smData|string|true|none||none|
|»» smfSel|string|true|none||none|
|»» epsDat|string|true|none||none|
|»» neId|string|true|none||none|
|»» epsFlag|string|true|none||none|
|»» epsOdb|string|true|none||none|
|»» hplmnOdb|string|true|none||none|
|»» ard|string|true|none||none|
|»» epstpl|string|true|none||none|
|»» contextId|string|true|none||none|
|»» apnContext|string|true|none||none|
|»» staticIp|string|true|none||none|
|» msg|string|true|none||none|
## DELETE 删除
DELETE /ne/udm/sub/{neId}/{imsi}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## POST 增加
POST /ne/udm/sub/{neId}
此命令可同时添加45G签约用户
> Body 请求参数
```json
{
"msisdn": "string",
"imsi": "string",
"ambr": "string",
"nssai": "string",
"rat": "string",
"arfb": "string",
"sar": "string",
"cn": "string",
"smData": "string",
"smfSel": "string",
"epsDat": "string",
"epsFlag": "string",
"epsOdb": "string",
"hplmnOdb": "string",
"ard": "string",
"epstpl": "string",
"contextId": "string",
"apnContext": "string",
"staticIp": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» msisdn|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ambr|body|string| 是 ||none|
|» nssai|body|string| 是 ||none|
|» rat|body|string| 是 ||none|
|» arfb|body|string| 是 ||none|
|» sar|body|string| 是 ||none|
|» cn|body|string| 是 ||none|
|» smData|body|string| 是 ||none|
|» smfSel|body|string| 是 ||none|
|» epsDat|body|string| 是 ||none|
|» epsFlag|body|string| 是 ||none|
|» epsOdb|body|string| 是 ||none|
|» hplmnOdb|body|string| 是 ||none|
|» ard|body|string| 是 ||none|
|» epstpl|body|string| 是 ||none|
|» contextId|body|string| 是 ||none|
|» apnContext|body|string| 是 ||none|
|» staticIp|body|string| 是 ||static_ip指给4G UE分配的静态IP没有可不带此字段名|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": "string",
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|string|true|none||none|
|» msg|string|true|none||none|
## PUT 修改
PUT /ne/udm/sub/{neId}
> Body 请求参数
```json
{
"msisdn": "string",
"imsi": "string",
"ambr": "string",
"nssai": "string",
"rat": "string",
"arfb": "string",
"sar": "string",
"cn": "string",
"smData": "string",
"smfSel": "string",
"epsDat": "string",
"epsFlag": "string",
"epsOdb": "string",
"hplmnOdb": "string",
"ard": "string",
"epstpl": "string",
"contextId": "string",
"apnContext": "string",
"staticIp": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» msisdn|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ambr|body|string| 是 ||none|
|» nssai|body|string| 是 ||none|
|» rat|body|string| 是 ||none|
|» arfb|body|string| 是 ||none|
|» sar|body|string| 是 ||none|
|» cn|body|string| 是 ||none|
|» smData|body|string| 是 ||none|
|» smfSel|body|string| 是 ||none|
|» epsDat|body|string| 是 ||none|
|» epsFlag|body|string| 是 ||none|
|» epsOdb|body|string| 是 ||none|
|» hplmnOdb|body|string| 是 ||none|
|» ard|body|string| 是 ||none|
|» epstpl|body|string| 是 ||none|
|» contextId|body|string| 是 ||none|
|» apnContext|body|string| 是 ||none|
|» staticIp|body|string| 是 ||static_ip指给4G UE分配的静态IP没有可不带此字段名|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## POST 批量添加
POST /ne/udm/sub/{neId}/{num}
> Body 请求参数
```json
{
"msisdn": "string",
"imsi": "string",
"ambr": "string",
"nssai": "string",
"rat": "string",
"arfb": "string",
"sar": "string",
"cn": "string",
"smData": "string",
"smfSel": "string",
"epsDat": "string",
"epsFlag": "string",
"epsOdb": "string",
"hplmnOdb": "string",
"ard": "string",
"epstpl": "string",
"contextId": "string",
"apnContext": "string",
"staticIp": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|num|path|string| 是 ||放号数|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» msisdn|body|string| 是 ||none|
|» imsi|body|string| 是 ||none|
|» ambr|body|string| 是 ||none|
|» nssai|body|string| 是 ||none|
|» rat|body|string| 是 ||none|
|» arfb|body|string| 是 ||none|
|» sar|body|string| 是 ||none|
|» cn|body|string| 是 ||none|
|» smData|body|string| 是 ||none|
|» smfSel|body|string| 是 ||none|
|» epsDat|body|string| 是 ||none|
|» epsFlag|body|string| 是 ||none|
|» epsOdb|body|string| 是 ||none|
|» hplmnOdb|body|string| 是 ||none|
|» ard|body|string| 是 ||none|
|» epstpl|body|string| 是 ||none|
|» contextId|body|string| 是 ||none|
|» apnContext|body|string| 是 ||none|
|» staticIp|body|string| 是 ||static_ip指给4G UE分配的静态IP没有可不带此字段名|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## DELETE 批量删除
DELETE /ne/udm/sub/{neId}/{imsi}/{num}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|imsi|path|string| 是 ||none|
|num|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": "string",
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|string|true|none||none|
|» msg|string|true|none||none|
## POST 导出
POST /ne/udm/sub/export
> Body 请求参数
```json
{
"neId": "string",
"type": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neId|body|string| 是 ||none|
|» type|body|string| 是 | csv txt|none|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## PUT 重载数据 for Redis
PUT /ne/udm/sub/resetData/{neId}
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neId|path|string| 是 ||none|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 成功
```json
{
"code": 200,
"msg": "成功",
"data": [
{
"name": "System",
"path": "/system",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/user",
"children": [
{
"name": "User",
"path": "user",
"component": "system/user/index",
"meta": {
"icon": "icon-pcduan",
"title": "用户管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Role",
"path": "role",
"component": "system/role/index",
"meta": {
"icon": "icon-pcduan",
"title": "角色管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "RoleinlineauthuserroleId",
"path": "role/inline/auth-user/:roleId",
"component": "system/role/auth-user",
"meta": {
"icon": "icon-pcduan",
"title": "角色分配用户",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Menu",
"path": "menu",
"component": "system/menu/index",
"meta": {
"icon": "icon-pcduan",
"title": "菜单管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dept",
"path": "dept",
"component": "system/dept/index",
"meta": {
"icon": "icon-pcduan",
"title": "部门管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Post",
"path": "post",
"component": "system/post/index",
"meta": {
"icon": "icon-pcduan",
"title": "岗位管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Dict",
"path": "dict",
"component": "system/dict/index",
"meta": {
"icon": "icon-pcduan",
"title": "字典管理",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "DictinlinedatadictId",
"path": "dict/inline/data/:dictId",
"component": "system/dict/data",
"meta": {
"icon": "icon-pcduan",
"title": "字典数据",
"hide": true,
"cache": false,
"target": null
}
},
{
"name": "Config",
"path": "config",
"component": "system/config/index",
"meta": {
"icon": "icon-pcduan",
"title": "参数设置",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Notice",
"path": "notice",
"component": "system/notice/index",
"meta": {
"icon": "icon-pcduan",
"title": "通知公告",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Log",
"path": "log",
"component": "BlankLayout",
"meta": {
"icon": "icon-pcduan",
"title": "日志管理",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/system/log/operlog",
"children": [
{
"name": "Operlog",
"path": "operlog",
"component": "monitor/operlog/index",
"meta": {
"icon": "icon-pcduan",
"title": "操作日志",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Logininfor",
"path": "logininfor",
"component": "monitor/logininfor/index",
"meta": {
"icon": "icon-pcduan",
"title": "登录日志",
"hide": false,
"cache": true,
"target": null
}
}
]
}
]
},
{
"name": "Monitor",
"path": "/monitor",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统监控",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/monitor/server",
"children": [
{
"name": "Server",
"path": "server",
"component": "monitor/server/index",
"meta": {
"icon": "icon-pcduan",
"title": "服务监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Cache",
"path": "cache",
"component": "monitor/cache/index",
"meta": {
"icon": "icon-pcduan",
"title": "缓存监控",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "CacheList",
"path": "cacheList",
"component": "monitor/cache/list",
"meta": {
"icon": "icon-pcduan",
"title": "缓存列表",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Online",
"path": "online",
"component": "monitor/online/index",
"meta": {
"icon": "icon-pcduan",
"title": "在线用户",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "Job",
"path": "job",
"component": "monitor/job/index",
"meta": {
"icon": "icon-pcduan",
"title": "调度任务",
"hide": false,
"cache": true,
"target": null
}
},
{
"name": "JobinlinelogjobId",
"path": "job/inline/log/:jobId",
"component": "monitor/job/log",
"meta": {
"icon": "icon-pcduan",
"title": "调度日志",
"hide": true,
"cache": true,
"target": null
}
}
]
},
{
"name": "Tool",
"path": "/tool",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "系统工具",
"hide": false,
"cache": true,
"target": null
},
"redirect": "/tool/swagger",
"children": [
{
"name": "Swagger",
"path": "swagger",
"component": "tool/swagger/index",
"meta": {
"icon": "icon-pcduan",
"title": "系统接口",
"hide": false,
"cache": true,
"target": null
}
}
]
},
{
"name": "HttpsLink4",
"path": "https://gitee.com/TsMask/mask_api_midwayjs",
"component": "BasicLayout",
"meta": {
"icon": "icon-pcduan",
"title": "Gitee仓库",
"hide": false,
"cache": false,
"target": "_blank"
}
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|[object]|true|none|路由数组|none|
|»» name|string|true|none|路由名称|none|
|»» path|string|true|none|路由地址|none|
|»» component|string|true|none|组件|- BasicLayout-基础布局组件标识 菜单类型-菜单D<br />- BlankLayout-空白布局组件标识 菜单类型-菜单M<br />- LinkLayout-内链接布局组件标识 菜单类型-菜单M<br />- 按钮菜单类型-菜单B 不会读取到路由中|
|»» meta|object|true|none|元数据|none|
|»»» icon|string|true|none|菜单图标|none|
|»»» title|string|true|none|菜单标题|none|
|»»» hide|boolean|true|none|是否隐藏|默认 false|
|»»» cache|boolean|true|none|是否缓存|默认 false|
|»»» target|string¦null|true|none|链接行为|- 非链接 null<br />- 内部跳转 _self<br />- 外部跳转 _blank|
|»» redirect|string|false|none|目录重定向|none|
|»» children|[object]|false|none|子菜单|none|
|»»» name|string|true|none||none|
|»»» path|string|true|none||none|
|»»» component|string|true|none||none|
|»»» meta|object|true|none|元数据|none|
|»»»» icon|string|true|none||none|
|»»»» title|string|true|none|标题|none|
|»»»» hide|boolean|true|none||none|
|»»»» cache|boolean|true|none||none|
|»»»» target|string¦null|true|none||none|
## POST 导入
POST /ne/udm/sub/import
> Body 请求参数
```yaml
neId: "002"
file: string
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neId|body|string| 是 ||none|
|» file|body|string(binary)| 是 ||none|
> 返回示例
> 成功
```json
{
"code": 1,
"data": 2021,
"msg": "success"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» data|integer|true|none||none|
## GET 列表
GET /ne/udm/sub/list
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|msisdn|query|string| 否 ||none|
|imsi|query|string| 否 ||none|
|neId|query|string| 否 ||none|
|sortField|query|string| 否 ||none|
|sortOrder|query|string| 否 ||none|
|pageNum|query|number| 否 ||页数默认1|
|pageSize|query|number| 否 ||单页记录数默认10|
|Authorization|header|string| 是 ||授权令牌|
|Referer|header|string| 是 ||使用指定声明的Referer|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{
"code": 0,
"msg": "string",
"rows": [
{
"id": "string",
"msisdn": "string",
"imsi": "string",
"ambr": "string",
"nssai": "string",
"rat": "string",
"arfb": "string",
"sar": "string",
"cn": "string",
"smData": "string",
"smfSel": "string",
"epsDat": "string",
"neId": "string",
"epsFlag": "string",
"epsOdb": "string",
"hplmnOdb": "string",
"ard": "string",
"epstpl": "string",
"contextId": "string",
"apnContext": "string",
"staticIp": "string"
}
],
"total": 0
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» msg|string|true|none||none|
|» rows|[object]|true|none||none|
|»» id|string|true|none||none|
|»» msisdn|string|true|none||none|
|»» imsi|string|true|none||none|
|»» ambr|string|true|none||none|
|»» nssai|string|true|none||none|
|»» rat|string|true|none||none|
|»» arfb|string|true|none||none|
|»» sar|string|true|none||none|
|»» cn|string|true|none||none|
|»» smData|string|true|none||none|
|»» smfSel|string|true|none||none|
|»» epsDat|string|true|none||none|
|»» neId|string|true|none||none|
|»» epsFlag|string|true|none||none|
|»» epsOdb|string|true|none||none|
|»» hplmnOdb|string|true|none||none|
|»» ard|string|true|none||none|
|»» epstpl|string|true|none||none|
|»» contextId|string|true|none||none|
|»» apnContext|string|true|none||none|
|»» staticIp|string|true|none||none|
|» total|integer|true|none||none|
# 跟踪模块
## POST 普通网元抓包PACP
POST /tcpdump/ne
> Body 请求参数
```json
{
"neType": "string",
"neId": "string",
"timeout": 0,
"cmd": "string",
"timestamp": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neType|body|string| 是 ||none|
|» neId|body|string| 是 ||none|
|» timeout|body|number| 是 ||none|
|» cmd|body|string| 是 ||none|
|» timestamp|body|string| 是 ||时间戳记录文件|
> 返回示例
> 200 Response
```json
{
"code": 0,
"data": {
"cmd": "string",
"fileName": "string",
"msg": "string"
},
"msg": "string"
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|» code|integer|true|none||none|
|» data|object|true|none||none|
|»» cmd|string|true|none||none|
|»» fileName|string|true|none||none|
|»» msg|string|true|none||none|
|» msg|string|true|none||none|
## POST UPF网元抓包PACP
POST /tcpdump/neUPF
> Body 请求参数
```json
{
"neType": "string",
"neId": "string",
"runType": "string",
"cmd": "string",
"timestamp": "string"
}
```
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
|body|body|object| 否 ||none|
|» neType|body|string| 是 ||none|
|» neId|body|string| 是 ||none|
|» runType|body|string| 是 ||执行开始start还是停止stop开始telnetstart_telnet/stop_telnet脚本字符串start_str/stop_str|
|» cmd|body|string| 是 ||方法1适合其他网元异常UPF配合抓包的情况。包文件相对较小。|
|» timestamp|body|string| 是 ||时间戳记录文件|
#### 详细说明
**» cmd**: 方法1适合其他网元异常UPF配合抓包的情况。包文件相对较小。
进入命令行之后:
1开始抓包 pcap trace rx tx max 100000 intfc any file upf_test.pcap
2停止抓包 pcap trace rx tx off
方法2适合UPF异常需要抓包分析的情况。包文件相对较大。
进入命令行之后:
1开始抓包 pcap dispatch trace on max 100000 file upf_test.pcap
2停止抓包 pcap dispatch trace off
> 返回示例
> 200 Response
```json
{}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## GET PACP文件下载
GET /tcpdump/download
### 请求参数
|名称|位置|类型|必选|中文名|说明|
|---|---|---|---|---|---|
|neType|query|string| 是 ||none|
|neId|query|string| 是 ||none|
|fileName|query|string| 是 ||none|
|User-Agent|header|string| 是 ||用户浏览器代理|
|Accept-Language|header|string| 是 ||zh_CN;q=0.9 en_US;q=0.9|
> 返回示例
> 200 Response
```json
{}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
# 数据模型