mirror of
https://github.com/black-ant/Ant-Browser.git
synced 2026-07-14 18:48:55 +08:00
channel: master version: 1.1.0 source-ref: master published-at-utc: 2026-03-20T14:14:07Z
82 lines
2.6 KiB
TypeScript
82 lines
2.6 KiB
TypeScript
import type { DashboardStats } from './types'
|
|
|
|
const getBindings = async () => {
|
|
try {
|
|
return await import('../../wailsjs/go/main/App')
|
|
} catch {
|
|
return null
|
|
}
|
|
}
|
|
|
|
export async function fetchDashboardStats(): Promise<DashboardStats> {
|
|
const bindings: any = await getBindings()
|
|
if (bindings?.GetDashboardStats) {
|
|
try {
|
|
const data = await bindings.GetDashboardStats()
|
|
const licenseStatus = bindings.GetLicenseStatus ? await bindings.GetLicenseStatus() : { maxLimit: 20 }
|
|
return {
|
|
totalInstances: data?.totalInstances ?? 0,
|
|
runningInstances: data?.runningInstances ?? 0,
|
|
proxyCount: data?.proxyCount ?? 0,
|
|
coreCount: data?.coreCount ?? 0,
|
|
memUsedMB: data?.memUsedMB ?? 0,
|
|
maxProfileLimit: licenseStatus?.maxLimit ?? 20,
|
|
appVersion: data?.appVersion ?? 'unknown',
|
|
}
|
|
} catch (e) {
|
|
console.error('fetchDashboardStats error:', e)
|
|
}
|
|
}
|
|
return { totalInstances: 0, runningInstances: 0, proxyCount: 0, coreCount: 0, memUsedMB: 0, maxProfileLimit: 20, appVersion: 'unknown' }
|
|
}
|
|
|
|
export async function redeemCDKey(cdkey: string): Promise<{ success: boolean, message?: string }> {
|
|
const bindings: any = await getBindings()
|
|
if (bindings?.RedeemCDKey) {
|
|
try {
|
|
await bindings.RedeemCDKey(cdkey)
|
|
return { success: true }
|
|
} catch (e: any) {
|
|
return { success: false, message: e.message || '兑换失败' }
|
|
}
|
|
}
|
|
return { success: false, message: '系统 API 未就绪' }
|
|
}
|
|
|
|
export async function redeemGithubStar(): Promise<{ success: boolean, message?: string }> {
|
|
const bindings: any = await getBindings()
|
|
if (bindings?.RedeemGithubStar) {
|
|
try {
|
|
await bindings.RedeemGithubStar()
|
|
return { success: true }
|
|
} catch (e: any) {
|
|
return { success: false, message: e.message || '领取失败' }
|
|
}
|
|
}
|
|
return { success: false, message: '系统 API 未就绪' }
|
|
}
|
|
|
|
export async function reloadConfig(): Promise<void> {
|
|
const bindings: any = await getBindings()
|
|
if (bindings?.ReloadConfig) {
|
|
try {
|
|
await bindings.ReloadConfig()
|
|
} catch (e) {
|
|
console.error('reloadConfig error:', e)
|
|
}
|
|
}
|
|
}
|
|
|
|
export async function generateCDKeys(count: number): Promise<{ success: boolean, keys: string[], message?: string }> {
|
|
const bindings: any = await getBindings()
|
|
if (bindings?.GenerateCDKeys) {
|
|
try {
|
|
const keys = await bindings.GenerateCDKeys(count)
|
|
return { success: true, keys: keys || [] }
|
|
} catch (e: any) {
|
|
return { success: false, keys: [], message: e.message || '生成失败' }
|
|
}
|
|
}
|
|
return { success: false, keys: [], message: '系统 API 未就绪' }
|
|
}
|