11 Commits

Author SHA1 Message Date
charilezhou
3943bd112f docs: 更新 OIDC Provider 文档并完善环境配置
文档更新:
- 从"实施方案"改为"实施文档",标记为已完成状态
- 添加快速开始章节,提供完整的使用示例
- 补充第一方应用自动授权的两种场景实现细节
- 补充 Grant Scope 存储的 payload 结构说明
- 新增客户端服务章节(cuid2 ID + 随机密钥)
- 更新关键文件清单(后端/前端/共享类型)

环境配置:
- 添加 FRONTEND_URL 配置
- 添加 OIDC Provider 开发环境配置

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 17:29:26 +08:00
charilezhou
90513e8278 feat: 实现完整的 OIDC Provider 功能
- 后端:基于 node-oidc-provider 实现 OIDC Provider
  - 支持 authorization_code、refresh_token、client_credentials 授权类型
  - Redis adapter 存储会话数据,Prisma adapter 存储持久化数据
  - 客户端管理 CRUD API(创建、更新、删除、重新生成密钥)
  - 交互 API(登录、授权确认、中止)
  - 第一方应用自动跳过授权确认页面
  - 使用 cuid2 生成客户端 ID

- 前端:OIDC 客户端管理界面
  - 客户端列表表格(支持分页、排序)
  - 创建/编辑弹窗(支持所有 OIDC 配置字段)
  - OIDC 交互页面(登录表单、授权确认表单)

- 共享类型:添加 OIDC 相关 TypeScript 类型定义

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 17:22:32 +08:00
charilezhou
8db25538d4 docs: 添加 OIDC Provider 实施方案文档
- 基于 panva/node-oidc-provider 的完整实施方案
- 混合存储策略:PostgreSQL(Client、Grant、RefreshToken)+ Redis(短期令牌)
- 前端采用 SSR + Server Actions,独立路由组 (oidc)
- 包含 Prisma 模型、适配器、控制器、前端页面等完整设计

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:02:48 +08:00
charilezhou
f126e03cf1 feat(plop): 代码生成器支持 CrudService 分层架构
- 新增 relation-parser.ts 关联关系 DSL 解析器
- 生成器支持三种服务类型选择:CrudService/RelationCrudService/ManyToManyCrudService
- 添加关联关系、多对多关系、统计关系配置问题
- 修复 helpers 导入路径扩展名问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 16:02:48 +08:00
charilezhou
0156e17131 refactor(api): CrudService 分层架构重构
- 新增 BaseCrudService 抽象基类,提取通用辅助方法
- 新增 RelationCrudService 支持关联查询和一对一关系管理
- 新增 ManyToManyCrudService 支持多对多关系管理
- 重构 CrudService 继承 BaseCrudService
- 迁移 UserService 到 ManyToManyCrudService(用户-角色多对多)
- 迁移 RoleService 到 ManyToManyCrudService(角色-权限、角色-菜单双多对多)
- 更新 CrudService 使用文档

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 15:37:27 +08:00
charilezhou
2a9e46a3f2 docs: 更新项目文档
- 更新 CLAUDE.md 中 HTTP 客户端说明(apiFetch -> http)
- 更新 docs/web/DESIGN.md 技术栈说明
- 添加任务工作流文档

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 14:07:35 +08:00
charilezhou
c2d9aaedc9 feat(web): 重构前端架构并完善认证系统
主要变更:
- 使用 shadcn/ui 重构 UI 组件库
- 实现 Zustand 状态管理(authStore、uiStore)
- 使用 axios 封装 HTTP 客户端,支持 token 自动刷新和加密
- 添加登录/注册表单,支持登录后跳转回原页面
- 实现 Dashboard 布局(Sidebar、Header、UserNav)
- 添加用户管理页面(DataTable、分页、编辑弹窗)
- 添加个人中心和系统设置页面
- 实现全局错误边界和 ErrorBoundary 组件
- 使用 Next.js 16 proxy.ts 替代 middleware.ts
- 修复 ThemeToggle 和 LoginForm 的水合错误

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 21:08:55 +08:00
charilezhou
c958271027 feat: 完善认证系统和前端 Demo 页面
- 添加图形验证码模块(登录/注册需验证码)
- 添加 refresh token 机制和 API 接口
- 认证响应返回 token 有效期
- 添加 Redis 模块支持验证码存储
- 添加前端验证码组件和用户管理 Demo 页面
- 添加 CRUD 基类和分页响应 DTO mixin
- 添加请求/响应加密模块(AES-256-GCM)
- 完善共享类型定义和前后端类型一致性
- 更新 CLAUDE.md 文档

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 19:17:11 +08:00
Charile Zhou
3567aaff4d feat: 切换 PostgreSQL 并实现软删除功能
- 数据库从 SQLite 切换到 PostgreSQL,添加 Docker Compose 配置
- 使用 dotenv-cli 支持 .env 和 .env.local 环境变量加载
- 使用 Prisma $extends 实现底层自动软删除机制
- 新增用户恢复和查询已删除用户的 API 接口
- 更新文档和类型定义
2025-12-31 20:24:54 +08:00
charilezhou
b5624a664d docs: 更新 CLAUDE.md 并格式化代码
- 补充 React 19、lodash-es、SQLite/cuid2 技术细节
- 运行 prettier 格式化受影响文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 16:36:19 +08:00
charilezhou
74ced8c0c6 chore: 初始化 monorepo 项目脚手架
- 配置 pnpm workspace + Turborepo
- 创建 Next.js 15 前端应用 (apps/web)
- 创建 NestJS 10 后端应用 (apps/api)
- 集成 Prisma ORM + Swagger + JWT 认证
- 添加共享包 (packages/shared, eslint-config, typescript-config)
- 添加项目文档 (README, CLAUDE.md, docs/design.md)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 14:51:40 +08:00