feat: handle remote clash config fields
This commit is contained in:
@@ -66,6 +66,10 @@ export async function changeProfileChain(chain?: string[]) {
|
||||
return invoke<void>("change_profile_chain", { chain });
|
||||
}
|
||||
|
||||
export async function changeProfileValid(valid?: string[]) {
|
||||
return invoke<void>("change_profile_valid", { valid });
|
||||
}
|
||||
|
||||
export async function getClashInfo() {
|
||||
return invoke<CmdType.ClashInfo | null>("get_clash_info");
|
||||
}
|
||||
|
||||
@@ -145,11 +145,12 @@ class Enhance {
|
||||
// enhanced mode runner
|
||||
private async runner(payload: CmdType.EnhancedPayload) {
|
||||
const chain = payload.chain || [];
|
||||
const valid = payload.valid || [];
|
||||
|
||||
if (!Array.isArray(chain)) throw new Error("unhandle error");
|
||||
|
||||
let pdata = payload.current || {};
|
||||
let useList = [] as string[];
|
||||
let useList = valid;
|
||||
|
||||
for (const each of chain) {
|
||||
const { uid, type = "" } = each.item;
|
||||
|
||||
@@ -116,6 +116,7 @@ export namespace CmdType {
|
||||
export interface ProfilesConfig {
|
||||
current?: string;
|
||||
chain?: string[];
|
||||
valid?: string[];
|
||||
items?: ProfileItem[];
|
||||
}
|
||||
|
||||
@@ -191,6 +192,7 @@ export namespace CmdType {
|
||||
|
||||
export interface EnhancedPayload {
|
||||
chain: ChainItem[];
|
||||
valid: string[];
|
||||
current: ProfileData;
|
||||
callback: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user