🔥 一、系统目标(汉字管理模块)
建立一个可维护、可扩展、支持批量处理的汉字基础语料管理平台,提供:
- 汉字 CRUD
- 批量导入 / 批量更新 / 批量删除 / 批量导出
- 字段级结构化维护(拼音、笔画、部首等)
- 富文本解释/释义录入
- 原始文本与结构化字段并存
- 审计字段(状态、创建人、操作人等)
- 高效的列表检索(字、拼音、部首)
🔥 二、数据结构设计(数据库字段)
1. 表名:t_word
基础字段(你要求的)+ 业务字段。
CREATE TABLE `t_word` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`status` TINYINT(4) DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
`creator_id` BIGINT(20) NULL COMMENT '创建者ID',
`create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间(毫秒级)',
`update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间(毫秒级)',
`updater_id` BIGINT(20) NULL COMMENT '更新者ID',
`delete_flag` TINYINT(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0-未删除,1-已删除',
-- 业务字段
`word` VARCHAR(10) NOT NULL COMMENT '汉字',
`oldword` VARCHAR(20) NULL COMMENT '古文字/异体字',
`pinyin` VARCHAR(50) NULL COMMENT '拼音(支持多音)',
`radicals` VARCHAR(50) NULL COMMENT '部首',
`strokes` VARCHAR(20) NULL COMMENT '笔画数',
`explanation` TEXT NULL COMMENT '主解释(富文本)',
`more` TEXT NULL COMMENT '更多解释(原始文本,未结构化)',
`tags` VARCHAR(255) NULL COMMENT '标签,逗号分隔,如:多音字,方言,古义',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汉字表';
🔥 三、页面信息架构(IA)
整个「汉字管理」包含如下页面:
- 汉字列表页
- 汉字详情页
- 汉字编辑页
- 汉字新增页
- 批量导入页面
- 批量导出页面(或导出按钮+筛选)
- 批量操作面板(批量更新/批量删除/批量打标签)
🔥 四、交互设计(重点)
▶ 1. 汉字列表页(核心页面)
功能:搜索、筛选、分页、批量操作入口
① 顶部搜索栏
- 字(text)
- 拼音(模糊、忽略声调)
- 部首
- 标签
- 状态(启用/禁用)
交互:搜索即触发刷新,无需回车。
② 列表字段(建议)
| 字段 | 描述 |
|---|---|
| 选择框(批量) | 多选 |
| 汉字 word | 大字号展示 |
| 拼音 | 支持多音:á / à / shà |
| 部首 radicals | 口 |
| 笔画 strokes | 13 |
| 标签 tags | 多音字、叹词、方言… |
| 更新时间 | yyyy-MM-dd HH:mm:ss |
| 状态 | Switch 或颜色 Tag |
| 操作 | 查看详情 / 编辑 |
③ 批量操作(列表顶部)
- 批量删除(软删除)
- 批量修改标签
- 批量启用/禁用
- 批量导出
- 批量导入(按钮)
交互: 选择后 → 顶部出现一个悬浮操作条(样式类似阿里云控制台)。
▶ 2. 汉字详情页(不可编辑)
目标:可读性强,让内容和原始解释分层展示
布局:
左侧基础信息(卡片)
- 汉字(大字体 48px)
- 拼音
- 部首
- 笔画
- 状态
- 标签
- 创建/更新时间
右侧两个 Tab:
- 【解释(结构化)】
- 【更多解释(原始文本)】
解释部分展示富文本(保留换行、引号、列表)。
▶ 3. 汉字编辑页(可编辑)
与详情页结构类似,但字段可编辑。
关键交互:
① 拼音输入(多音字)
- 输入框支持
,分隔(如:á,shà) - 自动高亮声调格式错误
② 标签编辑
- 多选下拉 + 可新增标签
- 防止输入空格
③ 富文本编辑器(explanation)
- 支持换行
- 支持引用标记
- 支持格式化恢复
④ 原始文本编辑(more)
- 用普通 textarea
- 行号(便于校对前后格式)
⑤ 保存策略
- 若拼音或部首修改 → 自动触发“关联补全脚本”的提示(可选)
- 保存后回到详情页 + toast “保存成功”
▶ 4. 批量导入页面(Excel/JSON)
功能包括:
- 下载模板
- 上传文件(JSON / CSV / XLSX)
- 自动预校验(字段缺失、格式错误)
- 显示预览 20 条
- 映射字段(当字段名不匹配时)
-
冲突策略选择:
- 跳过重复
- 覆盖已有
- 新增为新记录
交互:
- 上传 → 服务端解析 → 前端显示校验结果
- 用户确认 → 执行导入任务 → 后台异步完成
▶ 5. 批量更新
批量操作包括:
① 批量修改标签
- 多选字 → 选择“批量标签修改”
- 弹窗:新增标签?覆盖标签?删除标签?
- 预览受影响的数量
- 确认后执行任务
② 批量启用 / 禁用
- 多选字 → 批量设置状态
③ 批量删除(软删除)
- 多选字 → 二次确认对话框
- 删除 → 标记 delete_flag=1,不做物理删除
④ 批量导出
- 根据筛选条件导出
- 支持格式:JSON / CSV / XLSX
🔥 五、后端 API 设计(只设计,不写代码)
1. 查询汉字列表
GET /api/words
参数:
wordpinyinradicalstagsstatuspagesize
返回:
- 分页结果
2. 获取详情
GET /api/words/{id}
3. 新增汉字
POST /api/words
4. 修改汉字
PUT /api/words/{id}
5. 批量删除
POST /api/words/batch-delete
6. 批量更新状态
POST /api/words/batch-status
7. 批量修改标签
POST /api/words/batch-tags
8. 导入
POST /api/words/import
9. 导出
POST /api/words/export
🔥 六、后台校验逻辑(重要)
1. 汉字字段校验
- length=1
- Unicode CJK 范围
- 禁止空值
2. 拼音校验
- 可使用正则:
^[a-zA-Zāáǎàōóǒòêēéěèüǖǘǚǜ, ]+$ - 自动移除空格并用
,统一分隔
3. 标签处理
- 去重
- 去除前后空格
- 禁止出现逗号(
,是系统分隔符)
🔥 七、批量操作的后台策略
1. 批量导入策略
- 记录失败行
- 数据库事务分批提交(如 500 条/批)
- 导入结束后返回任务报告(成功 / 失败 / 冲突条数)
2. 批量删除策略
- 修改
delete_flag=1 - 不做物理删除
3. 批量导出策略
- 后端异步导出,返回下载 URL
- zip 压缩(数据大时)
🔥 八、未来扩展(为你后续系统预留)
这套设计已经预留以下场景:
