🔥 一、系统目标(汉字管理模块)

建立一个可维护、可扩展、支持批量处理的汉字基础语料管理平台,提供:

  • 汉字 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. 汉字列表页
  2. 汉字详情页
  3. 汉字编辑页
  4. 汉字新增页
  5. 批量导入页面
  6. 批量导出页面(或导出按钮+筛选)
  7. 批量操作面板(批量更新/批量删除/批量打标签)

🔥 四、交互设计(重点)

▶ 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

参数:

  • word
  • pinyin
  • radicals
  • tags
  • status
  • page
  • size

返回:

  • 分页结果

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 压缩(数据大时)

🔥 八、未来扩展(为你后续系统预留)

这套设计已经预留以下场景: