mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-31 16:26:30 +00:00
fix(frontend): monitor form check-mode restore, account unbinding and mode badge
审计 P2-7 三处前端收尾: - 切离 antigravity 时对称还原 check_mode:antigravity 强制 quota,但反向 切走没有还原——编辑存量 antigravity 监控换平台后停留在 quota,目标平台 未必支持。现切走时还原为 probe 并清掉占位模型 'quota'(回填值),否则 probe 模式拿 'quota' 当探活模型(与离开 grok 清 DEFAULT_GROK_MODEL 同一先例)。 - update 切回 probe 显式发 account_id=0:后端语义 0=解绑、null=不动, 此前 probe 模式 payload 带 null,存量关联永远清不掉。仅 update—— create 发 0 会落 &0 触发外键违约(API 类型注释同步写明)。 - 管理列表 provider 徽章旁并列 check_mode 徽章(checkModeLabel 此前 定义了却无处使用):quota 系=蓝、probe=中性灰,三种模式一眼可分; i18n 复用既有 monitorCommon.checkMode.*,零新增键。
This commit is contained in:
@@ -675,6 +675,14 @@ function selectProvider(provider: Provider) {
|
||||
if (provider === PROVIDER_ANTIGRAVITY && form.check_mode !== CHECK_MODE_QUOTA) {
|
||||
form.check_mode = CHECK_MODE_QUOTA
|
||||
}
|
||||
// 对称还原:从 antigravity 切走时撤掉强制 quota,否则编辑存量 antigravity
|
||||
// 监控换平台后仍停留在 quota(目标平台未必支持),update 会携带残留配置。
|
||||
// 同步清掉 quota 占位模型(loadFromMonitor 回填的 'quota'),否则切回
|
||||
// probe 后拿 'quota' 当探活模型(与离开 grok 清 DEFAULT_GROK_MODEL 同理)。
|
||||
if (previousProvider === PROVIDER_ANTIGRAVITY && form.check_mode === CHECK_MODE_QUOTA) {
|
||||
form.check_mode = CHECK_MODE_PROBE
|
||||
if (form.primary_model.trim() === 'quota') form.primary_model = ''
|
||||
}
|
||||
if (provider === PROVIDER_GROK) {
|
||||
if (!form.endpoint.trim()) form.endpoint = DEFAULT_GROK_ENDPOINT
|
||||
if (!form.primary_model.trim()) form.primary_model = DEFAULT_GROK_MODEL
|
||||
@@ -849,6 +857,9 @@ async function handleSubmit() {
|
||||
req.clear_template = true
|
||||
delete req.template_id
|
||||
}
|
||||
// account_id 同理:probe 模式不带账号,update 发 0 显式解绑存量关联
|
||||
// (后端 0=清空、null=不动)。仅 update——create 发 0 会落 &0 触发 FK 违约。
|
||||
if (!usesQuotaMode.value) req.account_id = 0
|
||||
await adminAPI.channelMonitor.update(target.id, req)
|
||||
appStore.showSuccess(t('admin.channelMonitor.updateSuccess'))
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user