Files
2026-06-17 20:58:00 +08:00

109 lines
1.9 KiB
Markdown

# Backend
这是 `CollabLedger` 的后端实现,按 Vercel 官方的 Hono 方式组织:入口放在 `src/index.ts`,默认导出 `app`,部署到 `Vercel Functions``Node.js runtime`,并保持现有前端 API 协议兼容。
## 启动
```bash
pnpm install
pnpm dev:backend
```
默认本地地址:
```text
http://localhost:3000
```
`pnpm dev:backend` 使用直接的 Node 开发入口:
```bash
pnpm dev:backend
```
如果要按 Vercel 官方方式本地模拟,需要先全局安装 Vercel CLI:
```bash
pnpm add -g vercel
```
然后执行:
```bash
pnpm dev:backend:vercel
```
## 环境变量
先复制:
```bash
cp .env.example .env
```
最少需要配置:
- `DATABASE_URL`
- `REDIS_URL`
- `JWT_SECRET`
- `UPLOAD_DIR`
## Vercel CLI 部署
后端作为独立的 Vercel Project 部署。先全局安装并登录 Vercel CLI:
```bash
pnpm add -g vercel
vercel login
```
进入后端目录并关联项目:
```bash
cd backend
vercel link
```
配置生产环境变量:
```bash
vercel env add DATABASE_URL production
vercel env add REDIS_URL production
vercel env add JWT_SECRET production
vercel env add PUBLIC_FILE_BASE_URL production
```
连接串示例:
```env
DATABASE_URL=mysql://user:password@host:3306/collab_ledger
REDIS_URL=redis://:password@host:6379
```
如果 Redis 服务要求 TLS,使用 `rediss://`。Vercel Functions 不能连接本机 `127.0.0.1``localhost` 或 Docker 内网地址。
部署:
```bash
vercel deploy --prod
```
## 当前状态
已包含:
- Hono + Vercel 官方入口
- 统一响应/错误协议
- JWT + Redis 会话
- 登录/注册/验证码/当前用户
- 合作记录 CRUD
- 用户/角色/菜单/配置/公告/日志/监控接口骨架
仍需继续完善:
- 动态路由 `/getRouters`
- 更完整的权限与数据范围控制
- Excel 导出
- 在线用户、Redis 监控细节
- 上传文件持久化改造为对象存储或 Vercel Blob