2026-05-22 08:06:07 +08:00
|
|
|
|
# xk-hy-transit-go
|
|
|
|
|
|
|
|
|
|
|
|
外网 Windows 中转:从云端 xk-api 拉取监管组包 → 本机 MySQL 落库 → AES 签名 → 经内网 `xk-hy-forward-go` **双通道**上报政务云(28212 业务数据 + 28211 处方 PDF)→ 批量回调云端状态。
|
|
|
|
|
|
|
|
|
|
|
|
## 前置
|
|
|
|
|
|
|
2026-05-27 08:18:07 +08:00
|
|
|
|
1. 云端配置 `HY_TRANSIT_API_TOKEN`(与 Go `XK_API_TOKEN` 一致),可选 `HY_TRANSIT_PAYLOAD_ENCRYPT=true`(默认开启 result 传输加密),部署 `routes/hy.php` 与 `xk_hy_transit_cloud.sql`。
|
2026-05-22 08:06:07 +08:00
|
|
|
|
2. 本机执行 [`sql/hy_transit_schema.sql`](../sql/hy_transit_schema.sql)。
|
|
|
|
|
|
3. 内网部署 `xk-hy-forward-go`。
|
|
|
|
|
|
|
|
|
|
|
|
## 环境配置
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cp .env.example .env
|
|
|
|
|
|
# 编辑 .env 填写 XK_API_TOKEN、HY_*、FORWARD_BASE_URL、FILE_UPLOAD_VIA_FORWARD、MYSQL_DSN
|
2026-05-27 08:18:07 +08:00
|
|
|
|
# XK_API_TOKEN 同时用于鉴权 Header 与解密云端 result(SHA256 派生 AES-128 密钥)
|
2026-05-22 08:06:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
程序启动时自动 `godotenv.Load()` 读取 `.env`。
|
|
|
|
|
|
|
|
|
|
|
|
## 运行
|
|
|
|
|
|
|
2026-05-22 10:20:13 +08:00
|
|
|
|
**运营推荐**:直接双击或运行 `transit.exe`(无参数)。交互菜单 **10 秒内无操作** 将自动进入「定时执行(常驻)」;也可用菜单手动选「单次执行」或「定时执行」。超时秒数:`MENU_AUTO_SERVE_TIMEOUT_SEC`(默认 10)。
|
2026-05-22 08:06:07 +08:00
|
|
|
|
|
|
|
|
|
|
**完整命令说明**(单次 / 定时 / 计划任务 / 排错):见 **[docs/COMMANDS.md](docs/COMMANDS.md)**。
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 交互菜单(无参数)
|
|
|
|
|
|
go run ./cmd/transit
|
|
|
|
|
|
|
|
|
|
|
|
# 单次同步
|
|
|
|
|
|
go run ./cmd/transit sync --step=all --date=2026-05-18
|
|
|
|
|
|
|
|
|
|
|
|
# 定时常驻(默认每天 22:00)
|
|
|
|
|
|
go run ./cmd/transit serve
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
步骤:`consult` | `referral` | `recipe` | `verification` | `all`
|
|
|
|
|
|
|
|
|
|
|
|
应用日志默认目录:`log/transit/`(`pull` / `push` / `app` 按日滚动;控制台仅开始/结束/错误),详见 [docs/COMMANDS.md](docs/COMMANDS.md)。
|
|
|
|
|
|
|
2026-05-22 09:17:39 +08:00
|
|
|
|
### Web 控制台
|
|
|
|
|
|
|
|
|
|
|
|
`transit serve` 启动后自动打开 **暗色 Web 控制台**(默认 `http://127.0.0.1:8765/`):
|
|
|
|
|
|
|
|
|
|
|
|
- **文件日志**:app / pull / push 按日全文
|
|
|
|
|
|
- **同步流水**:本机三表关联,JSON 详情(拉取 payload → **推送明文** → 请求头/密文 → 政务云响应 → 推断回调)
|
|
|
|
|
|
- **测试执行**:页面触发一次 `sync`(与 CLI 相同,需 `LOG_WEB_ALLOW_TEST=true`)
|
|
|
|
|
|
|
|
|
|
|
|
无参数菜单选 **3) 查看日志** 可仅启动 Web(不跑 Cron)。环境变量:`LOG_WEB_ADDR`、`LOG_WEB_ALLOW_TEST`(见 `.env.example`)。
|
|
|
|
|
|
|
|
|
|
|
|
已有 MySQL 库需执行 [`sql/hy_push_log_plain_migration.sql`](../sql/hy_push_log_plain_migration.sql) 后,新同步记录才会落库推送明文。
|
|
|
|
|
|
|
2026-05-22 08:06:07 +08:00
|
|
|
|
## 接口文档
|
|
|
|
|
|
|
|
|
|
|
|
云端 API 说明:[`xk-api/docs/hy-transit-api.md`](../xk-api/docs/hy-transit-api.md)(WSL 路径以实际仓库为准)。
|
|
|
|
|
|
|
|
|
|
|
|
## Windows 部署
|
|
|
|
|
|
|
|
|
|
|
|
- 推荐:`transit.exe` 无参数 → 菜单选「定时执行」,或 `transit.exe serve` 注册为服务。
|
|
|
|
|
|
- 计划任务单次:见 `docs/COMMANDS.md` 中 `schtasks` 示例。
|