feat: Prisma 用户落库、迁移与启动环境加载

- Prisma 7 + adapter-pg;prisma.config 与 users 初始迁移\n- AppModule 挂载 PrismaModule;PrismaService 仅依赖 DATABASE_URL\n- main 入口 dotenv/config,避免 Prisma 早于 Config 读 env\n- 短信登录 upsert User;默认昵称 Chat+手机号后四位\n- README / project-solution:目录、迁移规范、用户 avatar_url 说明\n- 依赖:dotenv、@prisma/adapter-pg、pg

Made-with: Cursor
This commit is contained in:
2026-04-22 01:21:11 +08:00
parent 6cc89062e1
commit bc13417efd
12 changed files with 325 additions and 21 deletions

View File

@@ -8,6 +8,23 @@
- 对外提供统一调用接口(自动路由)和指定平台调用接口;
- 提供用户管理、平台管理、用量统计。
## 目录
- [1. 技术选型(主流且简洁)](#1-技术选型主流且简洁)
- [2. 项目结构(推荐:按用户端/管理端强隔离)](#2-项目结构推荐按用户端管理端强隔离)
- [3. 模块职责](#3-模块职责)
- [4. API 设计(示例)](#4-api-设计示例)
- [5. 自动路由与统一格式方案](#5-自动路由与统一格式方案)
- [6. 依赖清单(核心)](#6-依赖清单核心)
- [7. 配置文件示例](#7-配置文件示例)
- [8. 数据库设计PostgreSQL](#8-数据库设计postgresql)
- [9. 缓存方案Redis](#9-缓存方案redis)
- [10. 登录与鉴权方案](#10-登录与鉴权方案)
- [11. 拆分演进路线(低成本)](#11-拆分演进路线低成本)
- [12. 最小可用开发流程MVP](#12-最小可用开发流程mvp)
- [13. 非功能建议(上线前)](#13-非功能建议上线前)
- [14. 一句话总结](#14-一句话总结)
---
## 1. 技术选型(主流且简洁)
@@ -171,7 +188,7 @@ chat-one-service/
- `POST /api/client/v1/auth/sms/login`
- 入参:`{ phone, code }`
- 出参:`{ accessToken, refreshToken, user }`
- 出参:`{ accessToken, refreshToken, user }``user``users` 表对齐,建议含 `id``phone``nickname``avatarUrl` 等;未落库前可为占位结构)
- `POST /api/client/v1/auth/refresh`
- 入参:`{ refreshToken }`
@@ -380,6 +397,7 @@ REDIS_KEY_PREFIX_ADMIN=chatone:admin
- `id` (bigserial pk)
- `phone` (varchar unique)
- `nickname` (varchar)
- `avatar_url` (varchar, nullable) — 头像地址HTTPS 对象存储或 CDN URL为空时客户端展示默认头像
- `status` (smallint, 1正常 0禁用)
- `created_at`, `updated_at`