feat(代理): 代理配置按登录用户隔离——桌面端 current_uid 登录同步 + brand 页 proxy_users[uid] 读写,各用户各自代理池各自计费复用(未登录回退全局 proxy_url 兼容旧配置)

This commit is contained in:
2026-09-11 16:09:56 +08:00
parent bb52574767
commit 30d31fb318
3 changed files with 61 additions and 9 deletions
@@ -333,6 +333,17 @@ async function submitLogin() {
} catch {
/* 忽略 */
}
// 同步登录用户到桌面客户端配置:Python 端按 uid 选用该用户自己的
// 代理密钥/代理池(各自计费、各自复用省钱)。网页形态无 pywebview
// 桥,静默跳过。
try {
const bridge = (window as unknown as { pywebview?: { api?: { save_config?: (data: Record<string, unknown>) => Promise<unknown> } } }).pywebview
if (bridge?.api && typeof bridge.api.save_config === 'function') {
void bridge.api.save_config({ current_uid: String(data.userId) })
}
} catch {
/* 忽略 */
}
}
if (data.username) {
try {
@@ -365,6 +376,15 @@ onMounted(() => {
} catch {
/* 忽略 */
}
// 同步清掉客户端的登录用户标记:Python 端回退到全局/默认代理池
try {
const bridge = (window as unknown as { pywebview?: { api?: { save_config?: (data: Record<string, unknown>) => Promise<unknown> } } }).pywebview
if (bridge?.api && typeof bridge.api.save_config === 'function') {
void bridge.api.save_config({ current_uid: '' })
}
} catch {
/* 忽略 */
}
// 显式登出/切号后不再自动登录(保留记住的账号,仅关闭自动登录)
autoLogin.value = false
lsSet(AUTO_LOGIN_KEY, '0')