mkdir -p byt.cms/{api,admin,web,docs}
cd byt.cmscd api
npm create vite@latest . -- --template cloudflare-workers
npm installcd ../admin
npm create vite@latest . -- --template react-ts
npm install antd axioscd ../web
npm create vite@latest . -- --template vue-ts
npm install vue-router@4 pinia axios tailwindcss
npx tailwindcss init -pcd ../api
npx wrangler d1 create byt-cms在 api/sql/init.sql 中定义表结构:
- users - 用户表
- categories - 分类表
- videos - 视频表
- tags - 标签表
- video_tags - 视频标签关联表
- comments - 评论表
- video_sources_mapping - 视频源映射表
- site_config - 网站配置表
npx wrangler d1 execute byt-cms --file=sql/init.sql在 api/src/routes/ 目录下创建各模块路由:
- categories.ts - 分类管理
- videos.ts - 视频管理
- tags.ts - 标签管理
- comments.ts - 评论管理
- users.ts - 用户管理
- siteConfig.ts - 网站配置
- upload.ts - 文件上传
- videoSources.ts - 视频源管理
在 api/src/services/dbService.ts 中实现数据库操作函数。
在 api/src/services/videoSourceService.ts 中实现视频源抓取逻辑。
在 api/src/utils/apiDocs.ts 中配置 OpenAPI 文档。
在 admin/src/components/ 目录下创建各管理组件:
- Category - 分类管理
- Video - 视频管理
- Tag - 标签管理
- Comment - 评论管理
- User - 用户管理
- SiteConfig - 网站配置
在 admin/src/hooks/usePermission.jsx 中实现权限控制逻辑。
在 admin/.env 中配置 API 地址:
VITE_API_BASE=https://your-api-endpoint/api
在 web/src/router/index.ts 中配置前端路由:
- / - 首页
- /movie - 电影页
- /detail/:id - 视频详情页
在 web/src/components/ 目录下创建前端组件:
- VideoCard - 视频卡片
- Banner - 轮播图
- Search - 搜索组件
- Comment - 评论组件
- Pagination - 分页组件
- Player - 播放器组件
在 web/src/store/ 目录下创建状态管理:
- user.ts - 用户状态
- video.ts - 视频状态
在 web/.env 中配置 API 地址:
VITE_API_BASE=https://your-api-endpoint/api
cd api
npm run deploycd ../admin
npm run build
# 部署到 Vercel 或 Netlifycd ../web
npm run build
# 部署到 Vercel 或 Netlify使用 Postman 或 Swagger UI 测试 API 接口。
- 测试视频上传和播放
- 测试分类和标签管理
- 测试评论功能
- 测试用户登录注册
- 测试页面加载速度
- 测试 API 响应时间
- 测试数据库查询性能