81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
# 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
|
|
cd apps/backend
|
|
npm install
|
|
cd subservices/ocr-worker
|
|
uv sync
|
|
cd ../..
|
|
cp config/local.example.cjs config/local.cjs
|
|
npm run dev
|
|
```
|
|
|
|
## Docker 部署
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
docker compose build
|
|
docker compose up -d
|
|
```
|
|
|
|
当前 Dockerfile 已默认针对国内服务器优化以下下载源:
|
|
|
|
- Debian `apt` 使用腾讯云镜像
|
|
- `npm` 使用 `npmmirror`
|
|
- `uv` 通过 `pip` 安装,`uv` / `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/...`
|
|
|
|
详细文档:
|
|
|
|
- [服务器部署教程](/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)
|
|
- [生产环境变量模板.env](/Users/yml/codes/order-site-workspace/docs/%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%A8%A1%E6%9D%BF.env)
|
|
|
|
## 迁移原则
|
|
|
|
- 不重写现有业务代码
|
|
- 先统一目录、部署和配置
|
|
- 生产环境优先使用 `.env` 和 Docker 卷
|