diff --git a/.gitea/checker/notifier.py b/.gitea/checker/notifier.py
index 7c9acb1..638f193 100644
--- a/.gitea/checker/notifier.py
+++ b/.gitea/checker/notifier.py
@@ -75,7 +75,7 @@ def build_markdown_notification(
"""
parts: List[str] = []
- # 分组:路径变更、参数变更、新增、删除
+ # 所有 API 级变更(新增、修改路径、删除、参数变更)统一走 model1.md 路径变更通知
renamed_reports = [r for r in reports if r.is_renamed_endpoint]
new_reports = [r for r in reports if r.is_new_endpoint]
changed_reports = [
@@ -84,13 +84,24 @@ def build_markdown_notification(
]
removed_reports = [r for r in reports if r.is_removed_endpoint]
- # 路径变更优先使用 model1.md 模板
- for report in renamed_reports:
- old_uri = report.old_uri or "-"
- new_uri = report.uri or "已删除"
+ # 1. 新增接口 → 走 API路径变更通知
+ for report in new_reports:
path_md = build_path_change_markdown(
- old_uri=old_uri,
- new_uri=new_uri,
+ old_uri="-",
+ new_uri=report.uri,
+ change_type="新增接口",
+ push_user=push_user,
+ push_time=push_time,
+ file_name=report.source_file or report.controller_class,
+ )
+ parts.append(path_md)
+ parts.append("")
+
+ # 2. 修改路径 → 走 API路径变更通知
+ for report in renamed_reports:
+ path_md = build_path_change_markdown(
+ old_uri=report.old_uri or "-",
+ new_uri=report.uri,
change_type="修改路径",
push_user=push_user,
push_time=push_time,
@@ -99,27 +110,30 @@ def build_markdown_notification(
parts.append(path_md)
parts.append("")
- if new_reports or changed_reports or removed_reports:
- parts.extend([
- "# API参数变更通知",
- f"- **变更类型:** 修改参数",
- f"- **修改人:** {push_user}",
- f"- **修改时间:** {push_time}",
- "",
- ])
-
- for report in new_reports:
- parts.append(_format_endpoint_block(report))
- parts.append("")
-
- for report in changed_reports:
- parts.append(_format_endpoint_block(report))
- parts.append("")
-
+ # 3. 删除接口 → 走 API路径变更通知
for report in removed_reports:
- parts.append(_format_endpoint_block(report))
+ path_md = build_path_change_markdown(
+ old_uri=report.uri,
+ new_uri="已删除",
+ change_type="删除接口",
+ push_user=push_user,
+ push_time=push_time,
+ file_name=report.source_file or report.controller_class,
+ )
+ parts.append(path_md)
parts.append("")
+ # 4. 普通参数变更(非路径变更)仍使用原有格式
+ if changed_reports:
+ parts.append("# API参数变更通知")
+ parts.append(f"- **变更类型:** 修改参数")
+ parts.append(f"- **修改人:** {push_user}")
+ parts.append(f"- **修改时间:** {push_time}")
+ parts.append("")
+ for report in changed_reports:
+ parts.append(_format_endpoint_block(report))
+ parts.append("")
+
if llm_summary:
cleaned = llm_summary.strip()
# 去掉 LLM 可能输出的「排除框架注入」类说明
@@ -247,29 +261,42 @@ def build_path_change_markdown(
push_time: str,
file_name: str,
) -> str:
- """构建 API路径变更通知,匹配 model1.md 模板,并加强高亮。"""
- old_display = f"~~`{old_uri}`~~" if old_uri else "-"
- new_display = f"**`{new_uri}`**" if new_uri else "已删除"
+ """构建 API路径变更通知,匹配 model1.md 模板,并加强高亮。
+
+ 支持的 change_type:
+ - 新增接口:原路径显示 "-",新路径高亮显示
+ - 修改路径:原路径删除线,新路径高亮
+ - 删除接口:原路径高亮,新路径显示 "已删除"
+ """
+ if change_type == "新增接口":
+ old_display = "-"
+ new_display = f"**`{new_uri}`**"
+ elif change_type == "删除接口":
+ old_display = f"**`{old_uri}`**"
+ new_display = "已删除"
+ else: # 修改路径
+ old_display = f"~~`{old_uri}`~~" if old_uri else "-"
+ new_display = f"**`{new_uri}`**" if new_uri else "已删除"
parts = [
- "# 【API路径变更通知】",
+ "# API路径变更通知",
f"- **变更类型:** **{change_type}**",
f"- **修改人:** {push_user}",
f"- **修改时间:** {push_time}",
f"- **全路径类名:** **{file_name}**",
"",
- "---------------",
+ "---",
"",
"## URI变更详情",
"",
- "---------------",
+ "---",
"",
"| 项目 | 路径 |",
"|------|------|",
f"| 原路径 | {old_display} |",
f"| 新路径 | {new_display} |",
"",
- "---------------",
+ "---",
]
return "\n".join(parts).strip()