# 测试环境部署与联调说明 ## 1. MySQL 1. 在与 shanxia2.0 **同一测试实例**上创建库(勿写入 shanxia 业务库): ```sql CREATE DATABASE IF NOT EXISTS ajyy DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 2. 配置 `backend/.env`(可参考 `.env.example`): ```text DATABASE_URL=mysql+pymysql://USER:PASS@HOST:3306/ajyy?charset=utf8mb4 ``` 3. 首次启动后端会 `create_all` + 幂等种子(角色/菜单/admin/热线/二维码)。 默认管理员:`admin` / `Admin@123`(上线前务必修改)。 ## 2. MinIO 与 shanxia 测试环境相同 endpoint/密钥,**使用独立 bucket `ajyy`**: ```text 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. 启动后端 ```bash 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 管理端 ```bash cd web-admin npm install npm run dev # 开发:代理 /api → VITE_API_PROXY_TARGET # 或 npm run build # 产物在 dist/ ``` 生产建议:nginx 托管 `web-admin/dist`,并把 `/api`、`/uploads` 反代到 uvicorn。 示例: ```nginx 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) 1. 用 HBuilderX 打开 `mobile-wx/` 2. 修改 `mobile-wx/config/api.js` 中 `BASE_URL` 为可访问的后端地址(真机勿用 127.0.0.1) 3. 运行到浏览器 / 发行 H5,将静态资源部署到 HTTPS 域名 4. 管理端「二维码配置」中把 `land_url` 设为该 H5 落地地址;可上传自定义二维码图供分享弹层展示 ## 6. 最小联调路径 1. 启动 backend + web-admin 2. 管理端登录 `admin` / `Admin@123` 3. H5 提交一条「在线反馈」 4. 管理端「在线反馈」列表可见并办理状态 5. 修改「热线配置」后,H5「监督热线」刷新可见新电话