# 运营操作监控

## 📋 业务与功能

### 1.1 核心目标
> 监控运营人员的关键操作与异常行为，帮助风控人员快速定位高风险账号与操作。

### 1.2 功能清单
- **指标概览**：异常操作数、高风险账号、待审核事件
- **筛选条件**：操作类型、风险等级、执行人、时间范围
- **操作记录表**：展示操作内容、对象、风险评分、结果
- **异常趋势**：按时间展示异常操作趋势与分布
- **处置动作**：查看详情、标记审核、加入白名单

### 1.3 交互要点
- 侧边菜单点击 → 跳转到对应页面
- 筛选条件变更 → 更新列表并触发事件
- 表格行点击 → 打开详情
- 风险等级标签点击 → 快速筛选

---

## 📊 内容规划

### 2.1 信息架构
```
运营操作监控
├── 指标概览
├── 筛选区
├── 操作记录表格
└── 异常趋势/告警列表
```

### 2.2 数据来源
- **数据类型**：操作记录、趋势数据、告警列表
- **数据源**：用户提供（功能清单）→ 生成示例数据
- **关键字段**：
  - `operation_id`: 操作 ID
  - `operator`: 执行人
  - `action`: 操作动作
  - `risk_score`: 风险评分
  - `status`: 审核状态

### 2.3 内容示例
- 操作类型：“批量导出客户”
- 风险评分：85
- 审核状态：`待审核` / `已通过` / `已驳回`

---

## 🎨 布局与结构

### 3.1 整体布局
- **布局模式**：上下分区 + 右侧告警
- **容器宽度**：流式
- **关键尺寸**：
  - 右侧告警列表：320px

### 3.2 响应式适配
- **桌面端（≥1200px）**：表格 + 右侧告警
- **平板端（768-1199px）**：告警下移
- **移动端（<768px）**：模块垂直排列

---

## 🎨 视觉规范

### 4.1 设计规范来源
**本设计基于**：
- [ ] 用户提供的设计规范：无
- [x] 主题设计系统：`/src/themes/antd-new/`
- [x] 内置设计指导：`/assets/docs/设计指导（简约）.md`

### 4.2 自定义设计要点
- 高风险标识集中在评分与标签列
- 趋势卡片使用轻量线形图或文本提示

### 4.3 组件状态
- **默认态（default）**：表格行默认展示
- **悬停态（hover）**：行高亮
- **加载态（loading）**：筛选触发加载

---

## ⚙️ Axure API 说明

### 5.1 事件列表（eventList）
| 事件名称 | Payload 类型 | 触发时机 | 说明 |
|---------|-------------|---------|------|
| `on_search` | `string` | 点击搜索 | payload 为筛选条件 JSON 字符串 |
| `on_action` | `string` | 点击操作按钮 | payload 为操作 JSON 字符串 |

### 5.2 动作列表（actionList）
| 动作名称 | Params 类型 | 参数说明 | 功能描述 |
|---------|------------|---------|---------|
| `set_filters` | `string` | JSON 字符串 | 设置筛选条件 |
| `refresh` | `string` | 空 | 刷新数据 |

### 5.3 变量列表（varList）
| 变量名称 | 类型 | 默认值 | 说明 |
|---------|-----|-------|------|
| `risk_filter` | `string` | 空 | 风险等级筛选 |
| `selected_count` | `number` | 0 | 选中记录数 |

### 5.4 配置项列表（configList）
| 配置项名称 | 类型 | 默认值 | 说明 |
|----------|-----|-------|------|
| `page_size` | `number` | `10` | 表格分页大小 |
| `show_alerts` | `boolean` | `true` | 是否显示右侧告警 |

### 5.5 数据项列表（dataList）
**数据结构**：
```typescript
{
  operations: {
    id: string;
    operator: string;
    action: string;
    target: string;
    risk_level: 'high' | 'medium' | 'low';
    risk_score: number;
    status: 'pending' | 'approved' | 'rejected';
    created_at: string;
  }[];
  alerts: {
    id: string;
    title: string;
    level: 'high' | 'medium' | 'low';
    time: string;
  }[];
}
```
