|
39387
|
16
|
5
|
16
|
125
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"68a0d5d09 {"Commits":[{"Sha1":"68a0d5d096ae12cb8cb23b6684467b0276dede4a","Message":"feat: 合并角色分配与用户组成员姓名显示的前端接入\n\n后端 b6c5512 已为业务角色分配、成员候选和用户组详情补齐姓名。合并 feat/console-layout 上对应的前端接入,让应用「角色分配」和用户组成员不再只显示成员代码。\n\n实现内容:\n- 合入 6f2d8cf:角色分配列表、分配候选、用户组成员清单与勾选器显示「姓名 + 成员代码」,姓名未确认时提示,搜索框改为可按姓名或成员代码搜索;用户组详情改用只读 members 数组,删除前 100 个候选反查\n- 合入 354be5b:用户组改名 403/404 测试改为等待错误块聚焦后再断言\n- 只修改 iam-admin-web;写入接口、UUID、版本与 CSRF 处理不变\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:38 个测试文件 339 项测试及格式、lint、类型检查、构建全部通过\n- 合并前核对 main 上 b6c5512 的交接文档与查询字段(subject_name、subject_name_set、display_name_set、members)与前端读取一致;b6c5512 未修改 iam-admin-web\n- 未与真实后端联调,相关验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T01:03:02-07:00"},{"Sha1":"b6c5512d570e29949a14257b436fc1de35d8e73b","Message":"fix(auth): 补齐委派授权与用户组成员姓名\n\n授权管理员需要通过姓名辨认分配对象,组详情也不能依赖前一页候选反查成员。\n\n实现内容:\n- 业务角色绑定及成员候选返回姓名和确认标记,支持姓名与成员代码搜索\n- 用户组详情增加完整只读 members 数组,与 memberships 共用查询结果\n- 保留原企业和应用权限、隐私边界及停用撤权规则\n- 补充权限、搜索、历史状态和完整成员回归测试,同步接口合同与前端交接文档\n\n验证:\n- Maven verify:319 项单元测试、51 项指定集成测试通过,失败、错误和跳过均为 0\n- verify 包含 Spotless 格式检查、编译、架构检查及后端打包;git diff --check 通过\n- 未执行全量集成测试、前端构建及浏览器验收\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T00:51:53-07:00"},{"Sha1":"6f2d8cf8392a3c27d5e1806729e2342ef040a621","Message":"feat(console): 角色分配与用户组成员显示姓名\n\n应用「角色分配」和用户组成员原先只能显示成员代码,管理员认不出分配对象。后端已按 docs/console/delegated-member-names-handoff.md 为业务角色分配、成员候选和用户组详情补齐姓名,前端随之接入。\n\n实现内容:\n- 角色分配列表与详情的成员显示姓名,副信息「成员 · 成员代码」,subject_name_set=false 时提示「姓名未确认」;用户组分配 subject_name 为 null,继续显示组名称\n- 分配角色的成员候选显示姓名与成员代码,搜索框改为「搜索姓名或成员代码」,用户组候选为「搜索用户组名称或代码」;CandidatePicker 新增 searchLabel,企业管理员候选同样使用成员文案;分配记录搜索框改为「搜索姓名、成员代码、用户组或角色」\n- 用户组详情直接使用只读 members 数组显示全部成员(含本人、第 101 人以后),删除先读前 100 个候选反查代码的逻辑;新加入的人用勾选器看到的候选信息显示;停用成员注明「成员已停用」\n- 用户组清单与勾选器显示「姓名 + 成员代码」,按钮无障碍名称为「移除成员 姓名(代码)」以区分同名成员;搜索框改为「搜索姓名或成员代码」\n- 写入保持不变:组成员全量替换仍只提交 {version,memberships},不发送 members,姓名不作为标识或写入值;后端不返回 members 或姓名时回退显示代码或标识缩写\n- 同步类型注释、单元测试,以及 acceptance-t02、acceptance-t04、acceptance-group-lifecycle 的搜索框名称与候选定位(改为按行内成员代码定位)\n\n验证:\n- npm run check:格式、lint、类型检查、38 个测试文件 339 项测试与构建全部通过\n- 新增或改写测试覆盖:业务分配姓名、组绑定名称、姓名未确认、两类候选搜索框;组详情 25 人全部显示姓名与代码、停用成员、打开勾选器前不请求候选;勾选器姓名显示及新加入成员的显示\n- 浏览器经本地模拟接口验证:角色分配列表与候选显示姓名、按姓名搜索出两名同名成员并以代码区分;用户组清单与勾选器显示姓名,勾选前后被点行位置与高度不变\n- 后端改动目前仍是主目录未提交改动,未与真实后端联调;三个验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T00:49:30-07:00"},{"Sha1":"354be5b9c9f80a7bb5d750274e0aaaa736016416","Message":"test(console): 等待用户组改名错误块聚焦后再断言\n\n用户组改名返回 403/404 的用例在错误文案出现后立即断言焦点,而错误块是在提交后的 effect 里才聚焦,多文件并行运行时偶发先断言、后聚焦而失败。\n\n实现内容:\n- group-lifecycle 的 403/404 用例改为 waitFor 等待焦点落到 .write-error 后再断言,界面行为不变\n\n验证:\n- 此前该用例在多文件并行运行中出现过 2 次失败;在修改前的 6bd108d 与当前代码上分别用同一组 5 个测试文件连续运行 8 轮,均未复现\n- 修改后 group-lifecycle、group-editor、display-name-reads、authorization-management 共 40 项测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T00:49:14-07:00"},{"Sha1":"130a9ed5ceca7be71baed1ddecd2c4b085bd7ea6","Message":"fix: 合并用户组成员布局改造\n\n用户组详情勾选候选成员时,上方「已选成员」列表随勾选变高,页面看起来一直在自己滚动。合并 feat/console-layout 上的前端修复,把成员清单与「添加成员」勾选器分开显示。\n\n实现内容:\n- 合入 9ca3197:成员清单与勾选器二选一显示,勾选时上方内容高度不变;待加入、待移除在清单原位标注并可撤销,新增「还原」\n- 只修改 iam-admin-web 下的页面、样式、单元测试与 acceptance-t02 选择器,不涉及后端与接口合同\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:38 个测试文件 337 项测试及格式、lint、类型检查、构建全部通过\n- 合并结果与 9ca3197 的文件树一致(合并前 main 即为该提交的父提交)\n- acceptance-t02 未运行;未与真实后端联调\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T00:39:13-07:00"}],"HeadCommit":{"Sha1":"68a0d5d096ae12cb8cb23b6684467b0276dede4a","Message":"feat: 合并角色分配与用户组成员姓名显示的前端接入\n\n后端 b6c5512 已为业务角色分配、成员候选和用户组详情补齐姓名。合并 feat/console-layout 上对应的前端接入,让应用「角色分配」和用户组成员不再只显示成员代码。\n\n实现内容:\n- 合入 6f2d8cf:角色分配列表、分配候选、用户组成员清单与勾选器显示「姓名 + 成员代码」,姓名未确认时提示,搜索框改为可按姓名或成员代码搜索;用户组详情改用只读 members 数组,删除前 100 个候选反查\n- 合入 354be5b:用户组改名 403/404 测试改为等待错误块聚焦后再断言\n- 只修改 iam-admin-web;写入接口、UUID、版本与 CSRF 处理不变\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:38 个测试文件 339 项测试及格式、lint、类型检查、构建全部通过\n- 合并前核对 main 上 b6c5512 的交接文档与查询字段(subject_name、subject_name_set、display_name_set、members)与前端读取一致;b6c5512 未修改 iam-admin-web\n- 未与真实后端联调,相关验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T01:03:02-07:00"},"CompareURL":"pengzhiyu/IAM/compare/6bd108ddfd20351569b88f276ed8cfa90e7f6f3b...68a0d5d096ae12cb8cb23b6684467b0276dede4a","Len":6}...
|
1792397097
|
Edit
Delete
|
|
39671
|
16
|
5
|
16
|
125
|
0
|
0
|
refs/heads/feat/console-layout
|
0
|
{"Commits":[{"Sha1":"2986e411b {"Commits":[{"Sha1":"2986e411b9c9cdae18aab1a2529a2297f33420f6","Message":"feat: 合并业务应用接入免重启的前端接入\n\n后端 5a6b2c0(V37 通知在线登记)与 9409c5e(V38 应用级权限查询凭据)已支持接入新应用或新企业不重启。现合并 feat/console-layout 上对应的前端接入与选型记录更新。\n\n实现内容:\n- 合入 da944e5:客户端详情新增「通知地址」分区,可登记、修改、停用退出通知与权限变化通知(地址加固定 IP,可自动跟随开通企业或只发给指定企业),只有平台管理员读写;登录设置不再修改退出通知地址,保存时原样带回;权限查询接入先选查询范围,应用共享时提交不带 tenantId,空企业显示为所有已开通企业;启用应用时说明两种接入方式\n- 合入 bda169a:演示前端为 CALLER_CREDENTIAL_EXPIRED 提示联系管理员更新凭据\n- 合入 1c6f705:选型记录补记 Codex 的评估与实现结果及前端提交\n- 只修改 iam-admin-web、iam-demo-web 与 docs/app-onboarding-no-restart.md;未改动后端代码\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:iam-admin-web 39 个测试文件 349 项及格式、lint、类型检查、构建通过;iam-demo-web 3 个测试文件 31 项及构建通过\n- 合并前核对前端读取字段与交接文档 docs/handoff/app-onboarding-no-restart-frontend-01.md 及后端 NotificationRegistry 一致\n- 未与真实后端联调,未做浏览器走查,验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:04:02-07:00"},{"Sha1":"1c6f705b52f953bd1d12115a2de52e2b34a5d9d8","Message":"docs: 补记业务应用接入免重启的实现结果\n\n选型记录原先停在\"已转交 Codex、尚未回传\"。现在后端(5a6b2c0、9409c5e,A39)和前端接入均已完成,补记最终结论,方便以后查证。\n\n实现内容:\n- 状态改为后端已实现,并指向 A39\n- 2.5、3.5 节补充 Codex 的评估与实现结果:固定 IP 采用方案 (a)、部署边界不热加载、只有平台管理员可登记、目标数量上限,以及 tenantId 可空、按调用方×企业计算额度、重叠登记加热切换的轮换流程、演示应用调整与回退限制\n- 后续事项表更新为已完成,注明前端提交 da944e5、bda169a,以及未联调、未浏览器走查\n- 依据一节注明\"现状\"中的代码行号描述的是改造前的代码\n\n验证:\n- 核对文档引用的 A39 等文件存在,检查无行尾空白\n- 纯文档改动,未运行代码测试\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:34-07:00"},{"Sha1":"bda169adab261d90a8a87c87925667167acb5469","Message":"feat(iam-demo-web): 提示权限查询凭据已过期\n\nSDK 改用可热切换的凭据文件后,文件过期时业务接口返回 503 CALLER_CREDENTIAL_EXPIRED。演示前端原先按通用 503 提示稍后再试,但重试不会恢复,需要管理员更新凭据。\n\n实现内容:\n- errors.ts 为 CALLER_CREDENTIAL_EXPIRED 增加专门说明,提示联系管理员更新凭据\n- shared.test.tsx 增加对应用例,确认不再按服务暂时不可用提示\n\n验证:\n- npm --prefix iam-demo-web run check:格式、lint、类型检查通过,3 个测试文件 31 项通过,两个应用构建通过\n- 未与真实演示后端联调\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:15-07:00"},{"Sha1":"da944e55f7ca67d7b4d2076a0bd8148bfb2af6a8","Message":"feat(console): 接入通知地址在线登记与应用共享的权限查询登记\n\n后端已支持在控制台登记通知地址(V37)和不限企业的权限查询凭据(V38),接入新应用或新企业不再需要重启。控制台此前只能在登录设置里填写部署白名单内的退出通知地址,权限查询登记也只能选一家企业,现按新接口接入。\n\n实现内容:\n- 客户端详情新增「通知地址」分区(ClientNotifications.tsx),可登记、修改、停用退出通知和权限变化通知;必须同时填写地址和连接用的固定 IP,并说明证书仍按域名验证\n- 权限变化通知默认自动跟随开通企业、不提交企业名单,也可只发给指定企业(最多 1000 家);未在线登记时说明部署配置可能仍在生效\n- 只有平台管理员读写通知登记;应用管理员只看到当前退出通知地址,不请求平台专属接口\n- 登录设置去掉退出通知地址输入框,保存时原样带回 backchannel_uri;通知修改期间暂停登录设置与停用、归档,避免互相让客户端版本过期\n- 地址被拒、数量上限、退出通知已迁移导致的冲突及部署配置不再允许旧地址,分别给出说明\n- 权限查询接入先明确选择查询范围(所有开通企业或只限一家企业),应用共享时从平台应用中选择且提交不带 tenantId;tenant_id 为空显示为所有已开通企业,不去读取企业\n- 密钥更换与停用说明改为先登记新的一份、换好后再停用旧份;启用应用时说明共用接入与单独部署接入的区别\n- 新增 app-onboarding 组件测试 10 项,调整调用方登记与客户端名称的原有用例\n\n验证:\n- npm --prefix iam-admin-web run check:格式、lint、类型检查通过,39 个测试文件 349 项通过,构建通过\n- 未与真实后端联调,未做浏览器走查\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:04-07:00"},{"Sha1":"9409c5e622fe925b3974bed3ab8dd2742d5e12fe","Message":"feat(authorization): 支持应用级决策凭据与免重启轮换\n\n共享应用接入新企业时无需追加企业调用秘密或重启BFF,同时保留专属实例单企业范围。\n\n实现内容:\n- V38支持可空企业限定,保持历史凭据范围和主体当前开通、准入及生命周期复核\n- 调用预算按调用方与企业隔离,通知企业从当前开通关系计算\n- SDK兼容旧映射,支持应用凭据和私有文件热切换,坏文件保留旧值至原截止\n- 使用独立登记两份凭据完成重叠切换,缓存按调用秘密摘要隔离\n- 演示机器交付从机器配置与旧映射发现企业,并保留每轮32家处理上限\n- 补充通知退出边界、迁移回退、安全取舍、部署示例及前端交接\n\n验证:\n- Java25、Maven Wrapper定向verify与补充边界复验:110项不重复计数测试全部通过\n- 覆盖SDK文件安全/缓存/通知、固定IP与TLS、真实PG/Redis新企业授权与预算、管理HTTP、V36至V38非空迁移、演示业务\n- Spotless、编译打包与git diff --check通过\n- 未执行全仓库全部测试,未部署预览或生产;人员快照、默认部门和机器身份仍需独立配置\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T22:35:25-07:00"}],"HeadCommit":{"Sha1":"2986e411b9c9cdae18aab1a2529a2297f33420f6","Message":"feat: 合并业务应用接入免重启的前端接入\n\n后端 5a6b2c0(V37 通知在线登记)与 9409c5e(V38 应用级权限查询凭据)已支持接入新应用或新企业不重启。现合并 feat/console-layout 上对应的前端接入与选型记录更新。\n\n实现内容:\n- 合入 da944e5:客户端详情新增「通知地址」分区,可登记、修改、停用退出通知与权限变化通知(地址加固定 IP,可自动跟随开通企业或只发给指定企业),只有平台管理员读写;登录设置不再修改退出通知地址,保存时原样带回;权限查询接入先选查询范围,应用共享时提交不带 tenantId,空企业显示为所有已开通企业;启用应用时说明两种接入方式\n- 合入 bda169a:演示前端为 CALLER_CREDENTIAL_EXPIRED 提示联系管理员更新凭据\n- 合入 1c6f705:选型记录补记 Codex 的评估与实现结果及前端提交\n- 只修改 iam-admin-web、iam-demo-web 与 docs/app-onboarding-no-restart.md;未改动后端代码\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:iam-admin-web 39 个测试文件 349 项及格式、lint、类型检查、构建通过;iam-demo-web 3 个测试文件 31 项及构建通过\n- 合并前核对前端读取字段与交接文档 docs/handoff/app-onboarding-no-restart-frontend-01.md 及后端 NotificationRegistry 一致\n- 未与真实后端联调,未做浏览器走查,验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:04:02-07:00"},"CompareURL":"pengzhiyu/IAM/compare/68a0d5d096ae12cb8cb23b6684467b0276dede4a...2986e411b9c9cdae18aab1a2529a2297f33420f6","Len":7}...
|
1792476926
|
Edit
Delete
|
|
39672
|
16
|
5
|
16
|
125
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2986e411b {"Commits":[{"Sha1":"2986e411b9c9cdae18aab1a2529a2297f33420f6","Message":"feat: 合并业务应用接入免重启的前端接入\n\n后端 5a6b2c0(V37 通知在线登记)与 9409c5e(V38 应用级权限查询凭据)已支持接入新应用或新企业不重启。现合并 feat/console-layout 上对应的前端接入与选型记录更新。\n\n实现内容:\n- 合入 da944e5:客户端详情新增「通知地址」分区,可登记、修改、停用退出通知与权限变化通知(地址加固定 IP,可自动跟随开通企业或只发给指定企业),只有平台管理员读写;登录设置不再修改退出通知地址,保存时原样带回;权限查询接入先选查询范围,应用共享时提交不带 tenantId,空企业显示为所有已开通企业;启用应用时说明两种接入方式\n- 合入 bda169a:演示前端为 CALLER_CREDENTIAL_EXPIRED 提示联系管理员更新凭据\n- 合入 1c6f705:选型记录补记 Codex 的评估与实现结果及前端提交\n- 只修改 iam-admin-web、iam-demo-web 与 docs/app-onboarding-no-restart.md;未改动后端代码\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:iam-admin-web 39 个测试文件 349 项及格式、lint、类型检查、构建通过;iam-demo-web 3 个测试文件 31 项及构建通过\n- 合并前核对前端读取字段与交接文档 docs/handoff/app-onboarding-no-restart-frontend-01.md 及后端 NotificationRegistry 一致\n- 未与真实后端联调,未做浏览器走查,验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:04:02-07:00"},{"Sha1":"1c6f705b52f953bd1d12115a2de52e2b34a5d9d8","Message":"docs: 补记业务应用接入免重启的实现结果\n\n选型记录原先停在\"已转交 Codex、尚未回传\"。现在后端(5a6b2c0、9409c5e,A39)和前端接入均已完成,补记最终结论,方便以后查证。\n\n实现内容:\n- 状态改为后端已实现,并指向 A39\n- 2.5、3.5 节补充 Codex 的评估与实现结果:固定 IP 采用方案 (a)、部署边界不热加载、只有平台管理员可登记、目标数量上限,以及 tenantId 可空、按调用方×企业计算额度、重叠登记加热切换的轮换流程、演示应用调整与回退限制\n- 后续事项表更新为已完成,注明前端提交 da944e5、bda169a,以及未联调、未浏览器走查\n- 依据一节注明\"现状\"中的代码行号描述的是改造前的代码\n\n验证:\n- 核对文档引用的 A39 等文件存在,检查无行尾空白\n- 纯文档改动,未运行代码测试\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:34-07:00"},{"Sha1":"bda169adab261d90a8a87c87925667167acb5469","Message":"feat(iam-demo-web): 提示权限查询凭据已过期\n\nSDK 改用可热切换的凭据文件后,文件过期时业务接口返回 503 CALLER_CREDENTIAL_EXPIRED。演示前端原先按通用 503 提示稍后再试,但重试不会恢复,需要管理员更新凭据。\n\n实现内容:\n- errors.ts 为 CALLER_CREDENTIAL_EXPIRED 增加专门说明,提示联系管理员更新凭据\n- shared.test.tsx 增加对应用例,确认不再按服务暂时不可用提示\n\n验证:\n- npm --prefix iam-demo-web run check:格式、lint、类型检查通过,3 个测试文件 31 项通过,两个应用构建通过\n- 未与真实演示后端联调\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:15-07:00"},{"Sha1":"da944e55f7ca67d7b4d2076a0bd8148bfb2af6a8","Message":"feat(console): 接入通知地址在线登记与应用共享的权限查询登记\n\n后端已支持在控制台登记通知地址(V37)和不限企业的权限查询凭据(V38),接入新应用或新企业不再需要重启。控制台此前只能在登录设置里填写部署白名单内的退出通知地址,权限查询登记也只能选一家企业,现按新接口接入。\n\n实现内容:\n- 客户端详情新增「通知地址」分区(ClientNotifications.tsx),可登记、修改、停用退出通知和权限变化通知;必须同时填写地址和连接用的固定 IP,并说明证书仍按域名验证\n- 权限变化通知默认自动跟随开通企业、不提交企业名单,也可只发给指定企业(最多 1000 家);未在线登记时说明部署配置可能仍在生效\n- 只有平台管理员读写通知登记;应用管理员只看到当前退出通知地址,不请求平台专属接口\n- 登录设置去掉退出通知地址输入框,保存时原样带回 backchannel_uri;通知修改期间暂停登录设置与停用、归档,避免互相让客户端版本过期\n- 地址被拒、数量上限、退出通知已迁移导致的冲突及部署配置不再允许旧地址,分别给出说明\n- 权限查询接入先明确选择查询范围(所有开通企业或只限一家企业),应用共享时从平台应用中选择且提交不带 tenantId;tenant_id 为空显示为所有已开通企业,不去读取企业\n- 密钥更换与停用说明改为先登记新的一份、换好后再停用旧份;启用应用时说明共用接入与单独部署接入的区别\n- 新增 app-onboarding 组件测试 10 项,调整调用方登记与客户端名称的原有用例\n\n验证:\n- npm --prefix iam-admin-web run check:格式、lint、类型检查通过,39 个测试文件 349 项通过,构建通过\n- 未与真实后端联调,未做浏览器走查\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:02:04-07:00"},{"Sha1":"9409c5e622fe925b3974bed3ab8dd2742d5e12fe","Message":"feat(authorization): 支持应用级决策凭据与免重启轮换\n\n共享应用接入新企业时无需追加企业调用秘密或重启BFF,同时保留专属实例单企业范围。\n\n实现内容:\n- V38支持可空企业限定,保持历史凭据范围和主体当前开通、准入及生命周期复核\n- 调用预算按调用方与企业隔离,通知企业从当前开通关系计算\n- SDK兼容旧映射,支持应用凭据和私有文件热切换,坏文件保留旧值至原截止\n- 使用独立登记两份凭据完成重叠切换,缓存按调用秘密摘要隔离\n- 演示机器交付从机器配置与旧映射发现企业,并保留每轮32家处理上限\n- 补充通知退出边界、迁移回退、安全取舍、部署示例及前端交接\n\n验证:\n- Java25、Maven Wrapper定向verify与补充边界复验:110项不重复计数测试全部通过\n- 覆盖SDK文件安全/缓存/通知、固定IP与TLS、真实PG/Redis新企业授权与预算、管理HTTP、V36至V38非空迁移、演示业务\n- Spotless、编译打包与git diff --check通过\n- 未执行全仓库全部测试,未部署预览或生产;人员快照、默认部门和机器身份仍需独立配置\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T22:35:25-07:00"}],"HeadCommit":{"Sha1":"2986e411b9c9cdae18aab1a2529a2297f33420f6","Message":"feat: 合并业务应用接入免重启的前端接入\n\n后端 5a6b2c0(V37 通知在线登记)与 9409c5e(V38 应用级权限查询凭据)已支持接入新应用或新企业不重启。现合并 feat/console-layout 上对应的前端接入与选型记录更新。\n\n实现内容:\n- 合入 da944e5:客户端详情新增「通知地址」分区,可登记、修改、停用退出通知与权限变化通知(地址加固定 IP,可自动跟随开通企业或只发给指定企业),只有平台管理员读写;登录设置不再修改退出通知地址,保存时原样带回;权限查询接入先选查询范围,应用共享时提交不带 tenantId,空企业显示为所有已开通企业;启用应用时说明两种接入方式\n- 合入 bda169a:演示前端为 CALLER_CREDENTIAL_EXPIRED 提示联系管理员更新凭据\n- 合入 1c6f705:选型记录补记 Codex 的评估与实现结果及前端提交\n- 只修改 iam-admin-web、iam-demo-web 与 docs/app-onboarding-no-restart.md;未改动后端代码\n\n验证:\n- 合并前在 feat/console-layout 上运行 npm run check:iam-admin-web 39 个测试文件 349 项及格式、lint、类型检查、构建通过;iam-demo-web 3 个测试文件 31 项及构建通过\n- 合并前核对前端读取字段与交接文档 docs/handoff/app-onboarding-no-restart-frontend-01.md 及后端 NotificationRegistry 一致\n- 未与真实后端联调,未做浏览器走查,验收脚本未运行\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-19T23:04:02-07:00"},"CompareURL":"pengzhiyu/IAM/compare/68a0d5d096ae12cb8cb23b6684467b0276dede4a...2986e411b9c9cdae18aab1a2529a2297f33420f6","Len":7}...
|
1792476926
|
Edit
Delete
|
|
39774
|
16
|
5
|
16
|
86
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c6d0dac6a {"Commits":[{"Sha1":"c6d0dac6a9e8074cbac252aef62e41af416ccb76","Message":"fix(electron): 修复后台连接缺少本机凭据时误开启共享状态\n\n- 开启后台连接前校验本机 SSH 凭据,失败时不修改共享开关和登记\n- 校验后再次检查账号与设备锁,关闭后台连接仍无需本机 SSH 凭据\n- 明确提示本机私钥路径不会随设备同步,并说明配置入口\n- 补充快速连接保存、跨电脑同步及后台启停的回归测试\n\n验证:\n- 4 个相关测试文件共 90 项测试通过\n- npm run typecheck\n- GOCACHE=/private/tmp/juhai-opsdesk-preview-go-cache npm run build\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T17:01:59+08:00"},{"Sha1":"bdf5444ab0be89ddd5637e39df7558943cf09464","Message":"feat(devices): 实现设备后台连接状态跨客户端同步\n\n- 运维 API 提供设备共享状态,查询校验访问权限,修改额外校验操作锁\n- 正式后台服务持久化设备启停状态,保留既有登记与凭据,拒绝旧缓存直接恢复授权\n- 桌面端按服务端状态选择连接线路,详情页轮询及聚焦刷新并阻止过期响应覆盖状态\n- 使用系统 restorecon 修复部分 Android 固件私有配置标签设置失败\n- 补充跨账号、缓存失效、权限和持久化测试及部署记录\n\n验证:\n- 113 项相关自动测试通过\n- 两个 Go 模块 go test -race ./... 通过\n- npm run build(包含类型检查)通过\n- 云端部署后健康与鉴权检查通过,原在线设备自动恢复,既有状态与凭据未变\n- Windows 原生打包及跨电脑界面同步待人工验证\n\nBREAKING CHANGE: 正式设备不再接受客户端直连 /lab/enable 和 /lab/stop,修改后台连接开关需同步更新桌面客户端\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T16:38:37+08:00"},{"Sha1":"993633f948c594829ca5d8e08cc3a7c632238c2d","Message":"build(build): 增加后台连接安装资源完整性校验\n\n- 在常规构建和 electron-builder 打包前校验签名 APK 与 SHA-256 清单\n- 缺包或摘要不匹配时停止构建,避免 Windows 发布缺少首次安装能力的客户端\n- 支持复用原签名构建产物并兼容 Windows 换行格式\n\n验证:\n- 5 项资源校验回归测试通过\n- electron-builder 钩子加载验证通过\n- npm run build(包含类型检查)通过\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T16:38:18+08:00"},{"Sha1":"b813680800fb568e0653e3dc5e2f08326a179c8b","Message":"fix(app): 修复快速连接预览密钥发现并显示降级原因\n\n快速连接已能通过本机私钥建立 SSH,但公网远程自动发现遗漏快速记录和默认认证,导致 WebRTC 缺少操作员密钥并回退到仅观看通道。\n\n- 将当前账号的快速连接及默认密钥引用纳入自动发现,保留显式全局密钥配置和原有优先级\n- 展示主进程返回的预览降级原因,补充公网远程设置引导并通过安全 IPC 打开主页设置\n- 增加密钥发现、账号隔离、配置保护和降级提示回归测试\n\n验证:\n- 140 项相关自动化测试通过\n- npm run typecheck 通过\n- npm run build 通过(Go 缓存使用临时目录)\n- 用户确认 Windows 实机验证修复成功\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T14:42:37+08:00"},{"Sha1":"ad2f05394e686aa3eb76ba446a22cfa4b7dc6baa","Message":"fix(renderer): 统一海外路线选项文案\n\n- 将实时预览与日志共用的设备路线选项改为海外路线\n- 同步设置页默认中继选项、海外节点名称及类型注释\n\n验证:\n- npm run typecheck\n- GOCACHE=/private/tmp/opsdesk-resident-go-cache npm run build\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T14:30:27+08:00"}],"HeadCommit":{"Sha1":"c6d0dac6a9e8074cbac252aef62e41af416ccb76","Message":"fix(electron): 修复后台连接缺少本机凭据时误开启共享状态\n\n- 开启后台连接前校验本机 SSH 凭据,失败时不修改共享开关和登记\n- 校验后再次检查账号与设备锁,关闭后台连接仍无需本机 SSH 凭据\n- 明确提示本机私钥路径不会随设备同步,并说明配置入口\n- 补充快速连接保存、跨电脑同步及后台启停的回归测试\n\n验证:\n- 4 个相关测试文件共 90 项测试通过\n- npm run typecheck\n- GOCACHE=/private/tmp/juhai-opsdesk-preview-go-cache npm run build\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T17:01:59+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/b997e4920cd56dcad7895b11b9b44670a8610a6e...c6d0dac6a9e8074cbac252aef62e41af416ccb76","Len":18}...
|
1792487562
|
Edit
Delete
|
|
39775
|
16
|
9
|
16
|
86
|
0
|
0
|
refs/tags/v0.3.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"c6d0dac6a9e8074cbac252aef62e41af416ccb76","Message":"fix(electron): 修复后台连接缺少本机凭据时误开启共享状态\n\n- 开启后台连接前校验本机 SSH 凭据,失败时不修改共享开关和登记\n- 校验后再次检查账号与设备锁,关闭后台连接仍无需本机 SSH 凭据\n- 明确提示本机私钥路径不会随设备同步,并说明配置入口\n- 补充快速连接保存、跨电脑同步及后台启停的回归测试\n\n验证:\n- 4 个相关测试文件共 90 项测试通过\n- npm run typecheck\n- GOCACHE=/private/tmp/juhai-opsdesk-preview-go-cache npm run build\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-10-20T17:01:59+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/0000000000000000000000000000000000000000...c6d0dac6a9e8074cbac252aef62e41af416ccb76","Len":0}...
|
1792487779
|
Edit
Delete
|
|
39776
|
16
|
24
|
16
|
86
|
0
|
0
|
refs/tags/v0.3.0
|
0
|
Juhai OpsDesk v0.3.0 · 后台连接与工作台体验升级
|
1792487779
|
Edit
Delete
|
|
40023
|
16
|
5
|
16
|
125
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"154f25a42 {"Commits":[{"Sha1":"154f25a42bccc6762747d810cb99510a7fce2c9b","Message":"docs: 记录 P12 冻结及冻结候选 2986e41 的未解决项\n\n开诊断云测单轮已回答真实到达下拒绝瞬间的持有者阶段、名额首次空出与重试到达三个诊断问题,用户按路线图决定 P12 冻结;两份任务文档需要记录冻结候选身份、主区状态、已证实结论与未解决项,供解冻时接续。本次把两份文档状态改为 FROZEN,追加软件优化文档第七十二步与归因设计文档第70节。\n\n实现内容:\n- 顶部状态改为 FROZEN:冻结候选 main HEAD 2986e41(JAR d94a9d62…7890、SDK 源码 ab34bba9…、工具 2c9c7738…90ed),P12 相关产品改动 32b6833/f8a1e54/5435f06 与容量工具 b892d79/dd8a73c 均已在主区并随 2986e41 推送;列出冻结时已证实结论与未解决项;解冻、再跑一轮与设计改动均须另行授权\n- 第七十二步记录候选身份与保留的材料包/结果包/私有记录、主区与推送状态、六项已证实结论、未解决项 U1–U10(正式样本 0、20,000 门槛未检查、AUTH_BUSY 未解决、起始 10 秒集中未归因、重试到达开销未拆分、守护器临时容器竞争未修、E2d 可回收数无新值、设计改动未评估、产品全量测试未重跑、请求诊断偶发丢 1 条、L1/L2/P13 与稳定性未验收)、解冻后建议顺序与边界\n- 第70节按第 3 节待验证项逐项汇总归因结论,记录一次短重试、有界等待准入、降低持有时长/客户端认证不占协议池连接、扩大名额或池、退出通知空轮询避锁、守护器缺陷六项设计问题的冻结状态与解冻评估顺序\n- 说明 docs/02-IAM开发计划.md 第 16 节的 P12 记录仍停在 2026-10-10,本次未改\n\n验证:\n- 纯文档改动,数字与提交号来自第七十步、第七十一步、结果包 README 及 git log;未运行代码检查\n- git diff --check 通过;新增相对链接指向的 release README 与任务文档均存在\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-20T19:27:31-07:00"},{"Sha1":"96769399cda4f51393de8e045b6d1f1edd64d2dd","Message":"docs: 记录 P12 开诊断云测单轮结果并收录脱敏结果交接\n\n开诊断云测唯一一轮 hmac-pg4-ledger1(候选 main HEAD 2986e41)已执行并提前停止:守护器读取失败使恢复预热在第 90/270 秒停止、正式样本 0,但取得真实到达下 81 次入口拒绝的完整台账证据。两份任务文档没有本轮结果、本地复验与归因的记录,脱敏的结果交接也未收入仓库。本次更新两份任务文档的顶部状态,追加软件优化文档第七十一步与归因设计文档第69节,并收录结果交接文档。\n\n实现内容:\n- 顶部状态改为开诊断云测唯一一轮已执行并提前停止:初始预热 9,450/9,450、恢复预热 90/270 秒 host_guard_failed、正式样本 0;81 次首次 503 全部关联台账,持有者阶段 CLIENT_AUTH 38.4%/LIFECYCLE_WAIT 13.4%/TRANSACTION_BEGIN 13.1%,首次空出中位 15.74ms、重试到达中位 +55.6ms、恢复 63/81(77.8%);建议进入 P12 冻结\n- 第七十一步记录执行时间线、46 份公开证据本地复验与报告重算、104 次 503 指标/台账/HTTP 三方对账与采集完整性、三个诊断问题在真实到达下的数据、与第六十九步及 E2d 的对照、守护器停测归因(services() 全量 docker ps 与一次性 docker inspect 之间基线外临时容器消失)、边界与下一步\n- 第69节只讨论本轮对第三节假设与第65–68节设计问题的含义:人为屏障下的 4+4 形态未重现、E2d 可回收 21–24/30 推算的前提不成立、设计改动预期收益应下修、再云测前守护器须改为逐容器读取\n- docs/handoff/P12-ledger-cloud-test-result-01.md:脱敏的结果与前端交接,含阶段结果、拒绝/恢复/会话存量、台账结论、验证与收尾状态、后续记录口径;本轮无接口变化,不产生前端任务\n\n验证:\n- 内容来自结果包 release/p12-cloud-ledger-20261020-2986e41 的 46 份公开证据(verify-transfer.py download 复验通过)与本地重算(recovery-report.json 逐字段一致、两份逐阶段台账报告除 generated_at 外逐字段一致、逐拒绝表逐字节一致);纯文档改动,未运行代码检查\n- git diff --check 通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-20T19:21:39-07:00"},{"Sha1":"f75a2485b0347e217d0ccaaa546436f109f797a3","Message":"docs: 记录 P12 开诊断云测材料准备并新增 Codex 云测交接\n\nP12 暂停后恢复推进,用户指定 main HEAD 2986e41 为云测候选;两份任务文档没有候选回归与开诊断云测材料的记录,Codex 也没有执行与回收本轮云测的交接说明。本次更新两份任务文档的顶部状态与日期,追加软件优化文档第七十步与归因设计文档第68节,并新增交接文档。\n\n实现内容:\n- 顶部状态改为台账与合同已随 main 推送、2026-10-20 以候选 2986e41 备好开诊断云测材料并交 Codex 执行、云端未执行;历史 19970/20000 与正式样本 0 保持\n- 第七十步记录候选定向回归(单测 59、集成 32、容量工具 70)、候选 JAR 构建与逐字节核对、材料包 release/p12-ledger-cloud-plan-20261020-2986e41 的执行覆盖与脚本、本地验证(覆盖后 98、材料包 16、唯一一次 prepare)、三次辅助失误、交付与边界\n- 第68节记录候选与 E2d 的产品差异、执行方式四处差异、新增门禁与工具(台账采集就绪门禁、permit_ledger_report 第 2 版、finish-ledger 混合格式台账重放)、预期与边界\n- docs/handoff/P12-ledger-cloud-test-01.md:以建议口吻交给 Codex 的云测执行与回收说明,含背景、已完成内容、执行顺序、所需测试数据(全部由工具合成)、需带回的结果文件与重点字段、验收标准、禁止事项与未解决问题\n\n验证:\n- 内容来自同日本地回归日志与材料包核对记录(local-regression/java-tests.json、tool-identity-check.json、delivery-check.json 等);纯文档改动,未运行代码检查\n- git diff --check 通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-20T08:27:22-07:00"}],"HeadCommit":{"Sha1":"154f25a42bccc6762747d810cb99510a7fce2c9b","Message":"docs: 记录 P12 冻结及冻结候选 2986e41 的未解决项\n\n开诊断云测单轮已回答真实到达下拒绝瞬间的持有者阶段、名额首次空出与重试到达三个诊断问题,用户按路线图决定 P12 冻结;两份任务文档需要记录冻结候选身份、主区状态、已证实结论与未解决项,供解冻时接续。本次把两份文档状态改为 FROZEN,追加软件优化文档第七十二步与归因设计文档第70节。\n\n实现内容:\n- 顶部状态改为 FROZEN:冻结候选 main HEAD 2986e41(JAR d94a9d62…7890、SDK 源码 ab34bba9…、工具 2c9c7738…90ed),P12 相关产品改动 32b6833/f8a1e54/5435f06 与容量工具 b892d79/dd8a73c 均已在主区并随 2986e41 推送;列出冻结时已证实结论与未解决项;解冻、再跑一轮与设计改动均须另行授权\n- 第七十二步记录候选身份与保留的材料包/结果包/私有记录、主区与推送状态、六项已证实结论、未解决项 U1–U10(正式样本 0、20,000 门槛未检查、AUTH_BUSY 未解决、起始 10 秒集中未归因、重试到达开销未拆分、守护器临时容器竞争未修、E2d 可回收数无新值、设计改动未评估、产品全量测试未重跑、请求诊断偶发丢 1 条、L1/L2/P13 与稳定性未验收)、解冻后建议顺序与边界\n- 第70节按第 3 节待验证项逐项汇总归因结论,记录一次短重试、有界等待准入、降低持有时长/客户端认证不占协议池连接、扩大名额或池、退出通知空轮询避锁、守护器缺陷六项设计问题的冻结状态与解冻评估顺序\n- 说明 docs/02-IAM开发计划.md 第 16 节的 P12 记录仍停在 2026-10-10,本次未改\n\n验证:\n- 纯文档改动,数字与提交号来自第七十步、第七十一步、结果包 README 及 git log;未运行代码检查\n- git diff --check 通过;新增相对链接指向的 release README 与任务文档均存在\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-10-20T19:27:31-07:00"},"CompareURL":"pengzhiyu/IAM/compare/2986e411b9c9cdae18aab1a2529a2297f33420f6...154f25a42bccc6762747d810cb99510a7fce2c9b","Len":3}...
|
1792549917
|
Edit
Delete
|
|
42152
|
16
|
1
|
16
|
150
|
0
|
0
|
|
0
|
|
1793070538
|
Edit
Delete
|
|
42803
|
16
|
5
|
16
|
150
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8bc7e3f07 {"Commits":[{"Sha1":"8bc7e3f076de0eac5fbb5cd378aa290a1fb37dc0","Message":"chore(reports): 工作台快照回绑 @ 7ddb92f1a(S2,嵌入最新证据新鲜度)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:58:15-07:00"},{"Sha1":"7ddb92f1a2db42e0f449a85b269b774e850a2fbc","Message":"chore(reports): 证据新鲜度回绑 @ 35a2851ad(partial 52 fresh / 17 warn / 0 error)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:58:14-07:00"},{"Sha1":"35a2851ade2794f861209db758ae66fe95a9479e","Message":"chore(reports): 工作台快照回绑 @ 65c633b96(S1)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:58:00-07:00"},{"Sha1":"65c633b9689b7fe88da93db65ba30d0f3a700b15","Message":"chore(reports): 根链静态报告、runtime 静态子报告与 port-conformance 回绑 @ 8fc9dcf31(port-conformance @ 3c7f3bc7a)\n\n根 pnpm check 在 clean 8fc9dcf31 上第 1–31 环通过(治理测试 1364/0),第 32 环 check:evidence 仅报两份工作台快照过期(待 S1)。check:port-conformance 在 clean 3c7f3bc7a 通过 95/0,其后 8fc9dcf31 只改 EES journal 合同,不在其作用域。release-drift 列车 21→22 包;canonical-ids idPatterns 234→235。check:runtime 未跑:runtime 作用域内只改了 runtime/clients/README.md 文档,无运行时代码或镜像输入变更。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:57:46-07:00"},{"Sha1":"8fc9dcf31e83dcb559d7f8c98524e78a5d92b4b6","Message":"fix(ees): journal 合同租户号改用 canonical ULID 形态(与两份提交契约一致,check:canonical-ids)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:54:21-07:00"}],"HeadCommit":{"Sha1":"8bc7e3f076de0eac5fbb5cd378aa290a1fb37dc0","Message":"chore(reports): 工作台快照回绑 @ 7ddb92f1a(S2,嵌入最新证据新鲜度)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T17:58:15-07:00"},"CompareURL":"pengzhiyu/enterprise-platform/compare/a46c2d82c7fe086c264ae27ef532ae03cb6300aa...8bc7e3f076de0eac5fbb5cd378aa290a1fb37dc0","Len":101}...
|
1793155011
|
Edit
Delete
|
|
43055
|
16
|
5
|
16
|
150
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e61280ffa {"Commits":[{"Sha1":"e61280ffabf6678a6454de6472ddd6057ded3601","Message":"chore(reports): CHG-065/066 落地工作台快照回绑 @ a0e38ec2f(S2,嵌入最新证据新鲜度)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:43-07:00"},{"Sha1":"a0e38ec2fba59eb277a11f2baecdcff39a15a826","Message":"chore(reports): CHG-065/066 落地证据新鲜度回绑 @ 9f9ace704(partial 54 fresh / 15 warn / 0 error)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:42-07:00"},{"Sha1":"9f9ace704747a42f2ecd8785673597d06c818163","Message":"chore(reports): CHG-065/066 落地 port-conformance 回绑 @ 85d16d998(95/0)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:35-07:00"},{"Sha1":"85d16d998d3f795789cd7459ac421b783f1a87ab","Message":"chore(reports): CHG-065/066 落地工作台快照回绑 @ abc9d5831(S2,嵌入最新证据新鲜度)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:04-07:00"},{"Sha1":"abc9d5831c50bd269f3099dc60d1510fbd1bbb29","Message":"chore(reports): CHG-065/066 落地证据新鲜度回绑 @ 74470dab7(partial 53 fresh / 16 warn / 0 error)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:03-07:00"}],"HeadCommit":{"Sha1":"e61280ffabf6678a6454de6472ddd6057ded3601","Message":"chore(reports): CHG-065/066 落地工作台快照回绑 @ a0e38ec2f(S2,嵌入最新证据新鲜度)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-27T19:24:43-07:00"},"CompareURL":"pengzhiyu/enterprise-platform/compare/8bc7e3f076de0eac5fbb5cd378aa290a1fb37dc0...e61280ffabf6678a6454de6472ddd6057ded3601","Len":26}...
|
1793164566
|
Edit
Delete
|
|
43367
|
16
|
5
|
16
|
150
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3976cd970 {"Commits":[{"Sha1":"3976cd9703baa2e598361f99c3fbf6affe0642f7","Message":"docs: 新增点歌售后平台驱动中台完善资料\n\n技术中台 18 个服务缺少真实使用方,部分服务按设计依赖 02/03 层或人事系统,单独接入时会卡住。新增 fork 仓专用资料,记录用点歌售后平台驱动中台完善的方案、已发现的独立使用问题和 fork 改动的留痕规则。\n\n实现内容:\n- README.md:点歌售后平台的做法口径、术语解释、角色与功能范围、18 个服务对照、切片 0–5 顺序、技术选型建议、2026-10-28 已定决定与待定事项、服务器与域名需求\n- 中台问题清单.md:IND-01~14 独立使用问题(证据指向基线 e61280ffa 的文件与行号);IND-02~04、IND-14 附 IAM 五种范围对照及已定方向;IND-08 关闭;BUG 登记表\n- 改动留痕.md:基线 e61280ffa 与标签 fork-baseline-2026-10-28、只读 upstream 远端、FK 编号与 Fork-Change 尾注规则、两仓差异对比命令、合并回主仓步骤及 FK-000/FK-001 台账\n- 组织与权限关系图.html:IAM、企业智能OS 原设计、点歌售后平台验证期三种组织与权限分工的对比图\n- 只新增 docs/售后应用驱动完善/ 下 4 个文件,不改代码、契约、配置或报告;默认不合入主仓\n\n验证:\n- 资料内 17 个相对链接逐一核对目标存在:通过\n- 问题清单引用的 17 个源码与说明文件在当前 HEAD 存在:通过\n- 关系图 HTML 标签闭合检查:通过\n- git diff --cached --check:通过;凭据形态扫描:未发现\n- pnpm check 等仓库门禁:未运行(新目录不在 governance/evidence-scopes.json 的证据范围内)\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T16:14:41+08:00"}],"HeadCommit":{"Sha1":"3976cd9703baa2e598361f99c3fbf6affe0642f7","Message":"docs: 新增点歌售后平台驱动中台完善资料\n\n技术中台 18 个服务缺少真实使用方,部分服务按设计依赖 02/03 层或人事系统,单独接入时会卡住。新增 fork 仓专用资料,记录用点歌售后平台驱动中台完善的方案、已发现的独立使用问题和 fork 改动的留痕规则。\n\n实现内容:\n- README.md:点歌售后平台的做法口径、术语解释、角色与功能范围、18 个服务对照、切片 0–5 顺序、技术选型建议、2026-10-28 已定决定与待定事项、服务器与域名需求\n- 中台问题清单.md:IND-01~14 独立使用问题(证据指向基线 e61280ffa 的文件与行号);IND-02~04、IND-14 附 IAM 五种范围对照及已定方向;IND-08 关闭;BUG 登记表\n- 改动留痕.md:基线 e61280ffa 与标签 fork-baseline-2026-10-28、只读 upstream 远端、FK 编号与 Fork-Change 尾注规则、两仓差异对比命令、合并回主仓步骤及 FK-000/FK-001 台账\n- 组织与权限关系图.html:IAM、企业智能OS 原设计、点歌售后平台验证期三种组织与权限分工的对比图\n- 只新增 docs/售后应用驱动完善/ 下 4 个文件,不改代码、契约、配置或报告;默认不合入主仓\n\n验证:\n- 资料内 17 个相对链接逐一核对目标存在:通过\n- 问题清单引用的 17 个源码与说明文件在当前 HEAD 存在:通过\n- 关系图 HTML 标签闭合检查:通过\n- git diff --cached --check:通过;凭据形态扫描:未发现\n- pnpm check 等仓库门禁:未运行(新目录不在 governance/evidence-scopes.json 的证据范围内)\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T16:14:41+08:00"},"CompareURL":"pengzhiyu/enterprise-platform/compare/e61280ffabf6678a6454de6472ddd6057ded3601...3976cd9703baa2e598361f99c3fbf6affe0642f7","Len":1}...
|
1793175545
|
Edit
Delete
|
|
43387
|
16
|
5
|
16
|
150
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"59ef51da9 {"Commits":[{"Sha1":"59ef51da943e48a9475c76da21679815e29350f3","Message":"docs: 新增仓根协作规则供 Codex 读取\n\nCodex 的全局规则为空、本仓根目录也没有给 Codex 的规则文件,Codex 读不到分工和脱敏约定。在仓根放一份规则摘要,Codex 进入本仓时会自动读取。\n\n实现内容:\n- 新增仓根 AGENTS.md:分工(Codex 负责后端、服务器、域名、运维与服务器上的后端测试,不改前端代码;Claude 负责方案架构与前端;方案均为建议,分歧由用户决定)、任务单与报告的位置和模板、脱敏规则、FK 编号与 Fork-Change 尾注、upstream 只读与推送由用户安排;代码、门禁和治理规则仍以 CLAUDE.md、runtime/AGENTS.md、identity/AGENTS.md 为准\n- 分工与协作.md:说明仓根 AGENTS.md 是规则摘要、以本文为准且修改时同步;目录归属表新增仓根 AGENTS.md\n- 改动留痕.md:登记 FK-002,合并建议为默认不合入\n\n验证:\n- 三个文件内 13 个相对链接逐一核对目标存在:通过\n- 仓根 AGENTS.md 不在 governance/evidence-scopes.json 的作用域内(只登记了 runtime/AGENTS.md):已核对\n- git diff --cached --check:通过;凭据与 IP 形态扫描:未发现\n- pnpm check 等仓库门禁:未运行\n\nFork-Change: FK-002\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T16:43:42+08:00"},{"Sha1":"d235c4d318658447a174d661d8e08b76f84971bf","Message":"docs: 补充点歌售后平台分工协作约定与服务器核查任务单\n\n已确定由 Claude 负责整体方案与前端、Codex 负责后端与服务器相关工作,需要书面约定双方的分工、交接方式和脱敏要求,并给出第一张交给 Codex 的任务单。\n\n实现内容:\n- 新增 分工与协作.md:三方分工(前端的设计、实现和前端测试全部归 Claude;后端、服务器、域名、运维与服务器上的后端测试归 Codex)、前端上服务器的交接建议、两个仓库的目录归属、任务单与报告的流转方式和模板、脱敏规则与占位符、可索取的测试结果类型\n- 新增 协作/README.md 任务一览,以及 协作/任务单/T-001-服务器就绪核查.md:只读核查硬件、系统、Docker、端口、网络、地区与备案、时间同步,附建议值和地区信息的三个用途\n- README.md:写入分工;仓库骨架由双方分别搭建;服务器与域名一节改为由 Codex 执行和核查,补充地区信息影响备案、网络和数据合规;文件索引新增两项\n- 改动留痕.md:FK-001 行补充本次新增内容\n\n验证:\n- 资料内 31 个相对链接逐一核对目标存在:通过\n- git diff --cached --check:通过;凭据与 IP 形态扫描:未发现\n- pnpm check 等仓库门禁:未运行(新目录不在 governance/evidence-scopes.json 的证据范围内)\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T16:42:37+08:00"}],"HeadCommit":{"Sha1":"59ef51da943e48a9475c76da21679815e29350f3","Message":"docs: 新增仓根协作规则供 Codex 读取\n\nCodex 的全局规则为空、本仓根目录也没有给 Codex 的规则文件,Codex 读不到分工和脱敏约定。在仓根放一份规则摘要,Codex 进入本仓时会自动读取。\n\n实现内容:\n- 新增仓根 AGENTS.md:分工(Codex 负责后端、服务器、域名、运维与服务器上的后端测试,不改前端代码;Claude 负责方案架构与前端;方案均为建议,分歧由用户决定)、任务单与报告的位置和模板、脱敏规则、FK 编号与 Fork-Change 尾注、upstream 只读与推送由用户安排;代码、门禁和治理规则仍以 CLAUDE.md、runtime/AGENTS.md、identity/AGENTS.md 为准\n- 分工与协作.md:说明仓根 AGENTS.md 是规则摘要、以本文为准且修改时同步;目录归属表新增仓根 AGENTS.md\n- 改动留痕.md:登记 FK-002,合并建议为默认不合入\n\n验证:\n- 三个文件内 13 个相对链接逐一核对目标存在:通过\n- 仓根 AGENTS.md 不在 governance/evidence-scopes.json 的作用域内(只登记了 runtime/AGENTS.md):已核对\n- git diff --cached --check:通过;凭据与 IP 形态扫描:未发现\n- pnpm check 等仓库门禁:未运行\n\nFork-Change: FK-002\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T16:43:42+08:00"},"CompareURL":"pengzhiyu/enterprise-platform/compare/3976cd9703baa2e598361f99c3fbf6affe0642f7...59ef51da943e48a9475c76da21679815e29350f3","Len":2}...
|
1793177099
|
Edit
Delete
|
|
43498
|
16
|
5
|
16
|
150
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8d9a8e38b {"Commits":[{"Sha1":"8d9a8e38b88898cacacf80024bcb9f3f903a2387","Message":"docs: 提交 T-004 报告并记录 T-002 暂缓\n\n背景:容器环境和离线制品通道已完成,官方 MinIO 镜像作为已知例外由验证期同版本源码构建补齐;用户明确域名稍后处理。\n\n实现内容:收录 R-004、R-004-2 和 R-002-1,记录环境、镜像校验、病毒库、磁盘与 MinIO 独立验收结果,给出 T-003 的镜像和健康检查交接;任务一览将 T-004 标为已完成、T-002 第一段标为暂缓。\n\n验证:报告模板、仓内相对链接、实际制品摘要、源码提交绑定及敏感信息检查通过;git diff --check 通过。原 Compose 和中台执行验收目录未修改;完整治理检查受缺失依赖限制,报告保留该事实。\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T18:23:06+08:00"},{"Sha1":"d198b2ba115b4419ba38e3d2b9e0908fd8bb7040","Message":"build: 新增 MinIO 验证期源码镜像\n\n背景:DEP-04 中原固定 MinIO 预构建镜像已不可获取,用户确定验证期从同版本官方固定提交构建。\n\n实现内容:新增独立构建目录,交叉编译 linux/amd64 镜像,保留源码及许可证标签;加入静态 readiness 探针和无端口发布的隔离 S3 验收脚本;登记 FK-003。原 Compose 和中台执行验收镜像目录保持原样。\n\n验证:构建及探针正反例测试通过;服务器两端 SHA-256 一致,固定摘要离线导入成功;独立健康检查、建桶、对象写入读回及清理通过。只读证据检查因缺少治理依赖未通过,未作为完整治理验收。\n\nFork-Change: FK-003\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T18:19:17+08:00"},{"Sha1":"da296f37fa51886e233b2e3b640e2584b3ea132f","Message":"docs: 登记 MinIO 固定镜像失效问题并补充自建任务\n\nCodex 执行 T-004 时发现 MinIO 固定镜像从 Quay 和 Docker Hub 都无法获取。公开资料显示官方已停止发布社区版镜像、代码仓库已归档;用户决定验证期用官方源码自建同一版本。本次登记问题并调整相关任务单。\n\n实现内容:\n- 中台问题清单:新增 DEP-04(现象、公开资料中的原因、中台 10-10 已有记录、影响范围、A~E 方向及用户决定),DEP 来源说明区分 DEP-01~03 与 DEP-04\n- T-004:已定事项与\"不要做\"注明 MinIO 例外;新增\"补充\"一节,要求用官方提交 a6c538c5(RELEASE.2025-06-13T11-33-47Z)按 linux/amd64 自建,解决精简镜像缺少 mc 导致的健康检查问题,沿用 R-004 离线通道,单独启动验证读写,保留 AGPL 来源标签,报告写 R-004-2\n- T-003:前置补 R-004-2;部署时换用自建 MinIO 指纹并调整健康检查,建议 fork 专用部署调整集中到一份覆盖文件;文件扫描步骤说明临时签名链接的访问地址留到切片 2\n- README:§10 已定事项新增 MinIO 验证期方案;§6 公共文件行补 DEP-04\n- 改动留痕:FK-001 行补本次内容\n\n验证:\n- 本次 5 个文件内 54 个相对链接逐一核对目标存在:通过\n- DEP-04 引用的 6 处行号(compose.yaml:36、:42、:306,test-minio/README.md:3,attachment-infrastructure.ts:235、:281)在基线 e61280ffa 上核对:通过\n- git diff --check:通过\n- 只提交本次 5 个文件;Codex 未提交的报告、任务一览修改和 stack/minio-validation/ 未纳入\n- pnpm check 等仓库门禁:未运行(本目录不在 governance/evidence-scopes.json 的证据范围内)\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T18:08:25+08:00"},{"Sha1":"e6e79e266227d21d31439d44e0d049071ffe6c80","Message":"docs: 仓根协作规则补充报告存放位置\n\nCodex 的 R-001 报告写到了工作区根仓,任务一览里用了跨仓相对路径,在 Gitea 上会失效。用户确定报告统一放本仓约定目录,并同意在给 Codex 的规则摘要里写明,防止再次写错位置。\n\n实现内容:\n- AGENTS.md「任务单与报告」:新增一条,报告只写在 docs/售后应用驱动完善/协作/报告/,不写到工作区根仓或其他仓库;任务一览的报告链接用本仓内相对路径\n- 改动留痕.md:FK-002 行补充本次修改说明\n- 与《分工与协作》§3 的同一说明保持一致(该文件已在 FK-001 提交中更新)\n\n验证:\n- AGENTS.md 内相对链接逐一核对目标存在:通过\n- git diff --cached --check:通过\n- pnpm check 等仓库门禁:未运行(仓根 AGENTS.md 不在 governance/evidence-scopes.json 的作用域内)\n\nFork-Change: FK-002\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T17:30:34+08:00"},{"Sha1":"047ff22b07ea150768c88a0491982a130e7ebe2c","Message":"docs: 收录服务器核查报告并起草域名、容器环境与部署任务单\n\nCodex 完成 T-001 服务器只读核查,但报告写在了工作区根仓,任务一览里的链接是跨仓相对路径。本次把报告移入约定目录,据报告补齐方案资料,并起草下一批可直接交给 Codex 执行的任务单。\n\n实现内容:\n- 协作/报告/R-001-服务器就绪核查.md:从工作区根仓原样移入,内容未改(前后 sha256 一致)\n- 协作/README.md:T-001 标为已完成,报告链接改为仓内相对路径;新增 T-002~T-004 及前置列和执行顺序(T-002 第一段与 T-004 并行,之后 T-002 第二段,最后 T-003);写明报告只放本目录\n- 任务单 T-002 域名与 HTTPS:第一段为解析与安全组清单、临时监听测入站、确认无依赖后关闭 111 端口公网访问;第二段为网关支持两个主机名、先测试环境后正式签发证书、检查跳转、HSTS 与续期\n- 任务单 T-003 部署 fork 版中台并核查 18 个模块健康:本机按 linux/amd64 构建 Runtime、身份 Web 与工作台;预发布方式部署、建库迁移、--pull never 启动;18 模块逐行列出装载与服务能力、重启恢复、对外只开 80/443、EICAR 扫描验证;不建正式租户、不走正式晋级\n- 任务单 T-004 容器环境与离线制品通道:Docker 安装前检查 XFS ftype 与网段冲突;第三方镜像逐个核对 amd64 与固定指纹,校验上传前后 sha256,验证离线导入后不触发下载;ClamAV 初始库与持续更新方案;短时磁盘测速;说明单列成任务的理由\n- 中台问题清单:新增 DEP 类,登记 DEP-01 Runtime 无重启策略、DEP-02 身份登录页无部署方式、DEP-03 预发布网关只支持一个对外主机名,均为静态核对,状态待验证;原 BUG 节顺延为第 5 节\n- README:§10 记录 2026-10-28 新定事项(本机下载再上传、控制台由用户操作、关闭 111 端口公网访问、报告位置),待定项改为主域名执行 T-002 时提供;§11 补 R-001 实测值与判定、整体判断、80 端口用途及 DEP-02/03 提示,新增 11.4 部署路线\n- 分工与协作 §3:写明报告只放本仓约定目录、链接用仓内相对路径\n- 改动留痕:FK-001 行补本次内容\n\n验证:\n- 资料内 78 个相对链接逐一核对目标存在:通过\n- DEP-01~03 与任务单引用的 6 处配置行号在基线 e61280ffa 上逐行核对:通过(基线后只改文档)\n- R-001 移入前后 sha256 比对:一致\n- git diff --cached --check:通过;IP、邮箱、域名形态扫描:只命中占位符和 Docker 默认网段\n- pnpm check 等仓库门禁:未运行(本目录不在 governance/evidence-scopes.json 的证据范围内)\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T17:30:14+08:00"}],"HeadCommit":{"Sha1":"8d9a8e38b88898cacacf80024bcb9f3f903a2387","Message":"docs: 提交 T-004 报告并记录 T-002 暂缓\n\n背景:容器环境和离线制品通道已完成,官方 MinIO 镜像作为已知例外由验证期同版本源码构建补齐;用户明确域名稍后处理。\n\n实现内容:收录 R-004、R-004-2 和 R-002-1,记录环境、镜像校验、病毒库、磁盘与 MinIO 独立验收结果,给出 T-003 的镜像和健康检查交接;任务一览将 T-004 标为已完成、T-002 第一段标为暂缓。\n\n验证:报告模板、仓内相对链接、实际制品摘要、源码提交绑定及敏感信息检查通过;git diff --check 通过。原 Compose 和中台执行验收目录未修改;完整治理检查受缺失依赖限制,报告保留该事实。\n\nFork-Change: FK-001\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-28T18:23:06+08:00"},"CompareURL":"pengzhiyu/enterprise-platform/compare/59ef51da943e48a9475c76da21679815e29350f3...8d9a8e38b88898cacacf80024bcb9f3f903a2387","Len":5}...
|
1793183330
|
Edit
Delete
|
|
44630
|
16
|
5
|
16
|
86
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0ea0040f5 {"Commits":[{"Sha1":"0ea0040f582142d0070d608f38851351261e81cd","Message":"build(app): 更新桌面版本并记录效果图验收结果\n\n- 将桌面应用及依赖锁文件的版本统一更新为 0.3.0\n- 记录设备组件 0.3.4 的构建摘要、签名核对及用户实机验收结果\n- 补充停止展示、不自动关闭和跨电脑补齐 APK 资源的操作说明\n\n验证:\n- npm run build 通过(使用临时 Go 缓存目录)\n- 8 个相关测试文件、49 项测试通过\n- APK、摘要清单和其他构建产物保持 Git 忽略\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-30T17:41:27+08:00"},{"Sha1":"27cf1bb826f8288525ca12abb6d135846f55f51a","Message":"feat(renderer): 增加效果图工作台与展示参数控制\n\n- 增加效果图入口、功能开关、图片选择预览及设备展示状态\n- 支持触摸屏与 TV、缩放、旋转、定时及不自动关闭选项\n- 在顶栏统一停止展示,并提示参数需更新展示后生效\n- 补齐浅色、深色和自动主题变量及窄屏布局\n\n验证:\n- npm run typecheck 与 npm run build 通过\n- 效果图页面、工作台配置和功能偏好相关测试通过\n- 用户确认实机验证无问题\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-30T17:41:09+08:00"},{"Sha1":"34121f51f3b45a7847d0daddaeeda4ecf1cae40d","Message":"feat(electron): 接入效果图上传展示与会话回收\n\n- 通过受控文件选择器读取 PNG/JPG,校验图片尺寸并上传到设备私有目录\n- 增加明确类型的展示协议与 IPC,复用账号、团队授权及设备锁校验\n- 按设备串行处理展示和停止,使用会话回执确认状态,断线保持未知\n- 关闭操作台、删除设备或退出应用时回收所属展示会话\n\n验证:\n- npm run typecheck 与 npm run build 通过\n- 展示协议、会话生命周期及关闭协调器相关测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-30T17:40:59+08:00"},{"Sha1":"729c752dee61846dd7651f1c569e8b34c5671c9b","Message":"feat(devices): 增加设备效果图覆盖层与组件按需升级\n\n- 在现有驻留组件的独立进程中展示图片,支持触摸屏与外接屏、旋转和尺寸模式\n- 支持定时退出及不自动关闭,移除设备画面关闭按钮,由运维工具统一停止\n- 发布设备组件 0.3.4(versionCode 7),按最低版本同签名升级并保留连接配置\n- 构建脚本自动编译驻留组件中的 Java 源文件\n\n验证:\n- npm run build:resident 与 npm run check:resident 通过\n- APK 版本及原签名证书核对通过,用户确认实机验证无问题\n- 设备安装器相关测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-30T17:40:41+08:00"},{"Sha1":"e67eb50dd14a458afc4f4da6a5ec4412dae737a8","Message":"feat(devices): 优化设备详情后台连接服务面板布局与样式\n\n- 状态改为彩色胶囊和状态点,在线、读取中、待处理、失败各有独立色调\n- 开关改用设置页滑动开关并做成磁贴,下方说明随设备配置变化\n- 当前线路改为标签展示,忙碌、错误和待重试合并为提示条并内置重试按钮\n- 同步说明收为一行脚注,完整说明移入悬停提示\n- 面板样式独立为 resident-access 类名并集中到 device-detail.css\n- 新增 --motion-status-pulse 动效变量,减弱动效偏好下关闭动画\n\n验证:\n- npm run typecheck\n- 设备详情界面已人工确认\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-24T21:29:27+08:00"}],"HeadCommit":{"Sha1":"0ea0040f582142d0070d608f38851351261e81cd","Message":"build(app): 更新桌面版本并记录效果图验收结果\n\n- 将桌面应用及依赖锁文件的版本统一更新为 0.3.0\n- 记录设备组件 0.3.4 的构建摘要、签名核对及用户实机验收结果\n- 补充停止展示、不自动关闭和跨电脑补齐 APK 资源的操作说明\n\n验证:\n- npm run build 通过(使用临时 Go 缓存目录)\n- 8 个相关测试文件、49 项测试通过\n- APK、摘要清单和其他构建产物保持 Git 忽略\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-10-30T17:41:27+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/c6d0dac6a9e8074cbac252aef62e41af416ccb76...0ea0040f582142d0070d608f38851351261e81cd","Len":5}...
|
1793353462
|
Edit
Delete
|
|
46104
|
16
|
5
|
16
|
86
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3a7664a40 {"Commits":[{"Sha1":"3a7664a40c551d425a44a82af63db027b4605a05","Message":"fix(devices): 支持 4000 万像素效果图并修复 8K 绘制崩溃\n\n- 同步提高桌面端和设备端像素上限,保留 20 MB 文件限制\n- 等比适配按屏幕采样解码,原尺寸仅解码中心可见区域,限制绘制位图大小\n- 首帧绘制成功后确认展示,绘制失败或进程退出时返回明确错误\n- 将设备组件升级为 0.3.6(versionCode 9),同步最低版本和验收文档\n\n验证:\n- npm run typecheck 通过\n- 4 个相关测试文件、36 项测试通过\n- Java 解码尺寸回归测试通过\n- 签名 APK 构建、版本及摘要检查通过,证书与原安装包一致\n- 用户确认 8K 图片展示修复实机测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-11-04T14:17:17+08:00"}],"HeadCommit":{"Sha1":"3a7664a40c551d425a44a82af63db027b4605a05","Message":"fix(devices): 支持 4000 万像素效果图并修复 8K 绘制崩溃\n\n- 同步提高桌面端和设备端像素上限,保留 20 MB 文件限制\n- 等比适配按屏幕采样解码,原尺寸仅解码中心可见区域,限制绘制位图大小\n- 首帧绘制成功后确认展示,绘制失败或进程退出时返回明确错误\n- 将设备组件升级为 0.3.6(versionCode 9),同步最低版本和验收文档\n\n验证:\n- npm run typecheck 通过\n- 4 个相关测试文件、36 项测试通过\n- Java 解码尺寸回归测试通过\n- 签名 APK 构建、版本及摘要检查通过,证书与原安装包一致\n- 用户确认 8K 图片展示修复实机测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"gamebyte","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"gamebyte","Timestamp":"2026-11-04T14:17:17+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/0ea0040f582142d0070d608f38851351261e81cd...3a7664a40c551d425a44a82af63db027b4605a05","Len":1}...
|
1793773259
|
Edit
Delete
|
|
19829
|
17
|
1
|
17
|
69
|
0
|
0
|
|
1
|
|
1785380320
|
Edit
Delete
|
|
19830
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3ab0e02a2 {"Commits":[{"Sha1":"3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Message":"上传 HTML 原型(第 1 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:04:59+08:00"}],"HeadCommit":{"Sha1":"3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Message":"上传 HTML 原型(第 1 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:04:59+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/9791a9c2985a7fff3ad9fc2f352dde3738a4b823...3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab","Len":1}...
|
1785380701
|
Edit
Delete
|
|
19831
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e9c03212c {"Commits":[{"Sha1":"e9c03212c50a2db8f6985ace88276542e977e243","Message":"上传 HTML 原型(第 2 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:07:57+08:00"}],"HeadCommit":{"Sha1":"e9c03212c50a2db8f6985ace88276542e977e243","Message":"上传 HTML 原型(第 2 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:07:57+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/3ab0e02a22d94463e7ead19d58cbed4b8b42a8ab...e9c03212c50a2db8f6985ace88276542e977e243","Len":1}...
|
1785380878
|
Edit
Delete
|
|
19833
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"09820e44a {"Commits":[{"Sha1":"09820e44a6711740e074fca2d3c9197fe3762a9d","Message":"上传 HTML 原型(第 3 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:12:14+08:00"}],"HeadCommit":{"Sha1":"09820e44a6711740e074fca2d3c9197fe3762a9d","Message":"上传 HTML 原型(第 3 批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:12:14+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/e9c03212c50a2db8f6985ace88276542e977e243...09820e44a6711740e074fca2d3c9197fe3762a9d","Len":1}...
|
1785381136
|
Edit
Delete
|
|
19834
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"54fbe8877 {"Commits":[{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"}],"HeadCommit":{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/09820e44a6711740e074fca2d3c9197fe3762a9d...54fbe887771fc67dcc93c4691e84e33ab54875ef","Len":1}...
|
1785381584
|
Edit
Delete
|
|
19843
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
|
1785389071
|
Edit
Delete
|
|
19844
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/main...54fbe887771fc67dcc93c4691e84e33ab54875ef","Len":0}...
|
1785389071
|
Edit
Delete
|
|
19845
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
|
1785389090
|
Edit
Delete
|
|
19846
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"54fbe887771fc67dcc93c4691e84e33ab54875ef","Message":"员工预订码\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T11:19:43+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/main...54fbe887771fc67dcc93c4691e84e33ab54875ef","Len":0}...
|
1785389090
|
Edit
Delete
|
|
19848
|
17
|
17
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
|
1785389219
|
Edit
Delete
|
|
19849
|
17
|
17
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
|
1785389260
|
Edit
Delete
|
|
19850
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c2fc636e5 {"Commits":[{"Sha1":"c2fc636e5d4134cfb2587f23a6350c981225b076","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:25+08:00"}],"HeadCommit":{"Sha1":"c2fc636e5d4134cfb2587f23a6350c981225b076","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:25+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/54fbe887771fc67dcc93c4691e84e33ab54875ef...c2fc636e5d4134cfb2587f23a6350c981225b076","Len":1}...
|
1785389307
|
Edit
Delete
|
|
19851
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"601a745e6 {"Commits":[{"Sha1":"601a745e6de4760bb87edc8e09b386336718cf94","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:26+08:00"}],"HeadCommit":{"Sha1":"601a745e6de4760bb87edc8e09b386336718cf94","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:26+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/c2fc636e5d4134cfb2587f23a6350c981225b076...601a745e6de4760bb87edc8e09b386336718cf94","Len":1}...
|
1785389307
|
Edit
Delete
|
|
19852
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"d77c102ef {"Commits":[{"Sha1":"d77c102ef4f2f528669d20e991527cc205dc3cf7","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:27+08:00"}],"HeadCommit":{"Sha1":"d77c102ef4f2f528669d20e991527cc205dc3cf7","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:27+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/601a745e6de4760bb87edc8e09b386336718cf94...d77c102ef4f2f528669d20e991527cc205dc3cf7","Len":1}...
|
1785389308
|
Edit
Delete
|
|
19853
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"ed70a93bb {"Commits":[{"Sha1":"ed70a93bbf190028b8d3ee1b2555cf3e92313d1c","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:28+08:00"}],"HeadCommit":{"Sha1":"ed70a93bbf190028b8d3ee1b2555cf3e92313d1c","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:28+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/d77c102ef4f2f528669d20e991527cc205dc3cf7...ed70a93bbf190028b8d3ee1b2555cf3e92313d1c","Len":1}...
|
1785389309
|
Edit
Delete
|
|
19854
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3e255fec9 {"Commits":[{"Sha1":"3e255fec98f925842c31b6cd67dcc12802d52d82","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:30+08:00"}],"HeadCommit":{"Sha1":"3e255fec98f925842c31b6cd67dcc12802d52d82","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/ed70a93bbf190028b8d3ee1b2555cf3e92313d1c...3e255fec98f925842c31b6cd67dcc12802d52d82","Len":1}...
|
1785389311
|
Edit
Delete
|
|
19855
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"caf22f9c7 {"Commits":[{"Sha1":"caf22f9c7f7fb59692ca121c6a053b61bcc148fe","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:53+08:00"}],"HeadCommit":{"Sha1":"caf22f9c7f7fb59692ca121c6a053b61bcc148fe","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:53+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/3e255fec98f925842c31b6cd67dcc12802d52d82...caf22f9c7f7fb59692ca121c6a053b61bcc148fe","Len":1}...
|
1785389334
|
Edit
Delete
|
|
19856
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"db9ba38af {"Commits":[{"Sha1":"db9ba38afe307b9ce82b6b71678120bbe67c9d31","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:54+08:00"}],"HeadCommit":{"Sha1":"db9ba38afe307b9ce82b6b71678120bbe67c9d31","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:54+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/caf22f9c7f7fb59692ca121c6a053b61bcc148fe...db9ba38afe307b9ce82b6b71678120bbe67c9d31","Len":1}...
|
1785389336
|
Edit
Delete
|
|
19857
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"36729d00f {"Commits":[{"Sha1":"36729d00f9a6d1e5acff818144d6ee62808e71c2","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:55+08:00"}],"HeadCommit":{"Sha1":"36729d00f9a6d1e5acff818144d6ee62808e71c2","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:55+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/db9ba38afe307b9ce82b6b71678120bbe67c9d31...36729d00f9a6d1e5acff818144d6ee62808e71c2","Len":1}...
|
1785389336
|
Edit
Delete
|
|
19858
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"1474b483f {"Commits":[{"Sha1":"1474b483f9af3ab821994b6938c5ac74c680d018","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:56+08:00"}],"HeadCommit":{"Sha1":"1474b483f9af3ab821994b6938c5ac74c680d018","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:56+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/36729d00f9a6d1e5acff818144d6ee62808e71c2...1474b483f9af3ab821994b6938c5ac74c680d018","Len":1}...
|
1785389337
|
Edit
Delete
|
|
19859
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"d442d26dd {"Commits":[{"Sha1":"d442d26dd8cac6680356f8d6ae292fd826a31ed1","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:58+08:00"}],"HeadCommit":{"Sha1":"d442d26dd8cac6680356f8d6ae292fd826a31ed1","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:28:58+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/1474b483f9af3ab821994b6938c5ac74c680d018...d442d26dd8cac6680356f8d6ae292fd826a31ed1","Len":1}...
|
1785389339
|
Edit
Delete
|
|
19860
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"b488891c7 {"Commits":[{"Sha1":"b488891c7d961e735573170b808e9811787224a3","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:27+08:00"}],"HeadCommit":{"Sha1":"b488891c7d961e735573170b808e9811787224a3","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:27+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/d442d26dd8cac6680356f8d6ae292fd826a31ed1...b488891c7d961e735573170b808e9811787224a3","Len":1}...
|
1785389368
|
Edit
Delete
|
|
19861
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"440e142f9 {"Commits":[{"Sha1":"440e142f931db3a102b8777ccc46a79639233580","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:28+08:00"}],"HeadCommit":{"Sha1":"440e142f931db3a102b8777ccc46a79639233580","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:28+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/b488891c7d961e735573170b808e9811787224a3...440e142f931db3a102b8777ccc46a79639233580","Len":1}...
|
1785389369
|
Edit
Delete
|
|
19862
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a3736bd15 {"Commits":[{"Sha1":"a3736bd159cad64cf38eeee804dc27c63410e954","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:29+08:00"}],"HeadCommit":{"Sha1":"a3736bd159cad64cf38eeee804dc27c63410e954","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:29+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/440e142f931db3a102b8777ccc46a79639233580...a3736bd159cad64cf38eeee804dc27c63410e954","Len":1}...
|
1785389370
|
Edit
Delete
|
|
19863
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"7c77b1824 {"Commits":[{"Sha1":"7c77b18248dd7a4d670eff04f3c2fafeb5c78f5a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:30+08:00"}],"HeadCommit":{"Sha1":"7c77b18248dd7a4d670eff04f3c2fafeb5c78f5a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/a3736bd159cad64cf38eeee804dc27c63410e954...7c77b18248dd7a4d670eff04f3c2fafeb5c78f5a","Len":1}...
|
1785389371
|
Edit
Delete
|
|
19864
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"4287a2775 {"Commits":[{"Sha1":"4287a277573cbf67d9ec92b2048966c769aa185a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:31+08:00"}],"HeadCommit":{"Sha1":"4287a277573cbf67d9ec92b2048966c769aa185a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:31+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/7c77b18248dd7a4d670eff04f3c2fafeb5c78f5a...4287a277573cbf67d9ec92b2048966c769aa185a","Len":1}...
|
1785389372
|
Edit
Delete
|
|
19865
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
|
1785389436
|
Edit
Delete
|
|
19866
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"4287a277573cbf67d9ec92b2048966c769aa185a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:31+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/main...4287a277573cbf67d9ec92b2048966c769aa185a","Len":0}...
|
1785389436
|
Edit
Delete
|
|
19867
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
|
1785389465
|
Edit
Delete
|
|
19868
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"4287a277573cbf67d9ec92b2048966c769aa185a","Message":"清理旧版原型文件\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:29:31+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/main...4287a277573cbf67d9ec92b2048966c769aa185a","Len":0}...
|
1785389465
|
Edit
Delete
|
|
19871
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
{"Commits":[{"Sha1":"8dadbee44 {"Commits":[{"Sha1":"8dadbee446da721e6eaa2e1817a5637c1cb10c8e","Message":"上传 20260818 原型(第一批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:35:19+08:00"}],"HeadCommit":{"Sha1":"8dadbee446da721e6eaa2e1817a5637c1cb10c8e","Message":"上传 20260818 原型(第一批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:35:19+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/4287a277573cbf67d9ec92b2048966c769aa185a...8dadbee446da721e6eaa2e1817a5637c1cb10c8e","Len":1}...
|
1785389721
|
Edit
Delete
|
|
19872
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
{"Commits":[{"Sha1":"d8cadbc25 {"Commits":[{"Sha1":"d8cadbc258689a573d73bba31c2c4892d74f7cd0","Message":"上传 20260818 原型(第二批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:36:03+08:00"}],"HeadCommit":{"Sha1":"d8cadbc258689a573d73bba31c2c4892d74f7cd0","Message":"上传 20260818 原型(第二批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:36:03+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/8dadbee446da721e6eaa2e1817a5637c1cb10c8e...d8cadbc258689a573d73bba31c2c4892d74f7cd0","Len":1}...
|
1785389764
|
Edit
Delete
|
|
19873
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
{"Commits":[{"Sha1":"37c675e5c {"Commits":[{"Sha1":"37c675e5c4b3516101106eb3a34beaba0401d85e","Message":"上传 20260908 原型(第一批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:37:01+08:00"}],"HeadCommit":{"Sha1":"37c675e5c4b3516101106eb3a34beaba0401d85e","Message":"上传 20260908 原型(第一批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:37:01+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/4287a277573cbf67d9ec92b2048966c769aa185a...37c675e5c4b3516101106eb3a34beaba0401d85e","Len":1}...
|
1785389821
|
Edit
Delete
|
|
19874
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260908
|
1
|
{"Commits":[{"Sha1":"da9c32006 {"Commits":[{"Sha1":"da9c320067b5e81a642a18b7582e67346ef3da80","Message":"上传 20260908 原型(第二批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:37:41+08:00"}],"HeadCommit":{"Sha1":"da9c320067b5e81a642a18b7582e67346ef3da80","Message":"上传 20260908 原型(第二批)\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T13:37:41+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/37c675e5c4b3516101106eb3a34beaba0401d85e...da9c320067b5e81a642a18b7582e67346ef3da80","Len":1}...
|
1785389863
|
Edit
Delete
|
|
19923
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/20260818
|
1
|
{"Commits":[{"Sha1":"47201ea4d {"Commits":[{"Sha1":"47201ea4d2a6b8969ed04d4dba0983aaaa411af3","Message":"更新员工预订码业绩PC原型\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T14:47:07+08:00"}],"HeadCommit":{"Sha1":"47201ea4d2a6b8969ed04d4dba0983aaaa411af3","Message":"更新员工预订码业绩PC原型\n","AuthorEmail":"linmingzhang@g-hi.com","AuthorName":"linmingzhang","CommitterEmail":"linmingzhang@g-hi.com","CommitterName":"linmingzhang","Timestamp":"2026-07-30T14:47:07+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/d8cadbc258689a573d73bba31c2c4892d74f7cd0...47201ea4d2a6b8969ed04d4dba0983aaaa411af3","Len":1}...
|
1785394054
|
Edit
Delete
|