354 Commits

Author SHA1 Message Date
chenpei
440b1a7f60 fix: 将人员架构迁移纳入发布审计 2026-08-15 17:10:18 +08:00
chenpei
5e99c74e79 feat: 统一品牌中心入口与治理页体验 2026-08-15 16:56:43 +08:00
chenpei
cc6f6578be docs: 第一阶段交接文档(2026-08-15) 2026-08-15 14:24:00 +08:00
chenpei
6c6c282203 feat: 全站视觉统一白皮书语言 + 个人档案改造 + 顶栏平台化
视觉统一(Zen Minimal × Future Organic 白皮书语言,全站浅色单主题):
- 登录页:品牌→由壹点·品牌中心,白纸底+发丝线+柔光光晕,黑按钮
- 作品过稿:深灰头→白皮书,返回链接→返回创意资产库
- 绩效考核:桌面+移动双头部换白皮书,标题改绩效考核,返回改链接
- 组织架构:BoardShell+页面 76 处调色板全量替换(#eef1f4→#fafafa 等)
- admin 后台:MaterialsHeader(面包屑治理与设置),Tab 栏墨色高亮
- 深色主题废弃:globals.css 移除媒体查询,tailwind darkMode:'class' 不挂 .dark
- 设计文档同步更新:AGENTS.md UI 基线/DESIGN.md/PRODUCT.md/README.md/design-qa.md

个人档案(原个人中心):
- API 合并权威人员档案(getEmployeeByUserId → 花名/工号/部门/职位/M-P等级/主管/状态)
- 页面白皮书化:权威档案卡(只读 HR 字段)+ 账号区(头像上传)+ 素材/收藏

顶栏平台化:
- MaterialsHeader 双模式:首页(五板块导航+全套工具+菜单)/板块(面包屑)
- 菜单重排:我的档案/绩效考核/作品过稿看板‖更新记录/提交反馈‖治理与设置‖退出
- 菜单头身份行:花名+职位·部门(权威档案)
- 首页排序:01 创意资产库(全员)→ 02 组织管理(管理员)→ 03-05 规划中
- 素材库改名创意资产库,全站同步(索引/导航/卡片/按钮/页脚)
- 排行榜换白皮书(白底发丝线+琥珀前三名)

构建修复:
- tsconfig 排除 output/(本地审计临时文件不再卡类型检查)
- 存储边界门禁豁免 output/(与 .dockerignore 对齐)
2026-08-15 14:16:20 +08:00
chenpei
f8db4232ce feat: 第一阶段框架——登录落点切换为品牌中心看板首页
- 看板首页 / :Zen Minimal × Future Organic 融合(用户裁定),编号索引+柔光光晕+GSAP克制动效,白皮书气质
- 素材库首页整体迁移至 /materials(含colocated测试),全站返回素材库链接同步清扫
- 组织架构页上移为顶层 /organization(保留云采石场契约注释),旧路径 /admin/org 服务端跳转;API 迁移 /api/organization(逻辑零改动)
- 后台删除组织架构跳转按钮(白屏问题源头消失);middleware 增 /materials 登录门、/organization 管理员门
- 品牌统一:浅色顶栏用 loginLogoUrl(深色图案版),标题「由壹点·品牌中心」;字体自托管 @fontsource
- 可访问性收尾(评审fix项):全文对比度过WCAG、焦点环、加载骨架防闪灰、移动端状态可见、::selection
- PRODUCT.md/DESIGN.md 记录方向契约;测试基线 1815 通过/6 既有失败(无劣化)
2026-08-15 11:01:27 +08:00
chenpei
9d23656669 fix: 修复刘伟/江澄同名串档——删除外部交流刘伟账号,江澄账号绑定品类六部M1档案并升DEPT_ADMIN 2026-08-14 18:48:15 +08:00
chenpei
b2784ac279 chore: 新增花名与等级一致性审计脚本(排查同名串档) 2026-08-14 18:38:54 +08:00
chenpei
f63e04ba02 feat: 用户管理改为组织架构展示;花名册自动激活/角色判定;修复花名册同名串档(有花名=正式员工) 2026-08-14 18:36:14 +08:00
chenpei
1a2b9b0c52 fix: 组织架构树分支层点击可选中查看成员(评审发现的行为回归) 2026-08-14 17:28:40 +08:00
chenpei
ab2d24b95c refactor: 组织架构页移除冗余 visible 字段(评审清理) 2026-08-14 17:23:54 +08:00
chenpei
ec300cf199 feat: 新增组织架构页面(云采石场视觉方向),展示真实组织树与人员 M/P 等级/归属/主管/在职状态 2026-08-14 17:16:31 +08:00
chenpei
448bf62ff7 fix: 组织架构每日同步改为应用启动即调度(每日02:00 Asia/Shanghai),并排除 output/资料/截图等本地目录出构建上下文 2026-08-14 16:23:29 +08:00
chenpei
ce44459685 docs: 更新 CLAUDE.md,补充人员架构与组织同步说明
- 修正构建服务器 IP(192.168.42.134 → 192.168.40.206,以部署脚本为准)
- 新增上游报表库说明:花名册来自公司报表库而非钉钉通讯录,含关键表与状态码含义
- 新增人员架构与组织同步章节:数据模型、在职判定口径、离职联动、归属与署名分离
- 补充部署前置条件:所需环境变量、主机指纹、必须在内网执行
- 记录 2026-08-13 的三个迁移与数据操作结果
- 已知问题补充 5 条,含级联删除风险与 .env 特殊字符陷阱

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 10:13:31 +08:00
chenpei
7b0ee5efb4 feat: 人员架构统一到钉钉唯一值,接入上游组织架构动态同步
素材库与考核调研此前各有一套人事数据,彼此没有外键,靠姓名、邮箱在运行时
逐层软匹配。本次把身份判定收敛到钉钉唯一值,并让组织架构与人员状态跟随
上游 HR 系统自动更新。

人员身份
- 新增账号与权威人员档案的正式绑定表,活跃绑定双向唯一
- users.dingtalkUserId 补上唯一约束,数据库层面杜绝一人多号
- 移除钉钉登录的同名自动合并,同名冲突一律转人工核对
- 看板删除特判由比对用户名改为比对钉钉唯一值,避免同名越权

组织架构
- 新增 OrganizationUnit,直接镜像上游 HR 部门树
- 不再从员工部门路径倒推,同名部门不会再被合并
- 上游已删除的部门下线而非物理删除

人员状态
- 新增规范化的 employmentState,取代对混杂原始值做关键词匹配
- 接入上游离职表,离职判定不再依赖中文关键词
- 离职联动:归档账号并把素材托管给所在部门,默认只处理离职满 30 天者

素材归属
- 归属变更纳入正式转移,记录最初上传者、转移流水与理由
- 新增素材托管部门,归属与署名分离:托管只改维护责任,不动署名
- 编辑素材的权限判定统一到 canManageMaterial
- 修复任务-详情上传把邮箱误存为作者名的问题

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 09:53:48 +08:00
chenpei
33f4d0b9b8 fix: include upload id when finalizing chunked uploads 2026-08-13 14:21:30 +08:00
chenpei
53b314a056 fix: validate video SPU without rewriting input 2026-08-13 13:15:46 +08:00
江林铖
fa14bbc207 feat: hourly work review reminders 2026-08-13 12:23:23 +08:00
chenpei
930b22cd1e fix: preserve complete video SPU values 2026-08-13 12:18:21 +08:00
chenpei
0fe49db973 fix: validate video SPU names 2026-08-13 12:09:14 +08:00
chenpei
98068a4209 fix: 修复 Alpine 视频转码空间检查 2026-08-13 10:55:22 +08:00
chenpei
7968ee07c2 fix: 优化视频保护期分享页体验 2026-08-13 10:12:52 +08:00
chenpei
95825b54ea fix: reuse migration audit for code-only deploys 2026-08-13 09:27:46 +08:00
chenpei
2f4ee50a97 fix: allow protected video share links 2026-08-13 09:21:02 +08:00
chenpei
0255368562 fix: harden production deployment runtime setup 2026-08-13 00:07:03 +08:00
chenpei
440eee42e1 deploy: compare portable image config digests 2026-08-12 22:04:53 +08:00
chenpei
be3b5f9cee build: use bundled node headers for canvas 2026-08-12 21:29:49 +08:00
chenpei
c4eff7b2bb build: compile canvas without external binary download 2026-08-12 21:20:58 +08:00
chenpei
b2aac04c13 test: make release gates portable on Windows 2026-08-12 20:43:09 +08:00
chenpei
343b88cb98 fix: parse immutable registry digest 2026-08-12 20:00:13 +08:00
chenpei
a39208802e fix: resolve OCI image manifest digest 2026-08-12 19:52:15 +08:00
chenpei
fb6187a0b1 fix: streamline verified release builds 2026-08-12 19:44:23 +08:00
chenpei
4a6fa92589 fix: verify production host key on build server 2026-08-12 19:16:30 +08:00
chenpei
020006ceb7 fix: bound HTTP Gitea release fetches 2026-08-12 18:55:38 +08:00
chenpei
7c5f42ca40 fix: support pinned HTTP Gitea releases 2026-08-12 18:25:08 +08:00
chenpei
d4fb3971e9 Merge remote-tracking branch 'origin/main' into codex/video-logo-resilience-20260811 2026-08-12 18:16:07 +08:00
chenpei
7326e273e1 fix: harden media upload and release safety
Protect upload cleanup and atomic completion paths, add durable media worker leases and brand asset validation, and introduce verified migration/bootstrap/deployment gates.
2026-08-12 18:04:08 +08:00
江林铖
d2afa2bfe7 feat: show work description in review workspace 2026-08-11 13:34:11 +08:00
江林铖
17d45352d3 fix: stabilize mobile annotation box selection 2026-08-11 10:34:15 +08:00
chenpei
d69eb6e252 feat: 支持视频手动预览图 2026-08-07 23:28:55 +08:00
chenpei
a72bbf5fed chore: 统一权威仓库为 WuYongJie 2026-08-07 17:37:54 +08:00
chenpei
ebe4325db2 fix: prevent local proxy drift during deploys 2026-08-07 11:05:55 +08:00
江林铖
caeabb3b4f fix: keep annotation comments within mobile viewport 2026-08-07 10:02:13 +08:00
江林铖
634760393a fix: wrap long work review annotations 2026-08-07 09:32:11 +08:00
江林铖
52ad6aeb04 fix: harden performance survey xlsx downloads 2026-08-06 14:28:26 +08:00
江林铖
2163ddb4f7 fix: include all active DingTalk evaluators 2026-08-06 13:22:24 +08:00
江林铖
98c9b4900b feat: export performance survey dashboard to xlsx 2026-08-06 10:02:57 +08:00
江林铖
e7eb8d152e feat: restrict work review deletion to wuxie 2026-08-05 16:49:54 +08:00
chenpei
f627344616 fix: honor range for legacy material downloads 2026-08-03 16:55:08 +08:00
chenpei
fc20baf9d6 fix: preserve range downloads through s3 proxy 2026-08-03 16:28:59 +08:00
chenpei
57a9a946ab fix: restore task page previews and bound download memory 2026-08-03 15:42:02 +08:00