# 字段说明规则 字段变更采用 **引用块 + 单行合并 + font 颜色**,遵循企微 `markdown` v1(不支持列表)。 ## 说明提取优先级 | 优先级 | 来源 | |:------:|------| | 1 | `@Schema(description = "...")` | | 2 | `@ApiModelProperty` | | 3 | `/** ... */` 字段注释 | | 4 | 空串 | ## 字段变更行格式 每条变更占**一行**,标签、说明、类型横向排列,冒号后两空格: ``` > **共 2 项变更** > [重命名] taskIdtaskIds 说明: 流程主键 > [删除] `changeUserNickName` 说明: 变更人员别名 ``` | 操作 | 标签 | 类型段 | |------|------|--------| | 新增 | info `[新增]` | 无 | | 删除 | warning `[删除]` | 无 | | 修改 | warning `[修改]` | 仅类型变化时出现 | | 重命名 | warning `[重命名]` | 说明匹配时合并删除+新增;类型变化时附带类型行 | ### 重命名配对规则 - 删除+新增且**类型相同、说明相同**(非空)→ `[重命名]` - 删除+新增且**说明相同但类型不同** → `[重命名]` + 类型行 - 说明均为空时也可配对 - 说明不同则不配对,保持删除+新增 - 统计行加粗,数字用 warning(橙色),文案为「共 N 项变更」(不含「字段」) - 多条变更之间用**空行**分隔 - 说明为空时显示 `(无说明)` - 头部四行加粗,用 `quoteKvBold`;不要在 `` 内嵌 `**bold**` ## 接口行格式 ``` > POST `/apply/clockIn` ``` ## 实现 - `ClassFieldParser.extractFieldLabel()` - `FieldDiffEngine` — 类型变化产生 `[修改]`,说明匹配的删除+新增合并为 `[重命名]` - `WeComNotifier.formatFieldChange()`