docs: record Sense quota safety gate (#75)

ila
2026-08-28 11:40:25 +08:00
parent 502d61f5c7
commit 95965345e4
+7 -3
@@ -74,9 +74,13 @@ Sense\start_sense.bat
- 日志和文档没有秘密;未验证的 Brain、Bell、真机或生产行为明确标注。
<!-- sense-provisioning:start -->
## Sense 批量开通配置与排错
## Sense 批量开通与容量配额配置排错
`SENSE_PROVISIONING_QUOTA` 是可选正整数配置,缺省为 16;每个新批次会记录创建时的配额与已用数量快照。修改该值只影响后续批次,不把 16 变成容量承诺。部署环境未设置或值无效时回退为 16。
数据库迁移 `2026082812000_quota.go` 首次创建统一配额配置:读取当次迁移进程的可选 `SENSE_PROVISIONING_QUOTA` 正整数作为初值,未设置或无效时使用 16。迁移完成后,运行期配额以 PostgreSQL `sense_quota_settings` 为事实源,并由“容量与配额”页面受控调整;后续修改环境变量不会覆盖数据库值。每个批量开通批次仍记录创建时的配额与占用快照。
批量开通菜单和权限由数据库迁移 `2026082809000_provisioning.go` 建立。升级后看不到“批量开通”时,先确认迁移已成功、当前角色具有 `sense:provisioning:list`,再重新登录刷新动态菜单。导入被拒绝时检查模板只含 line_number/name/location/address,地址必须为不带账号、查询参数或片段的 HTTP(S) ONVIF 地址。条目失败时按页面可行动原因检查网络、获准网段、凭据和 #66 接入状态;仅重试失败项,不删除已经成功建立的设备。日志、导出和问题记录都不得粘贴摄像头凭据。
升级后看不到“容量与配额”时,确认迁移成功并重新登录刷新动态菜单。implementation_operator、site_admin、viewer 可读取容量;只有 site_admin 可调整配额和重新启用设备。调整必须填写原因。降低配额不会停止已有流;当占用达到或超过配额时,新增和启用返回冲突。
页面显示“配额配置不可读取”时,先确认 `sense_quota_settings` 的 ID 1 记录存在、limit 为 1–100000 的整数且数据库可读;不要通过手工插入设备绕过安全闸。配置不可读时已有流和查询应继续,新设备、重新启用和批量开通写入会返回服务不可用。32/64/128 的“未验证”状态不能作为容量承诺。
批量导入被拒绝时还应检查模板只含 line_number/name/location/address,地址必须为不带账号、查询参数或片段的 HTTP(S) ONVIF 地址。条目失败时按页面原因检查网络、获准网段、凭据和接入状态;仅重试失败项,不删除已成功设备。日志、导出和问题记录不得粘贴摄像头凭据。
<!-- sense-provisioning:end -->