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
|
66cce5a765
|
feat(api): health 接口添加 storage 服务监控
- StorageService 添加 healthCheck 方法
- 健康检查响应增加 storage 状态
- 更新共享类型定义
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-20 10:37:33 +08:00 |
|
charilezhou
|
1627d98be5
|
feat: 更新数据模型和共享类型
- 更新 Prisma schema 添加 File 模型和相关字段
- 更新共享类型定义,添加文件和密码重置相关类型
- 添加 CaptchaScene.RESET_PASSWORD 场景
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-19 12:36:04 +08:00 |
|
charilezhou
|
b1496befd7
|
feat(shared): 添加验证码主题类型和调整菜单类型定义
- 新增 CaptchaTheme 枚举(light/dark)
- MenuResponse 移除 component 和 permission 字段
- MenuTreeNode 增加 isExternal、isStatic、isEnabled、sort 字段
- CreateMenuDto/UpdateMenuDto 移除 component 和 permission 字段
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-17 21:34:21 +08:00 |
|
charilezhou
|
ffb16efa62
|
feat(shared): 扩展权限系统相关类型定义
添加菜单、角色、权限相关的类型和接口定义,支持前后端共享。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-01-17 14:04:49 +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
|
458348a1a3
|
chore: 升级 Next.js 16 和 ESLint 9
- Next.js 从 15.1.3 升级到 16.1.1
- ESLint 从 8.x 升级到 9.39,迁移到 flat config 格式
- 将 .eslintrc.js 替换为 eslint.config.mjs
- 更新 eslint-config-next 到 16.1.1
- 添加 eslint-plugin-react 支持
- 更新 CLAUDE.md 版本信息
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-28 15:37:43 +08:00 |
|
charilezhou
|
b5e8b5e805
|
refactor: 使用 lodash-es 重写 shared 工具函数并升级 cuid
- shared 包工具函数改用 lodash-es 实现 (deepClone, isEmpty, capitalize 等)
- Prisma User.id 默认值从 cuid() 改为 cuid(2) 以使用更安全的 cuid2
- 更新 CLAUDE.md 文档,补充 @CurrentUser 装饰器和 lodash 使用约定
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-28 15:04:55 +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 |
|