feat(t229): load ERP credentials from dotenv

This commit is contained in:
QiuSW
2026-07-29 10:25:56 +08:00
parent d75a7d8dc0
commit f0fbdbaddc
12 changed files with 396 additions and 26 deletions
+22 -2
View File
@@ -24,8 +24,28 @@ start/运行续租/release 和取消安全确认。
| `CMROUBAO_CLAIM_LEASE` | `10m` | CLAIMED 租约;允许 `1m` 至 `30m` |
| `CMROUBAO_RUNNING_LEASE` | `30m` | RUNNING/等待确认的离线执行授权;允许 `5m` 至 `120m` |
| `CMROUBAO_READINESS_TTL` | `2m` | 设备就绪 heartbeat 新鲜度;允许 `30s` 至 `10m` |
| `CMROUBAO_SHUNYUNBAO_URL` | `https://www.shunyunbaoerp.com` | 顺运宝 HTTPS origin |
| `CMROUBAO_SHUNYUNBAO_USERNAME` | 无 | 顺运宝账号;必须与密码同时设置 |
| `CMROUBAO_SHUNYUNBAO_PASSWORD` | 无 | 顺运宝密码;必须与账号同时设置 |
不会自动读取 `.env`。本地配置和 `var/` 运行数据不得提交。
### 本地 ERP `.env`
API 启动时只从当前目录读取 `.env`,标准启动脚本会先进入 `backend-api/`,因此文件位置
固定为 `backend-api/.env`。首次配置:
```powershell
Set-Location backend-api
Copy-Item .env.example .env
# 编辑 .env,填入顺运宝账号和密码
```
该文件只允许上述三个 `CMROUBAO_SHUNYUNBAO_*` 值,进程环境变量优先于同名 `.env` 值。
它不配置数据库、监听/TLS、`authctl` 密码或其他应用选项,也不会修改全局进程环境。缺失
`.env` 时 ERP 保持未配置,其他本地功能仍可启动。仅支持空行、整行 `#` 注释和 `KEY=VALUE`
(需要保留空格或 `#` 的值可使用成对单/双引号);不支持变量展开、命令或行内注释。
`.env` 已被 Git 忽略,应只保存在本机受限目录;`.env.example` 不得填入真实凭证。`var/`
运行数据同样不得提交。
## 命令
@@ -61,7 +81,7 @@ API 启动前会检查全部 migration 已应用;发现 pending migration 会
执行 `go run ./cmd/migrate up`,不会在服务进程内自动改表。
`authctl create-user` 和 `authctl reset-password` 的密码只从
`CMROUBAO_AUTH_PASSWORD` 读取,不接受命令行密码。
`CMROUBAO_AUTH_PASSWORD` 进程环境变量读取,不接受命令行密码或 ERP `.env`。
`create-device` 只在成功时输出一次设备 ID 和 256 bit 设备 token;原值应立即放入
设备安全配置,不得写入 Git、普通日志或共享文档。`enable-user`、`disable-user`、
`enable-device`、`disable-device` 是受支持的本地停用/恢复入口;禁用会让该主体的