import { AxiosResponse } from 'axios'; import { IBaseService } from './base'; import { LoginParams, VerifyImgRes, VerifyParams } from '../types/admin'; import { DevConfig } from '../types/configHub'; export interface IAdmin extends IBaseService { /** * 初始化 * @param config 配置 */ init(config: DevConfig): void; /** * 获取验证码图片 * @param callback 回调 * @returns 返回验证码图片 */ getVerifyCodeImg(callback?: (data: AxiosResponse | boolean) => void): Promise>; /** * 登录 * @param params 参数 * @param callback 回调 */ login(params: LoginParams, callback?: (result: any) => void): Promise; /** * 获取配置 * @param params 参数 * @param callback 回调 */ getConfig(params: VerifyParams, callback?: (data: any) => void): Promise; /** * 验证token * @param token token */ vaildateToken(token: string): boolean; /** * 获取终端信息 * @param params 参数 * @param callback 回调 */ getTerminalInfo(params: VerifyParams, callback?: (data: any) => void): Promise; /** * 分享码验证 * @param params 参数 * @param callback 回调 */ shareCodeVerify(params: VerifyParams, callback: (data: any) => void): Promise; } export interface AdminConstructor { new (): IAdmin; }