# Product ## Platform web ## Stack Next.js 14 (App Router) + React 18 + TypeScript + TailwindCSS + PostgreSQL(Prisma)。既有代码库已定栈。 ## Users - **系统管理员**:维护平台人员与组织数据,需要看到全量真实组织架构、人员归属、职级与汇报线。 - **部门负责人**:查看本部门组织与人员情况(本部门范围内)。 - 用户为内部员工(非程序员),界面需日常语言、少术语、可直接读。 ## Product Purpose 把「由壹点3D素材库」逐步改造为「品牌中心部门看板」(对内品牌:**由壹点·品牌中心**,隶属由壹点软件集团)。第一阶段(2026-08-15)已完成:登录落点切换为看板首页 `/`,素材库整体迁至 `/materials`,组织架构上移为顶层 `/organization`(旧路径 `/admin/org` 服务端跳转)。 ## Positioning 以钉钉唯一值为唯一人员身份判定依据,统一接入公司 HR 报表库(非钉钉通讯录),人员/组织数据全平台一致;考核调研与素材库共用同一份权威人员主档,业务特殊数据隔离在各自专属表。素材库为在产系统,改造期间上传/下载/分享/权限链路不动。 ## Operating Context - 人员权威数据源:公司 SQL Server 报表库(`rpt` schema),每日 02:00(Asia/Shanghai)自动同步组织架构→在职状态→离职联动。 - 只有「开过素材库账号 + 已建立钉钉绑定」的人员进入展示/统计体系(约 503 人);无账号的仓储/物流等约 1200 人不纳入。 - 在职判定用规范化 `employmentState`(ACTIVE/RESIGNED/UNKNOWN,UNKNOWN 视为在职),不用关键词匹配。 ## Capabilities and Constraints - 看板首页 `/`:五大板块编号索引(01 创意资产库全员可进 / 02 组织管理仅管理员 / 03-05 规划中如实标灰),入场"对焦"动效,悬停物理重量语言。 - 创意资产库 `/materials`:原素材库首页,业务功能不动;顶栏已统一为看板语言(MaterialsHeader,功能与旧顶栏等价)。 - 组织架构页 `/organization`:组织树 + 人员列表,展示 M/P 等级、人员归属(部门路径)、直属主管、在职状态。 - 纯展示(只读),不改数据。 - 权限:系统管理员看全部;部门负责人看本部门。 - 离职人员默认隐藏,可切换「含离职」。 - 无绑定账号(无钉钉 ID,约 15 人)与部门未确定人员(约 57 人)单独分组,不消失、不硬塞部门。 - 数据缺口如实展示:直属主管覆盖率低(约 158/503)、部分人员无 M/P 等级。 ## Brand Commitments - 平台名:由壹点·品牌中心(隶属由壹点软件集团;素材库模块沿用「由壹点3D素材」之名)。 - **首页视觉方向(2026-08-15 用户裁定):Zen Minimal × Future Organic 融合**——白纸(#fafafa)黑字(#1a1c1d)的瑞士编辑排印、发丝线、超大留白、编号索引列表(作品集语言)、右上角唯一柔紫光晕(#6e79c8 系)缓慢呼吸;平面化无阴影,黑实心按钮 8px 圆角。方向源自用户在 Stitch 自生成的候选 3/4 + 作品集文件夹两份 DESIGN.md(Monochrome/Studio Minimalist)。此前的「云采石场」语言仅保留在组织架构页(BoardShell),后续按新方向对齐。 - **logo 双版本规则**:黑底表面(素材库旧顶栏)用 `headerLogoUrl`(亮色图案);浅底表面(看板首页、BoardShell)用 `loginLogoUrl`(深蓝+橙图案)。两者内容不同,不可混用。 - **全站浅色单主题(2026-08-15 裁定)**:深色主题废弃,`tailwind darkMode: 'class'` 且不挂 `.dark`;新代码禁止 `dark:` 类。 - 动效标准:略丰富但克制(用户既定),GSAP + matchMedia(prefers-reduced-motion) + fromTo + clearProps,200-500ms,信息效率优先。 ## Evidence on Hand - 思维导图:`资料/品牌中心部门看板(初版).jpg`(5 大板块规划)。 - 交接文档:`docs/人员架构界面切换-交接文档-2026-08-14.md`。 - 数据盘点:`scripts/diagnose-people-architecture.ts`(只读,可重复跑)。 ## Product Principles 1. 人员身份只认钉钉唯一值;姓名/邮箱仅人工排错,不自动建绑定。 2. 只展示「有账号+绑定」的人,无账号的仓储/物流等不纳入统计。 3. 在职判定用规范化 `employmentState`,UNKNOWN 视为在职(宁可多留)。 4. 数据如实展示,不造假:主管/等级缺失就显示"未记录"。 5. 归属与署名分离:素材归属与作者署名对不上通常是正确的,不"修正"。 ## Accessibility & Inclusion 内部后台工具,目标用户为内部员工;遵循基础可访问性(语义化、键盘可操作、对比度达标)。