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:
@@ -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`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user