|
265
|
1
|
5
|
1
|
2
|
0
|
0
|
refs/heads/detached
|
0
|
{"Commits":[{"Sha1":"b6f9b8218 {"Commits":[{"Sha1":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:00+08:00"}],"HeadCommit":{"Sha1":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:00+08:00"},"CompareURL":"juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Len":1}...
|
1773748512
|
Edit
Delete
|
|
266
|
2
|
5
|
1
|
2
|
0
|
0
|
refs/heads/detached
|
0
|
{"Commits":[{"Sha1":"b6f9b8218 {"Commits":[{"Sha1":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:00+08:00"}],"HeadCommit":{"Sha1":"b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:00+08:00"},"CompareURL":"juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...b6f9b8218b26c820d37dd7cf6b2c406afbf656aa","Len":1}...
|
1773748512
|
Edit
Delete
|
|
267
|
1
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ea6cb146a {"Commits":[{"Sha1":"ea6cb146adc009a4840c052e3c31d888ced32f24","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:48+08:00"}],"HeadCommit":{"Sha1":"ea6cb146adc009a4840c052e3c31d888ced32f24","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:48+08:00"},"CompareURL":"juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...ea6cb146adc009a4840c052e3c31d888ced32f24","Len":1}...
|
1773748565
|
Edit
Delete
|
|
268
|
2
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ea6cb146a {"Commits":[{"Sha1":"ea6cb146adc009a4840c052e3c31d888ced32f24","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:48+08:00"}],"HeadCommit":{"Sha1":"ea6cb146adc009a4840c052e3c31d888ced32f24","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:55:48+08:00"},"CompareURL":"juhai/testpc/compare/82563bcddd8d32587bc08757c8fdba4bb728fdbe...ea6cb146adc009a4840c052e3c31d888ced32f24","Len":1}...
|
1773748565
|
Edit
Delete
|
|
273
|
1
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1ef6ab81e {"Commits":[{"Sha1":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T20:06:06+08:00"}],"HeadCommit":{"Sha1":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T20:06:06+08:00"},"CompareURL":"juhai/testpc/compare/ea6cb146adc009a4840c052e3c31d888ced32f24...1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Len":1}...
|
1773749176
|
Edit
Delete
|
|
274
|
2
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1ef6ab81e {"Commits":[{"Sha1":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T20:06:06+08:00"}],"HeadCommit":{"Sha1":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T20:06:06+08:00"},"CompareURL":"juhai/testpc/compare/ea6cb146adc009a4840c052e3c31d888ced32f24...1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","Len":1}...
|
1773749176
|
Edit
Delete
|
|
277
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2732364ba {"Commits":[{"Sha1":"2732364ba177bf3cf8029788b582f34689d5d9a9","Message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:08:42+08:00"}],"HeadCommit":{"Sha1":"2732364ba177bf3cf8029788b582f34689d5d9a9","Message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:08:42+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","Len":1}...
|
1773749337
|
Edit
Delete
|
|
278
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8a1f5fc17 {"Commits":[{"Sha1":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","Message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:36:51+08:00"}],"HeadCommit":{"Sha1":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","Message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:36:51+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","Len":1}...
|
1773751025
|
Edit
Delete
|
|
279
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e2899fe4a {"Commits":[{"Sha1":"e2899fe4a30c3be6afb4230ccf40447f45e903dc","Message":"sync: 同步内容/社媒/短信营销治理回放产物\n\n- 更新 admin.json 认证夹具\n- 新增内容分发治理回放 (content-distribution-v1)\n- 新增内容社交内容治理回放 (content-social-content-v5~v9)\n - 覆盖内容创作/分发/邮件营销/内容库/模板/版权/审核\n- 新增内容社交直播治理回放 (content-social-live-video-v1)\n- 新增内容社交社媒治理回放 (content-social-social-v1~v10)\n - 覆盖社媒账号/帖子/互动/矩阵/自动回复/竞品/粉丝/热门话题\n- 新增短信营销治理回放 (sms-marketing-v1)\n- 新增社交粉丝治理回放 (social-followers-v1)\n- 清理旧版 playwright-report 与 test-results 产物\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:58:42+08:00"}],"HeadCommit":{"Sha1":"e2899fe4a30c3be6afb4230ccf40447f45e903dc","Message":"sync: 同步内容/社媒/短信营销治理回放产物\n\n- 更新 admin.json 认证夹具\n- 新增内容分发治理回放 (content-distribution-v1)\n- 新增内容社交内容治理回放 (content-social-content-v5~v9)\n - 覆盖内容创作/分发/邮件营销/内容库/模板/版权/审核\n- 新增内容社交直播治理回放 (content-social-live-video-v1)\n- 新增内容社交社媒治理回放 (content-social-social-v1~v10)\n - 覆盖社媒账号/帖子/互动/矩阵/自动回复/竞品/粉丝/热门话题\n- 新增短信营销治理回放 (sms-marketing-v1)\n- 新增社交粉丝治理回放 (social-followers-v1)\n- 清理旧版 playwright-report 与 test-results 产物\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T20:58:42+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926...e2899fe4a30c3be6afb4230ccf40447f45e903dc","Len":1}...
|
1773752343
|
Edit
Delete
|
|
280
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d761bda76 {"Commits":[{"Sha1":"d761bda761335047b47a9c6b4829d3bcfacbb2c9","Message":"sync: 同步内容社交全链/直播治理回放产物\n\n- 更新 admin.json 认证夹具\n- 新增内容社交全链治理回放 (content-social-full-v1)\n - 覆盖内容创作/分发/库/模板/版权/审核\n - 覆盖邮件营销/短信营销\n - 覆盖社媒账号/帖子/互动/矩阵/自动回复/竞品/粉丝/热门话题\n - 覆盖直播房间/日程/脚本/互动/商品/礼物\n - 覆盖视频内容/视频发布\n- 更新内容社交直播治理回放 (content-social-live-video-v1~v4)\n - 补充 failure 产物与覆盖报告\n - 覆盖直播互动/房间/日程/脚本/商品/礼物/视频发布\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:08:09+08:00"}],"HeadCommit":{"Sha1":"d761bda761335047b47a9c6b4829d3bcfacbb2c9","Message":"sync: 同步内容社交全链/直播治理回放产物\n\n- 更新 admin.json 认证夹具\n- 新增内容社交全链治理回放 (content-social-full-v1)\n - 覆盖内容创作/分发/库/模板/版权/审核\n - 覆盖邮件营销/短信营销\n - 覆盖社媒账号/帖子/互动/矩阵/自动回复/竞品/粉丝/热门话题\n - 覆盖直播房间/日程/脚本/互动/商品/礼物\n - 覆盖视频内容/视频发布\n- 更新内容社交直播治理回放 (content-social-live-video-v1~v4)\n - 补充 failure 产物与覆盖报告\n - 覆盖直播互动/房间/日程/脚本/商品/礼物/视频发布\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:08:09+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/e2899fe4a30c3be6afb4230ccf40447f45e903dc...d761bda761335047b47a9c6b4829d3bcfacbb2c9","Len":1}...
|
1773752902
|
Edit
Delete
|
|
281
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"68f0e1e26 {"Commits":[{"Sha1":"68f0e1e26e6d6bd34f17a1bcb704c42d148f0ad5","Message":"sync: 同步全域治理回放产物与治理文档\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增获客中心全域治理回放 (acquisition-full-v1)\n - 覆盖归因/归因模型/渠道整合/渠道/线索池/线索转化/线索评分/线索/二维码/UTM\n- 新增 AI 中心全域治理回放 (ai-full-v1)\n - 覆盖 AI 总览/任务/待处理任务\n- 新增增长中心全域治理回放 (growth-full-v1)\n - 覆盖广告账户/受众/竞价/广告活动/创意/报告\n - 覆盖活动库/活动/社区活动/机器人/群组/等级/成员/消息/积分/任务\n - 覆盖客户营销/旅程编排/营销自动化/营销聊天机器人/营销工具/预测分析/细分\n- 新增协同中心全域治理回放 (synergy-full-v1)\n - 覆盖部门/知识/资源请求/角色/阶段知识/用户\n- 新增系统中心全域治理回放 (system-full-v1)\n - 覆盖事件订阅/IM 渠道/系统配置/参数/租户\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:23:32+08:00"}],"HeadCommit":{"Sha1":"68f0e1e26e6d6bd34f17a1bcb704c42d148f0ad5","Message":"sync: 同步全域治理回放产物与治理文档\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增获客中心全域治理回放 (acquisition-full-v1)\n - 覆盖归因/归因模型/渠道整合/渠道/线索池/线索转化/线索评分/线索/二维码/UTM\n- 新增 AI 中心全域治理回放 (ai-full-v1)\n - 覆盖 AI 总览/任务/待处理任务\n- 新增增长中心全域治理回放 (growth-full-v1)\n - 覆盖广告账户/受众/竞价/广告活动/创意/报告\n - 覆盖活动库/活动/社区活动/机器人/群组/等级/成员/消息/积分/任务\n - 覆盖客户营销/旅程编排/营销自动化/营销聊天机器人/营销工具/预测分析/细分\n- 新增协同中心全域治理回放 (synergy-full-v1)\n - 覆盖部门/知识/资源请求/角色/阶段知识/用户\n- 新增系统中心全域治理回放 (system-full-v1)\n - 覆盖事件订阅/IM 渠道/系统配置/参数/租户\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:23:32+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/d761bda761335047b47a9c6b4829d3bcfacbb2c9...68f0e1e26e6d6bd34f17a1bcb704c42d148f0ad5","Len":1}...
|
1773753845
|
Edit
Delete
|
|
282
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"607365e90 {"Commits":[{"Sha1":"607365e90475966d498a4cbc9738e9b8a8f511b1","Message":"sync: 同步请求中心最终基线与 HR/销售/服务/门店/供应链治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 新增请求中心最终基线报告 (requested-centers-final-baseline-2026-03-17.md)\n- 新增请求中心最终基线脚本 (generate-requested-centers-final-baseline.mjs)\n- 更新 admin.json 认证夹具\n- 新增 AI 中心全域治理回放 v2 (ai-full-v2)\n - 覆盖 AI 总览/技能库/任务/待处理任务/IM 集成配置\n- 新增人力资源中心全域治理回放 (hr-full-v1)\n - 覆盖佣金\n- 新增销售中心全域治理回放 (sales-full-v1)\n - 覆盖联盟商户/推荐/合同模板/合同/CPQ/活动/客户/线索/MEDDPICC/商机/订单/合作伙伴/报价/样品请求/SWOT/目标\n- 新增服务中心全域治理回放 (service-full-v1)\n - 覆盖设备/诊断/故障/维护/项目/RMA/满意度/SLA/备件/工单\n- 新增门店中心全域治理回放 (stores-full-v1)\n - 覆盖团购分析/达人/订单/参与者/商品/推广/结算/选址评估/门店配置/门店\n- 新增供应链中心全域治理回放 (supply-full-v1)\n - 覆盖组装 BOM/领料/组装订单/组装入库/资产/设备/出库/产品分类/产品/序列号/供应商/供应链\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:47:27+08:00"}],"HeadCommit":{"Sha1":"607365e90475966d498a4cbc9738e9b8a8f511b1","Message":"sync: 同步请求中心最终基线与 HR/销售/服务/门店/供应链治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 新增请求中心最终基线报告 (requested-centers-final-baseline-2026-03-17.md)\n- 新增请求中心最终基线脚本 (generate-requested-centers-final-baseline.mjs)\n- 更新 admin.json 认证夹具\n- 新增 AI 中心全域治理回放 v2 (ai-full-v2)\n - 覆盖 AI 总览/技能库/任务/待处理任务/IM 集成配置\n- 新增人力资源中心全域治理回放 (hr-full-v1)\n - 覆盖佣金\n- 新增销售中心全域治理回放 (sales-full-v1)\n - 覆盖联盟商户/推荐/合同模板/合同/CPQ/活动/客户/线索/MEDDPICC/商机/订单/合作伙伴/报价/样品请求/SWOT/目标\n- 新增服务中心全域治理回放 (service-full-v1)\n - 覆盖设备/诊断/故障/维护/项目/RMA/满意度/SLA/备件/工单\n- 新增门店中心全域治理回放 (stores-full-v1)\n - 覆盖团购分析/达人/订单/参与者/商品/推广/结算/选址评估/门店配置/门店\n- 新增供应链中心全域治理回放 (supply-full-v1)\n - 覆盖组装 BOM/领料/组装订单/组装入库/资产/设备/出库/产品分类/产品/序列号/供应商/供应链\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T21:47:27+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/68f0e1e26e6d6bd34f17a1bcb704c42d148f0ad5...607365e90475966d498a4cbc9738e9b8a8f511b1","Len":1}...
|
1773755259
|
Edit
Delete
|
|
283
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"546fbeca7 {"Commits":[{"Sha1":"546fbeca78809fbcac00c1eef45705beea0bc71f","Message":"Harden treasury cash forecast governance and docs\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T11:04:17+08:00"},{"Sha1":"ff61226cc51a981dde66bd6cb9c9bb84c4d12366","Message":"Strengthen governance retries and refresh audit baselines\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T09:36:26+08:00"},{"Sha1":"51f4761b6871550db103677f714a87451e12036c","Message":"sync: 同步 2026-03-18 全域视图审计快照与财务/收入/计划任务治理产物\n\n- 新增 9 个视图审计域快照(a1-a9)与全量矩阵(2026-03-18)\n- 重构收入确认规则服务,接回 canonical 真源并补齐 API 集成测试\n- 重写财务现金分析服务,升级 3090 预测为真实加权模型\n- 扩展计划任务模块路由/schema/docs,补齐 stats 与执行日志端点\n- 修复联盟包/联盟伙伴控制器与 schema 参数对齐问题\n- 更新 finance/revenue/scheduled-jobs 前端 API 模块与路由配置\n- 新增联盟可见写 E2E Playwright v2 测试结果与动作覆盖报告\n- 捕获多轮审计基线快照(20260317-154804 至 160739)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T00:47:08+08:00"},{"Sha1":"b0a24d3fbc756a6f02f872057919e8fe139eb6fb","Message":"Tighten governance audits and close finance route gaps\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T23:42:27+08:00"},{"Sha1":"2047d067c9ba17640f0e6b8355e1399f072d1ce0","Message":"Fix input number bounds and sync approval docs audits\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-17T22:58:49+08:00"}],"HeadCommit":{"Sha1":"546fbeca78809fbcac00c1eef45705beea0bc71f","Message":"Harden treasury cash forecast governance and docs\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T11:04:17+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/607365e90475966d498a4cbc9738e9b8a8f511b1...546fbeca78809fbcac00c1eef45705beea0bc71f","Len":6}...
|
1773811674
|
Edit
Delete
|
|
288
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e112d45af {"Commits":[{"Sha1":"e112d45af414e4862c0328abad7c4df74d3c1dbf","Message":"Update Playwright reports and schema export\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T18:50:23+08:00"},{"Sha1":"9d21e85be8cdf327c0e2912ab110884f4ac15f56","Message":"Implement Playwright E2E v3 runner and auth preflight\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T18:35:16+08:00"}],"HeadCommit":{"Sha1":"e112d45af414e4862c0328abad7c4df74d3c1dbf","Message":"Update Playwright reports and schema export\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T18:50:23+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/546fbeca78809fbcac00c1eef45705beea0bc71f...e112d45af414e4862c0328abad7c4df74d3c1dbf","Len":2}...
|
1773831747
|
Edit
Delete
|
|
289
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b7eb415d7 {"Commits":[{"Sha1":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","Message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:18:31+08:00"},{"Sha1":"f47b241f0742ff8814ccc90955319f274a0ea1b2","Message":"Add synergy visible-menu action coverage reports\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:13:41+08:00"},{"Sha1":"3db89f5baaacdfa1cfb867203a6c0476ab8d1bc4","Message":"Refresh Playwright finance and supply-chain batch reports\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:12:22+08:00"},{"Sha1":"1ee19d416f6c1d39365fb18293110d79f2e5e464","Message":"Update deployment docs and refresh AI acquisition reports\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:09:37+08:00"},{"Sha1":"77a4917f2819798f1163c9e8ec884ff9f55bf8fd","Message":"Update requested whitelist and refresh full-menu batch reports\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:05:03+08:00"}],"HeadCommit":{"Sha1":"b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","Message":"Refresh whitelist governance and AI acquisition E2E artifacts\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-18T19:18:31+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/e112d45af414e4862c0328abad7c4df74d3c1dbf...b7eb415d7a9689f1efec941bcb2dcd7d098e9c28","Len":5}...
|
1773832741
|
Edit
Delete
|
|
294
|
1
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7ea655b1a {"Commits":[{"Sha1":"7ea655b1af2dddb5922a00b33a039453979d0697","Message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-19T16:58:17+08:00"},{"Sha1":"b678da8d00cf7b8be2141acd5482811386dc834c","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:47:32+08:00"},{"Sha1":"62eaedf1e6d2116287bf82d324ff642f894551b9","Message":"11111sss\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:33:44+08:00"},{"Sha1":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","Message":"11111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T16:34:38+08:00"},{"Sha1":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","Message":"11111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T15:17:38+08:00"}],"HeadCommit":{"Sha1":"7ea655b1af2dddb5922a00b33a039453979d0697","Message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-19T16:58:17+08:00"},"CompareURL":"juhai/testpc/compare/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89...7ea655b1af2dddb5922a00b33a039453979d0697","Len":5}...
|
1773910699
|
Edit
Delete
|
|
295
|
2
|
5
|
1
|
2
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7ea655b1a {"Commits":[{"Sha1":"7ea655b1af2dddb5922a00b33a039453979d0697","Message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-19T16:58:17+08:00"},{"Sha1":"b678da8d00cf7b8be2141acd5482811386dc834c","Message":"同步所有\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:47:32+08:00"},{"Sha1":"62eaedf1e6d2116287bf82d324ff642f894551b9","Message":"11111sss\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T19:33:44+08:00"},{"Sha1":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","Message":"11111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T16:34:38+08:00"},{"Sha1":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","Message":"11111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-17T15:17:38+08:00"}],"HeadCommit":{"Sha1":"7ea655b1af2dddb5922a00b33a039453979d0697","Message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-19T16:58:17+08:00"},"CompareURL":"juhai/testpc/compare/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89...7ea655b1af2dddb5922a00b33a039453979d0697","Len":5}...
|
1773910699
|
Edit
Delete
|
|
300
|
1
|
5
|
1
|
2
|
0
|
0
|
refs/heads/pc
|
0
|
|
1773911321
|
Edit
Delete
|
|
301
|
2
|
5
|
1
|
2
|
0
|
0
|
refs/heads/pc
|
0
|
|
1773911321
|
Edit
Delete
|
|
304
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bd59e5501 {"Commits":[{"Sha1":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","Message":"Prepare v1.0.0 release\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:33:01+08:00"},{"Sha1":"3e200dbc88dfcb3956ab27f4f620206b037ae2d2","Message":"Finalize full-menu Playwright v4 E2E coverage\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:23:33+08:00"},{"Sha1":"ec555da79e0898b3ba48a8f9b75b5689a0845d9b","Message":"Stabilize full-menu Playwright batch runner and governance contracts\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T16:49:52+08:00"},{"Sha1":"6881b6da73bfa06aefc33d638df23979cfea87b2","Message":"Stabilize Playwright full-batch E2E governance\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T16:32:36+08:00"},{"Sha1":"b2b5220da718e21dae81c36253ad1705fd3e371b","Message":"Update Playwright batch reports and E2E auth state\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T15:40:17+08:00"}],"HeadCommit":{"Sha1":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","Message":"Prepare v1.0.0 release\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:33:01+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/b7eb415d7a9689f1efec941bcb2dcd7d098e9c28...bd59e5501292cb061719f669c7a7b7afd4f1a0b7","Len":43}...
|
1773912911
|
Edit
Delete
|
|
305
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"01a8ea919 {"Commits":[{"Sha1":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","Message":"Merge remote-tracking branch 'origin/claude/project-diagnosis-roadmap-OvHyH'\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:41:24+08:00"},{"Sha1":"e24b5ac7b46ff888469af5f36106bc134dfeeaf5","Message":"chore: 更新索引覆盖率审计报告\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-02-23T02:10:23Z"},{"Sha1":"1f04562fcb2c00ced785cf32c9888101e7039377","Message":"Day 7: 消除前端 TypeScript any 类型(115 → 4,减少 96.5%)\n\n## 核心变更\n\n### 基础设施\n- api/adapters.ts:添加 6 个强类型输入接口(LeadCreateInput、QuoteCreateInput 等),\n 替换 5 个 prepare 函数的 any 参数\n- types/process.ts:$attrs Record\u003cstring,any\u003e → Record\u003cstring,unknown\u003e\n- components/marketing/CampaignBuilder.vue:引入 MarketingToolType 类型代替 string\n\n### 视图文件(73 个文件,~111 处修复)\n- el-tag :type 断言:`as any` → `as TagType`(~45 处)\n- catch 块:`catch (error: any)` → `catch (error)`(~15 处)\n- API 响应解包:`(res as any).data` → 明确类型断言\n- 状态校验初始化:`{} as any` → 合理的类型初始化\n- HR 分页:`limit as any` → `limit as number`\n- 工具类型:`code as any` → `code as ToolType`(Step3Tools)\n\n### 保留的 4 处 any(bpmn-js JavaScript 互操作,不可消除)\n- types/process.ts:BpmnElement 索引签名、get() 返回值、gfx 字段\n\n## 质量提升\n- any 使用数量:115 → 4(减少 111 处)\n- 影响文件:73 个 Vue 组件 + 2 个 TypeScript 文件\n- 类型安全程度:基本消除运行时类型不确定性\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-02-23T02:09:43Z"},{"Sha1":"6ff0f2f6a30f18d01ceb3256ed9df1a6a994f187","Message":"Day 6: 数据库性能索引优化 — P1 治理冲刺\n\n## 变更内容\n\n### schema.prisma 索引优化\n**新增索引(P1高频查询路径)**:\n- ar_ledger: +2 索引(客户×状态、到期日×状态)\n- invoices: +4 索引(客户、开票日期、状态×时间、合同)\n- service_tickets: +2 索引(解决时间、状态×优先级)\n\n**删除重复索引(减少写放大)**:\n- opportunities: -3 重复索引(closed_at、contact_id、stage_entered_at 各有两个)\n- service_tickets: -1 重复索引(tenant_id+status 重复)\n- quotes: -2 重复索引(owner_user_id、status 各有两个)\n\n### 新增文件\n- `backend/prisma/migrations/add_performance_indexes_day6.sql`\n 14 个 CONCURRENTLY 部分索引(含 WHERE 子句过滤,Prisma @@index 不支持)\n 覆盖:ar_ledger / invoices / customers / service_tickets / leads / orders\n\n- `backend/scripts/audit-index-coverage.ts`\n 数据库索引覆盖审计脚本:591 个模型,1573→2373 索引,检测重复索引\n 关键业务模型(ar_ledger/invoices/customers/quotes)已升至 ✅ Excellent\n 其余核心模型(contracts/leads/opportunities/orders)升至 🟢 Good\n\n## 审计结果(Day 6 后)\n- 关键业务模型零重复索引(修复 6 处重复)\n- 4 个核心财务模型达到 Excellent 级覆盖率\n- 新增审计工具可持续监控索引健康度\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-02-23T01:45:59Z"},{"Sha1":"471f6aae84a4b160d12ef2d5ed039def2a4bd33a","Message":"Day 5: API路由契约覆盖率从93.93%提升至100%\n\n## 变更概要\n\n### 新建路由文件(6个)\n- rfm-analysis.routes.ts:RFM分析模块路由\n- customer-ltv.routes.ts:客户生命周期价值模块路由\n- dimension-transform.routes.ts:维度转换模块路由(+PUT方法)\n- omnichannel-data-hub.routes.ts:全渠道数据中心路由(+PUT方法)\n- multi-touch-attribution.routes.ts:多触点归因前端期望路径路由\n- public.routes.ts:公开API聚合路由(落地页/聊天机器人/表单/追踪)\n\n### 控制器存根扩展\n- knowledge.routes.ts:新增starred/move-to-folder 5条路由\n- matrix.controller.ts + matrix.routes.ts:新增5个存根+路由\n- marketing-workflow.controller.ts + routes.ts:新增5个存根+路由\n- 20+个模块:补充缺失的控制器函数和路由声明\n\n### 注册表更新\n- register-domain-routes.ts:注册6个新模块路由\n - multi-touch-attribution(/multi-touch-attribution)\n - public routes(/public)\n - rfm-analysis/customer-ltv/dimension-transform/omnichannel-data-hub\n\n### 方法不一致修复\n- dimension-transform/:id:新增PUT方法支持\n- omnichannel-data-hub/sources/:id:新增PUT方法支持\n\n## 审计结果\n- 覆盖率:100%(3623/3623)✅\n- 缺失端点:0(从88降至0)\n- 方法不一致:0\n- 参数不一致:0\n\nhttps://claude.ai/code/session_01XYrghcakBhTHkp1eyMmM1v\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-02-23T01:03:57Z"}],"HeadCommit":{"Sha1":"01a8ea9191c28b210d2abb3db3cbc65db42fc801","Message":"Merge remote-tracking branch 'origin/claude/project-diagnosis-roadmap-OvHyH'\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:41:24+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/bd59e5501292cb061719f669c7a7b7afd4f1a0b7...01a8ea9191c28b210d2abb3db3cbc65db42fc801","Len":5}...
|
1773913343
|
Edit
Delete
|
|
306
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9771b23ae {"Commits":[{"Sha1":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","Message":"merge: 合并 codex/start-task-execution 分支\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T20:06:07+08:00"},{"Sha1":"45cc3de955c77d410edd8f0c751c14b19ba32d6c","Message":"merge: 合并 codex/find-next-steps 分支\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T19:59:55+08:00"},{"Sha1":"0690441d639452b384cf339fb08bb9ca5aca6318","Message":"merge: 解决 LeadCollector 冲突并合并 project-diagnosis-roadmap 分支\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T19:53:41+08:00"},{"Sha1":"f559123e2f8a9b99815dfd5a112568e952fef38b","Message":"docs: add commander next action checklist","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"158980461+laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-12T12:25:36+08:00"},{"Sha1":"2ba3fa67ecd78540d068729a800bebf3db851042","Message":"chore: ignore local build cache directories","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"158980461+laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-12T12:24:42+08:00"}],"HeadCommit":{"Sha1":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","Message":"merge: 合并 codex/start-task-execution 分支\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T20:06:07+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/01a8ea9191c28b210d2abb3db3cbc65db42fc801...9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","Len":6}...
|
1773929406
|
Edit
Delete
|
|
307
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"979d9c810 {"Commits":[{"Sha1":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","Message":"Refine AI agent menus and add pending tasks review page\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T00:05:17+08:00"},{"Sha1":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","Message":"Implement AI autopilot canonical flows and governance updates\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T23:41:26+08:00"}],"HeadCommit":{"Sha1":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","Message":"Refine AI agent menus and add pending tasks review page\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T00:05:17+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","Len":2}...
|
1773939779
|
Edit
Delete
|
|
308
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"86beff17d {"Commits":[{"Sha1":"86beff17d922cf15f9ac6e298961a63c92ec85f8","Message":"Harden AI autopilot compiler recovery and self-test services\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T09:39:28+08:00"},{"Sha1":"b0abf8673ae89246e45660346c8a67fbbde5537d","Message":"Advance AutoPilot scheduler, vision, and UI coverage\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T08:38:09+08:00"},{"Sha1":"405ac31b4cabcd0c74da31317675ddc0f2178b89","Message":"Reset pending review status after autopilot task failure\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T01:20:03+08:00"},{"Sha1":"ae160c6ca2ca0d11efdeed88558744dd42e55c02","Message":"Align AI autopilot routes and finance AI views\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T01:19:01+08:00"},{"Sha1":"1b6daf049b7149968db82c98bc255e2ec6d77759","Message":"Expand AI autopilot with scheduler and natural command support\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T01:16:29+08:00"}],"HeadCommit":{"Sha1":"86beff17d922cf15f9ac6e298961a63c92ec85f8","Message":"Harden AI autopilot compiler recovery and self-test services\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-20T09:39:28+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/979d9c81063fbda12f1445bf80b0c0027b0fbac2...86beff17d922cf15f9ac6e298961a63c92ec85f8","Len":5}...
|
1773971165
|
Edit
Delete
|
|
311
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/master
|
0
|
|
1773989067
|
Edit
Delete
|
|
312
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/master
|
0
|
|
1773989067
|
Edit
Delete
|
|
313
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/master
|
0
|
{"Commits":[{"Sha1":"78427a51e {"Commits":[{"Sha1":"78427a51eb7bd5a7de532a80ec9e94f265930824","Message":"测试111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:23:11+08:00"}],"HeadCommit":{"Sha1":"78427a51eb7bd5a7de532a80ec9e94f265930824","Message":"测试111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:23:11+08:00"},"CompareURL":"","Len":1}...
|
1773989067
|
Edit
Delete
|
|
314
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/master
|
0
|
{"Commits":[{"Sha1":"78427a51e {"Commits":[{"Sha1":"78427a51eb7bd5a7de532a80ec9e94f265930824","Message":"测试111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:23:11+08:00"}],"HeadCommit":{"Sha1":"78427a51eb7bd5a7de532a80ec9e94f265930824","Message":"测试111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:23:11+08:00"},"CompareURL":"","Len":1}...
|
1773989067
|
Edit
Delete
|
|
317
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773989093
|
Edit
Delete
|
|
318
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/testpc
|
0
|
|
1773989093
|
Edit
Delete
|
|
319
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
|
1773989952
|
Edit
Delete
|
|
320
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
|
1773989952
|
Edit
Delete
|
|
321
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"e31b1c088 {"Commits":[{"Sha1":"e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Message":"测试2222333\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:58:36+08:00"}],"HeadCommit":{"Sha1":"e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Message":"测试2222333\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:58:36+08:00"},"CompareURL":"juhai/pctest/compare/78427a51eb7bd5a7de532a80ec9e94f265930824...e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Len":1}...
|
1773989952
|
Edit
Delete
|
|
322
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"e31b1c088 {"Commits":[{"Sha1":"e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Message":"测试2222333\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:58:36+08:00"}],"HeadCommit":{"Sha1":"e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Message":"测试2222333\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T14:58:36+08:00"},"CompareURL":"juhai/pctest/compare/78427a51eb7bd5a7de532a80ec9e94f265930824...e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6","Len":1}...
|
1773989952
|
Edit
Delete
|
|
325
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"b23272882 {"Commits":[{"Sha1":"b23272882d68e0b61ab119ff0f670c4dbbe7a652","Message":"修改单个文件测试\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:04:08+08:00"}],"HeadCommit":{"Sha1":"b23272882d68e0b61ab119ff0f670c4dbbe7a652","Message":"修改单个文件测试\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:04:08+08:00"},"CompareURL":"juhai/pctest/compare/e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6...b23272882d68e0b61ab119ff0f670c4dbbe7a652","Len":1}...
|
1773990288
|
Edit
Delete
|
|
326
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"b23272882 {"Commits":[{"Sha1":"b23272882d68e0b61ab119ff0f670c4dbbe7a652","Message":"修改单个文件测试\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:04:08+08:00"}],"HeadCommit":{"Sha1":"b23272882d68e0b61ab119ff0f670c4dbbe7a652","Message":"修改单个文件测试\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:04:08+08:00"},"CompareURL":"juhai/pctest/compare/e31b1c088fcbd1c19c3ca487fe550697bfa9bdd6...b23272882d68e0b61ab119ff0f670c4dbbe7a652","Len":1}...
|
1773990288
|
Edit
Delete
|
|
329
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"7fbec3ef9 {"Commits":[{"Sha1":"7fbec3ef95a3856eef25ceabf266030d5ca445e4","Message":"修改单个文件测试2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:22:59+08:00"}],"HeadCommit":{"Sha1":"7fbec3ef95a3856eef25ceabf266030d5ca445e4","Message":"修改单个文件测试2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:22:59+08:00"},"CompareURL":"juhai/pctest/compare/b23272882d68e0b61ab119ff0f670c4dbbe7a652...7fbec3ef95a3856eef25ceabf266030d5ca445e4","Len":1}...
|
1773991404
|
Edit
Delete
|
|
330
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"7fbec3ef9 {"Commits":[{"Sha1":"7fbec3ef95a3856eef25ceabf266030d5ca445e4","Message":"修改单个文件测试2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:22:59+08:00"}],"HeadCommit":{"Sha1":"7fbec3ef95a3856eef25ceabf266030d5ca445e4","Message":"修改单个文件测试2\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:22:59+08:00"},"CompareURL":"juhai/pctest/compare/b23272882d68e0b61ab119ff0f670c4dbbe7a652...7fbec3ef95a3856eef25ceabf266030d5ca445e4","Len":1}...
|
1773991404
|
Edit
Delete
|
|
333
|
1
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"12a4a4ad4 {"Commits":[{"Sha1":"12a4a4ad441e2edf19328cb83a4d1532f1985c69","Message":"修改单个文件测试3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:26:46+08:00"}],"HeadCommit":{"Sha1":"12a4a4ad441e2edf19328cb83a4d1532f1985c69","Message":"修改单个文件测试3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:26:46+08:00"},"CompareURL":"juhai/pctest/compare/7fbec3ef95a3856eef25ceabf266030d5ca445e4...12a4a4ad441e2edf19328cb83a4d1532f1985c69","Len":1}...
|
1773991753
|
Edit
Delete
|
|
334
|
2
|
5
|
1
|
17
|
0
|
0
|
refs/heads/pctest
|
0
|
{"Commits":[{"Sha1":"12a4a4ad4 {"Commits":[{"Sha1":"12a4a4ad441e2edf19328cb83a4d1532f1985c69","Message":"修改单个文件测试3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:26:46+08:00"}],"HeadCommit":{"Sha1":"12a4a4ad441e2edf19328cb83a4d1532f1985c69","Message":"修改单个文件测试3\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-03-20T15:26:46+08:00"},"CompareURL":"juhai/pctest/compare/7fbec3ef95a3856eef25ceabf266030d5ca445e4...12a4a4ad441e2edf19328cb83a4d1532f1985c69","Len":1}...
|
1773991753
|
Edit
Delete
|
|
337
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0900b15d6 {"Commits":[{"Sha1":"0900b15d607e5c78f97fec16a73357ad4f814390","Message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:09:28+08:00"},{"Sha1":"d896457d1be5c717ded0691d144621b3c521cd35","Message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-22T23:08:14+08:00"},{"Sha1":"8d6bbbf7db74cd492873138a576a303da86c39cf","Message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-22T23:05:53+08:00"},{"Sha1":"5154c3ae921f8ff76d803e3e30208edd8c791d77","Message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-22T23:01:58+08:00"},{"Sha1":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","Message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-22T23:00:25+08:00"}],"HeadCommit":{"Sha1":"0900b15d607e5c78f97fec16a73357ad4f814390","Message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:09:28+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","Len":104}...
|
1774220981
|
Edit
Delete
|
|
338
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"80c2bdb2f {"Commits":[{"Sha1":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","Message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:43:31+08:00"}],"HeadCommit":{"Sha1":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","Message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:43:31+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","Len":1}...
|
1774223019
|
Edit
Delete
|
|
339
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"df7b6f461 {"Commits":[{"Sha1":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","Message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:51:53+08:00"}],"HeadCommit":{"Sha1":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","Message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T07:51:53+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","Len":1}...
|
1774223516
|
Edit
Delete
|
|
340
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"339ea969e {"Commits":[{"Sha1":"339ea969ec2633756fb1a155d47723d0f61396a4","Message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T09:22:37+08:00"}],"HeadCommit":{"Sha1":"339ea969ec2633756fb1a155d47723d0f61396a4","Message":"chore: comprehensive governance updates and test artifacts\n\n- Add Prisma schema modularization and migration scripts\n- Add service test coverage across all modules (AI, alliance, community, marketing, etc.)\n- Add shared services (cache, custom-fields, dynamic-state-machine, encryption, etc.)\n- Add infrastructure configs (ClickHouse, Debezium, Tempo)\n- Add user manual and technical documentation with screenshots\n- Add router module organization for all centers\n- Add store/test coverage and Playwright artifacts\n- Update CI workflow, environment configs, and dependencies\n- Fix security issues in auth, kafka, and validation layers\n- Fix permission naming tests to expect kebab-case output\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T09:22:37+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","Len":1}...
|
1774229061
|
Edit
Delete
|
|
341
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"67078f9a9 {"Commits":[{"Sha1":"67078f9a95f53530156ad27027eafe15a3126e89","Message":"feat: 新增阿里云部署、PII 加密、运维脚本和前端优化\n\n- 新增阿里云部署配置和工作流\n- 实现 PII 字段加密和迁移脚本\n- 新增运维脚本 (备份、监控、事件响应)\n- 前端移动端优化 (PWA、离线支持、响应式)\n- 优化部署脚本和 Docker 配置\n- 新增模块依赖文档和图标资源\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T18:39:31+08:00"}],"HeadCommit":{"Sha1":"67078f9a95f53530156ad27027eafe15a3126e89","Message":"feat: 新增阿里云部署、PII 加密、运维脚本和前端优化\n\n- 新增阿里云部署配置和工作流\n- 实现 PII 字段加密和迁移脚本\n- 新增运维脚本 (备份、监控、事件响应)\n- 前端移动端优化 (PWA、离线支持、响应式)\n- 优化部署脚本和 Docker 配置\n- 新增模块依赖文档和图标资源\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T18:39:31+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/339ea969ec2633756fb1a155d47723d0f61396a4...67078f9a95f53530156ad27027eafe15a3126e89","Len":1}...
|
1774262374
|
Edit
Delete
|
|
342
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ff3149170 {"Commits":[{"Sha1":"ff3149170c6b0deb6d8151cb962592199b95bdd8","Message":"fix: 全面分析修复 — 44项安全+性能+架构+类型安全治理\n\n## 安全修复 (12项)\n- CRITICAL: 修复 knowledge-vector SQL 注入 + event-subscription SQL 注入\n- HIGH: 5处 $queryRawUnsafe → Prisma.sql, PDF XSS 防护, 租户严格模式\n- MEDIUM: 健康端点认证, CORS生产校验, PII脱敏, 权限缓存清除API\n\n## 性能优化 (5项)\n- N+1: getBulkSalesProfiles 800→9次, syncLinkStatistics 3N+1→3次\n- syncConversionStats 批量事务, leads 7索引补充, 慢查询监控恢复\n\n## 架构合规 (14项)\n- 12个controller prisma调用下沉service + requireTenantContext全局启用\n\n## 类型安全 — 77处as any清零\n- process-adapter 39→0, case-converter 15→0, validation 11→0, main 6→0\n\n## 前端v-permission核心链路6模块73指令 + 代码卫生清理\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T01:13:11+08:00"},{"Sha1":"9a8bbf8de635bd87de19154ac349be5f21784d52","Message":"fix: P2+P3 安全加固+质量提升 — 39 MEDIUM + 21 LOW 缺陷修复\n\n## 后端安全加固(10项)\n- 登录错误消息脱敏(不泄露剩余尝试次数)\n- 用户枚举 Timing Attack 防护(dummy bcrypt 消除时间差)\n- RMA 退货期限校验(30天,通过 SN 间接关联订单)\n- Order schema 金额上限 999999999.99\n- 门店批量状态更新加 $transaction\n- 序列号批量激活加 $transaction\n- Redis 缓存 delete-before-write 一致性改进\n- Opportunity bizCode 自动生成(空值防护)\n- SLA 暂停分钟数 Math.round → Math.floor(防误差累积)\n- system-monitor 6 处 $queryRawUnsafe → $queryRaw(杜绝 SQL 注入)\n\n## 前端安全+质量(6 P2 + 4 P3)\n- tickets/Detail.vue v-html 增加 DOMPurify 净化层\n- 幂等 Key 重复代码提取到 utils/idempotency.ts\n- useFormDraft sessionStorage try-catch 防溢出\n- useListPage handleLoadMore 基于 id 去重\n- response-normalizer 兜底搜索限定白名单字段\n- social-analytics window.open URL 协议校验\n- error.middleware TraceId 改用 crypto.randomUUID\n- Lead/Quote format 去 any → Record\u003cstring, unknown\u003e\n- Lead AI 评分并发限制(每批 5 个)\n- 4 个测试文件 console.log 清理\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T21:01:40+08:00"},{"Sha1":"076415ad09aa56a849acfbb65520f57320ec54d7","Message":"fix: P1 事务原子性+业务逻辑+前端安全修复 — 34 HIGH 缺陷解决\n\n## 事务缺失+事件原子性(8项 + 25处 void catch 消除)\n- 序列号激活包入 $transaction(sn.service.ts)\n- 出库单 deliver 包入 $transaction(shipment.service.ts)\n- 合同 create 事件移入事务内(contract.service.ts)\n- Lead marketing 事件去冗余事务(lead.service.ts)\n- BaseService batchUpdate/batchDelete 加事务保护\n- 13 个文件 25 处 void publishEvent().catch 替换为 logger.error\n- Order 状态转换加 status 条件更新(乐观锁)\n- SLA resume 改用 addBusinessMinutes(跳过非工作时段)\n\n## 业务逻辑+校验缺失(10项)\n- 工单 assign 校验用户有效性+租户归属\n- Order assign 校验用户租户归属\n- Opportunity create 校验 leadId/contactId 租户归属\n- Lead release 添加 canTransitionLead 校验(去除 as any)\n- 结算冲销 metadata 合并而非覆盖\n- Order update 拒绝 closed/cancelled/completed 状态编辑\n- Quote convertToContract 重构为单一事务 + 条件更新\n- getCurrentUser 添加 tenant_id 过滤\n- 工单 escalate 联动更新 priority + SLA 重匹配\n- 工单 start firstResponseAt 防覆盖\n\n## 前端安全+状态管理(6项)\n- API 响应拦截器增加 HTML/非对象响应防御\n- 多 Tab 登出同步(storage 事件监听)\n- 权限不足时 ElMessage.warning 提示\n- 路由 chunk 加载失败自动刷新(防循环)\n- useListPage handleDelete loading 守卫\n- localStorage Token 仅开发环境写入\n\n测试:87/87 通过(orders+contracts+leads+sla+base.service)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T20:52:01+08:00"},{"Sha1":"6830b2416fb6af52cf44ff07ef793f66a1d59334","Message":"fix: P0 安全+并发+隔离缺陷修复 — 19 CRITICAL 全部解决\n\n## 安全修复(S1-S3 + 额外 3 项)\n- 8 个运维端点加 authenticate + requireSuperAdmin 认证保护\n- 禁用未实现的注册/密码重置端点(返回 400)\n- Refresh Token Cookie maxAge 与 Redis TTL 对齐(30天→7天)\n- Redis 降级方向修正:故障时拒绝登录(非放行)\n- 无角色用户登录拒绝(非赋默认权限)\n- Prisma 错误信息生产环境脱敏(不返回 meta/SQL)\n\n## 多租户隔离修复(T1-T2 + E1)\n- Opportunity 5 处 update({ where: { id } }) → updateMany + tenant_id\n- Order 8 处同样模式修复(含 shipments/payments 关联表)\n- Opportunity 8 处 publishLifecycleEvent 添加 tx 参数\n\n## 并发安全修复(C1-C6 + F1-F2)\n- 库存扣减加 FOR UPDATE 行锁(防超卖)\n- 发货取消时回滚库存 + 记录流水\n- 客户余额 6 个操作方法加 FOR UPDATE(防资金丢失)\n- 结算金额改用 Prisma Decimal 精确运算\n- 佣金费率总和 ≤100% 校验\n- 团购核销包裹 $transaction + 条件 updateMany\n- BizCode 批量生成改用 upsert 原子操作\n\n## 状态机竞态修复(L1 + C6)\n- SLA 暂停/恢复/停止全部移入工单事务内\n- 工单 reopen 改用 assertTransition 标准流程\n- 联盟协议 5 个状态转换加 $transaction + 条件更新\n- 工单 cancel 重构为标准事务模式\n\n## 前端安全修复(FE1-FE4)\n- useListPage 请求序号机制(防列表竞态)\n- 12 个 Form.vue 补防重复提交守卫\n- 路由参数 UUID 格式全局校验\n- 12 处 window.open 加 noopener,noreferrer\n\n测试:31/31 通过(opportunity 19 + order 12)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T20:38:50+08:00"},{"Sha1":"a9c37ba6a57b57becc274010f8b892e28e5a7d30","Message":"refactor: 全栈死代码清理 + 重复消除 — 22 Agent 协作治理\n\n## 死代码清理(Phase 1-2 + Phase 4)\n- 删除 68 个死文件(20 service + 19 vue + 8 composable + 4 store + 3 API + 10 test + 2 util)\n- 卸载 4 个死 npm 包(express-validator / redis / @types/handlebars / @types/marked)\n- 删除 LLM 孤岛三件套(llm-gateway / prompt-registry / rag-pipeline)\n- 更新 6 个 barrel export 文件\n\n## 重复代码消除(Phase 3 全量推广)\n- asyncHandler Controller 改造:282/309(91.3%),4,443 个方法消除 try-catch 样板\n- idParamsSchema + withIdParams 工厂:180 个 schema 文件,1,016 处简化\n- toCamelCaseKeys 导入路径统一:105 个文件,207/207 达到 100%\n- useListPage composable:13 个 Index.vue 列表页样板消除\n- createCrudApi 工厂迁移:+24 个 API 模块(31% → 40%)\n- BaseService 迁移:+10 个纯 CRUD 模块(185 → 195)\n- el-table → DataTable 统一:+13 个页面(53% → 58%)\n\n## Bug 修复\n- SLA controller: next() → throw(authHandler 内不可用 next)\n- auth controller: 3 处 return next(error) → throw\n- cpq controller: 嵌套 try-catch 正确处理\n- useListPage: tableData 类型推断修复(Ref\u003cT[]\u003e)\n\n净减少 ~45,700 行代码,669 文件变更,283 个测试全绿。\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-23T20:19:56+08:00"}],"HeadCommit":{"Sha1":"ff3149170c6b0deb6d8151cb962592199b95bdd8","Message":"fix: 全面分析修复 — 44项安全+性能+架构+类型安全治理\n\n## 安全修复 (12项)\n- CRITICAL: 修复 knowledge-vector SQL 注入 + event-subscription SQL 注入\n- HIGH: 5处 $queryRawUnsafe → Prisma.sql, PDF XSS 防护, 租户严格模式\n- MEDIUM: 健康端点认证, CORS生产校验, PII脱敏, 权限缓存清除API\n\n## 性能优化 (5项)\n- N+1: getBulkSalesProfiles 800→9次, syncLinkStatistics 3N+1→3次\n- syncConversionStats 批量事务, leads 7索引补充, 慢查询监控恢复\n\n## 架构合规 (14项)\n- 12个controller prisma调用下沉service + requireTenantContext全局启用\n\n## 类型安全 — 77处as any清零\n- process-adapter 39→0, case-converter 15→0, validation 11→0, main 6→0\n\n## 前端v-permission核心链路6模块73指令 + 代码卫生清理\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T01:13:11+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/67078f9a95f53530156ad27027eafe15a3126e89...ff3149170c6b0deb6d8151cb962592199b95bdd8","Len":5}...
|
1774286006
|
Edit
Delete
|
|
343
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2ec5b7d80 {"Commits":[{"Sha1":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","Message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T08:29:44+08:00"}],"HeadCommit":{"Sha1":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","Message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T08:29:44+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","Len":1}...
|
1774312189
|
Edit
Delete
|
|
344
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"07680473f {"Commits":[{"Sha1":"07680473f95a02e139e159147a93ef74e61f3db2","Message":"refactor: 4模块 as any 热点清零 + prismaModel 统一代理\n\n## as any 清零 (48处)\n- redemptions.service.ts: 16→0 (prismaModel 代理)\n- store-settlements.service.ts: 13→0\n- store-inventory.service.ts: 10→0\n- community-analytics.service.ts: 9→0\n\n## 新增 prismaModel 辅助函数\n- prisma-fallback-types.ts 新增 PrismaModelDelegate 接口和 prismaModel() 函数\n- 替代散布的 (prisma as any).modelName 模式\n- 类型安全地访问 Prisma Client 类型未导出但运行时存在的模型\n\n累计 as any 清零:125处 (77+48) = process-adapter/case-converter/validation/\nmain/order/redemptions/store-settlements/store-inventory/community-analytics\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:01:52+08:00"}],"HeadCommit":{"Sha1":"07680473f95a02e139e159147a93ef74e61f3db2","Message":"refactor: 4模块 as any 热点清零 + prismaModel 统一代理\n\n## as any 清零 (48处)\n- redemptions.service.ts: 16→0 (prismaModel 代理)\n- store-settlements.service.ts: 13→0\n- store-inventory.service.ts: 10→0\n- community-analytics.service.ts: 9→0\n\n## 新增 prismaModel 辅助函数\n- prisma-fallback-types.ts 新增 PrismaModelDelegate 接口和 prismaModel() 函数\n- 替代散布的 (prisma as any).modelName 模式\n- 类型安全地访问 Prisma Client 类型未导出但运行时存在的模型\n\n累计 as any 清零:125处 (77+48) = process-adapter/case-converter/validation/\nmain/order/redemptions/store-settlements/store-inventory/community-analytics\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:01:52+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372...07680473f95a02e139e159147a93ef74e61f3db2","Len":1}...
|
1774314117
|
Edit
Delete
|
|
345
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cfe1efeda {"Commits":[{"Sha1":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","Message":"refactor: 5模块78处as any精确替换 + v-permission第三批 + API层any清理\n\n## as any 精确替换 (78处 → 0)\n- community-material.service.ts: 17→0 (Prisma UncheckedCreateInput + InputJsonValue)\n- swot.service.ts: 16→0 (Record\u003cstring,unknown\u003e + 具体接口)\n- groupbuy-analytics.service.ts: 16→0 (Prisma WhereInput + 移除冗余断言)\n- groupbuy-commission.service.ts: 15→0 (Prisma WhereInput + InputJsonValue)\n- workflow.service.ts: 14→0 (InputJsonValue + 具体类型)\n\n## v-permission 第三批 (9个指令)\n- knowledge: create (1)\n- sla: create (1)\n- inventory: update×2 (2)\n- assets: import/export/create (3)\n\n## 前端 API 层 any 清理\n- factory.ts: Record\u003cstring,any\u003e → Record\u003cstring,unknown\u003e (4处)\n- response-normalizer.ts: any → unknown (4处)\n\n累计 as any 清零:203处 (125+78)\n累计 v-permission:99个指令覆盖16模块\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:17:32+08:00"}],"HeadCommit":{"Sha1":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","Message":"refactor: 5模块78处as any精确替换 + v-permission第三批 + API层any清理\n\n## as any 精确替换 (78处 → 0)\n- community-material.service.ts: 17→0 (Prisma UncheckedCreateInput + InputJsonValue)\n- swot.service.ts: 16→0 (Record\u003cstring,unknown\u003e + 具体接口)\n- groupbuy-analytics.service.ts: 16→0 (Prisma WhereInput + 移除冗余断言)\n- groupbuy-commission.service.ts: 15→0 (Prisma WhereInput + InputJsonValue)\n- workflow.service.ts: 14→0 (InputJsonValue + 具体类型)\n\n## v-permission 第三批 (9个指令)\n- knowledge: create (1)\n- sla: create (1)\n- inventory: update×2 (2)\n- assets: import/export/create (3)\n\n## 前端 API 层 any 清理\n- factory.ts: Record\u003cstring,any\u003e → Record\u003cstring,unknown\u003e (4处)\n- response-normalizer.ts: any → unknown (4处)\n\n累计 as any 清零:203处 (125+78)\n累计 v-permission:99个指令覆盖16模块\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:17:32+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/07680473f95a02e139e159147a93ef74e61f3db2...cfe1efeda7265f05374d3bd0036cf684a15f3cb9","Len":1}...
|
1774315056
|
Edit
Delete
|
|
346
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8c39619c9 {"Commits":[{"Sha1":"8c39619c9cdb0d888d10942bf50533c8238021df","Message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:45:09+08:00"}],"HeadCommit":{"Sha1":"8c39619c9cdb0d888d10942bf50533c8238021df","Message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-24T09:45:09+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","Len":1}...
|
1774316714
|
Edit
Delete
|