chore: 修改前端小组件结构
This commit is contained in:
@@ -1,22 +1,23 @@
|
|||||||
{
|
{
|
||||||
"name": "cwd-admin",
|
"name": "cwd-admin",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"preview": "vite preview",
|
||||||
"preview": "vite preview"
|
"build:admin": "vite build",
|
||||||
},
|
"build:widget": "cd widget && npm install && npm run build",
|
||||||
"dependencies": {
|
"build": "npm run build:widget &&npm run build:admin"
|
||||||
"vue": "^3.5.13",
|
},
|
||||||
"vue-router": "^4.4.5"
|
"dependencies": {
|
||||||
},
|
"vue": "^3.5.13",
|
||||||
"devDependencies": {
|
"vue-router": "^4.4.5"
|
||||||
"@vitejs/plugin-vue": "^5.1.4",
|
},
|
||||||
"typescript": "^5.5.2",
|
"devDependencies": {
|
||||||
"vite": "^6.0.11",
|
"@vitejs/plugin-vue": "^5.1.4",
|
||||||
"vue-tsc": "^2.1.10"
|
"typescript": "^5.5.2",
|
||||||
}
|
"vite": "^6.0.11",
|
||||||
|
"vue-tsc": "^2.1.10"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@ export default defineConfig({
|
|||||||
nav,
|
nav,
|
||||||
sidebar,
|
sidebar,
|
||||||
outline: {
|
outline: {
|
||||||
level: 'deep',
|
level: [2,3],
|
||||||
label: 'On this page',
|
label: 'On this page',
|
||||||
},
|
},
|
||||||
editLink: {
|
editLink: {
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/login`
|
- 路径:`/admin/login`
|
||||||
- 鉴权:不需要
|
- 鉴权:不需要
|
||||||
|
|
||||||
### 请求头
|
**请求头**
|
||||||
|
|
||||||
| 名称 | 必填 | 示例 |
|
| 名称 | 必填 | 示例 |
|
||||||
| -------------- | ---- | ------------------ |
|
| -------------- | ---- | ------------------ |
|
||||||
| `Content-Type` | 是 | `application/json` |
|
| `Content-Type` | 是 | `application/json` |
|
||||||
|
|
||||||
### 请求体
|
**请求体**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -45,7 +45,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- `ADMIN_NAME`
|
- `ADMIN_NAME`
|
||||||
- `ADMIN_PASSWORD`
|
- `ADMIN_PASSWORD`
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
|
|
||||||
前端需要将 `data.key` 作为 Token 存储(例如 LocalStorage),并在后续请求中通过 `Authorization: Bearer <key>` 携带。
|
前端需要将 `data.key` 作为 Token 存储(例如 LocalStorage),并在后续请求中通过 `Authorization: Bearer <key>` 携带。
|
||||||
|
|
||||||
### 错误与风控
|
**错误与风控**
|
||||||
|
|
||||||
- 登录失败(用户名或密码错误):
|
- 登录失败(用户名或密码错误):
|
||||||
- 状态码:`401`
|
- 状态码:`401`
|
||||||
@@ -97,7 +97,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/comments/list`
|
- 路径:`/admin/comments/list`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 查询参数
|
**查询参数**
|
||||||
|
|
||||||
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
||||||
| ------ | ----- | ------- | ---- | -------------- |
|
| ------ | ----- | ------- | ---- | -------------- |
|
||||||
@@ -107,7 +107,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
|
|
||||||
- 当前实现中每页固定大小为 `10`,暂不支持 `pageSize` 或状态过滤。
|
- 当前实现中每页固定大小为 `10`,暂不支持 `pageSize` 或状态过滤。
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 鉴权错误
|
**鉴权错误**
|
||||||
|
|
||||||
- 未携带 Token 或 Token 失效:
|
- 未携带 Token 或 Token 失效:
|
||||||
- 状态码:`401`
|
- 状态码:`401`
|
||||||
@@ -155,7 +155,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/comments/status`
|
- 路径:`/admin/comments/status`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 查询参数
|
**查询参数**
|
||||||
|
|
||||||
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
||||||
| -------- | ----- | ------ | ---- | ------------------------------------- |
|
| -------- | ----- | ------ | ---- | ------------------------------------- |
|
||||||
@@ -167,7 +167,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- `approved`:已通过
|
- `approved`:已通过
|
||||||
- `rejected`:已拒绝
|
- `rejected`:已拒绝
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 缺少参数:
|
- 缺少参数:
|
||||||
- 状态码:`400`
|
- 状态码:`400`
|
||||||
@@ -205,13 +205,13 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/comments/delete`
|
- 路径:`/admin/comments/delete`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 查询参数
|
**查询参数**
|
||||||
|
|
||||||
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
||||||
| ---- | ----- | ------ | ---- | ------- |
|
| ---- | ----- | ------ | ---- | ------- |
|
||||||
| `id` | query | number | 是 | 评论 ID |
|
| `id` | query | number | 是 | 评论 ID |
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -221,7 +221,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 缺少 ID:
|
- 缺少 ID:
|
||||||
- 状态码:`400`
|
- 状态码:`400`
|
||||||
@@ -249,7 +249,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/comments/export`
|
- 路径:`/admin/comments/export`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 导出失败:
|
- 导出失败:
|
||||||
- 状态码:`500`
|
- 状态码:`500`
|
||||||
@@ -294,7 +294,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/comments/import`
|
- 路径:`/admin/comments/import`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 请求体
|
**请求体**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
@@ -320,7 +320,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
|
|
||||||
字段说明:与导出格式一致。如果不提供 `id`,则会自动生成。
|
字段说明:与导出格式一致。如果不提供 `id`,则会自动生成。
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -330,7 +330,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 导入数据为空:
|
- 导入数据为空:
|
||||||
- 状态码:`400`
|
- 状态码:`400`
|
||||||
@@ -358,7 +358,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/settings/email`
|
- 路径:`/admin/settings/email`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -368,7 +368,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 状态码:`500`
|
- 状态码:`500`
|
||||||
|
|
||||||
@@ -386,13 +386,13 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/settings/email`
|
- 路径:`/admin/settings/email`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 请求头
|
**请求头**
|
||||||
|
|
||||||
| 名称 | 必填 | 示例 |
|
| 名称 | 必填 | 示例 |
|
||||||
| -------------- | ---- | ------------------ |
|
| -------------- | ---- | ------------------ |
|
||||||
| `Content-Type` | 是 | `application/json` |
|
| `Content-Type` | 是 | `application/json` |
|
||||||
|
|
||||||
### 请求体
|
**请求体**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -400,7 +400,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -410,7 +410,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 邮箱格式不正确:
|
- 邮箱格式不正确:
|
||||||
- 状态码:`400`
|
- 状态码:`400`
|
||||||
@@ -438,7 +438,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/settings/comments`
|
- 路径:`/admin/settings/comments`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -468,7 +468,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
| `adminKeySet` | boolean | 是否已经设置过管理员评论密钥 |
|
| `adminKeySet` | boolean | 是否已经设置过管理员评论密钥 |
|
||||||
| `requireReview` | boolean | 是否开启新评论先审核再显示(true 表示新评论默认为待审核) |
|
| `requireReview` | boolean | 是否开启新评论先审核再显示(true 表示新评论默认为待审核) |
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 状态码:`500`
|
- 状态码:`500`
|
||||||
|
|
||||||
@@ -486,13 +486,13 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
- 路径:`/admin/settings/comments`
|
- 路径:`/admin/settings/comments`
|
||||||
- 鉴权:需要(Bearer Token)
|
- 鉴权:需要(Bearer Token)
|
||||||
|
|
||||||
### 请求头
|
**请求头**
|
||||||
|
|
||||||
| 名称 | 必填 | 示例 |
|
| 名称 | 必填 | 示例 |
|
||||||
| -------------- | ---- | ------------------ |
|
| -------------- | ---- | ------------------ |
|
||||||
| `Content-Type` | 是 | `application/json` |
|
| `Content-Type` | 是 | `application/json` |
|
||||||
|
|
||||||
### 请求体
|
**请求体**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -518,7 +518,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
| `adminKey` | string | 否 | 管理员评论密钥,留空则表示清除密钥;设置后前台管理员评论需输入密钥 |
|
| `adminKey` | string | 否 | 管理员评论密钥,留空则表示清除密钥;设置后前台管理员评论需输入密钥 |
|
||||||
| `requireReview` | boolean | 否 | 是否开启新评论先审核再显示(不传则保持不变) |
|
| `requireReview` | boolean | 否 | 是否开启新评论先审核再显示(不传则保持不变) |
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -528,7 +528,7 @@ Token 通过登录接口获取,有效期为 24 小时。
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 邮箱格式错误:
|
- 邮箱格式错误:
|
||||||
- 状态码:`400`
|
- 状态码:`400`
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
- 路径:`/api/comments`
|
- 路径:`/api/comments`
|
||||||
- 鉴权:不需要
|
- 鉴权:不需要
|
||||||
|
|
||||||
### 查询参数
|
**查询参数**
|
||||||
|
|
||||||
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
| 名称 | 位置 | 类型 | 必填 | 说明 |
|
||||||
| --------------- | ----- | ------- | ---- | --------------------------------------------------- |
|
| --------------- | ----- | ------- | ---- | --------------------------------------------------- |
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
| `limit` | query | integer | 否 | 每页数量,默认 `20`,最大 `50` |
|
| `limit` | query | integer | 否 | 每页数量,默认 `20`,最大 `50` |
|
||||||
| `nested` | query | string | 否 | 是否返回嵌套结构,默认 `'true'` |
|
| `nested` | query | string | 否 | 是否返回嵌套结构,默认 `'true'` |
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
- 当 `nested=true`(默认)时,接口返回的是“根评论列表”,每条根评论包含其 `replies`。
|
- 当 `nested=true`(默认)时,接口返回的是“根评论列表”,每条根评论包含其 `replies`。
|
||||||
- 当 `nested=false` 时,接口返回扁平列表,所有评论都在 `data` 中,`replies` 为空。
|
- 当 `nested=false` 时,接口返回扁平列表,所有评论都在 `data` 中,`replies` 为空。
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 缺少 `post_slug`:
|
- 缺少 `post_slug`:
|
||||||
|
|
||||||
@@ -99,13 +99,13 @@
|
|||||||
- 路径:`/api/comments`
|
- 路径:`/api/comments`
|
||||||
- 鉴权:不需要
|
- 鉴权:不需要
|
||||||
|
|
||||||
### 请求头
|
**请求头**
|
||||||
|
|
||||||
| 名称 | 必填 | 示例 |
|
| 名称 | 必填 | 示例 |
|
||||||
| -------------- | ---- | ---------------------------- |
|
| -------------- | ---- | ---------------------------- |
|
||||||
| `Content-Type` | 是 | `application/json` |
|
| `Content-Type` | 是 | `application/json` |
|
||||||
|
|
||||||
### 请求体(Request Body)
|
**请求体(Request Body)**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 字段说明
|
**字段说明**
|
||||||
|
|
||||||
| 字段名 | 类型 | 必填 | 说明 |
|
| 字段名 | 类型 | 必填 | 说明 |
|
||||||
| ------------ | ------ | ---- | ------------------------------------------------------------------------------------------------------------- |
|
| ------------ | ------ | ---- | ------------------------------------------------------------------------------------------------------------- |
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
| `content` | string | 是 | 评论内容,内部会过滤 `<script>...</script>` 片段 |
|
| `content` | string | 是 | 评论内容,内部会过滤 `<script>...</script>` 片段 |
|
||||||
| `parent_id` | number | 否 | 父评论 ID,用于回复功能;缺省或 `null` 表示根评论 |
|
| `parent_id` | number | 否 | 父评论 ID,用于回复功能;缺省或 `null` 表示根评论 |
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
|
|
||||||
当前实现中评论会直接以 `approved` 状态写入数据库,后续如引入人工审核可在实现中调整为“待审核”状态。
|
当前实现中评论会直接以 `approved` 状态写入数据库,后续如引入人工审核可在实现中调整为“待审核”状态。
|
||||||
|
|
||||||
### 错误响应与限流
|
**错误响应**与限流
|
||||||
|
|
||||||
- 请求体缺失或字段类型错误:
|
- 请求体缺失或字段类型错误:
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"message": "评论频繁,等10s后再试"
|
"message": "评论频繁,等 10s 后再试"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
- 路径:`/api/config/comments`
|
- 路径:`/api/config/comments`
|
||||||
- 鉴权:不需要
|
- 鉴权:不需要
|
||||||
|
|
||||||
### 成功响应
|
**成功响应**
|
||||||
|
|
||||||
- 状态码:`200`
|
- 状态码:`200`
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
| `allowedDomains` | Array\<string\> | 允许调用组件的域名列表,留空则不限制 |
|
| `allowedDomains` | Array\<string\> | 允许调用组件的域名列表,留空则不限制 |
|
||||||
| `requireReview` | boolean | 是否开启新评论先审核再显示(true 表示新评论默认为待审核) |
|
| `requireReview` | boolean | 是否开启新评论先审核再显示(true 表示新评论默认为待审核) |
|
||||||
|
|
||||||
### 错误响应
|
**错误响应**
|
||||||
|
|
||||||
- 状态码:`500`
|
- 状态码:`500`
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# cwd 评论前端模板
|
|
||||||
|
|
||||||
## 使用方法
|
|
||||||
|
|
||||||
文档:https://cwd-docs.zishu.me/guide/frontend-config.html
|
|
||||||
Reference in New Issue
Block a user