# 总服务器中心 API 给**总服务器**单独用的服务:收工位机图片、提供图片 URL、接收识别结果。 不依赖相机、YOLO、客户端界面。把整个 `dish_server` 文件夹拷到云机即可。 ## 快速启动 Windows / Linux: 1. 安装 Python 3.10+(标准库即可,无需 torch) 2. 在本目录执行: ```bat python main.py ``` 也可在项目根目录: ```bat python -m dish_server ``` 上传接口:`http://116.147.40.47:9100`(与 `cpsb.ruimeida.cc` 同机) 图片落盘:`/data/tpweb` 对外访问:`https://cpsb.ruimeida.cc/tpweb/...`(由站点 Nginx 提供 HTTPS) 浏览器探活:`http://116.147.40.47:9100/api/health` → `"status": "up"`。 ## 配置 1. 复制 `env.example` 为 `.env` 2. 推荐: ``` DISH_API_HOST=0.0.0.0 DISH_API_PORT=9100 DISH_MEDIA_ROOT=/data/tpweb DISH_MEDIA_PUBLIC_BASE=https://cpsb.ruimeida.cc/tpweb ``` 3. 确保 Nginx 已把 `/tpweb/` 映射到 `/data/tpweb` 4. 安全组放行 **9100**(工位机上传用) ## 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/health` | 探活 | | POST | `/api/dish/media/upload` | 上传图片,返回 `url` | | GET | `/tpweb/...` 或 `/media/...` | 访问已上传图片(同目录) | | POST | `/api/dish/recognize/result` | 上报识别结果(字段为 URL) | | GET | `/api/dish/recognize/records` | 最近结果列表 | 数据目录: ``` /data/tpweb/ 图片(DISH_MEDIA_ROOT) dish_server/data/results/ 识别 JSON(可选) ``` ## 工位机怎么连 工位机客户端设置(或环境变量): ``` DISH_RESULT_API_MOCK=0 DISH_MEDIA_UPLOAD_URL=http://116.147.40.47:9100/api/dish/media/upload DISH_MEDIA_PUBLIC_BASE=https://cpsb.ruimeida.cc/tpweb DISH_RESULT_API_URL=https://cpsb.ruimeida.cc/api/public/recognition-orders ``` 客户端默认:上传到 `:9100`,上报 JSON 里的图为 `https://cpsb.ruimeida.cc/tpweb/...`。 ## 生产建议 - 对外图片 URL 必须用 HTTPS:`https://cpsb.ruimeida.cc/tpweb` - Nginx 将 `/tpweb/` 映射到 `/data/tpweb` - 云机一键部署:`bash deploy_tpweb.sh`