Files
order_site/README.md
T
2026-04-08 22:21:11 +08:00

114 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# order-site-workspace
统一工作区版本的订单自动兑换系统。
## 目录结构
```text
apps/
backend/ Node + Express + Playwright + OCR worker
frontend/ Vue 3 + Vite + Element Plus
deploy/
caddy/ Caddy 配置
docker/ Dockerfile
docs/ 迁移与部署文档
docker-compose.yml
```
## 本地开发
前端:
```bash
cd apps/frontend
npm install
npm run dev
```
后端:
```bash
cp .env.development.example .env
cd apps/backend/subservices/ocr-worker
uv sync
cd apps/backend
npm install
npm run dev
```
## Docker 部署
```bash
cp .env.production.example .env
docker compose build
docker compose up -d
```
## Docker 本地开发
```bash
cp .env.development.example .env
docker compose -f docker-compose.dev.yml up -d --build
```
开发版 Compose 现在是热更新模式:
- 后端源码挂载到容器里,运行 `npm run dev`
- 前端源码挂载到容器里,运行 `vite`
- Caddy 只负责把 `80/443` 反代到前后端容器
通常只有首次启动、改 Dockerfile、改系统依赖时才需要 `--build`
开发版 Compose 会把后端数据目录直接挂载到:
- [apps/backend/data](/Users/yml/codes/order-site-workspace/apps/backend/data)
这样本地可以直接看到:
- SQLite 数据库
- `data/logs/*.log`
- 浏览器会话产物
- 截图和证明文件
当前 Dockerfile 已默认针对国内服务器优化以下下载源:
- Debian `apt` 使用腾讯云镜像
- `npm` 使用 `npmmirror`
- Python `pip` 使用腾讯云 PyPI 镜像
- 后端 Playwright 固定为 `1.42.1`,浏览器下载使用 `npmmirror`
如果你的服务器网络环境不同,也可以在构建时覆盖:
```bash
docker compose build \
--build-arg DEBIAN_MIRROR=mirrors.tuna.tsinghua.edu.cn \
--build-arg NPM_REGISTRY=https://registry.npmjs.org \
--build-arg UV_INDEX_URL=https://pypi.org/simple
```
默认入口:
- 前端与领取页:`https://你的域名/`
- 后端健康检查:`https://你的域名/health`
- 后端接口前缀:`https://你的域名/api/v1/...`
开发时如果只改业务代码,直接保留 `docker compose -f docker-compose.dev.yml up -d` 即可:
- 改后端 `src/`:容器内自动热重启
- 改前端 `src/`Vite 自动热更新
- 改 OCR Python:后端下次调用时直接走挂载后的最新源码
详细文档:
- [服务器部署教程](/Users/yml/codes/order-site-workspace/docs/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B.md)
- [首次上线检查清单](/Users/yml/codes/order-site-workspace/docs/%E9%A6%96%E6%AC%A1%E4%B8%8A%E7%BA%BF%E6%A3%80%E6%9F%A5%E6%B8%85%E5%8D%95.md)
- [开发环境模板](/Users/yml/codes/order-site-workspace/.env.development.example)
- [生产环境模板](/Users/yml/codes/order-site-workspace/.env.production.example)
## 迁移原则
- 不重写现有业务代码
- 先统一目录、部署和配置
- 生产环境优先使用 `.env` 和 Docker 卷
- 本机 Docker 调试优先使用 [docker-compose.dev.yml](/Users/yml/codes/order-site-workspace/docker-compose.dev.yml)