Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
4.5 KiB
4.5 KiB
belongs_to
| belongs_to | |
|---|---|
|
📋 铸渊指令|合作者公告栏改为追加式记录(2026-03-14·霜砚签发)
一、当前问题
现在的行为(覆盖式):
DEV-001 上传 backend/ → 公告栏显示 DEV-001 ✅
DEV-005 上传 status-board/ → 公告栏只显示 DEV-005 ✅
→ DEV-001 的记录被覆盖,看不见了 ❌
期望的行为(追加式):
DEV-001 上传 backend/ → 公告栏显示 DEV-001 ✅
DEV-005 上传 status-board/ → 公告栏显示 DEV-001 + DEV-005 ✅✅
→ 当天所有人的上传记录都保留 ✅
二、修改要求
2.1 核心逻辑:追加而非覆盖
公告栏表格改为当日累积追加模式:
- 每次有开发者上传模块,新增一行到表格中,不删除已有行
- 同一个开发者同一天多次上传,每次都新增一行(不覆盖之前的记录)
- 表格按时间正序排列(最早在上面,最新在下面)
2.2 每日自动清空
- 每天 UTC 00:00(北京 08:00)自动清空前一天的记录,重新开始
- 或者:在
daily-maintenance.yml的最早 job 里做一次清空 - 保留表头行,只清空数据行
2.3 表格字段要求
每行记录应包含:
| 字段 | 说明 | 示例 |
|---|---|---|
| 时间 | 上传时间(北京时间 HH:mm) | 15:12 |
| 合作者 | 开发者名字或编号 | DEV-001 页页 |
| 模块 | 上传的模块目录名 | backend/ |
| 状态 | 上传结果 | ✅ 上传成功 |
2.4 示例效果
一天结束后,公告栏应该看起来像这样:
👥 合作者公告栏(2026-03-14)
时间 合作者 模块 状态
09:30 DEV-001 页页 backend/ ✅ 上传成功
10:15 DEV-005 小草莓 status-board/ ✅ 上传成功
11:42 DEV-004 之之 dingtalk-bot/ ✅ 上传成功
14:20 DEV-001 页页 src/ ✅ 上传成功
15:12 冰朔 -/ ✅ 上传成功
15:12 Copilot 副驾驶 -/ ✅ 上传成功
三、实现方式建议
方案 A:改写更新公告区的 workflow / script
找到当前负责更新合作者公告栏的脚本或 workflow(可能是 更新系统公告区 #130),修改其逻辑:
// 伪代码:从覆盖改为追加
// ❌ 旧逻辑(覆盖式)
const table = [headerRow];
table.push(newRow); // 每次只保留最新一条
writeToFile(table);
// ✅ 新逻辑(追加式)
const existingTable = readExistingTable(); // 读取现有内容
const today = getCurrentDateBeijing();
// 如果表格日期不是今天,清空重建
if (existingTable.date !== today) {
existingTable.rows = [];
existingTable.date = today;
}
// 追加新行
existingTable.rows.push(newRow);
writeToFile(existingTable);
方案 B:如果公告栏是 GitHub Pages 上的 HTML
修改生成 HTML 的逻辑,从「替换整个表格」改为「追加 <tr> 行」。可以用一个 JSON 文件(如 bulletin-board-today.json)作为当日记录的缓存:
{
"date": "2026-03-14",
"records": [
{"time": "09:30", "author": "DEV-001 页页", "module": "backend/", "status": "✅ 上传成功"},
{"time": "10:15", "author": "DEV-005 小草莓", "module": "status-board/", "status": "✅ 上传成功"}
]
}
每次有新上传 → 读取 JSON → 检查日期 → 追加记录 → 重新生成 HTML 表格。
四、铸渊自动提醒区域也要保留
截图中的「🤖 铸渊自动提醒·合作者」区域保持不变,继续显示当日汇总状态即可。
五、验收标准
- 同一天多个开发者上传后,公告栏能看到所有人的记录
- 同一个开发者多次上传,每次都有独立记录
- 每天自动清空前一天的数据
- 不影响其他 workflow 正常运行