import { AxiosRequestConfig } from 'axios'; import { serverRequest } from '@/utils/request'; import { SelfInfo } from '@/types/user'; export default class QQManager { public static async getOB11Config () { const data = await serverRequest.post>( '/OB11Config/GetConfig' ); return data.data.data; } public static async setOB11Config (config: OneBotConfig) { await serverRequest.post>('/OB11Config/SetConfig', { config: JSON.stringify(config), }); } public static async checkQQLoginStatus () { const data = await serverRequest.post< ServerResponse<{ isLogin: boolean; isOffline?: boolean; qrcodeurl: string; }> >('/QQLogin/CheckLoginStatus'); return data.data.data; } public static async checkQQLoginStatusWithQrcode () { const data = await serverRequest.post< ServerResponse<{ qrcodeurl: string; isLogin: boolean; isOffline?: boolean; loginError?: string; }> >('/QQLogin/CheckLoginStatus'); return data.data.data; } public static async refreshQRCode () { await serverRequest.post>('/QQLogin/RefreshQRcode'); } public static async getQQLoginQrcode () { const data = await serverRequest.post< ServerResponse<{ qrcode: string; }> >('/QQLogin/GetQQLoginQrcode'); return data.data.data.qrcode; } public static async getQQQuickLoginList () { const data = await serverRequest.post>( '/QQLogin/GetQuickLoginList' ); return data.data.data; } public static async getQQQuickLoginListNew () { const data = await serverRequest.post>( '/QQLogin/GetQuickLoginListNew' ); return data.data.data; } public static async setQuickLogin (uin: string) { await serverRequest.post>('/QQLogin/SetQuickLogin', { uin, }); } public static async getQQLoginInfo (config?: AxiosRequestConfig) { const data = await serverRequest.post>( '/QQLogin/GetQQLoginInfo', {}, config ); return data.data.data; } public static async getQuickLoginQQ () { const { data } = await serverRequest.post>( '/QQLogin/GetQuickLoginQQ' ); return data.data; } public static async setQuickLoginQQ (uin: string) { await serverRequest.post>('/QQLogin/SetQuickLoginQQ', { uin, }); } public static async passwordLogin (uin: string, passwordMd5: string) { await serverRequest.post>('/QQLogin/PasswordLogin', { uin, passwordMd5, }); } public static async resetDeviceID () { await serverRequest.post>('/QQLogin/ResetDeviceID'); } public static async restartNapCat () { await serverRequest.post>('/QQLogin/RestartNapCat'); } public static async getDeviceGUID () { const data = await serverRequest.post>('/QQLogin/GetDeviceGUID'); return data.data.data; } public static async setDeviceGUID (guid: string) { await serverRequest.post>('/QQLogin/SetDeviceGUID', { guid }); } public static async getGUIDBackups () { const data = await serverRequest.post>('/QQLogin/GetGUIDBackups'); return data.data.data; } public static async restoreGUIDBackup (backupName: string) { await serverRequest.post>('/QQLogin/RestoreGUIDBackup', { backupName }); } public static async createGUIDBackup () { const data = await serverRequest.post>('/QQLogin/CreateGUIDBackup'); return data.data.data; } // ============================================================ // 平台信息 & Linux GUID 管理 // ============================================================ public static async getPlatformInfo () { const data = await serverRequest.post>('/QQLogin/GetPlatformInfo'); return data.data.data; } public static async getLinuxMAC () { const data = await serverRequest.post>('/QQLogin/GetLinuxMAC'); return data.data.data; } public static async setLinuxMAC (mac: string) { await serverRequest.post>('/QQLogin/SetLinuxMAC', { mac }); } public static async getLinuxMachineId () { const data = await serverRequest.post>('/QQLogin/GetLinuxMachineId'); return data.data.data; } public static async computeLinuxGUID (mac?: string, machineId?: string) { const data = await serverRequest.post>('/QQLogin/ComputeLinuxGUID', { mac, machineId }); return data.data.data; } public static async getLinuxMachineInfoBackups () { const data = await serverRequest.post>('/QQLogin/GetLinuxMachineInfoBackups'); return data.data.data; } public static async createLinuxMachineInfoBackup () { const data = await serverRequest.post>('/QQLogin/CreateLinuxMachineInfoBackup'); return data.data.data; } public static async restoreLinuxMachineInfoBackup (backupName: string) { await serverRequest.post>('/QQLogin/RestoreLinuxMachineInfoBackup', { backupName }); } public static async resetLinuxDeviceID () { await serverRequest.post>('/QQLogin/ResetLinuxDeviceID'); } // ============================================================ // NapCat 配置管理 // ============================================================ public static async getNapCatConfig () { const { data } = await serverRequest.get>( '/NapCatConfig/GetConfig' ); return data.data; } public static async setNapCatConfig (config: Partial) { await serverRequest.post>( '/NapCatConfig/SetConfig', config ); } }