export interface OB11Config { [key: string]: any; http: { enable: boolean; host: ''; port: number; secret: ''; enableHeart: boolean; enablePost: boolean; postUrls: string[]; }; ws: { enable: boolean; host: ''; port: number; }; reverseWs: { enable: boolean; urls: string[]; }; debug: boolean; heartInterval: number; messagePostFormat: 'array' | 'string'; enableLocalFile2Url: boolean; musicSignUrl: ''; reportSelfMessage: boolean; token: ''; GroupLocalTimeRecord: false; GroupLocalTimeRecordList: []; } class WebUiApiOB11ConfigWrapper { private retCredential: string = ''; async Init(Credential: string) { this.retCredential = Credential; } async GetOB11Config(): Promise { const ConfigResponse = await fetch('/api/OB11Config/GetConfig', { method: 'POST', headers: { Authorization: 'Bearer ' + this.retCredential, 'Content-Type': 'application/json', }, }); if (ConfigResponse.status == 200) { const ConfigResponseJson = await ConfigResponse.json(); if (ConfigResponseJson.code == 0) { return ConfigResponseJson?.data; } } return {} as OB11Config; } async SetOB11Config(config: OB11Config): Promise { const ConfigResponse = await fetch('/api/OB11Config/SetConfig', { method: 'POST', headers: { Authorization: 'Bearer ' + this.retCredential, 'Content-Type': 'application/json', }, body: JSON.stringify({ config: JSON.stringify(config) }), }); if (ConfigResponse.status == 200) { const ConfigResponseJson = await ConfigResponse.json(); if (ConfigResponseJson.code == 0) { return true; } } return false; } } export const OB11ConfigWrapper = new WebUiApiOB11ConfigWrapper();