deploy-test.md 2.6 KB

测试环境部署与联调说明

1. MySQL

  1. 在与 shanxia2.0 同一测试实例上创建库(勿写入 shanxia 业务库):
CREATE DATABASE IF NOT EXISTS ajyy DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  1. 配置 backend/.env(可参考 .env.example):
DATABASE_URL=mysql+pymysql://USER:PASS@HOST:3306/ajyy?charset=utf8mb4
  1. 首次启动后端会 create_all + 幂等种子(角色/菜单/admin/热线/二维码)。

默认管理员:admin / Admin@123(上线前务必修改)。

2. MinIO

与 shanxia 测试环境相同 endpoint/密钥,使用独立 bucket ajyy:

STORAGE_TYPE=minio
MINIO_ENDPOINT=...
MINIO_ACCESS_KEY=...
MINIO_SECRET_KEY=...
MINIO_BUCKET=ajyy
MINIO_SECURE=false
MINIO_BASE_URL=   # 可选,对外访问前缀

本地开发可用 STORAGE_TYPE=local,文件落在 LOCAL_STORAGE_DIR,通过 /uploads 静态访问。

3. 启动后端

cd backend
python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env       # 按环境填写
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

健康检查:GET http://HOST:8000/api/health

4. Web 管理端

开发端口:5173(web-admin/vite.config.ts)。

cd web-admin
npm install
npm run dev                # http://127.0.0.1:5173 ,代理 /api → VITE_API_PROXY_TARGET
# 或
npm run build              # 产物在 dist/

生产建议:nginx 托管 web-admin/dist,并把 /api、/uploads 反代到 uvicorn。

示例:

location /api/ {
  proxy_pass http://127.0.0.1:8000/api/;
}
location /uploads/ {
  proxy_pass http://127.0.0.1:8000/uploads/;
}
location / {
  root /path/to/web-admin/dist;
  try_files $uri $uri/ /index.html;
}

5. 移动端 H5(uni-app)

开发端口:5174(mobile-wx/manifest.json → h5.devServer.port),与 web-admin 的 5173 区分。

  1. 用 HBuilderX 打开 mobile-wx/
  2. 修改 mobile-wx/config/api.js 中 BASE_URL 为可访问的后端地址(真机勿用 127.0.0.1)
  3. 运行到浏览器(本地一般为 http://127.0.0.1:5174)/ 发行 H5,将静态资源部署到 HTTPS 域名
  4. 管理端「二维码配置」中把 land_url 设为该 H5 落地地址;可上传自定义二维码图供分享弹层展示

6. 最小联调路径

  1. 启动 backend + web-admin
  2. 管理端登录 admin / Admin@123
  3. H5 提交一条「在线反馈」
  4. 管理端「在线反馈」列表可见并办理状态
  5. 修改「热线配置」后,H5「监督热线」刷新可见新电话