mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-05-05 21:50:44 +08:00
feat(settings): support dual-mode wechat oauth defaults
This commit is contained in:
@@ -167,7 +167,7 @@ export function buildAuthSourceDefaultsState(
|
||||
: [],
|
||||
),
|
||||
grant_on_signup:
|
||||
raw[`auth_source_default_${source}_grant_on_signup`] !== false,
|
||||
raw[`auth_source_default_${source}_grant_on_signup`] === true,
|
||||
grant_on_first_bind:
|
||||
raw[`auth_source_default_${source}_grant_on_first_bind`] === true,
|
||||
};
|
||||
@@ -239,6 +239,33 @@ export function defaultWeChatConnectScopesForMode(mode: unknown): string {
|
||||
: "snsapi_login";
|
||||
}
|
||||
|
||||
export function resolveWeChatConnectModeCapabilities(
|
||||
openEnabled: unknown,
|
||||
mpEnabled: unknown,
|
||||
legacyMode: unknown,
|
||||
): { openEnabled: boolean; mpEnabled: boolean } {
|
||||
if (typeof openEnabled === "boolean" || typeof mpEnabled === "boolean") {
|
||||
return {
|
||||
openEnabled: openEnabled === true,
|
||||
mpEnabled: mpEnabled === true,
|
||||
};
|
||||
}
|
||||
|
||||
return normalizeWeChatConnectMode(legacyMode) === "mp"
|
||||
? { openEnabled: false, mpEnabled: true }
|
||||
: { openEnabled: true, mpEnabled: false };
|
||||
}
|
||||
|
||||
export function deriveWeChatConnectStoredMode(
|
||||
openEnabled: boolean,
|
||||
mpEnabled: boolean,
|
||||
legacyMode: unknown,
|
||||
): WeChatConnectMode {
|
||||
if (mpEnabled) return "mp";
|
||||
if (openEnabled) return "open";
|
||||
return normalizeWeChatConnectMode(legacyMode);
|
||||
}
|
||||
|
||||
/**
|
||||
* System settings interface
|
||||
*/
|
||||
@@ -315,6 +342,8 @@ export interface SystemSettings {
|
||||
wechat_connect_enabled: boolean;
|
||||
wechat_connect_app_id: string;
|
||||
wechat_connect_app_secret_configured: boolean;
|
||||
wechat_connect_open_enabled?: boolean;
|
||||
wechat_connect_mp_enabled?: boolean;
|
||||
wechat_connect_mode: string;
|
||||
wechat_connect_scopes: string;
|
||||
wechat_connect_redirect_url: string;
|
||||
@@ -472,6 +501,8 @@ export interface UpdateSettingsRequest {
|
||||
wechat_connect_enabled?: boolean;
|
||||
wechat_connect_app_id?: string;
|
||||
wechat_connect_app_secret?: string;
|
||||
wechat_connect_open_enabled?: boolean;
|
||||
wechat_connect_mp_enabled?: boolean;
|
||||
wechat_connect_mode?: string;
|
||||
wechat_connect_scopes?: string;
|
||||
wechat_connect_redirect_url?: string;
|
||||
|
||||
Reference in New Issue
Block a user