# 敏感词库管理

## 📋 业务与功能

### 1.1 核心目标
> 管理敏感词规则及词库，支持规则配置、拦截策略设置及批量导入功能。

### 1.2 功能清单
- **敏感词规则列表**：展示规则名称、包含敏感词数、拦截状态、启用状态、创建时间。
- **查询与筛选**：支持按规则名称、敏感词模糊查询。
- **新增/编辑规则**：
  - 设置规则名称
  - 管理规则下的敏感词（支持添加多个）
  - 设置是否拦截（拦截/仅记录）
  - 设置启用/停用状态
  - 批量导入敏感词
- **操作**：编辑、删除规则。

### 1.3 交互要点
- **新增按钮**：点击弹出新增规则抽屉/弹窗。
- **批量导入**：在新增/编辑时支持文本粘贴或文件上传进行批量导入。
- **列表操作**：
  - 编辑：打开编辑弹窗，回显数据。
  - 删除：二次确认后删除。
  - 状态切换：直接在列表中切换启用/停用状态。

---

## 📊 内容规划

### 2.1 信息架构
```
敏感词库管理
├── 顶部操作区 (查询输入框 + 查询按钮 + 新增按钮)
└── 规则列表表格
    ├── 规则名称
    ├── 敏感词 (展示部分，悬停展示全部)
    ├── 拦截策略 (是/否)
    ├── 启用状态 (Switch开关)
    ├── 创建时间
    └── 操作 (编辑 | 删除)
```

### 2.2 数据来源
- **数据类型**：敏感词规则列表
- **关键字段**：
  - `id`: 规则ID
  - `rule_name`: 规则名称
  - `keywords`: 敏感词列表 (Array<string>)
  - `is_block`: 是否拦截 (boolean)
  - `is_active`: 是否启用 (boolean)
  - `created_at`: 创建时间

### 2.3 内容示例
- 规则名称：“涉政敏感词”
- 敏感词：“词汇A, 词汇B, ...”
- 拦截策略：是
- 启用状态：启用

---

## 🎨 布局与结构

### 3.1 整体布局
- **布局模式**：标准后台管理列表页布局。
- **顶部**：筛选条件与操作按钮。
- **主体**：数据表格。

---

## ⚙️ Axure API 说明

### 5.1 事件列表
| 事件名称 | Payload 类型 | 说明 |
|---------|-------------|------|
| `on_search` | `string` | 查询条件 |
| `on_add` | `null` | 点击新增 |
| `on_edit` | `string` | 编辑规则 (Payload: ID) |
| `on_delete` | `string` | 删除规则 (Payload: ID) |
| `on_toggle_status` | `{id: string, status: boolean}` | 切换状态 |

### 5.5 数据项列表
```typescript
{
  rules: {
    id: string;
    rule_name: string;
    keywords: string[];
    is_block: boolean;
    is_active: boolean;
    created_at: string;
  }[];
}
```
