Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 19 additions & 17 deletions .cursor/rules/ai-read.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ alwaysApply: true
- 使用 pinia element-plus typescript vite Axios dayjs vueuse
- Using dynamic import() to code-split the application

### 最新架构说明(2025-11-29)
- 旧版 UI 迁移到 `vue-legacy/`,新 `vue/` 目录仅保留:仪表板、全部邮件、转发管理、系统设置、调试模式、统一登录页,继续沿用动态加载与统一刷新机制。
- 项目切换到 **单管理员模式**:系统中只存在一个管理员账号,用户注册、邮箱申请/私信、用户管理、安全概览等功能全部移除。
- `/api/auth/register`、`/api/admin/**`、`/api/mailboxes/**`、`/api/user-info/**`、`/api/security-audit/**` 等接口均已下线,请以 `api/api-doc.yml` 最新版为准。
- 登录页仍根据 `allow_registration` 字段展示提示,但该字段只读,用于未来是否重新开放注册的判断;后端始终拒绝注册请求。

### 📋 开发规则

1. **数据库操作** - 无需复杂迁移,直接修改 `db/schema.sql` 后执行 `npm run db:init`
Expand All @@ -57,9 +63,9 @@ alwaysApply: true
### 🚀 开发环境

#### 环境配置
- **前端**:使用 Docker 容器运行,通过 `docker-compose up -d` 启动
- **后端**:使用 Docker 容器运行,通过 `docker-compose up -d` 启动
- **数据库**:通过 Docker 容器执行数据库操作,避免字符编码问题
- **前端**:在宿主机运行 `cd vue && npm run dev`
- **后端**:在宿主机运行 `cd worker && npx wrangler dev`
- **数据库**:直接使用 `wrangler d1` 命令执行操作

#### 目录结构

Expand All @@ -82,7 +88,6 @@ alwaysApply: true
│ ├── deploy.js 完整部署脚本
│ ├── dev.js 开发环境启动
│ └── db.js 数据库操作脚本
└── docker-compose.yml Docker 配置
```

### 前端目录结构介绍
Expand All @@ -94,16 +99,13 @@ MainLayoutView负责 登录后的页面展示
#### 开发命令

```bash
# 启动开发环境
docker-compose up -d

# 查看容器状态
docker-compose ps
# 启动前端
cd vue && npm run dev

# 停止容器
docker-compose down
# 启动 Worker
cd worker && npx wrangler dev

# 数据库操作(通过 Docker 容器执行)
# 数据库操作
npm run db:init # 初始化数据库
npm run db:init:remote # 初始化远程数据库
npm run db:migrate # 执行数据库迁移
Expand All @@ -117,11 +119,11 @@ npm run clean # 清理所有资源

#### 数据库操作

数据库操作通过 Docker 容器执行:
- 使用 `docker exec -it worker zsh -c "node scripts/db.js 'SELECT * FROM users'"` 执行 SQL 命令
- 使用 `docker exec -it worker zsh -c "node scripts/db.js U0VMRUNUICogRlJPTSB1c2Vycwo="` 执行 base64 编码的 SQL
- 使用 `docker exec -it worker zsh -c "node scripts/db.js init"` 初始化数据库
- 使用 `docker exec -it worker zsh -c "node scripts/db.js init --remote"` 初始化远程数据库
数据库操作直接通过 npm 脚本执行:
- 使用 `npm run db -- "SELECT * FROM users"` 执行 SQL 命令
- 使用 `npm run db -- U0VMRUNUICogRlJPTSB1c2Vycwo=` 执行 base64 编码的 SQL
- 使用 `npm run db:init` 初始化数据库
- 使用 `npm run db:init:remote` 初始化远程数据库
- 所有数据库操作都通过修改 `db/schema.sql` 完成,无需额外迁移脚本

#### 故障排除
Expand Down
22 changes: 0 additions & 22 deletions Dockerfile

This file was deleted.

Loading