# 执行计划：部署遗漏修复 — BaseSimulator 参数不匹配

> **执行日期**: 2026-08-20
> **关联问题**: [问题分析_部署遗漏BaseSimulator导致门口屏启动失败.md](../问题处理/问题分析_部署遗漏BaseSimulator导致门口屏启动失败.md)
> **预计工时**: 5 分钟
> **风险等级**: 低（纯部署操作，代码已验证）

---

## 一、问题摘要

门口屏启动报错 `BaseSimulator.__init__() takes from 5 to 8 positional arguments but 9 were given`，因 `deploy_door_http_final.py` 部署时遗漏 `base_simulator.py` 文件，导致服务器上旧版基类不支持 `token_api_host` 参数。

---

## 二、修复步骤

### 阶段 1：补充部署脚本 + 部署到 5.60

**操作**：修改 `deploy_door_http_final.py`，补全缺失文件，然后执行部署。

| 文件 | 说明 |
|------|------|
| `backend/app/simulators/base_simulator.py` | **核心修复**：旧版缺少 `token_api_host` 参数 |
| `backend/app/simulators/__init__.py` | `create_simulator()` 透传 `token_api_host` |
| `backend/app/simulators/paperless_simulator.py` | `__init__` 统一 `token_api_host` 参数签名 |
| `backend/app/simulators/central_simulator.py` | 同上 |
| `backend/app/simulators/client_simulator.py` | 同上 |

### 阶段 2：部署后验证

| 验证项 | 方法 | 预期结果 |
|--------|------|----------|
| 健康检查 | `curl http://192.168.5.60/health` | `{"status":"healthy"}` |
| 门口屏启动 | 前端页面操作 + API | 启动成功，`running` 计数增加 |
| 无纸化启动 | 前端页面操作 + API | 启动成功（原有功能不受影响） |
| 中控启动 | 前端页面操作 + API | 启动成功 |
| 集控客户端启动 | 前端页面操作 + API | 启动成功 |

---

## 三、回滚方案

若部署后出现新问题，可通过 SSH 执行：
```bash
cd /data/third_party/plat-auto-test/backend/app/simulators/
git stash  # 如果服务器有 git，回退到上一次版本
# 或手动从备份恢复旧文件
```

---

## 四、完成标准

- [ ] 门口屏设备启动正常，不再报参数不匹配错误
- [ ] 无纸化设备启动正常（回归验证）
- [ ] 中控设备启动正常（回归验证）
- [ ] 集控客户端设备启动正常（回归验证）
- [ ] 更新 HANDOFF 文档记录本次修复

---

*本文档由 Claude Code 生成，2026-08-20*
