NapCatQQ/src/core/services/NodeIKernelLoginService.ts
2024-09-19 20:45:09 +08:00

89 lines
2.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { NodeIKernelLoginListener } from '@/core/listeners/NodeIKernelLoginListener';
import { GeneralCallResult } from './common';
export interface LoginInitConfig {
machineId: '';
appid: string;
platVer: string;
commonPath: string;
clientVer: string;
hostName: string;
}
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: string;
proofWaterSig: string;
proofWaterRand: string;
proofWaterSid: string;
}
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 {
setLoginMiscData(arg0: string, value: string): unknown;
getMachineGuid(): string;
get(): NodeIKernelLoginService;
connect(): boolean;
addKernelLoginListener(listener: NodeIKernelLoginListener): number;
removeKernelLoginListener(listener: number): void;
initConfig(config: LoginInitConfig): void;
getLoginMiscData(data: string): Promise<GeneralCallResult & { value: string }>;
getLoginList(): Promise<{
result: number, // 0是ok
LocalLoginInfoList: LoginListItem[]
}>;
quickLoginWithUin(uin: string): Promise<QuickLoginResult>;
passwordLogin(param: PasswordLoginArgType): Promise<any>;
getQRCodePicture(): boolean;
}