采购服务
启动前必须显式设置下列环境变量;服务不提供默认管理员账号、密码或会话密钥。
| 变量 | 要求 |
|---|---|
CMBUYER_ADMIN_USERNAME |
非空管理员账号。 |
CMBUYER_ADMIN_PASSWORD_BCRYPT |
非空 bcrypt 密码哈希,不接受明文密码。 |
CMBUYER_SESSION_SECRET |
至少 32 字节的会话签名密钥。 |
CMBUYER_COOKIE_SECURE |
可选;存在时只能精确为 true 或 false。HTTPS 部署应设为 true。 |
CMBUYER_DATABASE_SOURCE |
已迁移 SQLite 的显式 data source。 |
CMBUYER_AUTHORIZATION_TTL |
一次性授权的正 Go duration,例如 10m。 |
CMBUYER_MAX_TASK_QUANTITY |
每条任务允许的正整数数量上限。 |
CMBUYER_MAX_TOTAL_PRICE |
每条任务允许的规范正数总价上限,例如 999.99。 |
示例仅展示变量名,不提供可运行凭据:
$env:CMBUYER_ADMIN_USERNAME = '<管理员账号>'
$env:CMBUYER_ADMIN_PASSWORD_BCRYPT = '<bcrypt 密码哈希>'
$env:CMBUYER_SESSION_SECRET = '<至少 32 字节的随机密钥>'
$env:CMBUYER_COOKIE_SECURE = 'true'
$env:CMBUYER_DATABASE_SOURCE = '<SQLite data source>'
$env:CMBUYER_AUTHORIZATION_TTL = '10m'
$env:CMBUYER_MAX_TASK_QUANTITY = '99'
$env:CMBUYER_MAX_TOTAL_PRICE = '999.99'
go run ./cmd/migrate -database $env:CMBUYER_DATABASE_SOURCE up
go run ./cmd/server
采购服务会话仅保存在当前进程内;进程重启后既有登录会话会安全失效。 管理员的“开始采购(只创建待付款订单)”只签发一次性授权并创建待付款订单的资格;服务不会自动付款,也不包含任何支付操作。