122 lines
2.7 KiB
TypeScript
122 lines
2.7 KiB
TypeScript
import { NodeIKernelLoginListener } from '@/napcat-core/listeners/NodeIKernelLoginListener';
|
|
import { GeneralCallResult } from './common';
|
|
|
|
export interface LoginInitConfig {
|
|
machineId: '';
|
|
appid: string;
|
|
platVer: string;
|
|
commonPath: string;
|
|
clientVer: string;
|
|
hostName: string;
|
|
externalVersion: boolean;
|
|
}
|
|
|
|
export interface PasswordLoginRetType {
|
|
result: string,
|
|
loginErrorInfo: {
|
|
step: number;
|
|
errMsg: string;
|
|
proofWaterUrl: string;
|
|
newDevicePullQrCodeSig: string;
|
|
jumpUrl: string,
|
|
jumpWord: string;
|
|
tipsTitle: string;
|
|
tipsContent: string;
|
|
};
|
|
}
|
|
|
|
export interface PasswordLoginArgType {
|
|
uin: string;
|
|
passwordMd5: string;// passwMD5
|
|
step: number;// 猜测是需要二次认证 参数 一次为0
|
|
newDeviceLoginSig: Uint8Array;
|
|
proofWaterSig: Uint8Array;
|
|
proofWaterRand: Uint8Array;
|
|
proofWaterSid: Uint8Array;
|
|
unusualDeviceCheckSig: Uint8Array;
|
|
}
|
|
|
|
export interface LoginListItem {
|
|
uin: string;
|
|
uid: string;
|
|
nickName: string;
|
|
faceUrl: string;
|
|
facePath: string;
|
|
loginType: 1; // 1是二维码登录?
|
|
isQuickLogin: boolean; // 是否可以快速登录
|
|
isAutoLogin: boolean; // 是否可以自动登录
|
|
}
|
|
|
|
export interface QuickLoginResult {
|
|
result: string;
|
|
loginErrorInfo: {
|
|
step: number,
|
|
errMsg: string,
|
|
proofWaterUrl: string,
|
|
newDevicePullQrCodeSig: string,
|
|
jumpUrl: string,
|
|
jumpWord: string,
|
|
tipsTitle: string,
|
|
tipsContent: string;
|
|
};
|
|
}
|
|
|
|
export interface NodeIKernelLoginService {
|
|
getMsfStatus: () => number;
|
|
|
|
setLoginMiscData (key: string, value: string): unknown;
|
|
|
|
getLoginMiscData (key: string): Promise<GeneralCallResult & { value: string; }>;
|
|
|
|
getMachineGuid (): string;
|
|
|
|
get (): NodeIKernelLoginService;
|
|
|
|
connect (): boolean;
|
|
|
|
addKernelLoginListener (listener: NodeIKernelLoginListener): number;
|
|
|
|
removeKernelLoginListener (listenerId: number): void;
|
|
|
|
initConfig (config: LoginInitConfig): void;
|
|
|
|
getLoginList (): Promise<{
|
|
result: number,
|
|
LocalLoginInfoList: LoginListItem[];
|
|
}>;
|
|
|
|
quickLoginWithUin (uin: string): Promise<QuickLoginResult>;
|
|
|
|
passwordLogin (param: PasswordLoginArgType): Promise<QuickLoginResult>;
|
|
|
|
getQRCodePicture (): boolean;
|
|
|
|
destroy (): unknown;
|
|
|
|
cancel (): unknown;
|
|
|
|
abortPolling (): unknown;
|
|
|
|
startPolling (): unknown;
|
|
|
|
deleteLoginInfo (arg: unknown): unknown;
|
|
|
|
isHasLoginInfo (uin: string): boolean;
|
|
|
|
loadNoLoginUnitedConfig (arg: unknown): unknown;
|
|
|
|
loginUnusualDevice (arg: unknown): unknown;
|
|
|
|
registerUnitedConfigPushGroupList (groupList: unknown): unknown;
|
|
|
|
resetLoginInfo (arg: unknown): unknown;
|
|
|
|
setAutoLogin (arg: unknown): unknown;
|
|
|
|
setRemerberPwd (remember: boolean): unknown;
|
|
|
|
online (): unknown;
|
|
|
|
offline (): unknown;
|
|
}
|