|
7242
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
test-report.yml
|
7168
|
5
|
0
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T07:09:28+08:00","updated_at":"2026-03-23T07:09:28+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7233,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7233","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7233","display_title":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7159,"head_sha":"0900b15d607e5c78f97fec16a73357ad4f814390","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:12:16+08:00","completed_at":"2026-03-23T07:15:35+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774221842
|
1774221933
|
0
|
1774221691
|
1774222042
|
|
|
0
|
Edit
Delete
|
|
7243
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7169
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1907548,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-20T01:03:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774222046
|
1774222046
|
0
|
1774221940
|
1774222046
|
|
|
0
|
Edit
Delete
|
|
7244
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
test-report.yml
|
7170
|
5
|
0
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T07:09:28+08:00","updated_at":"2026-03-23T07:09:28+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7236,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7236","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7236","display_title":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7162,"head_sha":"0900b15d607e5c78f97fec16a73357ad4f814390","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:19:15+08:00","completed_at":"2026-03-23T07:20:16+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774222048
|
1774222051
|
0
|
1774222034
|
1774222058
|
|
|
0
|
Edit
Delete
|
|
7245
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7171
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1907548,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-20T01:03:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774222240
|
1774222240
|
0
|
1774222240
|
1774222240
|
|
|
0
|
Edit
Delete
|
|
7246
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7172
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1907548,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-20T01:03:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774222540
|
1774222540
|
0
|
1774222540
|
1774222540
|
|
|
0
|
Edit
Delete
|
|
7247
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7173
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1907548,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-20T01:03:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774222840
|
1774222840
|
0
|
1774222840
|
1774222840
|
|
|
0
|
Edit
Delete
|
|
7250
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
e2e-tests.yml
|
7176
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1774223077
|
1774223273
|
0
|
1774223020
|
1774223411
|
|
|
0
|
Edit
Delete
|
|
7254
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
health-check.yml
|
7180
|
-2
|
100
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774223403
|
1774223403
|
0
|
1774223140
|
1774223403
|
|
|
0
|
Edit
Delete
|
|
7255
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
test-report.yml
|
7181
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T07:43:31+08:00","updated_at":"2026-03-23T07:43:31+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7250,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7250","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7250","display_title":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7176,"head_sha":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:44:37+08:00","completed_at":"2026-03-23T07:47:53+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223405
|
1774223408
|
0
|
1774223273
|
1774223445
|
|
|
0
|
Edit
Delete
|
|
7256
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
test-report.yml
|
7182
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T07:43:31+08:00","updated_at":"2026-03-23T07:43:31+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7253,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7253","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7253","display_title":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7179,"head_sha":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:49:21+08:00","completed_at":"2026-03-23T07:49:52+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223415
|
1774223418
|
0
|
1774223392
|
1774223454
|
|
|
0
|
Edit
Delete
|
|
7257
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
test-report.yml
|
7183
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T07:43:31+08:00","updated_at":"2026-03-23T07:43:31+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7250,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7250","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7250","display_title":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7176,"head_sha":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:44:37+08:00","completed_at":"2026-03-23T07:47:53+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223447
|
1774223449
|
0
|
1774223411
|
1774223485
|
|
|
0
|
Edit
Delete
|
|
7258
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
health-check.yml
|
7184
|
-2
|
100
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919760,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:09:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774223475
|
1774223475
|
0
|
1774223440
|
1774223475
|
|
|
0
|
Edit
Delete
|
|
7259
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
test-report.yml
|
7185
|
5
|
0
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T07:43:31+08:00","updated_at":"2026-03-23T07:43:31+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7253,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7253","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7253","display_title":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7179,"head_sha":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:49:21+08:00","completed_at":"2026-03-23T07:49:52+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223487
|
1774223490
|
0
|
1774223474
|
1774223496
|
|
|
0
|
Edit
Delete
|
|
7262
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
e2e-tests.yml
|
7188
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1774223571
|
1774223769
|
0
|
1774223517
|
1774223907
|
|
|
0
|
Edit
Delete
|
|
7266
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7192
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774223899
|
1774223899
|
0
|
1774223740
|
1774223899
|
|
|
0
|
Edit
Delete
|
|
7267
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
test-report.yml
|
7193
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T07:51:53+08:00","updated_at":"2026-03-23T07:51:53+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7262,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7262","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7262","display_title":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7188,"head_sha":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:52:51+08:00","completed_at":"2026-03-23T07:56:09+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223901
|
1774223904
|
0
|
1774223769
|
1774223941
|
|
|
0
|
Edit
Delete
|
|
7268
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
test-report.yml
|
7194
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T07:51:53+08:00","updated_at":"2026-03-23T07:51:53+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7265,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7265","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7265","display_title":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7191,"head_sha":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:57:37+08:00","completed_at":"2026-03-23T07:58:08+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223911
|
1774223914
|
0
|
1774223889
|
1774223950
|
|
|
0
|
Edit
Delete
|
|
7269
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
test-report.yml
|
7195
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T07:51:53+08:00","updated_at":"2026-03-23T07:51:53+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7262,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7262","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7262","display_title":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7188,"head_sha":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:52:51+08:00","completed_at":"2026-03-23T07:56:09+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223943
|
1774223945
|
0
|
1774223907
|
1774223979
|
|
|
0
|
Edit
Delete
|
|
7270
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
test-report.yml
|
7196
|
5
|
0
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T07:51:53+08:00","updated_at":"2026-03-23T07:51:53+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7265,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7265","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7265","display_title":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7191,"head_sha":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T07:57:37+08:00","completed_at":"2026-03-23T07:58:08+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774223981
|
1774223983
|
0
|
1774223969
|
1774223990
|
|
|
0
|
Edit
Delete
|
|
7271
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7197
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774224040
|
1774224040
|
0
|
1774224040
|
1774224040
|
|
|
0
|
Edit
Delete
|
|
7272
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
e2e-tests.yml
|
7198
|
-2
|
103
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
20
|
1774224042
|
1774224138
|
0
|
1774224040
|
1774224141
|
|
|
0
|
Edit
Delete
|
|
7273
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7199
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774224340
|
1774224340
|
0
|
1774224340
|
1774224340
|
|
|
0
|
Edit
Delete
|
|
7274
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7200
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774224640
|
1774224640
|
0
|
1774224640
|
1774224640
|
|
|
0
|
Edit
Delete
|
|
7275
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7201
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774224940
|
1774224940
|
0
|
1774224940
|
1774224940
|
|
|
0
|
Edit
Delete
|
|
7276
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7202
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774225240
|
1774225240
|
0
|
1774225240
|
1774225240
|
|
|
0
|
Edit
Delete
|
|
7277
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7203
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774225540
|
1774225540
|
0
|
1774225540
|
1774225540
|
|
|
0
|
Edit
Delete
|
|
7278
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7204
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774225840
|
1774225840
|
0
|
1774225840
|
1774225840
|
|
|
0
|
Edit
Delete
|
|
7279
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7205
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774226140
|
1774226140
|
0
|
1774226140
|
1774226140
|
|
|
0
|
Edit
Delete
|
|
7280
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7206
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774226440
|
1774226440
|
0
|
1774226440
|
1774226440
|
|
|
0
|
Edit
Delete
|
|
7281
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7207
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774226740
|
1774226740
|
0
|
1774226740
|
1774226740
|
|
|
0
|
Edit
Delete
|
|
7282
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7208
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774227040
|
1774227040
|
0
|
1774227040
|
1774227040
|
|
|
0
|
Edit
Delete
|
|
7283
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7209
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774227340
|
1774227340
|
0
|
1774227340
|
1774227340
|
|
|
0
|
Edit
Delete
|
|
7284
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7210
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774227640
|
1774227640
|
0
|
1774227640
|
1774227640
|
|
|
0
|
Edit
Delete
|
|
7285
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7211
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774227940
|
1774227940
|
0
|
1774227940
|
1774227940
|
|
|
0
|
Edit
Delete
|
|
7286
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7212
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774228240
|
1774228240
|
0
|
1774228240
|
1774228240
|
|
|
0
|
Edit
Delete
|
|
7287
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7213
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774228540
|
1774228540
|
0
|
1774228540
|
1774228540
|
|
|
0
|
Edit
Delete
|
|
7288
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7214
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:43:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774228840
|
1774228840
|
0
|
1774228840
|
1774228840
|
|
|
0
|
Edit
Delete
|
|
7290
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
database-security.yml
|
7216
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
18
|
1774229096
|
1774229182
|
0
|
1774229062
|
1774229561
|
|
|
0
|
Edit
Delete
|
|
7292
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
e2e-tests.yml
|
7218
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1774229207
|
1774229412
|
0
|
1774229063
|
1774229570
|
|
|
0
|
Edit
Delete
|
|
7296
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7222
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774229554
|
1774229554
|
0
|
1774229140
|
1774229554
|
|
|
0
|
Edit
Delete
|
|
7297
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
test-report.yml
|
7223
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T09:22:37+08:00","updated_at":"2026-03-23T09:22:37+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7292,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7292","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7292","display_title":"chore: comprehensive governance updates and test artifacts","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7218,"head_sha":"339ea969ec2633756fb1a155d47723d0f61396a4","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T09:26:47+08:00","completed_at":"2026-03-23T09:30:12+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774229564
|
1774229567
|
0
|
1774229412
|
1774229621
|
|
|
0
|
Edit
Delete
|
|
7298
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7224
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774229587
|
1774229588
|
0
|
1774229440
|
1774229588
|
|
|
0
|
Edit
Delete
|
|
7299
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
test-report.yml
|
7225
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T09:22:37+08:00","updated_at":"2026-03-23T09:22:37+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7295,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7295","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7295","display_title":"chore: comprehensive governance updates and test artifacts","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7221,"head_sha":"339ea969ec2633756fb1a155d47723d0f61396a4","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T09:31:49+08:00","completed_at":"2026-03-23T09:32:23+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774229591
|
1774229594
|
0
|
1774229544
|
1774229630
|
|
|
0
|
Edit
Delete
|
|
7300
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
test-report.yml
|
7226
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-23T09:22:37+08:00","updated_at":"2026-03-23T09:22:37+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7292,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7292","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7292","display_title":"chore: comprehensive governance updates and test artifacts","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7218,"head_sha":"339ea969ec2633756fb1a155d47723d0f61396a4","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T09:26:47+08:00","completed_at":"2026-03-23T09:30:12+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774229622
|
1774229625
|
0
|
1774229570
|
1774229660
|
|
|
0
|
Edit
Delete
|
|
7301
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
test-report.yml
|
7227
|
5
|
0
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test.yml","name":"Test Suite","path":".github/workflows/test.yml","state":"active","created_at":"2026-03-23T09:22:37+08:00","updated_at":"2026-03-23T09:22:37+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7295,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7295","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7295","display_title":"chore: comprehensive governance updates and test artifacts","path":"test.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7221,"head_sha":"339ea969ec2633756fb1a155d47723d0f61396a4","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-23T09:31:49+08:00","completed_at":"2026-03-23T09:32:23+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1949305,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T09:24:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774229662
|
1774229665
|
0
|
1774229650
|
1774229671
|
|
|
0
|
Edit
Delete
|
|
7302
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7228
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774229741
|
1774229741
|
0
|
1774229740
|
1774229741
|
|
|
0
|
Edit
Delete
|
|
7303
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7229
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774230041
|
1774230041
|
0
|
1774230040
|
1774230041
|
|
|
0
|
Edit
Delete
|
|
7304
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7230
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774230341
|
1774230341
|
0
|
1774230340
|
1774230341
|
|
|
0
|
Edit
Delete
|
|
7305
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7231
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774230641
|
1774230641
|
0
|
1774230640
|
1774230641
|
|
|
0
|
Edit
Delete
|
|
7306
|
chore: comprehensive governance updates and test a chore: comprehensive governance updates and test artifacts...
|
6
|
5
|
health-check.yml
|
7232
|
-2
|
108
|
refs/heads/main
|
339ea969ec2633756fb1a155d47723d0f61396a4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","after":"339ea969ec2633756fb1a155d47723d0f61396a4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/df7b6f46170cb46db4771dd1e07991b0b13d90a0...339ea969ec2633756fb1a155d47723d0f61396a4","commits":[{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"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","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/339ea969ec2633756fb1a155d47723d0f61396a4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-23T09:22:37+08:00","added":["backend/prisma/migrations/manual/create_dynamic_sm_and_custom_fields.sql","backend/prisma/migrations/manual/create_knowledge_embeddings.sql","backend/prisma/migrations/materialized_views.sql","backend/prisma/schema/_base.prisma","backend/prisma/schema/_enums.prisma","backend/prisma/schema/ai.prisma","backend/prisma/schema/alliance.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/customers.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/geo.prisma","backend/prisma/schema/hr.prisma","backend/prisma/schema/im.prisma","backend/prisma/schema/knowledge.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/livestream.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/products.prisma","backend/prisma/schema/project.prisma","backend/prisma/schema/renewals.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/social.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/config/__tests__/kafka-router.test.ts","backend/src/config/tracing.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-analytics/alliance-analytics.service.test.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/modules/campaign-targets/campaign-target.service.test.ts","backend/src/modules/campaign-use-case-templates/use-case-template.service.test.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.test.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-analytics/community-analytics.service.test.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.test.ts","backend/src/modules/content-categories/content-category.service.test.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contract-templates/contract-template.service.test.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.test.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.test.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/events/event.service.test.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/geo-analytics/geo-analytics.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/hr/positions/positions.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.test.ts","backend/src/modules/livestream-products/livestream-product.service.test.ts","backend/src/modules/livestream-rooms/livestream-room.service.test.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.test.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/mdm/mdm.service.test.ts","backend/src/modules/menus/menu.service.test.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.test.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.test.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.test.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.test.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.test.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.test.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.test.ts","backend/src/modules/self-operated-store/self-operated-store.service.test.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/store-agency/store-agency.service.test.ts","backend/src/modules/suppliers/supplier.service.test.ts","backend/src/modules/video-calls/video-call.service.test.ts","backend/src/shared/middleware/__tests__/security-fixes.test.ts","backend/src/shared/middleware/field-encryption.middleware.ts","backend/src/shared/middleware/rate-limit.middleware.ts","backend/src/shared/services/__tests__/audit-log.service.test.ts","backend/src/shared/services/__tests__/custom-fields.service.test.ts","backend/src/shared/services/__tests__/dynamic-state-machine.service.test.ts","backend/src/shared/services/__tests__/list-cache.service.test.ts","backend/src/shared/services/__tests__/llm-gateway.service.test.ts","backend/src/shared/services/__tests__/prompt-registry.service.test.ts","backend/src/shared/services/abac-policy.service.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/services/custom-fields.service.ts","backend/src/shared/services/dynamic-state-machine.service.ts","backend/src/shared/services/field-encryption.service.ts","backend/src/shared/services/immutable-audit.service.ts","backend/src/shared/services/llm-gateway.service.ts","backend/src/shared/services/materialized-view.service.ts","backend/src/shared/services/prompt-registry.service.ts","backend/src/shared/services/rag-pipeline.service.ts","backend/src/shared/utils/__tests__/permission-normalizer.test.ts","backend/src/shared/utils/__tests__/validation-security.test.ts","backend/src/shared/utils/permission-normalizer.ts","deploy/clickhouse/config.xml","deploy/clickhouse/init.sql","deploy/debezium/register-connector.json","deploy/tempo/config.yaml","docker-compose.analytics.yml","docs/test-plan/TEST-PLAN.md","docs/user-manual/convert-tech-manual.mjs","docs/user-manual/convert-to-html.mjs","docs/user-manual/screenshots/01-login-2026-03-23T00-12-58-197Z.png","docs/user-manual/screenshots/02-dashboard-2026-03-23T00-13-11-223Z.png","docs/user-manual/screenshots/03-ai-agents-2026-03-23T00-13-44-706Z.png","docs/user-manual/screenshots/04-leads-2026-03-23T00-13-49-733Z.png","docs/user-manual/screenshots/05-lead-qualification-2026-03-23T00-13-55-424Z.png","docs/user-manual/screenshots/06-content-library-2026-03-23T00-14-01-180Z.png","docs/user-manual/screenshots/07-campaigns-2026-03-23T00-14-06-696Z.png","docs/user-manual/screenshots/08-opportunities-2026-03-23T00-14-12-799Z.png","docs/user-manual/screenshots/09-quotes-2026-03-23T00-14-20-564Z.png","docs/user-manual/screenshots/10-contracts-2026-03-23T00-14-26-796Z.png","docs/user-manual/screenshots/11-orders-2026-03-23T00-14-32-331Z.png","docs/user-manual/screenshots/12-stores-2026-03-23T00-14-37-745Z.png","docs/user-manual/screenshots/13-tickets-2026-03-23T00-14-43-846Z.png","docs/user-manual/screenshots/14-sla-2026-03-23T00-14-49-340Z.png","docs/user-manual/screenshots/15-ar-ledger-2026-03-23T00-14-54-842Z.png","docs/user-manual/screenshots/16-payments-2026-03-23T00-14-59-958Z.png","docs/user-manual/screenshots/17-purchase-orders-2026-03-23T00-15-06-034Z.png","docs/user-manual/screenshots/19-products-2026-03-23T00-15-17-479Z.png","docs/user-manual/screenshots/20-knowledge-2026-03-23T00-15-24-044Z.png","docs/user-manual/screenshots/21-approvals-2026-03-23T00-15-30-115Z.png","docs/user-manual/screenshots/22-hr-attendance-2026-03-23T00-15-36-643Z.png","docs/user-manual/screenshots/23-tenant-configs-2026-03-23T00-15-42-739Z.png","docs/user-manual/screenshots/25-roles-2026-03-23T00-15-56-801Z.png","docs/user-manual/screenshots/26-customers-2026-03-23T00-16-02-467Z.png","docs/user-manual/screenshots/27-im-2026-03-23T00-16-07-704Z.png","docs/user-manual/screenshots/tech-01-api-docs-2026-03-23T00-30-33-332Z.png","docs/user-manual/screenshots/tech-02-system-monitor-2026-03-23T00-30-42-759Z.png","docs/user-manual/screenshots/tech-03-event-logs-fix-2026-03-23T01-07-06-085Z.png","docs/user-manual/screenshots/tech-04-scheduled-jobs-2026-03-23T00-31-01-868Z.png","docs/user-manual/screenshots/tech-05-process-designer-2026-03-23T00-31-11-126Z.png","docs/user-manual/screenshots/tech-06-operation-logs-2026-03-23T00-31-20-335Z.png","docs/user-manual/screenshots/tech-07-settings-fix-2026-03-23T01-04-46-329Z.png","docs/user-manual/screenshots/tech-08-notification-configs-2026-03-23T00-31-38-845Z.png","docs/user-manual/technical-manual-content.md","docs/user-manual/technical-manual.html","docs/user-manual/user-manual-content.md","docs/user-manual/user-manual.html","docs/user-manual/巨嗨全域智库-技术开发手册-v1.0.pdf","docs/user-manual/巨嗨全域智库-用户使用手册-v1.0.pdf","e2e/QUARANTINE.md","e2e/playwright-report/data/0841239e09a180630fc75a988c85edb7d05739ad.md","e2e/playwright-report/data/db1fc0403d7c6af356a063a72ff6b4161a90d53a.png","e2e/test-results/.playwright-artifacts-240/040dee8f334f6c93fa788311a8961dae.png","e2e/test-results/.playwright-artifacts-240/058f808b72bfb61b392c5078d5509418.png","e2e/test-results/.playwright-artifacts-240/0893f4c2a4a7c014d48a306a37a5dc6f.png","e2e/test-results/.playwright-artifacts-240/1bd44c2c27b13a8e4e20754676e16753.png","e2e/test-results/.playwright-artifacts-240/202267e939ad0f07474e283188a20e7d.png","e2e/test-results/.playwright-artifacts-240/2643239379fd7e6fb2b3af6dacebc4fa.png","e2e/test-results/.playwright-artifacts-240/275d5fde4f54663504fbe6b3e84548d3.png","e2e/test-results/.playwright-artifacts-240/42867d3c5c17db159677472c69e89621.png","e2e/test-results/.playwright-artifacts-240/437c27fb2bacac72655c93b0b195c12b.png","e2e/test-results/.playwright-artifacts-240/4e1e7cc1649f584e86226ca11178f09d.png","e2e/test-results/.playwright-artifacts-240/505ec08f78c1ac4cfbd5a64a3e01ec29.png","e2e/test-results/.playwright-artifacts-240/50ad9cd6f3585ecf685f91c233f1100f.png","e2e/test-results/.playwright-artifacts-240/56d48ae872fca36631d1f464243747be.png","e2e/test-results/.playwright-artifacts-240/5be73b706dafcc86885ef501dccd65f9.png","e2e/test-results/.playwright-artifacts-240/61a48f54c74157d08f79a5c7638a2c75.png","e2e/test-results/.playwright-artifacts-240/67cbfdd34817fa76173eda99da253422.png","e2e/test-results/.playwright-artifacts-240/6de31eb46d49679d37fcb85e09bf50a7.png","e2e/test-results/.playwright-artifacts-240/719cc5c2833983e26d2e26fb6ecd1410.png","e2e/test-results/.playwright-artifacts-240/765d23b2babbdc342a5e33cda8d39a87.png","e2e/test-results/.playwright-artifacts-240/7f1c5b28525ac2cc41bc099e6f749ab3.png","e2e/test-results/.playwright-artifacts-240/800d3474ffbcfb84327a4cff203da5ab.png","e2e/test-results/.playwright-artifacts-240/82e93cc1f0a93cda9a36e89ffa14b831.png","e2e/test-results/.playwright-artifacts-240/834a6d7b46250bf3a7b6c74804572593.png","e2e/test-results/.playwright-artifacts-240/86a3a201ece1b35521f5b7cb565876c1.png","e2e/test-results/.playwright-artifacts-240/8ab300257837e88962f2a6b7027e13a0.png","e2e/test-results/.playwright-artifacts-240/941e36d46c2caceb2ea0fc70bed6bba5.png","e2e/test-results/.playwright-artifacts-240/9e77802004f48f7c693bc508c5d8d39b.png","e2e/test-results/.playwright-artifacts-240/a0e310742c0a3c96a02bdf2c7db7dfb2.png","e2e/test-results/.playwright-artifacts-240/c4f6a23e9cd556d8fa7d69f40bc122ac.png","e2e/test-results/.playwright-artifacts-240/c51c980a067ead90c72ee084ad8fc00a.png","e2e/test-results/.playwright-artifacts-240/d74a4495418c027fb3e4b838b4aa3521.png","e2e/test-results/.playwright-artifacts-240/dace6040beafd8d86a5baf4fe5f1ae2a.png","e2e/test-results/.playwright-artifacts-240/dce6caafe2e1fcdac2ee738369ed6098.png","e2e/test-results/.playwright-artifacts-240/df5df0fd3c83d8265e719acb6b3d0ee6.png","e2e/test-results/.playwright-artifacts-240/e07d7068d011403eeb553914cb5c364e.png","e2e/test-results/.playwright-artifacts-240/e5e82b734579c829a5939d96fcc05dff.png","e2e/test-results/.playwright-artifacts-240/e8cb101c527d05e5df6ca5fc2b904583.png","e2e/test-results/.playwright-artifacts-240/eaff6d849895b87797832af1a9a24d65.png","e2e/test-results/.playwright-artifacts-240/f0ff9429d9c71385cff328a94e1a703c.png","e2e/test-results/.playwright-artifacts-240/fba7d655d78e525212c958c6c2a7227d.png","e2e/test-results/.playwright-artifacts-241/094966347a6999bd858f5ab8a249f754.png","e2e/test-results/.playwright-artifacts-241/0b6068733b160e988728b3140bdbaef5.png","e2e/test-results/.playwright-artifacts-241/1bb8fb49ed8335c1df210ed0bbe9493c.png","e2e/test-results/.playwright-artifacts-241/1dc0352fb049eb5707b5ecdeb36e7588.png","e2e/test-results/.playwright-artifacts-241/248c7bde5073b7b22bc5737b59012f68.png","e2e/test-results/.playwright-artifacts-241/26e9b207b71a36018b2252efb70c0366.png","e2e/test-results/.playwright-artifacts-241/2ae009986a6d6b9b348e715140f0e05f.png","e2e/test-results/.playwright-artifacts-241/2e7643de8fce869a4dc6701b06f92045.png","e2e/test-results/.playwright-artifacts-241/34681405d2abf88b9b47e450f48ecaa3.png","e2e/test-results/.playwright-artifacts-241/45be60ad912dd46dfb7aa5cbee9f02d0.png","e2e/test-results/.playwright-artifacts-241/5bb07c90a274dac44963d8cceca8eb1e.png","e2e/test-results/.playwright-artifacts-241/5c81aa46578a6e4a399dcdf0d73ba8d3.png","e2e/test-results/.playwright-artifacts-241/643d257ac5cf926a92dfd4e67907a9dc.png","e2e/test-results/.playwright-artifacts-241/6454481b50c1adc6bc7e94d3fb946915.png","e2e/test-results/.playwright-artifacts-241/67232c5e7156aba881fa65d80af1207b.png","e2e/test-results/.playwright-artifacts-241/67d9026a171dc55ffc861a72ce9d4b2c.png","e2e/test-results/.playwright-artifacts-241/714aeb4c6b5950f311af88662c8b4424.png","e2e/test-results/.playwright-artifacts-241/7a8af77cb2620429282f057b7c7fd0ae.png","e2e/test-results/.playwright-artifacts-241/922282efa032ca16073c502056c2826f.png","e2e/test-results/.playwright-artifacts-241/9543fc36ad8580206d7a961590a7d83d.png","e2e/test-results/.playwright-artifacts-241/9c77f778e3b32c88fe3524c93a150de1.png","e2e/test-results/.playwright-artifacts-241/9c8a27ce50fdd70f043debd37db84261.png","e2e/test-results/.playwright-artifacts-241/9ce478697576abf803f23864fd3d01c7.png","e2e/test-results/.playwright-artifacts-241/a9df789309206957d3696bd33d4752b7.png","e2e/test-results/.playwright-artifacts-241/b16f350537ed50e46405ecd91275e9f4.png","e2e/test-results/.playwright-artifacts-241/b213a106fbdfe86fe5a2e40fd333aa0c.png","e2e/test-results/.playwright-artifacts-241/b82911d04e9ad9e3893351a21a56b011.png","e2e/test-results/.playwright-artifacts-241/b94da2213274548a93d16676dea24087.png","e2e/test-results/.playwright-artifacts-241/b98a93160e626ed6e3b05e7e527192fa.png","e2e/test-results/.playwright-artifacts-241/c2f7e527724d7e5eb8d379e3fbfc1b83.png","e2e/test-results/.playwright-artifacts-241/c800d08cc104e95000629104c11fd8b3.png","e2e/test-results/.playwright-artifacts-241/cd36bb67c1c05fedeac1923b06e6d4f5.png","e2e/test-results/.playwright-artifacts-241/d2ebbb7e8ca084380958c49f40f1bcac.png","e2e/test-results/.playwright-artifacts-241/d6ef796cc1833026cab7434b435084f4.png","e2e/test-results/.playwright-artifacts-241/dc49bd3538e061f12e7b17709d6bba0d.png","e2e/test-results/.playwright-artifacts-241/e014d348f300176842a83787a7f7938c.png","e2e/test-results/.playwright-artifacts-241/e8b738bc9925b35cacb65db8fd37bd27.png","e2e/test-results/.playwright-artifacts-241/ed833f2d058e02081a433bb71c5c71ca.png","e2e/test-results/.playwright-artifacts-241/f42b7455348166022fb51732079f16a2.png","e2e/test-results/.playwright-artifacts-241/f7ffcca2f8bd695dbd421e83dfd7dacb.png","e2e/test-results/crud-00-crud-runner-CRUD-严-0b88a-矩阵-module-resource-requests-chromium/attachments/probe-P01-828a9fe4a1cc10ad814b8901ea3f331dabb4f466.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1445f--创建成功-module-admin-settings-chromium/attachments/probe-C01-b70ed60761f6c844c0724c90be9bd3a2e28f887e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-159b4-失败-module-resource-requests-chromium/attachments/probe-C02-579660baa87709a7140145510b380b58f4afc555.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1a1ae--用户管理-P01-权限矩阵-module-users-chromium/attachments/probe-P01-21d61422e262180992f04fed0d6e1f58f4f8928a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1ad44--异常恢复-module-admin-settings-chromium/attachments/probe-E01-167118b9260fa76b0a2a1f0fa96675e800dc6f74.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20309-异常恢复-module-stage-knowledge-chromium/attachments/probe-E01-65c2d06fb134d7cb9f3931a7131cf0260ea97061.json","e2e/test-results/crud-00-crud-runner-CRUD-严-22f29-理-D02-恢复或不可见校验-module-roles-chromium/attachments/probe-D02-d26e2d296f3e8407ccfd9c2cc2f24cf6829a8508.json","e2e/test-results/crud-00-crud-runner-CRUD-严-239e9-验-module-knowledge-feedback-chromium/attachments/probe-D02-e58bb6a96915688b8f2287bbb25bab2388293c52.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2ba01-更新成功-module-stage-knowledge-chromium/attachments/probe-U01-208017e0ddf654dcec7c7e6ed78e75cdbcaeefe5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2c5eb-建校验失败-module-admin-settings-chromium/attachments/probe-C02-c917accda05528170401af83fb11a330a3cbda4d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34d7b-可见校验-module-stage-knowledge-chromium/attachments/probe-D02-821275ce5a1a2d3c0299a4438bc0551a6d53176c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-34f0e--更新成功-module-admin-settings-chromium/attachments/probe-U01-f4a4e93fb88c2ef19abde8f7dd664879de695c9f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-365ba--用户管理-C01-创建成功-module-users-chromium/attachments/probe-C01-900190bda813dce7a5e62caaa492f5a3677f3e23.json","e2e/test-results/crud-00-crud-runner-CRUD-严-392a1--im-即时通讯-E01-异常恢复-module-im-chromium/attachments/probe-E01-fa3a07d4be5ae62afd985ab459bbd15a33a2fdef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3a38c--D01-删除-软-硬-可用-module-roles-chromium/attachments/probe-D01-ae5282c3a94d95edce6b6b614e0f1c7bb0cacec0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4220e--角色管理-P01-权限矩阵-module-roles-chromium/attachments/probe-P01-bf40ed0eb839caf8e2dc359b3fbf41adc61a8186.json","e2e/test-results/crud-00-crud-runner-CRUD-严-43344-校验失败-module-stage-knowledge-chromium/attachments/probe-C02-c40333d9c899532c29747a98c3608a229f081c35.json","e2e/test-results/crud-00-crud-runner-CRUD-严-460f0-户管理-C02-创建校验失败-module-users-chromium/attachments/probe-C02-793ed6868532d6f08fa3b7e01ef91cee883edc62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b07d--可用-module-process-designer-chromium/attachments/probe-D01-acbfe0f811bb517717a6b841a585892cbebff24c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4b4f5-可用-module-resource-requests-chromium/attachments/probe-D01-2e8e53337f638a07ab7cc317baa3d97366c245e0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4c7f3--im-即时通讯-P01-权限矩阵-module-im-chromium/attachments/probe-P01-b22bb94be6b4cf1a140ec1c9f11b2ce4b3ea633f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-52d8f-校验-module-resource-requests-chromium/attachments/probe-D02-dbcf98c1134a088b83217a812d0c0a8650ac69a3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-538f0-色管理-C02-创建校验失败-module-roles-chromium/attachments/probe-C02-2f4ee0aa5a1a7bf30860781b2ab8e052c752a87c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-60bbd-管理-U02-更新权限-冲突-module-roles-chromium/attachments/probe-U02-0531249436aff73c81d0fc89355c4cbc7167ec8d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6bff7-理-D02-恢复或不可见校验-module-users-chromium/attachments/probe-D02-cfa483afa2a0dcba0b625f169d4ddfd4df7815e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6d194-见校验-module-process-designer-chromium/attachments/probe-D02-ace63a12d5911b8f54a54b89d94362c9b7276535.json","e2e/test-results/crud-00-crud-runner-CRUD-严-72cf4--角色管理-U01-更新成功-module-roles-chromium/attachments/probe-U01-daf71b632d68b74b441594222818913f9937bd60.json","e2e/test-results/crud-00-crud-runner-CRUD-严-77ec5-创建成功-module-stage-knowledge-chromium/attachments/probe-C01-073ec52dcaf122cc92ed77c881d6407f63e053ea.json","e2e/test-results/crud-00-crud-runner-CRUD-严-7f7f1--列表可读-module-admin-settings-chromium/attachments/probe-R01-1b19c02416b08eebec04e254505821f27bda570e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89494--冲突-module-process-designer-chromium/attachments/probe-U02-57053c2bcdfde404efd732026ff7bbb7c2a742c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-89599-冲突-module-resource-requests-chromium/attachments/probe-U02-3bbd6461e4141361d2910d0d997a2174989df606.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8d2e4-硬-可用-module-stage-knowledge-chromium/attachments/probe-D01-bcca5204eae3c340bcf2e5d455dde9e35cc10053.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8fa15-复-module-knowledge-feedback-chromium/attachments/probe-E01-768d744b990df78d05147237c0636c4ee771c1ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9d5c3-新成功-module-process-designer-chromium/attachments/probe-U01-b82cb3f43ec5fd03fbcf5e9a47076d4b327698f7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a99bb-m-即时通讯-C02-创建校验失败-module-im-chromium/attachments/probe-C02-fd074e16ad7f94b54706d083613b4b5d32b93e4b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b4daf--权限矩阵-module-admin-settings-chromium/attachments/probe-P01-d0080ae80a82c103bcd848bca31d749b3dcc8352.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b8549-成功-module-resource-requests-chromium/attachments/probe-U01-ca13f11ed3d09b5def3fe7e441ad40110d2b0379.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4557--用户管理-U01-更新成功-module-users-chromium/attachments/probe-U01-712df3b828fbaea6fc759167308e86fa7855176f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c6c39-恢复-module-resource-requests-chromium/attachments/probe-E01-e9b591e744c63185541a625ceba5e5d973b6746b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c7867--角色管理-C01-创建成功-module-roles-chromium/attachments/probe-C01-7a7d119a902c3f458539ddaa114898e0a33f4d8f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cc828--即时通讯-U02-更新权限-冲突-module-im-chromium/attachments/probe-U02-76760ce7a07288e361d11e3be6c77b61b817ee40.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ce2ac--详情可读-module-admin-settings-chromium/attachments/probe-R03-cea057b72b957fdb65cc5e3b674bfa2f05636e5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d14d4--用户管理-E01-异常恢复-module-users-chromium/attachments/probe-E01-6169c2a0eaab0a87b4892d56e1c64902f64e0217.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d3762-限-冲突-module-stage-knowledge-chromium/attachments/probe-U02-9e395cc67c38073bfd6eb6ad38fe5ac43a337d56.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d6fb4-常恢复-module-process-designer-chromium/attachments/probe-E01-b1f8e178d5a774eddb298c119317b36e0414d60d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de878--角色管理-E01-异常恢复-module-roles-chromium/attachments/probe-E01-bb017dd97b92cb05f37191c933e038af13a8c04a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e43a6-限矩阵-module-process-designer-chromium/attachments/probe-P01-e9df19eeca43b46dca36a135566329b6da44cacd.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e4560-管理-U02-更新权限-冲突-module-users-chromium/attachments/probe-U02-a105db3f1ef20b6b8ba0ed401d244b376932736b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ea129-阵-module-knowledge-feedback-chromium/attachments/probe-P01-c3160dc84a9d7fea219587cb594dd8add36d515d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec3b8-验失败-module-process-designer-chromium/attachments/probe-C02-dae6185bd96e2e2c88c4bb9104517a939b2afb15.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ed28f-权限矩阵-module-stage-knowledge-chromium/attachments/probe-P01-703da6de6b8031b653cf5cb16f3656f251917838.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ee943-成功-module-resource-requests-chromium/attachments/probe-C01-96dc059a7597ae051b9d321db1cb4b470806e6f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eee91-用-module-knowledge-feedback-chromium/attachments/probe-D01-43d0c2e97c66fbd3301826ea68d66fce62cb7eb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f3c4d-询筛选分页-module-admin-settings-chromium/attachments/probe-R02-55334ddef6735b6dddfc2d2e6143a089efb9be24.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f690b--D01-删除-软-硬-可用-module-users-chromium/attachments/probe-D01-6438fdd0fae658cd354e2761efa5b0065ab74607.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fabfb-建成功-module-process-designer-chromium/attachments/probe-C01-65e7119661d41d890e1f8d734662a8ce3b15268c.json","e2e/test-results/crud/probes/admin-settings-C01-1774228943803.json","e2e/test-results/crud/probes/admin-settings-C02-1774228945689.json","e2e/test-results/crud/probes/admin-settings-E01-1774228954200.json","e2e/test-results/crud/probes/admin-settings-P01-1774228952357.json","e2e/test-results/crud/probes/admin-settings-R01-1774228946846.json","e2e/test-results/crud/probes/admin-settings-R02-1774228948718.json","e2e/test-results/crud/probes/admin-settings-R03-1774228950565.json","e2e/test-results/crud/probes/admin-settings-U01-1774228956047.json","e2e/test-results/crud/probes/im-C02-1774228926548.json","e2e/test-results/crud/probes/im-E01-1774228936351.json","e2e/test-results/crud/probes/im-P01-1774228934107.json","e2e/test-results/crud/probes/im-U02-1774228939732.json","e2e/test-results/crud/probes/knowledge-feedback-D01-1774228819428.json","e2e/test-results/crud/probes/knowledge-feedback-D02-1774228821536.json","e2e/test-results/crud/probes/knowledge-feedback-E01-1774228817921.json","e2e/test-results/crud/probes/knowledge-feedback-P01-1774228815781.json","e2e/test-results/crud/probes/process-designer-C01-1774228822742.json","e2e/test-results/crud/probes/process-designer-C02-1774228824586.json","e2e/test-results/crud/probes/process-designer-D01-1774228839637.json","e2e/test-results/crud/probes/process-designer-D02-1774228841175.json","e2e/test-results/crud/probes/process-designer-E01-1774228834388.json","e2e/test-results/crud/probes/process-designer-P01-1774228832112.json","e2e/test-results/crud/probes/process-designer-U01-1774228835867.json","e2e/test-results/crud/probes/process-designer-U02-1774228837789.json","e2e/test-results/crud/probes/resource-requests-C01-1774228842926.json","e2e/test-results/crud/probes/resource-requests-C02-1774228844702.json","e2e/test-results/crud/probes/resource-requests-D01-1774228859373.json","e2e/test-results/crud/probes/resource-requests-D02-1774228861489.json","e2e/test-results/crud/probes/resource-requests-E01-1774228854515.json","e2e/test-results/crud/probes/resource-requests-P01-1774228852276.json","e2e/test-results/crud/probes/resource-requests-U01-1774228855843.json","e2e/test-results/crud/probes/resource-requests-U02-1774228857762.json","e2e/test-results/crud/probes/roles-C01-1774228862700.json","e2e/test-results/crud/probes/roles-C02-1774228864549.json","e2e/test-results/crud/probes/roles-D01-1774228879608.json","e2e/test-results/crud/probes/roles-D02-1774228881181.json","e2e/test-results/crud/probes/roles-E01-1774228874266.json","e2e/test-results/crud/probes/roles-P01-1774228872022.json","e2e/test-results/crud/probes/roles-U01-1774228875744.json","e2e/test-results/crud/probes/roles-U02-1774228877671.json","e2e/test-results/crud/probes/stage-knowledge-C01-1774228882938.json","e2e/test-results/crud/probes/stage-knowledge-C02-1774228884716.json","e2e/test-results/crud/probes/stage-knowledge-D01-1774228900165.json","e2e/test-results/crud/probes/stage-knowledge-D02-1774228901711.json","e2e/test-results/crud/probes/stage-knowledge-E01-1774228894714.json","e2e/test-results/crud/probes/stage-knowledge-P01-1774228892441.json","e2e/test-results/crud/probes/stage-knowledge-U01-1774228896206.json","e2e/test-results/crud/probes/stage-knowledge-U02-1774228898148.json","e2e/test-results/crud/probes/users-C01-1774228903774.json","e2e/test-results/crud/probes/users-C02-1774228905307.json","e2e/test-results/crud/probes/users-D01-1774228921548.json","e2e/test-results/crud/probes/users-D02-1774228923127.json","e2e/test-results/crud/probes/users-E01-1774228915372.json","e2e/test-results/crud/probes/users-P01-1774228913142.json","e2e/test-results/crud/probes/users-U01-1774228917209.json","e2e/test-results/crud/probes/users-U02-1774228919166.json","e2e/tests/quarantine/.gitkeep","frontend/src/composables/__tests__/useApiQuery.test.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/__tests__/knowledge.store.test.ts","frontend/src/styles/_containers.scss","frontend/src/styles/layers.css","frontend/src/utils/echarts.ts"],"removed":["e2e/test-results/results.json"],"modified":[".github/workflows/ci.yml","backend/.env.example","backend/package.json","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/__tests__/sales.consumer.test.ts","backend/src/main.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.test.ts","backend/src/modules/channels/channel.schema.test.ts","backend/src/modules/community-gamification/community-gamification.service.test.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/content-analytics/content-analytics.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customer-analytics/customer-analytics.service.test.ts","backend/src/modules/customer-balance/customer-balance.service.test.ts","backend/src/modules/financial-reports/financial-reports.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/im/websocket/gateway.ts","backend/src/modules/im/websocket/health.ts","backend/src/modules/im/websocket/redis-adapter.ts","backend/src/modules/integration-services/integration-service.service.test.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.test.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/serial-numbers/sn.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/services/__tests__/outbox-processor.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/services/outbox-processor.service.ts","backend/src/shared/state-machines/__tests__/ai-task.machine.test.ts","backend/src/shared/state-machines/__tests__/contract.machine.test.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/crud.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","backend/tests/unit/services/lead.service.test.ts","backend/tests/unit/services/quote.service.test.ts","deploy/grafana/provisioning/datasources/datasources.yml","docker-compose.prod.yml","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/playwright.config.ts","e2e/test-results/.last-run.json","frontend/package.json","frontend/src/components/common/DataTable.vue","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/main.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/supplemental.ts","frontend/src/stores/auth.ts","frontend/src/styles/index.scss","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/vite.config.ts","pnpm-lock.yaml"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1919936,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-23T07:52:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774230941
|
1774230941
|
0
|
1774230940
|
1774230941
|
|
|
0
|
Edit
Delete
|