68 Commits

Author SHA1 Message Date
chenpei
d04d4ec34f fix: 同名替换成功后清掉残留的转码排空标记 2026-08-17 16:22:12 +08:00
chenpei
904535d7d9 fix: restore direct cached-image deployment 2026-08-16 11:21:17 +08:00
chenpei
b470d356c6 fix: 统一迁移校验换行符 2026-08-15 18:47:42 +08:00
chenpei
47f3b7e067 fix: 兼容旧容器上传挂载别名 2026-08-15 18:31:21 +08:00
chenpei
2c7df1765b fix: 将迁移审计从常规发布中剥离 2026-08-15 18:14:24 +08:00
chenpei
440b1a7f60 fix: 将人员架构迁移纳入发布审计 2026-08-15 17:10:18 +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
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
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
95825b54ea fix: reuse migration audit for code-only deploys 2026-08-13 09:27:46 +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
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
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
chenpei
90be76bb94 fix: 规范化部署脚本换行 2026-07-30 16:18:58 +08:00
江林铖
18835e4a6b refactor: 考核模板改为单配置模式 2026-07-29 19:35:55 +08:00
江林铖
417a3b0243 feat: 新增作品过稿看板及本地测试环境 2026-07-28 17:29:47 +08:00
chenpei
9d812f8c84 feat: 按岗位配置考核调研流程 2026-07-23 09:25:50 +08:00
chenpei
8cc531c810 fix: 保留内网登录代理 Host 2026-07-17 20:34:37 +08:00
chenpei
553e20c37e fix: 传递钉钉内网回跳配置 2026-07-17 19:11:33 +08:00
chenpei
3f56e0280f fix: 钉钉登录后安全返回内网 2026-07-17 18:55:37 +08:00
chenpei
7a93973838 完善考核调研评分流程并修复内网跨域 2026-07-13 10:49:07 +08:00
chenpei
779cdba8a1 fix: 收紧系统权限并完善考核调研链路 2026-07-10 10:57:16 +08:00
chenpei
2047e4eb2e 固化公网流量汇总链路 2026-07-08 14:35:15 +08:00
chenpei
a0df306a20 增强生产部署SSH预检稳定性 2026-07-08 09:53:44 +08:00
chenpei
048825715d 调整部署后的公网健康检查 2026-07-07 22:08:31 +08:00
chenpei
5e924e51f9 优化生产部署入口切换 2026-07-07 22:01:53 +08:00
chenpei
a119be80f3 修复考核调研移动端状态和入口样式 2026-07-07 21:21:30 +08:00
chenpei
a7d26810ad 适配构建机本地镜像仓库推送 2026-07-07 11:41:13 +08:00
chenpei
6f3182caf4 更新默认构建机地址 2026-07-07 11:35:01 +08:00
chenpei
a65757aedc chore: allow key-based build deployment 2026-07-04 13:08:10 +08:00
chenpei
ae321025eb feat: add public traffic stats admin tab 2026-07-04 13:06:47 +08:00
chenpei
c8556a281b feat: 数据统计趋势可视化升级 + 修复部署脚本 stderr bug
1. 趋势可视化升级(方案 A):
   - 新增 TrendLineChart 组件(自绘 SVG 折线图,无第三方依赖)
   - 每日/月度趋势从纯表格升级为面积折线图,默认图表视图
   - 数据补零 + 超过 90 天自动按周降采样
   - 统计摘要:峰值/均值/合计/环比,均值参考线,峰值标注
   - hover tooltip + 视图切换(图表/表格),表格视图完整保留
   - 修复 P1-2:每日趋势标题写死'近31天'改为动态显示真实天数
   - 表格视图去掉 .slice(-31) 截断,显示完整范围

2. 部署脚本 git-incremental-deploy.ps1 stderr bug 修复:
   - PowerShell 在 ErrorActionPreference=Stop 下把 git/plink 的 stderr
     提示当致命错误,导致部署在 Git Sync 阶段误中断
   - 在原生程序调用局部作用域改为 Continue,真实错误仍由 LASTEXITCODE 捕获
2026-06-27 14:21:45 +08:00
chenpei
8280124681 fix: fallback deploy image transfer 2026-05-29 19:07:01 +08:00
chenpei
9cd3c0f231 feat: 任务详情无条码开关 + 上传面板信息密度优化 + 历史导入/脚本补全
- 任务详情上传支持"本批素材无条码"开关,跳过条码必填校验
- SKU卡片/主图网格从4列改5列,图片高度压缩,去掉冗余标签和提示
- 详情图/PSD上传区去掉大占位框,改成紧凑按钮+标签
- 补充历史导入相关脚本和工具文件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-11 10:01:08 +08:00
chenpei
340f688b7b docs: align deployment and storage runbooks 2026-05-07 17:58:25 +08:00
chenpei
edee901790 feat: add git incremental deployment script 2026-05-07 17:17:35 +08:00
chenpei
8c39d96249 chore: sync latest project source 2026-05-07 16:37:22 +08:00