Stev_Wang
|
a3419cf5da
|
refactor(web): 收敛角色页权限点目录入口
ci / 质量门禁 (push) Canceled after 0s
背景:列表页页头「权限点目录」与详情面板「查看权限点目录」和编辑器权限点 Tab 信息重复,抽屉只读、无搜索、无操作,且页头出现两个并列动作。
改动:
- 移除列表页页头目录按钮与 PermissionCatalogDrawer 组件及对应样式;
- 详情面板删除「查看权限点目录」入口,保留「已选 n / 30」信息;
- 权限查看统一走编辑器「权限点」Tab(只读用户也可进入查看);
- 同步 A2 实施报告与设计说明。
验证:pnpm format:check / lint / typecheck / test 全绿;5173 实测页头仅保留「新建角色」,详情面板无目录入口。
|
2026-11-03 13:56:35 +08:00 |
|
Stev_Wang
|
fe70a2bcee
|
fix(web): 修复角色列表页头操作按钮未右对齐
ci / 质量门禁 (push) Canceled after 0s
背景:/system/roles 页头标题容器缺少 lx-roles__head-txt 类,且页头未设置 space-between,导致「权限点目录 / 新建角色」紧跟在标题后停在页面中间;编辑器/新建页因标题容器有 flex:1 不受影响。
改动:RolesPage 标题容器补 lx-roles__head-txt;.lx-roles__header 增加 justify-content:space-between,操作区增加 margin-left:auto。
验证:pnpm format:check / lint / typecheck / test 全绿;本地 5173 实测按钮回到右侧(1440×900 截图已更新)。
|
2026-11-03 13:44:51 +08:00 |
|
Stev_Wang
|
7824bc7b32
|
fix(dev): 明确启动不重置数据库并新增安全 db:init
ci / 质量门禁 (push) Canceled after 0s
背景:开发机每次重启后被反馈需要重新用默认密码登录并强改,排查确认仓库启动链路(dev.sh / pnpm dev / API / worker / db:seed)均不重置密码;只有 db:reset / migrate reset / 重建数据卷会恢复种子密码。A2 收尾时为干净截图执行过 db:reset,是最近一次重置的直接原因。
改动:
- 新增 pnpm db:init = prisma migrate deploy + 幂等 seed,作为首次/迁移后的安全初始化;不重置数据、不覆盖已有密码。
- README / dev.sh / AGENTS 命令契约 / SEED.md / A1·A2 实施报告明确:日常启动不需要 DB 命令,db:reset 仅用于清库。
- 实测:对已改密的 admin 执行 db:init 后 password_hash 与 must_change_password 均未变化。
验证:pnpm format:check / pnpm lint 通过;db:init 实际执行通过。
|
2026-11-03 13:37:34 +08:00 |
|
Stev_Wang
|
7fb458f62f
|
docs(plan): 回写 A2 完成状态并记录 H1 权限门决策
ci / 质量门禁 (push) Canceled after 0s
背景:A2 角色权限与数据范围已完成,需回写计划状态、实施报告与架构决策记录。
改动:
- 新增 docs/adr/ADR-001-权限点目录与六类数据范围.md 及 ADR 索引,记录 H1 权限门六项决策。
- 新增 A2 实施报告(范围、交付、门禁、遗留、回滚、下一步)。
- 更新开发计划 §5.2 / §6.3 / 文档状态,并同步根 README 文档索引。
|
2026-11-03 12:27:15 +08:00 |
|
Stev_Wang
|
61894df401
|
feat(identity): 完成 A2 角色权限与数据范围全栈落地
背景:A2 开卡前完成 H1 权限门,确认权限点目录、特殊权限、SoD 三对、六类数据范围与超管隐式全集口径(ADR-001)。
改动:
- shared:30 权限点 / 10 模块目录与元数据、特殊权限 6 编码、SoD 三对、角色与权限树契约;/me 改 dataScopes 多角色并集。
- prisma:expand 迁移新增 permissions / data_scopes;种子按原型口径重写角色权限、数据范围与 8 项特殊授予。
- api:角色 CRUD / 复制 / 停用 / 删除、权限点启动同步、SoD 40304、系统角色保护、六类范围 ScopeContext 与 CustomerDirectory 端口、变更审计与 outbox。
- web:方案 B 主从分栏三角色页面(列表 / 编辑器 / 新建),权限树、范围选择、特殊权限二次确认、保存影响、SoD 冲突、只读态与模板预填。
- 测试:角色集成 13 条 + A2 e2e 1 条;A1 全量回归。
验证:format:check / lint / typecheck / test(306)/ test:int(27)/ A2 e2e(1,复跑通过)/ openapi:export 全绿。
|
2026-11-03 12:26:51 +08:00 |
|
Stev_Wang
|
f97f97b0cd
|
refactor(web): 统一模块化路由并将平台更名为管理中心
ci / 质量门禁 (push) Canceled after 0s
背景:
- 落实 11-前端路由与目录规范:URL、导航、面包屑、页面目录一一对应;
- 「平台」更名「管理中心」,模块 key 由 platform 改为 system;
- 原导航模块 key 与 URL 首段不一致(script vs /scripts、asset vs /assets),
占位页按 URL 解析不到模块,出现「页面不存在」。
改动:
- nav-config:模块 key 改为 URL 首段(scripts / assets / system),平台更名
管理中心,管理中心全部路径收敛到 /system/*;用户页为 /system/users;
- routes / router:ROUTES 按模块分组;新增 /system/users、/system/users/new、
/system/users/:id;旧 /users* 与 /platform* 加前端重定向;/system 落到用户列表;
- 页面目录迁移:pages/users → pages/system/users,pages/home → pages/dashboard,
懒加载与所有引用同步;
- 面包屑、AppLayout、登录回跳、通用占位页(按路径 + 权限解析,无权限进 403)
与单测 / e2e 路径同步;
- 顺带修复 /scripts/library、/assets/library 等占位页因模块 key 不一致导致的 404。
影响面:
- 仅前端路由与目录;后端 /api/v1/users 等接口与权限点不变;
- 旧书签 /users*、/platform* 由前端重定向兼容一个版本。
回滚方式:
- 回滚本提交即恢复 /users 与 /platform/* 路由、原页面目录与导航命名。
验证证据:
- pnpm --filter @lingxi/web lint / typecheck / test 通过(15 files / 55 tests);
- pnpm build 通过;
- 浏览器:登录后落在 /system/users,导航显示「管理中心」;/users → /system/users,
/platform/roles → /system/roles;有权限的 /scripts/library、/assets/library
显示占位页,无权限显示 403;
- A1 e2e 6/6 通过(真实 API + 浏览器)。
|
2026-11-03 10:31:13 +08:00 |
|
Stev_Wang
|
a1e28daec5
|
docs(routing): 新增前端路由与目录规范并收敛计划路由
ci / 质量门禁 (push) Canceled after 0s
背景:
- 前端路由缺少统一规范:导航模块 key 与 URL 首段不一致,页面目录未镜像
路由,04 规范中的历史路由示例与实际实现不符;
- 用户确认「平台」更名为「管理中心」,路由统一为 /<模块>/<功能>。
改动:
- 新增 11-前端路由与目录规范:模块与基础路径表、路径语法(复数 kebab-case、
/new、:id、层级与 query 状态)、pages/<模块>/<功能>/ 目录映射、路由注册、
旧链重定向、新增页面检查清单;
- 04 §8 的 API-27 改为模块化路由并链接 11;工程规范索引与 AGENTS §9 登记 11;
- 开发计划:平台更名管理中心,附录 C 页面清单收敛为模块化路由,§7.1 / §8.3
同步,版本记录补「路由规范回写」;
- A1 实施报告路由说明更新为 /system/users(旧 /users* 重定向)。
影响面:
- 仅文档与规范,不改变功能范围、权限点与后端接口;后续批次按 11 执行。
回滚方式:
- 回滚本提交即恢复原附录 C 与 04 §8 描述;代码不受影响。
验证证据:
- pnpm format:check 通过;路由与代码行为见相邻的 web 重构提交。
|
2026-11-03 10:30:55 +08:00 |
|
Stev_Wang
|
f8b6232b4c
|
style(users): 优化搜索框图标间距与详情 Tab 左边距
ci / 质量门禁 (push) Canceled after 0s
背景:
- 用户与组织页搜索框的前缀图标与占位文字仅 8px,视觉偏挤;
- 详情卡片的 Semi Tab 标题默认无内边距,基本资料等标签贴住卡片左边缘。
改动:
- 搜索框前缀图标改为左 10px / 右 12px;
- 详情 Tab bar 左右内边距 20px(1024 断点下与内容一起收紧为 16px),
使 Tab 标题与下方「身份 / 权限 / 状态」内容左对齐。
影响面:
- 仅用户与组织页样式,不影响交互与接口。
回滚方式:
- 回滚本提交即恢复原间距。
验证证据:
- 1440×900 实测:前缀图标左 268 / 输入文字左 296,Tab 标题与内容均从 677 开始;
- pnpm format:check / web lint / typecheck / test(15 files / 55 tests)通过。
|
2026-11-03 09:53:08 +08:00 |
|
Stev_Wang
|
2c8dd5040f
|
fix(dev): 修复演示会话导致的登录回跳并默认输出运行日志
ci / 质量门禁 (push) Canceled after 0s
背景:
- dev.sh 会把仓库根 .env 的变量全部导出给子进程,其中
VITE_PUBLIC_DEMO_SESSION=true 被 Vite 读取后启用演示会话:登录写入
假 token,进入 /users 后真实接口 401、刷新失败即清会话回登录页;
- 后台启动后终端看不到运行日志,不利于排查。
改动:
- dev.sh 不再向子进程导出 VITE_*,前端环境仍由 Vite 自己管理;
- .env.example 的 VITE_PUBLIC_DEMO_SESSION 默认改为 false(本地
.env / .env.local 同步);
- ./dev.sh 默认启动后前台跟随日志(Ctrl+C 停止全部),新增
-d/--detach 后台模式;非交互环境仍默认后台;
- README 同步脚本用法。
影响面:
- 仅开发脚本与示例环境;生产与 CI 不涉及;演示会话仍可通过显式
VITE_PUBLIC_DEMO_SESSION=true 开启。
回滚方式:
- 回滚本提交即恢复后台启动与 VITE_* 透传行为。
验证证据:
- 浏览器登录会真实请求 POST /api/v1/auth/login,错误账号返回
「账号或密码不正确」;
- 真实账号登录后停留在 /users 并加载 9 条成员,不再回跳登录页;
- ./dev.sh -f 持续输出 api/web/worker 日志,SIGTERM 后服务与端口
全部释放;
- bash -n dev.sh 与 pnpm format:check 通过。
|
2026-11-03 09:45:09 +08:00 |
|
Stev_Wang
|
4f8f7c587d
|
fix(api): 允许 localhost 开发源访问 API
ci / 质量门禁 (push) Canceled after 0s
背景:
- 开发环境从 http://localhost:5173 打开页面时,用户与组织页报
「成员加载失败 / Failed to fetch」;
- 复现确认:API 的 WEB_ORIGIN 仅含 http://127.0.0.1:5173,
浏览器以 localhost 为 Origin 的预检响应缺少 Access-Control-Allow-Origin,
请求被浏览器拦截。
改动:
- config/env.ts 的 WEB_ORIGIN 默认值同时包含 127.0.0.1 与 localhost;
- .env.example 同步为逗号分隔的两个开发源。
影响面:
- 仅开发环境 CORS 白名单,生产仍由部署环境变量显式配置;
- 其他来源仍需按 WEB_ORIGIN 显式加入。
回滚方式:
- 回滚本提交并重启 API,即恢复仅允许 127.0.0.1:5173。
验证证据:
- OPTIONS /api/v1/users 对两个 Origin 均返回对应 Access-Control-Allow-Origin;
- 浏览器从 localhost / 127.0.0.1 发起 /me 均返回 401(网络可达,不再 Failed to fetch);
- pnpm --filter @lingxi/api typecheck / test(10 files / 60 tests)通过。
|
2026-11-03 09:36:16 +08:00 |
|
Stev_Wang
|
340a8ed176
|
style(login): 精简登录页宣传区并放大输入框图标间距
ci / 质量门禁 (push) Canceled after 0s
背景:
- 登录页左栏四张比例缩略图在真实页面中观感偏廉价;
- 输入框前缀图标与占位文字间距仅 8px,视觉上偏挤。
改动:
- 左栏移除 9:16 / 1:1 / 16:9 / 4:3 素材缩略及相关数据与样式,保留品牌、定位与三条能力;
- 登录卡片输入框前缀图标改为左 10px / 右 14px,后缀图标左 12px / 右 8px,图标与提示文字拉开距离;
- 清理 login-content 与 pages.css 中不再使用的素材墙代码。
影响面:
- 仅登录页视觉,不影响登录逻辑、接口与权限。
回滚方式:
- 回滚本提交即恢复原素材墙与输入框间距。
验证证据:
- pnpm --filter @lingxi/web lint / typecheck / test 通过(15 files / 55 tests);
- pnpm --filter @lingxi/web build 通过;
- 1440×900 与 1280×900 截图核对,无溢出、图标与文字间距正常。
|
2026-11-03 07:46:47 +08:00 |
|
Stev_Wang
|
f11d6759fb
|
docs(plan): 回写 A1 阶段完成状态
ci / 质量门禁 (push) Canceled after 0s
背景:
- A1 身份认证与用户管理已完成并推送(4d9eb98),开发计划需与执行状态同步。
改动:
- 顶部状态更新为 A0 / A1 已完成、A2 待启动;
- 批次总览 A1 标记为已完成,并补充 A1 进度与验证证据;
- 6.2 A1 WBS 增加状态列并标注完成,补充实施报告链接与遗留;
- 版本记录新增「V0.1(进度回写 A1)」。
影响面:
- 仅计划文档的进度回写,不改变范围、EPD、质量门禁与验收口径。
回滚方式:
- 回滚本提交即恢复「A1 待启动」的表述,无代码与数据影响。
验证证据:
- pnpm format:check 通过;
- 进度数据对应 A1 实施记录:shared 95 / api 60 / web 55,test:int 7,A1 e2e 6/6。
|
2026-11-03 07:40:13 +08:00 |
|
Stev_Wang
|
46959fd5fc
|
chore(dev): 增加开发机一键启动脚本 dev.sh
ci / 质量门禁 (push) Canceled after 0s
背景:
- 开发机上前端/后端/worker 需要分别启动,端口被旧进程占用时排查成本高;
PostgreSQL / Redis 已按约定提前以 Docker 启动,脚本不再负责。
改动:
- 新增 ./dev.sh:后台启动 api(3000)/web(5173)/worker,启动前自动检测并结束
端口占用进程(--no-kill 可改为直接失败),等待健康检查后返回。
- 提供 start/stop/restart/status/logs/clean 子命令;stop 按进程组结束并兜底
释放端口;支持 --api-only/--web-only/--no-worker/--follow。
- 自动加载仓库根 .env.local/.env 并导出给子进程(worker 读取 REDIS_URL 需要)。
- .dev/ 纳入 gitignore;README 本地开发章节补充脚本用法。
影响面:
- 仅新增开发工具与文档,不影响构建、运行时与 CI;`pnpm dev` 保持原行为。
回滚方式:
- 回滚本提交即可,无数据与配置变更。
验证证据:
- bash -n 通过;
- ./dev.sh start / status / stop / restart / clean / --follow 实测;
- 占用 3000/5173 的假服务被自动结束并成功启动;
- --no-kill、--api-only、--no-worker 行为符合预期。
|
2026-11-03 07:31:50 +08:00 |
|
Stev_Wang
|
4d9eb980af
|
feat(identity): 完成 A1 身份认证与用户管理全栈落地
ci / 质量门禁 (push) Canceled after 0s
背景:
- 开发计划 A1 批次要求登录/刷新/登出、用户生命周期、路由与按钮权限、
权限三态用例;视觉已选定方案 B(主从分栏 + 分屏登录)。
改动:
- packages/shared:新增 identity 契约(User/Me/Login/Refresh/Department/Role)
与 user:view 权限点;写接口 strict 校验。
- apps/api:新增 identity 模块与 Prisma expand 迁移(departments/users/roles/
user_roles/role_permissions/refresh_tokens);Argon2id、JWT access+refresh
旋转与 jti 吊销、登录失败锁定、首登强改、守卫链、/me、@Audit 上下文、幂等种子。
- apps/web:按方案 B 落地 /users、/users/new、/users/:id、分屏登录与 403;
usePermission/<Can>、路由守卫、401 单飞刷新、停用会话兜底、Semi + token。
- e2e:新增 A1-QA-01 六类端到端用例(A1_E2E 门控)。
- openapi 与前端生成类型同步;.env.example 登记认证变量;实施报告入库。
影响面:
- 新增运行时依赖 @nestjs/jwt、argon2(计划 A1-BE-02 已批准,版本精确锁定)。
- 迁移为 expand,不改既有表;本地需 prisma migrate 后重新 seed。
- 平台导航「用户与组织」由 /platform/users 调整为 /users。
回滚方式:
- 代码整体回滚本提交;迁移为 expand,回滚代码不需删表;
- 本地如需彻底回退按实施报告 §6 处理。
验证证据:
- pnpm format:check / lint / typecheck 通过;
- pnpm test:shared 95 / api 60 / web 55;
- pnpm test:int:7 个(真实 PG/Redis);
- A1_E2E=1 playwright test e2e/a1-identity.spec.ts:6/6;
- 报告:docs/开发计划/灵犀_A1身份认证与用户管理_实施报告_V0.1.md
|
2026-11-03 00:03:33 +08:00 |
|
Stev_Wang
|
f0d218bd99
|
docs(plan): 标注 A0 阶段完成状态
ci / 质量门禁 (push) Canceled after 0s
背景:A0 工程骨架与契约基线已完成并通过全部门禁。
改动:开发计划状态改为执行中;M0 批次总览增加状态列并标注 A0 已完成;
A0 WBS 增加状态列与完成说明;回写执行证据与环境/范围偏差。
影响面:仅 M0 进度标注,不改变范围与验收口径。
回滚方式:还原本文件至上一提交。
验证:format:check 通过;A0 门禁与本地 CI 全绿见 A0 实施报告。
|
2026-11-02 20:27:22 +08:00 |
|
Stev_Wang
|
2f200fc9d9
|
docs(infra): 接入公网 RustFS 对象存储
ci / 质量门禁 (push) Canceled after 0s
背景:项目方提供公网 RustFS(https://oss.xinsenidea.com,桶 lingxi-dev)。
改动:.env.example 填入 endpoint / 桶名占位;README 与 A0 报告记录
对象存储接入方式与验证结果;真实密钥仅保存在本地 .env / .env.local。
影响面:环境变量样例与文档,无运行时代码变更。
回滚方式:还原 .env.example 与文档即可。
验证:list buckets、HEAD bucket、PUT/GET/DELETE 探针对象均成功;
format:check、lint、typecheck、test 全绿。
|
2026-11-02 18:32:38 +08:00 |
|
Stev_Wang
|
5628e158c0
|
fix(infra): 移除本地 S3 容器并改用 check:dev
ci / 质量门禁 (push) Canceled after 0s
背景:本地 PG/Redis 已按要求复用 docker-postgres-1 / docker-redis-1;
S3 容器按用户要求删除,后续接入公网自建 RustFS。
改动:
- 删除 infra/docker-compose.dev.yaml、infra/compose.dev.yaml
- 移除 compose:up / compose:down 脚本,改用 check:dev 预检本机 PG/Redis
- 新增 scripts/check-dev-deps.mjs;.env.example 的 S3_* 改为待填
- README / AGENTS / A0 报告同步本地依赖与对象存储说明
影响面:本地开发依赖与 CI 本地脚本、环境变量样例、文档。
回滚方式:恢复被删除的两个 compose 文件与 package.json 脚本即可。
验证:format:check、lint、pnpm ci:local(含 e2e 4/4)全部通过,用时 106.3s。
|
2026-11-02 18:26:24 +08:00 |
|
Stev_Wang
|
620cb93a46
|
fix(infra): 本地 PG/Redis 复用已有 Docker 服务
ci / 质量门禁 (push) Canceled after 0s
背景:此前误将宿主端口冲突当作新建 compose 服务的理由,实际应按技术架构使用本机已有 PostgreSQL/Redis。
改动:
- 删除 lingxi-pg / lingxi-redis 容器及数据卷,不再另起数据库;
- DATABASE_URL 改回 127.0.0.1:5432/lingxi,REDIS_URL 改回 127.0.0.1:6379;
- 在已有 docker-postgres-1 中创建 lingxi 库并执行迁移/seed;
- compose 仅保留无法拉取镜像的 S3 兼容服务;
- README、A0 报告同步依赖来源。
影响面:仅本地开发依赖与文档;代码/接口/数据模型不变。
回滚方式:git revert 本提交,并按旧 compose 重新初始化(不推荐)。
验证:migrate deploy、db:seed、test:int、pnpm ci:local(85.9s)全部通过。
|
2026-11-02 18:21:09 +08:00 |
|
Stev_Wang
|
68b5ca20f4
|
ci(ci): 支持本地 CI 并调整开发库凭据
ci / 质量门禁 (push) Canceled after 0s
背景:Gitea 暂未部署 Actions runner,远程 CI 会停留在 queued;本地开发库按约定改用 lingxi / postgres / postgres。
改动:
- 新增 pnpm ci:local,按 CI 工作流顺序执行 compose、格式、Lint、类型、单测、构建、迁移种子、集成、OpenAPI 与 e2e;
- 新增 scripts/e2e.mjs 管理 vite preview 生命周期,e2e 改为单 worker 避免退出挂起;
- openapi:export 生成后自动 Prettier,保持工作区干净;
- compose、.env.example、CI services 数据库凭据统一为 postgres/postgres,库名 lingxi;
- README、AGENTS、A0 报告同步本地 CI 与数据库说明。
影响面:仅本地开发与 CI 执行方式,无业务代码/接口/数据模型变更;本地库已重建为 lingxi/postgres。
回滚方式:git revert 本提交;数据库需按回滚后的 compose 凭据重新初始化。
验证:pnpm ci:local 全绿(158s),format:check、lint、typecheck、openapi:diff 通过。
|
2026-11-02 18:14:08 +08:00 |
|
Stev_Wang
|
e35637cfd7
|
docs(plan): 更新 A0 报告交付状态
ci / 质量门禁 (push) Canceled after 0s
背景:仓库已改为仅 main 直推,短分支已全部删除。
改动:A0 报告头部由历史实施分支改为最终交付方式。
影响面:仅文档。
回滚方式:git revert 本提交。
验证:format:check 通过。
|
2026-11-02 17:40:54 +08:00 |
|
Stev_Wang
|
dd01b89214
|
docs(docs): 调整分支策略为仅 main 直推
ci / 质量门禁 (push) Canceled after 0s
背景:用户确认仓库只保留 main,不再创建任何远程分支或走 PR 合并。
改动:
- 01-Git规范 V1.1:仅 main 直推,禁止非 main 分支推送、force push 与 Merge commit;
- AGENTS V1.1:变更流程改为直接提交并推送 main;
- 07-CodeReview:PR 模板改为提交说明,合并流程改为推送与推送后观察;
- 03/06/工程规范 README 同步去除 PR 措辞;
- CI 仅保留 push main 与 workflow_dispatch 触发。
影响面:仅流程与文档,无代码/数据/接口变更。
回滚方式:git revert 本提交即可恢复旧流程。
验证:format:check、lint、typecheck 全绿(10/10)。
|
2026-11-02 17:40:01 +08:00 |
|
Stev_Wang
|
043f0d9962
|
docs(plan): 补全开发计划与项目索引
ci / 质量门禁 (pull_request) Canceled after 0s
引入 M0–M4 开发计划(含 A0 WBS、门禁与七管理模块专项),并在 README、AGENTS 同步文档索引;保留 A0 已完成状态。
|
2026-11-02 17:29:59 +08:00 |
|
Stev_Wang
|
63d8889bee
|
build(api): 提交 OpenAPI 契约快照
ci / 质量门禁 (pull_request) Canceled after 0s
ci / 质量门禁 (push) Canceled after 0s
固化 A0 基线契约(OpenAPI 3.1,含 ErrorCode/ErrorResponse 与 x-error-codes),供 openapi:diff 做破坏性变更检测。
|
2026-11-02 17:22:32 +08:00 |
|
Stev_Wang
|
98a5343e53
|
docs(docs): 补充 A0 实施报告与本地开发说明
记录 A0 完成范围、门禁实测、环境适配与待确认事项;README 补充本地启动、演示登录及 A0 状态。
|
2026-11-02 17:22:13 +08:00 |
|
Stev_Wang
|
1876c56008
|
test(ci): 增加 Playwright 冒烟用例
覆盖登录进入工作台、403/404 错误页、模块切换与面包屑联动,并接入 CI 产物归档。
|
2026-11-02 17:21:55 +08:00 |
|
Stev_Wang
|
073d210a92
|
feat(web): 搭建 Web 壳层与 UI 包基线
React 19 + Vite 6 + Router 7 + TanStack Query + Zustand;Semi 二次封装与 Remix 图标统一出口;顶部模块 + 左侧功能菜单布局、Cloud Blue 主题、登录页与 401/403/404/500 页面;请求层含 token 注入、单飞刷新与统一错误提示。
|
2026-11-02 17:21:16 +08:00 |
|
Stev_Wang
|
23067edb8f
|
feat(api): 搭建 API 与 Worker 骨架及契约基线
NestJS 11 + Fastify 统一错误体与 trace_id,/health 真实探活 DB/Redis,OpenAPI 3.1 契约含 20 个错误码;shared 包提供错误码、权限点、ULID、分页与通用 schema;worker 完成队列进程骨架。
|
2026-11-02 17:20:46 +08:00 |
|
Stev_Wang
|
09dbb27b66
|
build(db): 初始化本地依赖与 Prisma 基线
提供 PG18/Redis7.4/S3 本地 compose、环境变量样例与 Prisma 首版迁移;建立 outbox_events、idempotency_keys、system_configs 三张平台骨架表及幂等种子。MinIO 镜像不可得,本地以 S3Mock 替代。
|
2026-11-02 17:20:32 +08:00 |
|
Stev_Wang
|
b3a2a843bb
|
build(ci): 建立单仓工具链与质量门禁
统一 pnpm 10 + Node 24.15.0 + Turborepo 单仓,落地 ESLint 9 flat、Prettier、commitlint、husky 与 Gitea CI,作为后续批次的一致门禁。
|
2026-11-02 17:20:17 +08:00 |
|
Stev_Wang
|
75cedbe97b
|
docs: 明确 Git 提交信息与 PR 标题使用中文
原 GIT-05 要求 subject 用英文祈使句,与团队实际书写习惯不符(已有提交均为
中文),且缺少中英混排与术语约定,容易写出 Chinglish、自造术语或中英标点混乱。
本次改动:
- GIT-05 改为「提交信息一律使用中文」,type / scope 保留英文小写,规定祈使句、
字数(≤50 汉字 / 整行 ≤72 字符)与不加句末标点;
- 新增 GIT-21~GIT-23:中英文间加空格、使用全角标点与反引号、术语沿用 PRD 术语表、
禁止 Chinglish 与无信息缩写;
- 新增 §2.2 commitlint 配置要点:中文必须关闭 subject-case、拦截中文句号,
否则钩子校验实际无效;
- 同步 03(commit-msg 钩子说明)、07(PR-01 标题用中文)与 AGENTS §7 / §9 / 附录。
影响面:仅文档,无代码影响。新规则对后续提交生效,已推送的历史提交不改写
(GIT-15 禁止改写 main 历史)。
回滚方式:git revert 本提交。
|
2026-11-02 15:12:56 +08:00 |
|
Stev_Wang
|
c50ee7b57a
|
docs(repo): rewrite README to current product baseline
原 README 仍指向 PRD V0.3 与已废弃的「四大模块」。改为三主线 + 一底座,
补齐文档索引、目标目录结构与本地开发入口。
影响面:仅文档,无代码影响。回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
00ae12435e
|
docs(specs): add AGENTS.md and engineering guidelines
项目尚无统一工程规范,AI 助手与研发各自发挥导致返工风险。建立
总纲 + 细则两层结构:AGENTS.md 只写硬约束与索引(14 条红线、技术栈
基线、仓库结构、命令契约),细则拆为 10 份文档覆盖 Git、代码风格、
格式化、API 与路由、数据库、测试与 CI、Review、日志、密钥、资产命名。
影响面:仅文档。约束力从本轮起对新建代码生效;与现状冲突处以文档为准。
回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
d062d79465
|
docs(proposal): add project initiation proposal V0.1
补入立项阶段的背景论证与投入测算,作为 PRD 的上游背景材料;
本文只用于追溯决策,不约束实现。
影响面:仅文档,无代码影响。回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
f23ed1e6f8
|
docs(arch): add technical architecture V0.4
代码开建前缺少技术事实来源。补入技术架构 V0.4:全栈 TypeScript 选型、
模块化单体与 8 个业务模块、数据模型与隔离策略、接口与异步任务协议、
11 条 ADR,需求基线对齐 PRD V1.6。
影响面:仅文档,无代码影响。回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
a9b579c7fa
|
docs(prd): add PRD V1.6 for deterministic image pipeline
需求基线从 PRD V0.3 升级到 V1.6:图片线由「AI 生成」改为确定性流水线
(PSD 套版 + 抠图 + 多规格合成),新增 R-29/R-30 与 Q-30~Q-32,
并补齐行业包、要素卡、视频逐镜、平台管理等章节。
影响面:仅文档,无代码影响。回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
6f644c053b
|
chore(repo): ignore local reference project directories
参考项目仅用于本地对照查阅,入库会污染仓库并带来版权风险。除既有的
参考项目/ 外,补齐 项目参考/ 目录。
影响面:无。回滚方式:git revert 本提交。
|
2026-11-02 15:09:51 +08:00 |
|
Stev_Wang
|
4d6bf20714
|
chore: 新增标准 .gitignore
|
2026-10-30 15:49:39 +08:00 |
|
Stev_Wang
|
5faf6fde2d
|
chore: 重置仓库,仅保留 docs 目录与 README(切换新赛道)
|
2026-10-30 15:30:00 +08:00 |
|