170 lines
3.1 KiB
Markdown
170 lines
3.1 KiB
Markdown
# 公开接口文档(免鉴权)
|
||
|
||
基础路径:`/mgt/`,以下接口**不需要** JWT 认证。
|
||
|
||
---
|
||
|
||
## 1. 登录
|
||
|
||
**路径**:`POST /mgt/login`
|
||
|
||
**说明**:支持账号密码登录或 AppId/AppKey 登录,二选一。
|
||
|
||
**请求体**(LoginRequest):
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| account | string | 否 | 账号(与 password 一起使用) |
|
||
| password | string | 否 | 密码 |
|
||
| phone | string | 否 | 手机号,若使用需符合 phone 格式 |
|
||
| phone_code | string | 否 | 手机验证码 |
|
||
| workspace | string | 否 | 应用 workspace |
|
||
| app_id | string | 否 | 应用 ID(与 app_key 一起使用) |
|
||
| app_key | string | 否 | 应用密钥 |
|
||
|
||
**约束**:`account + password` 或 `app_id + app_key` 必须提供一组。
|
||
|
||
**请求示例(账号密码)**:
|
||
|
||
```json
|
||
{
|
||
"account": "zhangsan",
|
||
"password": "abc12345",
|
||
"workspace": "my_app"
|
||
}
|
||
```
|
||
|
||
**请求示例(应用密钥)**:
|
||
|
||
```json
|
||
{
|
||
"app_id": "my_app",
|
||
"app_key": "secret_key_xxx"
|
||
}
|
||
```
|
||
|
||
**返回**(LoginResp):
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| token | string | JWT,后续请求放在 Header Authorization |
|
||
| user_id | number | 用户 ID |
|
||
| identity | string | 用户唯一标识 |
|
||
| account | string | 账号 |
|
||
| name | string | 姓名 |
|
||
| phone | string | 手机号 |
|
||
| email | string | 邮箱 |
|
||
| avatar | string | 头像 |
|
||
|
||
**返回示例**:
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
||
"user_id": 1,
|
||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||
"account": "zhangsan",
|
||
"name": "张三",
|
||
"phone": "13800138000",
|
||
"email": "zhangsan@example.com",
|
||
"avatar": "https://example.com/avatar.png"
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 刷新 Token
|
||
|
||
**路径**:`POST /mgt/refresh`
|
||
|
||
**说明**:基于当前请求中的 JWT 签发新 token。通常需在 Header 中带有效 Authorization。
|
||
|
||
**请求体**:无,或空 JSON `{}`。
|
||
|
||
**返回**:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| token | string | 新的 JWT |
|
||
|
||
**返回示例**:
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 重置密码(短信验证码)
|
||
|
||
**路径**:`POST /mgt/reset`
|
||
|
||
**请求体**(ForgetPwdRequest):
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| account | string | 是 | 账号 |
|
||
| code | string | 是 | 短信验证码 |
|
||
| password | string | 是 | 新密码,最少 6 位 |
|
||
| phone | string | 是 | 手机号,需符合 phone 格式 |
|
||
|
||
**请求示例**:
|
||
|
||
```json
|
||
{
|
||
"account": "zhangsan",
|
||
"code": "123456",
|
||
"password": "newpass123",
|
||
"phone": "13800138000"
|
||
}
|
||
```
|
||
|
||
**返回示例**:
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": "密码重置成功"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 健康检查 Ping
|
||
|
||
**路径**:`GET /mgt/ping`
|
||
|
||
**说明**:无需请求体,用于健康检查。
|
||
|
||
**返回示例**:
|
||
|
||
```json
|
||
{
|
||
"message": "Pong"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 5. Session 演示
|
||
|
||
**路径**:`GET /mgt/session`
|
||
|
||
**说明**:Session 示例接口,会写入并读取 session。
|
||
|
||
**返回示例**:
|
||
|
||
```json
|
||
{
|
||
"message": "Pong"
|
||
}
|
||
```
|