# EdgeKey 项目开发规范指南 本指南为AI助手提供EdgeKey项目开发迭代的标准流程和规范要求,确保代码质量和项目一致性。 ## 项目架构概览 ### 技术栈 - **前端框架**: Vue 3 + Vike(文件路由 + SSR) - **服务端**: Hono(路由与中间件) - **运行时**: Cloudflare Workers - **数据库**: Cloudflare D1(原生SQLite) - **ORM**: Prisma(Cloudflare适配器) - **UI框架**: Tailwind CSS + daisyUI - **构建工具**: Vite + Bun - **认证**: Auth.js(管理员账号密码登录) - **数据变更**: Telefunc(前后端同构RPC) ### 核心约束 1. **Cloudflare Workers环境限制**: - 禁止依赖`node:fs`、`node:path`等Node.js原生模块 - 使用Web Crypto API(`crypto.subtle`)处理签名,避免第三方加密库 - 脚本体积限制(免费版3MB),引入新依赖必须经过批准 2. **数据库特殊性**: - 使用Cloudflare D1(SQLite),非传统数据库 - 开发环境使用本地D1模拟器,生产环境使用远程D1 - 禁止使用`prisma migrate dev`,必须使用特定迁移工作流 ## 开发流程规范 ### 1. 环境准备 ```bash # 安装依赖(推荐使用Bun) bun install # 生成Prisma客户端(必须) bun run db:generate # 初始化本地数据库 bun run db:migrations:local bun run db:seed # 启动开发服务器 bun run dev ``` ### 2. 数据库变更流程 **重要**: 修改数据库表结构时必须遵循以下流程: #### 步骤1: 修改Schema并生成迁移SQL ```bash # 修改 prisma/schema.prisma 后,使用prisma migrate diff生成SQL bunx prisma migrate diff \ --from-migrations prisma/migrations \ --to-schema prisma/schema.prisma \ --script > prisma/migrations/000X_描述.sql ``` #### 步骤2: 同步到本地开发环境 ```bash bun run db:migrations:local ``` #### 步骤3: 部署前同步到生产环境 ```bash bun run db:migrations:remote ``` **禁止操作**: - ❌ 使用`prisma migrate dev` - ❌ 反复覆盖初始化迁移文件`0001_init.sql` - ❌ 假设`bun dev`使用的是`prisma/db.sqlite` ### 3. 代码提交与部署 ```bash # 构建项目 bun run build # 本地预览构建结果 bun run preview # 部署到Cloudflare Workers bun run deploy # 或等效命令 bun run up ``` ## 代码规范 ### 1. 文件组织 - **页面文件**: `pages/`目录,遵循Vike文件路由约定 - **组件**: `components/`目录,通用组件 - **业务逻辑**: `lib/`目录 - **功能模块**: `modules/`目录 - **服务端**: `server/`目录 - **数据库**: `prisma/`目录 - **静态资源**: `assets/`目录 ### 2. 命名规范 - **Vue组件**: PascalCase(如`AppButton.vue`) - **TypeScript文件**: camelCase(如`order-utils.ts`) - **数据库模型**: PascalCase(如`Admin`、`Order`) - **数据库字段**: camelCase(如`createdAt`、`paymentStatus`) ### 3. 组件开发规范 - 使用`