前后端分离项目,使用 EdgeOne Pages + Hono + EdgeOne KV 部署。
Economy/
├── frontend/ # Vue 3 前端
│ ├── src/
│ └── dist/ # 构建产物
└── backend/ # Hono 后端
├── src/
│ ├── routes/ # API 路由
│ ├── schemas/ # 数据验证
│ ├── db/ # KV 存储层
│ └── utils/ # 工具函数
├── scripts/ # 数据初始化脚本
├── package.json
└── wrangler.toml # Cloudflare Workers 配置
- Vue 3 + TypeScript
- Pinia 状态管理
- Vue Router
- Axios HTTP 客户端
- Hono Web 框架
- EdgeOne KV 存储
- JWT 认证
- Zod 数据验证
cd backend
npm install
npm run dev后端运行在 http://localhost:8787
cd frontend
npm install
npm run dev前端运行在 http://localhost:5173
在 EdgeOne 控制台创建 KV 命名空间,获取 Namespace ID
编辑 backend/wrangler.toml:
[[kv_namespaces]]
binding = "KV"
id = "your-kv-namespace-id"
preview_id = "your-preview-kv-namespace-id"
[vars]
JWT_SECRET = "change-this-to-a-random-secret"cd backend
npm install
npm run deploycurl -X POST https://your-worker-url/init-admin \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"your-password"}'curl -X POST https://your-worker-url/init-datacd frontend
npm run build使用 EdgeOne Pages MCP 部署 frontend/dist 目录
在 EdgeOne Pages 配置中设置:
VITE_API_URL=https://your-worker-url/apiPOST /api/auth/register- 用户注册POST /api/auth/login- 用户登录GET /api/auth/me- 获取当前用户POST /api/auth/logout- 用户登出
GET /api/chapters- 获取章节列表GET /api/chapters/stats- 获取分类统计GET /api/chapters/:id- 获取章节详情POST /api/chapters- 创建章节(管理员)PUT /api/chapters/:id- 更新章节(管理员)DELETE /api/chapters/:id- 删除章节(管理员)
GET /api/user/progress- 获取用户进度POST /api/user/progress- 更新学习进度GET /api/user/progress/:chapterId- 获取单章节进度