mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-19 13:10:16 +08:00
chore: Wrapper声明
This commit is contained in:
parent
66707661e9
commit
8fd5fa185b
@ -1,3 +1,21 @@
|
|||||||
|
export enum NCoreWorkMode {
|
||||||
|
Unknown = 0,
|
||||||
|
Shell = 1,
|
||||||
|
LiteLoader = 2
|
||||||
|
}
|
||||||
export class NapCatCore {
|
export class NapCatCore {
|
||||||
|
public WorkMode: NCoreWorkMode = NCoreWorkMode.Unknown;
|
||||||
|
public isInit: boolean = false;
|
||||||
|
}
|
||||||
|
export class NapCatShell extends NapCatCore {
|
||||||
|
public WorkMode: NCoreWorkMode = NCoreWorkMode.Shell;
|
||||||
|
Init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export class NapCatLiteLoader extends NapCatCore {
|
||||||
|
public WorkMode: NCoreWorkMode = NCoreWorkMode.LiteLoader;
|
||||||
|
Init(LoginService: any, WrapperSession: any) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
65
src/core/entities/cache.ts
Normal file
65
src/core/entities/cache.ts
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
import { ChatType } from './msg';
|
||||||
|
|
||||||
|
export interface CacheScanResult {
|
||||||
|
result: number;
|
||||||
|
size: [ // 单位为字节
|
||||||
|
string, // 系统总存储空间
|
||||||
|
string, // 系统可用存储空间
|
||||||
|
string, // 系统已用存储空间
|
||||||
|
string, // QQ总大小
|
||||||
|
string, // 「聊天与文件」大小
|
||||||
|
string, // 未知
|
||||||
|
string, // 「缓存数据」大小
|
||||||
|
string, // 「其他数据」大小
|
||||||
|
string, // 未知
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ChatCacheList {
|
||||||
|
pageCount: number;
|
||||||
|
infos: ChatCacheListItem[]
|
||||||
|
};
|
||||||
|
|
||||||
|
export interface ChatCacheListItem {
|
||||||
|
chatType: ChatType;
|
||||||
|
basicChatCacheInfo: ChatCacheListItemBasic;
|
||||||
|
guildChatCacheInfo: unknown[]; // TODO: 没用过频道所以不知道这里边的详细内容
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ChatCacheListItemBasic {
|
||||||
|
chatSize: string;
|
||||||
|
chatTime: string;
|
||||||
|
uid: string;
|
||||||
|
uin: string;
|
||||||
|
remarkName: string;
|
||||||
|
nickName: string;
|
||||||
|
chatType?: ChatType;
|
||||||
|
isChecked?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum CacheFileType {
|
||||||
|
IMAGE = 0,
|
||||||
|
VIDEO = 1,
|
||||||
|
AUDIO = 2,
|
||||||
|
DOCUMENT = 3,
|
||||||
|
OTHER = 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CacheFileList {
|
||||||
|
infos: CacheFileListItem[],
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CacheFileListItem {
|
||||||
|
fileSize: string;
|
||||||
|
fileTime: string;
|
||||||
|
fileKey: string;
|
||||||
|
elementId: string;
|
||||||
|
elementIdStr: string;
|
||||||
|
fileType: CacheFileType;
|
||||||
|
path: string;
|
||||||
|
fileName: string;
|
||||||
|
senderId: string;
|
||||||
|
previewPath: string;
|
||||||
|
senderName: string;
|
||||||
|
isChecked?: boolean;
|
||||||
|
}
|
||||||
64
src/core/entities/group.ts
Normal file
64
src/core/entities/group.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { QQLevel, Sex } from './user';
|
||||||
|
export enum GroupListUpdateType {
|
||||||
|
REFRESHALL,
|
||||||
|
GETALL,
|
||||||
|
MODIFIED,
|
||||||
|
REMOVE
|
||||||
|
}
|
||||||
|
export interface Group {
|
||||||
|
groupCode: string,
|
||||||
|
createTime?: string,//高版本才有
|
||||||
|
maxMember: number,
|
||||||
|
memberCount: number,
|
||||||
|
groupName: string,
|
||||||
|
groupStatus: number,
|
||||||
|
memberRole: number,
|
||||||
|
isTop: boolean,
|
||||||
|
toppedTimestamp: string,
|
||||||
|
privilegeFlag: number, //65760
|
||||||
|
isConf: boolean,
|
||||||
|
hasModifyConfGroupFace: boolean,
|
||||||
|
hasModifyConfGroupName: boolean,
|
||||||
|
remarkName: string,
|
||||||
|
hasMemo: boolean,
|
||||||
|
groupShutupExpireTime: string, //"0",
|
||||||
|
personShutupExpireTime: string, //"0",
|
||||||
|
discussToGroupUin: string, //"0",
|
||||||
|
discussToGroupMaxMsgSeq: number,
|
||||||
|
discussToGroupTime: number,
|
||||||
|
groupFlagExt: number, //1073938496,
|
||||||
|
authGroupType: number, //0,
|
||||||
|
groupCreditLevel: number, //0,
|
||||||
|
groupFlagExt3: number, //0,
|
||||||
|
groupOwnerId: {
|
||||||
|
memberUin: string, //"0",
|
||||||
|
memberUid: string, //"u_fbf8N7aeuZEnUiJAbQ9R8Q"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum GroupMemberRole {
|
||||||
|
normal = 2,
|
||||||
|
admin = 3,
|
||||||
|
owner = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GroupMember {
|
||||||
|
memberSpecialTitle?: string;
|
||||||
|
avatarPath: string;
|
||||||
|
cardName: string;
|
||||||
|
cardType: number;
|
||||||
|
isDelete: boolean;
|
||||||
|
nick: string;
|
||||||
|
qid: string;
|
||||||
|
remark: string;
|
||||||
|
role: GroupMemberRole; // 群主:4, 管理员:3,群员:2
|
||||||
|
shutUpTime: number; // 禁言时间,单位是什么暂时不清楚
|
||||||
|
uid: string; // 加密的字符串
|
||||||
|
uin: string; // QQ号
|
||||||
|
isRobot: boolean;
|
||||||
|
sex?: Sex
|
||||||
|
qqLevel?: QQLevel
|
||||||
|
isChangeRole: boolean;
|
||||||
|
joinTime: string;
|
||||||
|
lastSpeakTime: string;
|
||||||
|
}
|
||||||
5
src/core/entities/index.ts
Normal file
5
src/core/entities/index.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export * from './user';
|
||||||
|
export * from './group';
|
||||||
|
export * from './msg';
|
||||||
|
export * from './notify';
|
||||||
|
export * from './cache';
|
||||||
787
src/core/entities/msg.ts
Normal file
787
src/core/entities/msg.ts
Normal file
@ -0,0 +1,787 @@
|
|||||||
|
import { GroupMemberRole } from './group';
|
||||||
|
|
||||||
|
|
||||||
|
export interface Peer {
|
||||||
|
chatType: ChatType;
|
||||||
|
peerUid: string; // 如果是群聊uid为群号,私聊uid就是加密的字符串
|
||||||
|
guildId?: string;
|
||||||
|
}
|
||||||
|
export interface KickedOffLineInfo {
|
||||||
|
appId: number
|
||||||
|
instanceId: number
|
||||||
|
sameDevice: boolean
|
||||||
|
tipsDesc: string
|
||||||
|
tipsTitle: string
|
||||||
|
kickedType: number
|
||||||
|
securityKickedType: number
|
||||||
|
}
|
||||||
|
export interface GetFileListParam {
|
||||||
|
sortType: number
|
||||||
|
fileCount: number
|
||||||
|
startIndex: number
|
||||||
|
sortOrder: number
|
||||||
|
showOnlinedocFolder: number
|
||||||
|
}
|
||||||
|
export enum ElementType {
|
||||||
|
UNKNOWN = 0,
|
||||||
|
TEXT = 1,
|
||||||
|
PIC = 2,
|
||||||
|
FILE = 3,
|
||||||
|
PTT = 4,
|
||||||
|
VIDEO = 5,
|
||||||
|
FACE = 6,
|
||||||
|
REPLY = 7,
|
||||||
|
WALLET = 9,
|
||||||
|
GreyTip = 8,//Poke别叫戳一搓了 官方名字拍一拍 戳一戳是另一个名字
|
||||||
|
ARK = 10,
|
||||||
|
MFACE = 11,
|
||||||
|
LIVEGIFT = 12,
|
||||||
|
STRUCTLONGMSG = 13,
|
||||||
|
MARKDOWN = 14,
|
||||||
|
GIPHY = 15,
|
||||||
|
MULTIFORWARD = 16,
|
||||||
|
INLINEKEYBOARD = 17,
|
||||||
|
INTEXTGIFT = 18,
|
||||||
|
CALENDAR = 19,
|
||||||
|
YOLOGAMERESULT = 20,
|
||||||
|
AVRECORD = 21,
|
||||||
|
FEED = 22,
|
||||||
|
TOFURECORD = 23,
|
||||||
|
ACEBUBBLE = 24,
|
||||||
|
ACTIVITY = 25,
|
||||||
|
TOFU = 26,
|
||||||
|
FACEBUBBLE = 27,
|
||||||
|
SHARELOCATION = 28,
|
||||||
|
TASKTOPMSG = 29,
|
||||||
|
RECOMMENDEDMSG = 43,
|
||||||
|
ACTIONBAR = 44
|
||||||
|
}
|
||||||
|
export interface ActionBarElement {
|
||||||
|
rows: InlineKeyboardRow[];
|
||||||
|
botAppid: string;
|
||||||
|
}
|
||||||
|
export interface SendActionBarElement {
|
||||||
|
elementType: ElementType.ACTIONBAR;
|
||||||
|
elementId: string;
|
||||||
|
actionBarElement: ActionBarElement;
|
||||||
|
}
|
||||||
|
export interface RecommendedMsgElement {
|
||||||
|
rows: InlineKeyboardRow[];
|
||||||
|
botAppid: string;
|
||||||
|
}
|
||||||
|
export interface SendRecommendedMsgElement {
|
||||||
|
elementType: ElementType.RECOMMENDEDMSG;
|
||||||
|
elementId: string;
|
||||||
|
recommendedMsgElement: RecommendedMsgElement;
|
||||||
|
}
|
||||||
|
export interface InlineKeyboardButton {
|
||||||
|
id: string;
|
||||||
|
label: string;
|
||||||
|
visitedLabel: string;
|
||||||
|
unsupportTips: string;
|
||||||
|
data: string;
|
||||||
|
specifyRoleIds: string[];
|
||||||
|
specifyTinyids: string[];
|
||||||
|
style: number;
|
||||||
|
type: number;
|
||||||
|
clickLimit: number;
|
||||||
|
atBotShowChannelList: boolean;
|
||||||
|
permissionType: number;
|
||||||
|
}
|
||||||
|
export interface InlineKeyboardRow {
|
||||||
|
buttons: InlineKeyboardButton[];
|
||||||
|
}
|
||||||
|
export interface TofuElementContent {
|
||||||
|
color: string;
|
||||||
|
tittle: string;
|
||||||
|
}
|
||||||
|
export interface TaskTopMsgElement {
|
||||||
|
msgTitle: string;
|
||||||
|
msgSummary: string;
|
||||||
|
iconUrl: string;
|
||||||
|
topMsgType: number;
|
||||||
|
}
|
||||||
|
export interface SendTaskTopMsgElement {
|
||||||
|
elementType: ElementType.TASKTOPMSG;
|
||||||
|
elementId: string;
|
||||||
|
taskTopMsgElement: TaskTopMsgElement;
|
||||||
|
}
|
||||||
|
export interface TofuRecordElement {
|
||||||
|
type: number;
|
||||||
|
busiid: string;
|
||||||
|
busiuuid: string;
|
||||||
|
descriptionContent: string;
|
||||||
|
contentlist: TofuElementContent[],
|
||||||
|
background: string;
|
||||||
|
icon: string;
|
||||||
|
uinlist: string[],
|
||||||
|
uidlist: string[],
|
||||||
|
busiExtra: string;
|
||||||
|
updateTime: string;
|
||||||
|
dependedmsgid: string;
|
||||||
|
msgtime: string;
|
||||||
|
onscreennotify: boolean;
|
||||||
|
}
|
||||||
|
export interface SendTofuRecordElement {
|
||||||
|
elementType: ElementType.TOFURECORD;
|
||||||
|
elementId: string;
|
||||||
|
tofuRecordElement: TofuRecordElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FaceBubbleElement {
|
||||||
|
faceCount: number;
|
||||||
|
faceSummary: string;
|
||||||
|
faceFlag: number;
|
||||||
|
content: string;
|
||||||
|
oldVersionStr: string;
|
||||||
|
faceType: number;
|
||||||
|
others: string;
|
||||||
|
yellowFaceInfo: {
|
||||||
|
index: number;
|
||||||
|
buf: string;
|
||||||
|
compatibleText: string;
|
||||||
|
text: string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export interface SendFaceBubbleElement {
|
||||||
|
elementType: ElementType.FACEBUBBLE;
|
||||||
|
elementId: string;
|
||||||
|
faceBubbleElement: FaceBubbleElement;
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface AvRecordElement {
|
||||||
|
type: number;
|
||||||
|
time: string;
|
||||||
|
text: string;
|
||||||
|
mainType: number;
|
||||||
|
hasRead: boolean;
|
||||||
|
extraType: number;
|
||||||
|
}
|
||||||
|
export interface SendavRecordElement {
|
||||||
|
elementType: ElementType.AVRECORD;
|
||||||
|
elementId: string;
|
||||||
|
avRecordElement: AvRecordElement;
|
||||||
|
}
|
||||||
|
export interface YoloUserInfo {
|
||||||
|
uid: string;
|
||||||
|
result: number;
|
||||||
|
rank: number;
|
||||||
|
bizId: string
|
||||||
|
}
|
||||||
|
export interface SendInlineKeyboardElement {
|
||||||
|
elementType: ElementType.INLINEKEYBOARD;
|
||||||
|
elementId: string;
|
||||||
|
inlineKeyboardElement: {
|
||||||
|
rows: number;
|
||||||
|
botAppid: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface YoloGameResultElement {
|
||||||
|
UserInfo: YoloUserInfo[];
|
||||||
|
}
|
||||||
|
export interface SendYoloGameResultElement {
|
||||||
|
elementType: ElementType.YOLOGAMERESULT;
|
||||||
|
yoloGameResultElement: YoloGameResultElement
|
||||||
|
}
|
||||||
|
export interface GiphyElement {
|
||||||
|
id: string;
|
||||||
|
isClip: boolean;
|
||||||
|
width: number;
|
||||||
|
height: number;
|
||||||
|
}
|
||||||
|
export interface SendGiphyElement {
|
||||||
|
elementType: ElementType.GIPHY;
|
||||||
|
elementId: string;
|
||||||
|
giphyElement: GiphyElement;
|
||||||
|
}
|
||||||
|
export interface SendWalletElement {
|
||||||
|
elementType: ElementType.UNKNOWN;//不做 设置位置
|
||||||
|
elementId: string;
|
||||||
|
walletElement: {}
|
||||||
|
}
|
||||||
|
export interface CalendarElement {
|
||||||
|
summary: string;
|
||||||
|
msg: string;
|
||||||
|
expireTimeMs: string;
|
||||||
|
schemaType: number;
|
||||||
|
schema: string
|
||||||
|
}
|
||||||
|
export interface SendCalendarElement {
|
||||||
|
elementType: ElementType.CALENDAR;
|
||||||
|
elementId: string;
|
||||||
|
calendarElement: CalendarElement;
|
||||||
|
}
|
||||||
|
export interface SendliveGiftElement {
|
||||||
|
elementType: ElementType.LIVEGIFT;
|
||||||
|
elementId: string;
|
||||||
|
liveGiftElement: {}
|
||||||
|
}
|
||||||
|
export interface SendTextElement {
|
||||||
|
elementType: ElementType.TEXT;
|
||||||
|
elementId: string;
|
||||||
|
textElement: {
|
||||||
|
content: string;
|
||||||
|
atType: number;
|
||||||
|
atUid: string;
|
||||||
|
atTinyId: string;
|
||||||
|
atNtUid: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendPttElement {
|
||||||
|
elementType: ElementType.PTT;
|
||||||
|
elementId: string;
|
||||||
|
pttElement: {
|
||||||
|
fileName: string;
|
||||||
|
filePath: string;
|
||||||
|
md5HexStr: string;
|
||||||
|
fileSize: number;
|
||||||
|
duration: number; // 单位是秒
|
||||||
|
formatType: number;
|
||||||
|
voiceType: number;
|
||||||
|
voiceChangeType: number;
|
||||||
|
canConvert2Text: boolean;
|
||||||
|
waveAmplitudes: number[];
|
||||||
|
fileSubId: string;
|
||||||
|
playState: number;
|
||||||
|
autoConvertText: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum PicType {
|
||||||
|
gif = 2000,
|
||||||
|
jpg = 1000
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum PicSubType {
|
||||||
|
normal = 0, // 普通图片,大图
|
||||||
|
face = 1 // 表情包小图
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendPicElement {
|
||||||
|
elementType: ElementType.PIC;
|
||||||
|
elementId: string;
|
||||||
|
picElement:PicElement
|
||||||
|
}
|
||||||
|
export interface ReplyElement {
|
||||||
|
replayMsgSeq: string;
|
||||||
|
replayMsgId: string;
|
||||||
|
senderUin: string;
|
||||||
|
senderUinStr: string;
|
||||||
|
}
|
||||||
|
export interface SendReplyElement {
|
||||||
|
elementType: ElementType.REPLY;
|
||||||
|
elementId: string;
|
||||||
|
replyElement: ReplyElement
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendFaceElement {
|
||||||
|
elementType: ElementType.FACE;
|
||||||
|
elementId: string;
|
||||||
|
faceElement: FaceElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendMarketFaceElement {
|
||||||
|
elementType: ElementType.MFACE;
|
||||||
|
marketFaceElement: MarketFaceElement;
|
||||||
|
}
|
||||||
|
export interface SendstructLongMsgElement {
|
||||||
|
elementType: ElementType.STRUCTLONGMSG;
|
||||||
|
elementId: string;
|
||||||
|
structLongMsgElement: StructLongMsgElement;
|
||||||
|
}
|
||||||
|
export interface StructLongMsgElement {
|
||||||
|
xmlContent: string;
|
||||||
|
resId: string;
|
||||||
|
}
|
||||||
|
export interface SendactionBarElement {
|
||||||
|
elementType: ElementType.ACTIONBAR;
|
||||||
|
elementId: string;
|
||||||
|
actionBarElement: {
|
||||||
|
rows: number;
|
||||||
|
botAppid: string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export interface ShareLocationElement {
|
||||||
|
text: string;
|
||||||
|
ext: string;
|
||||||
|
}
|
||||||
|
export interface sendShareLocationElement {
|
||||||
|
elementType: ElementType.SHARELOCATION;
|
||||||
|
elementId: string;
|
||||||
|
shareLocationElement?: ShareLocationElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FileElement {
|
||||||
|
fileMd5?: string;
|
||||||
|
fileName: string;
|
||||||
|
filePath: string;
|
||||||
|
fileSize: string;
|
||||||
|
picHeight?: number;
|
||||||
|
picWidth?: number;
|
||||||
|
folderId?: string;
|
||||||
|
picThumbPath?: Map<number, string>;
|
||||||
|
file10MMd5?: string;
|
||||||
|
fileSha?: string;
|
||||||
|
fileSha3?: string;
|
||||||
|
fileUuid?: string;
|
||||||
|
fileSubId?: string;
|
||||||
|
thumbFileSize?: number;
|
||||||
|
fileBizId?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendFileElement {
|
||||||
|
elementType: ElementType.FILE;
|
||||||
|
elementId: string;
|
||||||
|
fileElement: FileElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendVideoElement {
|
||||||
|
elementType: ElementType.VIDEO;
|
||||||
|
elementId: string;
|
||||||
|
videoElement: VideoElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendArkElement {
|
||||||
|
elementType: ElementType.ARK;
|
||||||
|
elementId: string;
|
||||||
|
arkElement: ArkElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SendMarkdownElement {
|
||||||
|
elementType: ElementType.MARKDOWN;
|
||||||
|
elementId: string;
|
||||||
|
markdownElement: MarkdownElement;
|
||||||
|
}
|
||||||
|
export type SendMessageElement = SendTextElement | SendPttElement |
|
||||||
|
SendPicElement | SendReplyElement | SendFaceElement | SendMarketFaceElement | SendFileElement |
|
||||||
|
SendVideoElement | SendArkElement | SendMarkdownElement | sendShareLocationElement;
|
||||||
|
|
||||||
|
export interface TextElement {
|
||||||
|
content: string;
|
||||||
|
atType: number;
|
||||||
|
atUid: string;
|
||||||
|
atTinyId: string;
|
||||||
|
atNtUid: string;
|
||||||
|
}
|
||||||
|
export interface MessageElement {
|
||||||
|
elementType: ElementType,
|
||||||
|
elementId: string,
|
||||||
|
extBufForUI: string,//"0x",
|
||||||
|
textElement?: TextElement;
|
||||||
|
faceElement?: FaceElement,
|
||||||
|
marketFaceElement?: MarkdownElement,
|
||||||
|
replyElement?: ReplyElement,
|
||||||
|
picElement?: PicElement,
|
||||||
|
pttElement?: PttElement,
|
||||||
|
videoElement?: VideoElement,
|
||||||
|
grayTipElement?: GrayTipElement,
|
||||||
|
arkElement?: ArkElement,
|
||||||
|
fileElement?: FileElement,
|
||||||
|
liveGiftElement?: null,
|
||||||
|
markdownElement?: MarkdownElement,
|
||||||
|
structLongMsgElement?: StructLongMsgElement,
|
||||||
|
multiForwardMsgElement?: MultiForwardMsgElement,
|
||||||
|
giphyElement?: GiphyElement,
|
||||||
|
walletElement?: null,
|
||||||
|
inlineKeyboardElement?: InlineKeyboardElement,
|
||||||
|
textGiftElement?: null,//????
|
||||||
|
calendarElement?: CalendarElement,
|
||||||
|
yoloGameResultElement?: YoloGameResultElement,
|
||||||
|
avRecordElement?: AvRecordElement,
|
||||||
|
structMsgElement?: null,
|
||||||
|
faceBubbleElement?: FaceBubbleElement,
|
||||||
|
shareLocationElement?: ShareLocationElement,
|
||||||
|
tofuRecordElement?: TofuRecordElement,
|
||||||
|
taskTopMsgElement?: TaskTopMsgElement,
|
||||||
|
recommendedMsgElement?: RecommendedMsgElement,
|
||||||
|
actionBarElement?:ActionBarElement
|
||||||
|
|
||||||
|
}
|
||||||
|
export enum AtType {
|
||||||
|
notAt = 0,
|
||||||
|
atAll = 1,
|
||||||
|
atUser = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum ChatType {
|
||||||
|
friend = 1,
|
||||||
|
group = 2,
|
||||||
|
chatDevice = 8, //移动设备?
|
||||||
|
temp = 100
|
||||||
|
|
||||||
|
}
|
||||||
|
// 来自Android分析
|
||||||
|
export enum ChatType2 {
|
||||||
|
KCHATTYPEADELIE = 42,
|
||||||
|
KCHATTYPEBUDDYNOTIFY = 5,
|
||||||
|
KCHATTYPEC2C = 1,
|
||||||
|
KCHATTYPECIRCLE = 113,
|
||||||
|
KCHATTYPEDATALINE = 8,
|
||||||
|
KCHATTYPEDATALINEMQQ = 134,
|
||||||
|
KCHATTYPEDISC = 3,
|
||||||
|
KCHATTYPEFAV = 41,
|
||||||
|
KCHATTYPEGAMEMESSAGE = 105,
|
||||||
|
KCHATTYPEGAMEMESSAGEFOLDER = 116,
|
||||||
|
KCHATTYPEGROUP = 2,
|
||||||
|
KCHATTYPEGROUPBLESS = 133,
|
||||||
|
KCHATTYPEGROUPGUILD = 9,
|
||||||
|
KCHATTYPEGROUPHELPER = 7,
|
||||||
|
KCHATTYPEGROUPNOTIFY = 6,
|
||||||
|
KCHATTYPEGUILD = 4,
|
||||||
|
KCHATTYPEGUILDMETA = 16,
|
||||||
|
KCHATTYPEMATCHFRIEND = 104,
|
||||||
|
KCHATTYPEMATCHFRIENDFOLDER = 109,
|
||||||
|
KCHATTYPENEARBY = 106,
|
||||||
|
KCHATTYPENEARBYASSISTANT = 107,
|
||||||
|
KCHATTYPENEARBYFOLDER = 110,
|
||||||
|
KCHATTYPENEARBYHELLOFOLDER = 112,
|
||||||
|
KCHATTYPENEARBYINTERACT = 108,
|
||||||
|
KCHATTYPEQQNOTIFY = 132,
|
||||||
|
KCHATTYPERELATEACCOUNT = 131,
|
||||||
|
KCHATTYPESERVICEASSISTANT = 118,
|
||||||
|
KCHATTYPESERVICEASSISTANTSUB = 201,
|
||||||
|
KCHATTYPESQUAREPUBLIC = 115,
|
||||||
|
KCHATTYPESUBSCRIBEFOLDER = 30,
|
||||||
|
KCHATTYPETEMPADDRESSBOOK = 111,
|
||||||
|
KCHATTYPETEMPBUSSINESSCRM = 102,
|
||||||
|
KCHATTYPETEMPC2CFROMGROUP = 100,
|
||||||
|
KCHATTYPETEMPC2CFROMUNKNOWN = 99,
|
||||||
|
KCHATTYPETEMPFRIENDVERIFY = 101,
|
||||||
|
KCHATTYPETEMPNEARBYPRO = 119,
|
||||||
|
KCHATTYPETEMPPUBLICACCOUNT = 103,
|
||||||
|
KCHATTYPETEMPWPA = 117,
|
||||||
|
KCHATTYPEUNKNOWN = 0,
|
||||||
|
KCHATTYPEWEIYUN = 40,
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PttElement {
|
||||||
|
canConvert2Text: boolean;
|
||||||
|
duration: number; // 秒数
|
||||||
|
fileBizId: null;
|
||||||
|
fileId: number; // 0
|
||||||
|
fileName: string; // "e4d09c784d5a2abcb2f9980bdc7acfe6.amr"
|
||||||
|
filePath: string; // "/Users//Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/nt_qq_a6b15c9820595d25a56c1633ce19ad40/nt_data/Ptt/2023-11/Ori/e4d09c784d5a2abcb2f9980bdc7acfe6.amr"
|
||||||
|
fileSize: string; // "4261"
|
||||||
|
fileSubId: string; // "0"
|
||||||
|
fileUuid: string; // "90j3z7rmRphDPrdVgP9udFBaYar#oK0TWZIV"
|
||||||
|
formatType: string; // 1
|
||||||
|
invalidState: number; // 0
|
||||||
|
md5HexStr: string; // "e4d09c784d5a2abcb2f9980bdc7acfe6"
|
||||||
|
playState: number; // 0
|
||||||
|
progress: number; // 0
|
||||||
|
text: string; // ""
|
||||||
|
transferStatus: number; // 0
|
||||||
|
translateStatus: number; // 0
|
||||||
|
voiceChangeType: number; // 0
|
||||||
|
voiceType: number; // 0
|
||||||
|
waveAmplitudes: number[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ArkElement {
|
||||||
|
bytesData: string;
|
||||||
|
linkInfo: null;
|
||||||
|
subElementType: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const IMAGE_HTTP_HOST = 'https://gchat.qpic.cn';
|
||||||
|
export const IMAGE_HTTP_HOST_NT = 'https://multimedia.nt.qq.com.cn';
|
||||||
|
|
||||||
|
export interface PicElement {
|
||||||
|
md5HexStr?: string;
|
||||||
|
fileSize: number | string;//number
|
||||||
|
picWidth: number;
|
||||||
|
picHeight: number;
|
||||||
|
fileName: string;
|
||||||
|
sourcePath: string;
|
||||||
|
original: boolean;
|
||||||
|
picType: PicType;
|
||||||
|
picSubType?: PicSubType;
|
||||||
|
fileUuid: string;
|
||||||
|
fileSubId: string;
|
||||||
|
thumbFileSize: number;
|
||||||
|
summary: string;
|
||||||
|
thumbPath: Map<number, string>;
|
||||||
|
originImageMd5?: string;
|
||||||
|
originImageUrl?: string; // http url, 没有host,host是https://gchat.qpic.cn/, 带download参数的是https://multimedia.nt.qq.com.cn
|
||||||
|
};
|
||||||
|
|
||||||
|
export enum GrayTipElementSubType {
|
||||||
|
INVITE_NEW_MEMBER = 12,
|
||||||
|
MEMBER_NEW_TITLE = 17
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GrayTipElement {
|
||||||
|
subElementType: GrayTipElementSubType;
|
||||||
|
revokeElement: {
|
||||||
|
operatorRole: string;
|
||||||
|
operatorUid: string;
|
||||||
|
operatorNick: string;
|
||||||
|
operatorRemark: string;
|
||||||
|
operatorMemRemark?: string;
|
||||||
|
wording: string; // 自定义的撤回提示语
|
||||||
|
}
|
||||||
|
aioOpGrayTipElement: TipAioOpGrayTipElement;
|
||||||
|
groupElement: TipGroupElement;
|
||||||
|
xmlElement: {
|
||||||
|
content: string;
|
||||||
|
templId: string;
|
||||||
|
};
|
||||||
|
jsonGrayTipElement: {
|
||||||
|
busiId?: number;
|
||||||
|
jsonStr: string;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum FaceType {
|
||||||
|
normal = 1, // 小黄脸
|
||||||
|
normal2 = 2, // 新小黄脸, 从faceIndex 222开始?
|
||||||
|
dice = 3 // 骰子
|
||||||
|
}
|
||||||
|
export enum FaceIndex {
|
||||||
|
dice = 358,
|
||||||
|
RPS = 359 // 石头剪刀布
|
||||||
|
}
|
||||||
|
export interface FaceElement {
|
||||||
|
faceIndex: number;
|
||||||
|
faceType: FaceType;
|
||||||
|
faceText?: string;
|
||||||
|
packId?: string;
|
||||||
|
stickerId?: string;
|
||||||
|
sourceType?: number;
|
||||||
|
stickerType?: number;
|
||||||
|
resultId?: string;
|
||||||
|
surpriseId?: string;
|
||||||
|
randomType?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MarketFaceElement {
|
||||||
|
emojiPackageId: number;
|
||||||
|
faceName: string;
|
||||||
|
emojiId: string;
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface VideoElement {
|
||||||
|
filePath: string;
|
||||||
|
fileName: string;
|
||||||
|
videoMd5?: string;
|
||||||
|
thumbMd5?: string
|
||||||
|
fileTime?: number; // second
|
||||||
|
thumbSize?: number; // byte
|
||||||
|
fileFormat?: viedo_type; // 2表示mp4 参考下面条目
|
||||||
|
fileSize?: string; // byte
|
||||||
|
thumbWidth?: number;
|
||||||
|
thumbHeight?: number;
|
||||||
|
busiType?: 0; //
|
||||||
|
subBusiType?: 0; // 未知
|
||||||
|
thumbPath?: Map<number, any>;
|
||||||
|
transferStatus?: 0; // 未知
|
||||||
|
progress?: 0; // 下载进度?
|
||||||
|
invalidState?: 0; // 未知
|
||||||
|
fileUuid?: string; // 可以用于下载链接?
|
||||||
|
fileSubId?: string;
|
||||||
|
fileBizId?: null;
|
||||||
|
originVideoMd5?: string;
|
||||||
|
import_rich_media_context?: null;
|
||||||
|
sourceVideoCodecFormat?: number;
|
||||||
|
}
|
||||||
|
// export enum busiType{
|
||||||
|
// public static final int CREATOR_SHARE_ADV_XWORLD = 21;
|
||||||
|
// public static final int MINI_APP_MINI_GAME = 11;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_ADV = 4;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_ADV_GAME = 8;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_ADV_SHOP = 9;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_ADV_VIP = 7;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_LAYER_MASK_ADV = 14;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_SPORT = 13;
|
||||||
|
// public static final int OFFICIAL_ACCOUNT_TIAN_QI = 10;
|
||||||
|
// public static final int PC_QQTAB_ADV = 18;
|
||||||
|
// public static final int QIQIAOBAN_SDK = 15;
|
||||||
|
// public static final int QQ_CPS = 16;
|
||||||
|
// public static final int QQ_WALLET_CPS = 17;
|
||||||
|
// public static final int QZONE_FEEDS = 0;
|
||||||
|
// public static final int QZONE_PHOTO_TAIL = 2;
|
||||||
|
// public static final int QZONE_VIDEO_LAYER = 1;
|
||||||
|
// public static final int REWARD_GIFT_ADV = 6;
|
||||||
|
// public static final int REWARD_GROUPGIFT_ADV = 12;
|
||||||
|
// public static final int REWARD_PERSONAL_ADV = 5;
|
||||||
|
// public static final int WEISEE_OFFICIAL_ACCOUNT = 3;
|
||||||
|
// public static final int X_WORLD_CREATOR_ADV = 20;
|
||||||
|
// public static final int X_WORLD_QZONE_LAYER = 22;
|
||||||
|
// public static final int X_WORLD_VIDEO_ADV = 19;
|
||||||
|
|
||||||
|
// }
|
||||||
|
// export enum CategoryBusiType {
|
||||||
|
// _KCateBusiTypeDefault = 0,
|
||||||
|
// _kCateBusiTypeFaceCluster = 1,
|
||||||
|
// _kCateBusiTypeLabelCluster = 4,
|
||||||
|
// _kCateBusiTypeMonthCluster = 16,
|
||||||
|
// _kCateBusiTypePoiCluster = 2,
|
||||||
|
// _kCateBusiTypeYearCluster = 8,
|
||||||
|
// }
|
||||||
|
export enum viedo_type {
|
||||||
|
VIDEO_FORMAT_AFS = 7,
|
||||||
|
VIDEO_FORMAT_AVI = 1,
|
||||||
|
VIDEO_FORMAT_MKV = 4,
|
||||||
|
VIDEO_FORMAT_MOD = 9,
|
||||||
|
VIDEO_FORMAT_MOV = 8,
|
||||||
|
VIDEO_FORMAT_MP4 = 2,
|
||||||
|
VIDEO_FORMAT_MTS = 11,
|
||||||
|
VIDEO_FORMAT_RM = 6,
|
||||||
|
VIDEO_FORMAT_RMVB = 5,
|
||||||
|
VIDEO_FORMAT_TS = 10,
|
||||||
|
VIDEO_FORMAT_WMV = 3,
|
||||||
|
}
|
||||||
|
export interface MarkdownElement {
|
||||||
|
content: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InlineKeyboardElementRowButton {
|
||||||
|
id: string;
|
||||||
|
label: string;
|
||||||
|
visitedLabel: string;
|
||||||
|
style: 1; // 未知
|
||||||
|
type: 2; // 未知
|
||||||
|
clickLimit: 0; // 未知
|
||||||
|
unsupportTips: string;
|
||||||
|
data: string;
|
||||||
|
atBotShowChannelList: boolean;
|
||||||
|
permissionType: number;
|
||||||
|
specifyRoleIds: [];
|
||||||
|
specifyTinyids: [];
|
||||||
|
isReply: false;
|
||||||
|
anchor: 0;
|
||||||
|
enter: false;
|
||||||
|
subscribeDataTemplateIds: []
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface InlineKeyboardElement {
|
||||||
|
rows: [{
|
||||||
|
buttons: InlineKeyboardElementRowButton[]
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TipAioOpGrayTipElement { // 这是什么提示来着?
|
||||||
|
operateType: number;
|
||||||
|
peerUid: string;
|
||||||
|
fromGrpCodeOfTmpChat: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum TipGroupElementType {
|
||||||
|
memberIncrease = 1,
|
||||||
|
kicked = 3, // 被移出群
|
||||||
|
ban = 8
|
||||||
|
}
|
||||||
|
// public final class MemberAddShowType {
|
||||||
|
// public static final int KOTHERADD = 0;
|
||||||
|
// public static final int KOTHERADDBYOTHERQRCODE = 2;
|
||||||
|
// public static final int KOTHERADDBYYOURQRCODE = 3;
|
||||||
|
// public static final int KOTHERINVITEOTHER = 5;
|
||||||
|
// public static final int KOTHERINVITEYOU = 6;
|
||||||
|
// public static final int KYOUADD = 1;
|
||||||
|
// public static final int KYOUADDBYOTHERQRCODE = 4;
|
||||||
|
// public static final int KYOUALREADYMEMBER = 8;
|
||||||
|
// public static final int KYOUINVITEOTHER = 7;
|
||||||
|
// }
|
||||||
|
export interface TipGroupElement {
|
||||||
|
type: TipGroupElementType; // 1是表示有人加入群; 自己加入群也会收到这个
|
||||||
|
role: 0; // 暂时不知
|
||||||
|
groupName: string; // 暂时获取不到
|
||||||
|
memberUid: string;
|
||||||
|
memberNick: string;
|
||||||
|
memberRemark: string;
|
||||||
|
adminUid: string;
|
||||||
|
adminNick: string;
|
||||||
|
adminRemark: string;
|
||||||
|
createGroup: null;
|
||||||
|
memberAdd?: {
|
||||||
|
showType: 1;
|
||||||
|
otherAdd: null;
|
||||||
|
otherAddByOtherQRCode: null;
|
||||||
|
otherAddByYourQRCode: null;
|
||||||
|
youAddByOtherQRCode: null;
|
||||||
|
otherInviteOther: null;
|
||||||
|
otherInviteYou: null;
|
||||||
|
youInviteOther: null
|
||||||
|
};
|
||||||
|
shutUp?: {
|
||||||
|
curTime: string;
|
||||||
|
duration: string; // 禁言时间,秒
|
||||||
|
admin: {
|
||||||
|
uid: string;
|
||||||
|
card: string;
|
||||||
|
name: string;
|
||||||
|
role: GroupMemberRole
|
||||||
|
};
|
||||||
|
member: {
|
||||||
|
uid: string
|
||||||
|
card: string;
|
||||||
|
name: string;
|
||||||
|
role: GroupMemberRole
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MultiForwardMsgElement {
|
||||||
|
xmlContent: string; // xml格式的消息内容
|
||||||
|
resId: string;
|
||||||
|
fileName: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RawMessage {
|
||||||
|
parentMsgPeer: Peer;
|
||||||
|
parentMsgIdList:string[];
|
||||||
|
id?: number;//扩展字段 用于处理OB11 ID
|
||||||
|
guildId: string;
|
||||||
|
msgRandom: string;
|
||||||
|
|
||||||
|
|
||||||
|
msgId: string;
|
||||||
|
|
||||||
|
// 时间戳,秒
|
||||||
|
msgTime: string;
|
||||||
|
|
||||||
|
msgSeq: string;
|
||||||
|
msgType: number;
|
||||||
|
subMsgType: number;
|
||||||
|
senderUid: string;
|
||||||
|
senderUin: string; // 发送者QQ号
|
||||||
|
peerUid: string; // 群号 或者 QQ uid
|
||||||
|
peerUin: string; // 群号 或者 发送者QQ号
|
||||||
|
sendNickName: string;
|
||||||
|
sendMemberName?: string; // 发送者群名片
|
||||||
|
chatType: ChatType;
|
||||||
|
sendStatus?: number; // 消息状态,别人发的2是已撤回,自己发的2是已发送
|
||||||
|
recallTime: string; // 撤回时间, "0"是没有撤回
|
||||||
|
records: RawMessage[];
|
||||||
|
elements: {
|
||||||
|
elementId: string;
|
||||||
|
elementType: ElementType;
|
||||||
|
replyElement: {
|
||||||
|
sourceMsgIdInRecords: string;
|
||||||
|
senderUid: string; // 原消息发送者QQ号
|
||||||
|
sourceMsgIsIncPic: boolean; // 原消息是否有图片
|
||||||
|
sourceMsgText: string;
|
||||||
|
replayMsgSeq: string; // 源消息的msgSeq,可以通过这个找到源消息的msgId
|
||||||
|
};
|
||||||
|
textElement: {
|
||||||
|
atType: AtType;
|
||||||
|
atUid: string; // QQ号
|
||||||
|
content: string;
|
||||||
|
atNtUid: string; // uid号
|
||||||
|
};
|
||||||
|
picElement: PicElement;
|
||||||
|
pttElement: PttElement;
|
||||||
|
arkElement: ArkElement;
|
||||||
|
grayTipElement: GrayTipElement;
|
||||||
|
faceElement: FaceElement;
|
||||||
|
videoElement: VideoElement;
|
||||||
|
fileElement: FileElement;
|
||||||
|
marketFaceElement: MarketFaceElement;
|
||||||
|
inlineKeyboardElement: InlineKeyboardElement;
|
||||||
|
markdownElement: MarkdownElement;
|
||||||
|
multiForwardMsgElement: MultiForwardMsgElement;
|
||||||
|
}[];
|
||||||
|
}
|
||||||
116
src/core/entities/notify.ts
Normal file
116
src/core/entities/notify.ts
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
export enum GroupNotifyTypes {
|
||||||
|
INVITE_ME = 1,
|
||||||
|
INVITED_JOIN = 4, // 有人接受了邀请入群
|
||||||
|
JOIN_REQUEST = 7,
|
||||||
|
ADMIN_SET = 8,
|
||||||
|
KICK_MEMBER = 9,
|
||||||
|
MEMBER_EXIT = 11, // 主动退出
|
||||||
|
ADMIN_UNSET = 12,
|
||||||
|
ADMIN_UNSET_OTHER = 13, // 其他人取消管理员
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GroupNotifies {
|
||||||
|
doubt: boolean;
|
||||||
|
nextStartSeq: string;
|
||||||
|
notifies: GroupNotify[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum GroupNotifyStatus {
|
||||||
|
IGNORE = 0,
|
||||||
|
WAIT_HANDLE = 1,
|
||||||
|
APPROVE = 2,
|
||||||
|
REJECT = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GroupNotify {
|
||||||
|
time: number; // 自己添加的字段,时间戳,毫秒, 用于判断收到短时间内收到重复的notify
|
||||||
|
seq: string; // 唯一标识符,转成数字再除以1000应该就是时间戳?
|
||||||
|
type: GroupNotifyTypes;
|
||||||
|
status: GroupNotifyStatus; // 0是已忽略?,1是未处理,2是已同意
|
||||||
|
group: { groupCode: string; groupName: string };
|
||||||
|
user1: { uid: string; nickName: string }; // 被设置管理员的人
|
||||||
|
user2: { uid: string; nickName: string }; // 操作者
|
||||||
|
actionUser: { uid: string; nickName: string }; //未知
|
||||||
|
actionTime: string;
|
||||||
|
invitationExt: {
|
||||||
|
srcType: number; // 0?未知
|
||||||
|
groupCode: string; waitStatus: number
|
||||||
|
};
|
||||||
|
postscript: string; // 加群用户填写的验证信息
|
||||||
|
repeatSeqs: [];
|
||||||
|
warningTips: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum GroupRequestOperateTypes {
|
||||||
|
approve = 1,
|
||||||
|
reject = 2
|
||||||
|
}
|
||||||
|
export enum BuddyReqType {
|
||||||
|
KMEINITIATOR,
|
||||||
|
KPEERINITIATOR,
|
||||||
|
KMEAGREED,
|
||||||
|
KMEAGREEDANDADDED,
|
||||||
|
KPEERAGREED,
|
||||||
|
KPEERAGREEDANDADDED,
|
||||||
|
KPEERREFUSED,
|
||||||
|
KMEREFUSED,
|
||||||
|
KMEIGNORED,
|
||||||
|
KMEAGREEANYONE,
|
||||||
|
KMESETQUESTION,
|
||||||
|
KMEAGREEANDADDFAILED,
|
||||||
|
KMSGINFO,
|
||||||
|
KMEINITIATORWAITPEERCONFIRM
|
||||||
|
}
|
||||||
|
export interface FriendRequest {
|
||||||
|
isInitiator?: boolean;
|
||||||
|
isDecide: boolean;
|
||||||
|
friendUid: string;
|
||||||
|
reqType: BuddyReqType,
|
||||||
|
reqTime: string; // 时间戳;秒
|
||||||
|
extWords: string; // 申请人填写的验证消息
|
||||||
|
isUnread: boolean;
|
||||||
|
friendNick: string;
|
||||||
|
sourceId: number;
|
||||||
|
groupCode: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FriendRequestNotify {
|
||||||
|
unreadNums: number;
|
||||||
|
buddyReqs: FriendRequest[];
|
||||||
|
}
|
||||||
|
export enum MemberExtSourceType {
|
||||||
|
DEFAULTTYPE = 0,
|
||||||
|
TITLETYPE = 1,
|
||||||
|
NEWGROUPTYPE = 2,
|
||||||
|
}
|
||||||
|
export interface GroupExtParam {
|
||||||
|
groupCode: string
|
||||||
|
seq: string
|
||||||
|
beginUin: string
|
||||||
|
dataTime: string
|
||||||
|
uinList: Array<string>
|
||||||
|
uinNum: string
|
||||||
|
groupType: string
|
||||||
|
richCardNameVer: string
|
||||||
|
sourceType: MemberExtSourceType
|
||||||
|
memberExtFilter: {
|
||||||
|
memberLevelInfoUin: number
|
||||||
|
memberLevelInfoPoint: number
|
||||||
|
memberLevelInfoActiveDay: number
|
||||||
|
memberLevelInfoLevel: number
|
||||||
|
memberLevelInfoName: number
|
||||||
|
levelName: number
|
||||||
|
dataTime: number
|
||||||
|
userShowFlag: number
|
||||||
|
sysShowFlag: number
|
||||||
|
timeToUpdate: number
|
||||||
|
nickName: number
|
||||||
|
specialTitle: number
|
||||||
|
levelNameNew: number
|
||||||
|
userShowFlagNew: number
|
||||||
|
msgNeedField: number
|
||||||
|
cmdUinFlagExt3Grocery: number
|
||||||
|
memberIcon: number
|
||||||
|
memberInfoSeq: number
|
||||||
|
}
|
||||||
|
}
|
||||||
347
src/core/entities/user.ts
Normal file
347
src/core/entities/user.ts
Normal file
@ -0,0 +1,347 @@
|
|||||||
|
export enum Sex {
|
||||||
|
male = 1,
|
||||||
|
female = 2,
|
||||||
|
unknown = 255,
|
||||||
|
}
|
||||||
|
export interface BuddyCategoryType {
|
||||||
|
categoryId: number;
|
||||||
|
categroyName: string;
|
||||||
|
categroyMbCount: number;
|
||||||
|
buddyList: User[];
|
||||||
|
}
|
||||||
|
export interface CoreInfo {
|
||||||
|
uid: string;
|
||||||
|
uin: string;
|
||||||
|
nick: string;
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BaseInfo {
|
||||||
|
qid: string;
|
||||||
|
longNick: string;
|
||||||
|
birthday_year: number;
|
||||||
|
birthday_month: number;
|
||||||
|
birthday_day: number;
|
||||||
|
age: number;
|
||||||
|
sex: number;
|
||||||
|
eMail: string;
|
||||||
|
phoneNum: string;
|
||||||
|
categoryId: number;
|
||||||
|
richTime: number;
|
||||||
|
richBuffer: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MusicInfo {
|
||||||
|
buf: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface VideoBizInfo {
|
||||||
|
cid: string;
|
||||||
|
tvUrl: string;
|
||||||
|
synchType: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface VideoInfo {
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ExtOnlineBusinessInfo {
|
||||||
|
buf: string;
|
||||||
|
customStatus: any;
|
||||||
|
videoBizInfo: VideoBizInfo;
|
||||||
|
videoInfo: VideoInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ExtBuffer {
|
||||||
|
buf: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface UserStatus {
|
||||||
|
uid: string;
|
||||||
|
uin: string;
|
||||||
|
status: number;
|
||||||
|
extStatus: number;
|
||||||
|
batteryStatus: number;
|
||||||
|
termType: number;
|
||||||
|
netType: number;
|
||||||
|
iconType: number;
|
||||||
|
customStatus: any;
|
||||||
|
setTime: string;
|
||||||
|
specialFlag: number;
|
||||||
|
abiFlag: number;
|
||||||
|
eNetworkType: number;
|
||||||
|
showName: string;
|
||||||
|
termDesc: string;
|
||||||
|
musicInfo: MusicInfo;
|
||||||
|
extOnlineBusinessInfo: ExtOnlineBusinessInfo;
|
||||||
|
extBuffer: ExtBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PrivilegeIcon {
|
||||||
|
jumpUrl: string;
|
||||||
|
openIconList: any[];
|
||||||
|
closeIconList: any[];
|
||||||
|
}
|
||||||
|
|
||||||
|
interface VasInfo {
|
||||||
|
vipFlag: boolean;
|
||||||
|
yearVipFlag: boolean;
|
||||||
|
svipFlag: boolean;
|
||||||
|
vipLevel: number;
|
||||||
|
bigClub: boolean;
|
||||||
|
bigClubLevel: number;
|
||||||
|
nameplateVipType: number;
|
||||||
|
grayNameplateFlag: number;
|
||||||
|
superVipTemplateId: number;
|
||||||
|
diyFontId: number;
|
||||||
|
pendantId: number;
|
||||||
|
pendantDiyId: number;
|
||||||
|
faceId: number;
|
||||||
|
vipFont: number;
|
||||||
|
vipFontType: number;
|
||||||
|
magicFont: number;
|
||||||
|
fontEffect: number;
|
||||||
|
newLoverDiamondFlag: number;
|
||||||
|
extendNameplateId: number;
|
||||||
|
diyNameplateIDs: any[];
|
||||||
|
vipStartFlag: number;
|
||||||
|
vipDataFlag: number;
|
||||||
|
gameNameplateId: string;
|
||||||
|
gameLastLoginTime: string;
|
||||||
|
gameRank: number;
|
||||||
|
gameIconShowFlag: boolean;
|
||||||
|
gameCardId: string;
|
||||||
|
vipNameColorId: string;
|
||||||
|
privilegeIcon: PrivilegeIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface RelationFlags {
|
||||||
|
topTime: string;
|
||||||
|
isBlock: boolean;
|
||||||
|
isMsgDisturb: boolean;
|
||||||
|
isSpecialCareOpen: boolean;
|
||||||
|
isSpecialCareZone: boolean;
|
||||||
|
ringId: string;
|
||||||
|
isBlocked: boolean;
|
||||||
|
recommendImgFlag: number;
|
||||||
|
disableEmojiShortCuts: number;
|
||||||
|
qidianMasterFlag: number;
|
||||||
|
qidianCrewFlag: number;
|
||||||
|
qidianCrewFlag2: number;
|
||||||
|
isHideQQLevel: number;
|
||||||
|
isHidePrivilegeIcon: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
interface CommonExt {
|
||||||
|
constellation: number;
|
||||||
|
shengXiao: number;
|
||||||
|
kBloodType: number;
|
||||||
|
homeTown: string;
|
||||||
|
makeFriendCareer: number;
|
||||||
|
pos: string;
|
||||||
|
college: string;
|
||||||
|
country: string;
|
||||||
|
province: string;
|
||||||
|
city: string;
|
||||||
|
postCode: string;
|
||||||
|
address: string;
|
||||||
|
regTime: number;
|
||||||
|
interest: string;
|
||||||
|
labels: any[];
|
||||||
|
qqLevel: QQLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Pic {
|
||||||
|
picId: string;
|
||||||
|
picTime: number;
|
||||||
|
picUrlMap: Record<string, string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PhotoWall {
|
||||||
|
picList: Pic[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SimpleInfo {
|
||||||
|
uid?: string;
|
||||||
|
uin?: string;
|
||||||
|
coreInfo: CoreInfo;
|
||||||
|
baseInfo: BaseInfo;
|
||||||
|
status: UserStatus | null;
|
||||||
|
vasInfo: VasInfo | null;
|
||||||
|
relationFlags: RelationFlags | null;
|
||||||
|
otherFlags: any | null;
|
||||||
|
intimate: any | null;
|
||||||
|
}
|
||||||
|
export interface FriendV2 extends SimpleInfo {
|
||||||
|
categoryId?: number;
|
||||||
|
categroyName?: string;
|
||||||
|
}
|
||||||
|
export interface UserDetailInfoListenerArg {
|
||||||
|
uid: string;
|
||||||
|
uin: string;
|
||||||
|
simpleInfo: SimpleInfo;
|
||||||
|
commonExt: CommonExt;
|
||||||
|
photoWall: PhotoWall;
|
||||||
|
}
|
||||||
|
export interface ModifyProfileParams {
|
||||||
|
nick: string,
|
||||||
|
longNick: string,
|
||||||
|
sex: Sex,
|
||||||
|
birthday: { birthday_year: string, birthday_month: string, birthday_day: string },
|
||||||
|
location: any//undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BuddyProfileLikeReq {
|
||||||
|
friendUids: string[];
|
||||||
|
basic: number;
|
||||||
|
vote: number;
|
||||||
|
favorite: number;
|
||||||
|
userProfile: number;
|
||||||
|
type: number;
|
||||||
|
start: number;
|
||||||
|
limit: number;
|
||||||
|
}
|
||||||
|
export interface QQLevel {
|
||||||
|
crownNum: number;
|
||||||
|
sunNum: number;
|
||||||
|
moonNum: number;
|
||||||
|
starNum: number
|
||||||
|
}
|
||||||
|
export interface User {
|
||||||
|
uid: string; // 加密的字符串
|
||||||
|
uin: string; // QQ号
|
||||||
|
nick: string;
|
||||||
|
avatarUrl?: string;
|
||||||
|
longNick?: string; // 签名
|
||||||
|
remark?: string;
|
||||||
|
sex?: Sex;
|
||||||
|
qqLevel?: QQLevel;
|
||||||
|
qid?: string
|
||||||
|
birthday_year?: number;
|
||||||
|
birthday_month?: number;
|
||||||
|
birthday_day?: number;
|
||||||
|
topTime?: string;
|
||||||
|
constellation?: number;
|
||||||
|
shengXiao?: number;
|
||||||
|
kBloodType?: number;
|
||||||
|
homeTown?: string; //"0-0-0";
|
||||||
|
makeFriendCareer?: number;
|
||||||
|
pos?: string;
|
||||||
|
eMail?: string
|
||||||
|
phoneNum?: string;
|
||||||
|
college?: string;
|
||||||
|
country?: string;
|
||||||
|
province?: string;
|
||||||
|
city?: string;
|
||||||
|
postCode?: string;
|
||||||
|
address?: string;
|
||||||
|
isBlock?: boolean;
|
||||||
|
isSpecialCareOpen?: boolean;
|
||||||
|
isSpecialCareZone?: boolean;
|
||||||
|
ringId?: string;
|
||||||
|
regTime?: number;
|
||||||
|
interest?: string;
|
||||||
|
labels?: string[];
|
||||||
|
isHideQQLevel?: number;
|
||||||
|
privilegeIcon?: {
|
||||||
|
jumpUrl: string;
|
||||||
|
openIconList: unknown[];
|
||||||
|
closeIconList: unknown[]
|
||||||
|
};
|
||||||
|
photoWall?: {
|
||||||
|
picList: unknown[]
|
||||||
|
};
|
||||||
|
vipFlag?: boolean;
|
||||||
|
yearVipFlag?: boolean;
|
||||||
|
svipFlag?: boolean;
|
||||||
|
vipLevel?: number;
|
||||||
|
status?: number;
|
||||||
|
qidianMasterFlag?: number;
|
||||||
|
qidianCrewFlag?: number;
|
||||||
|
qidianCrewFlag2?: number;
|
||||||
|
extStatus?: number;
|
||||||
|
recommendImgFlag?: number;
|
||||||
|
disableEmojiShortCuts?: number;
|
||||||
|
pendantId?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SelfInfo extends User {
|
||||||
|
online?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Friend extends User { }
|
||||||
|
|
||||||
|
export enum BizKey {
|
||||||
|
KPRIVILEGEICON,
|
||||||
|
KPHOTOWALL
|
||||||
|
}
|
||||||
|
export interface UserDetailInfoByUinV2 {
|
||||||
|
result: number,
|
||||||
|
errMsg: string,
|
||||||
|
detail: {
|
||||||
|
uid: string,
|
||||||
|
uin: string,
|
||||||
|
simpleInfo: SimpleInfo,
|
||||||
|
commonExt: CommonExt,
|
||||||
|
photoWall: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export interface UserDetailInfoByUin {
|
||||||
|
result: number,
|
||||||
|
errMsg: string,
|
||||||
|
info: {
|
||||||
|
uid: string,//这个没办法用
|
||||||
|
qid: string,
|
||||||
|
uin: string,
|
||||||
|
nick: string,
|
||||||
|
remark: string,
|
||||||
|
longNick: string,
|
||||||
|
avatarUrl: string,
|
||||||
|
birthday_year: number,
|
||||||
|
birthday_month: number,
|
||||||
|
birthday_day: number,
|
||||||
|
sex: number,//0
|
||||||
|
topTime: string,
|
||||||
|
constellation: number,
|
||||||
|
shengXiao: number,
|
||||||
|
kBloodType: number,
|
||||||
|
homeTown: string,
|
||||||
|
makeFriendCareer: number,
|
||||||
|
pos: string,
|
||||||
|
eMail: string,
|
||||||
|
phoneNum: string,
|
||||||
|
college: string,
|
||||||
|
country: string,
|
||||||
|
province: string,
|
||||||
|
city: string,
|
||||||
|
postCode: string,
|
||||||
|
address: string,
|
||||||
|
isBlock: boolean,
|
||||||
|
isSpecialCareOpen: boolean,
|
||||||
|
isSpecialCareZone: boolean,
|
||||||
|
ringId: string,
|
||||||
|
regTime: number,
|
||||||
|
interest: string,
|
||||||
|
termType: number,
|
||||||
|
labels: any[],
|
||||||
|
qqLevel: { crownNum: number, sunNum: number, moonNum: number, starNum: number },
|
||||||
|
isHideQQLevel: number,
|
||||||
|
privilegeIcon: { jumpUrl: string, openIconList: any[], closeIconList: any[] },
|
||||||
|
isHidePrivilegeIcon: number,
|
||||||
|
photoWall: { picList: any[] },
|
||||||
|
vipFlag: boolean,
|
||||||
|
yearVipFlag: boolean,
|
||||||
|
svipFlag: boolean,
|
||||||
|
vipLevel: number,
|
||||||
|
status: number,
|
||||||
|
qidianMasterFlag: number,
|
||||||
|
qidianCrewFlag: number,
|
||||||
|
qidianCrewFlag2: number,
|
||||||
|
extStatus: number,
|
||||||
|
recommendImgFlag: number,
|
||||||
|
disableEmojiShortCuts: number,
|
||||||
|
pendantId: string,
|
||||||
|
vipNameColorId: string
|
||||||
|
}
|
||||||
|
}
|
||||||
3665
src/core/external/face_config.json
vendored
Normal file
3665
src/core/external/face_config.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
102
src/core/listeners/NodeIKernelBuddyListener.ts
Normal file
102
src/core/listeners/NodeIKernelBuddyListener.ts
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
import { BuddyCategoryType, FriendRequestNotify } from '@/core/entities';
|
||||||
|
|
||||||
|
export type OnBuddyChangeParams = BuddyCategoryType[]
|
||||||
|
|
||||||
|
interface IBuddyListener {
|
||||||
|
onBuddyListChangedV2(arg: unknown): void,//V2版本 还没兼容
|
||||||
|
|
||||||
|
onBuddyListChange(arg: OnBuddyChangeParams): void,
|
||||||
|
|
||||||
|
onBuddyInfoChange(arg: unknown): void,
|
||||||
|
|
||||||
|
onBuddyDetailInfoChange(arg: unknown): void,
|
||||||
|
|
||||||
|
onNickUpdated(arg: unknown): void,
|
||||||
|
|
||||||
|
onBuddyRemarkUpdated(arg: unknown): void,
|
||||||
|
|
||||||
|
onAvatarUrlUpdated(arg: unknown): void,
|
||||||
|
|
||||||
|
onBuddyReqChange(arg: FriendRequestNotify): void,
|
||||||
|
|
||||||
|
onBuddyReqUnreadCntChange(arg: unknown): void,
|
||||||
|
|
||||||
|
onCheckBuddySettingResult(arg: unknown): void,
|
||||||
|
|
||||||
|
onAddBuddyNeedVerify(arg: unknown): void,
|
||||||
|
|
||||||
|
onSmartInfos(arg: unknown): void,
|
||||||
|
|
||||||
|
onSpacePermissionInfos(arg: unknown): void,
|
||||||
|
|
||||||
|
onDoubtBuddyReqChange(arg: unknown): void,
|
||||||
|
|
||||||
|
onDoubtBuddyReqUnreadNumChange(arg: unknown): void,
|
||||||
|
|
||||||
|
onBlockChanged(arg: unknown): void,
|
||||||
|
|
||||||
|
onAddMeSettingChanged(arg: unknown): void,
|
||||||
|
|
||||||
|
onDelBatchBuddyInfos(arg: unknown): void
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelBuddyListener extends IBuddyListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IBuddyListener): NodeIKernelBuddyListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class BuddyListener implements IBuddyListener {
|
||||||
|
onBuddyListChangedV2(arg: unknown): void {
|
||||||
|
//throw new Error('Method not implemented.');
|
||||||
|
}
|
||||||
|
onAddBuddyNeedVerify(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onAddMeSettingChanged(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onAvatarUrlUpdated(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBlockChanged(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyDetailInfoChange(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyInfoChange(arg: unknown) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyListChange(arg: OnBuddyChangeParams): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyRemarkUpdated(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyReqChange(arg: FriendRequestNotify): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onBuddyReqUnreadCntChange(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onCheckBuddySettingResult(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onDelBatchBuddyInfos(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onDoubtBuddyReqChange(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onDoubtBuddyReqUnreadNumChange(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onNickUpdated(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onSmartInfos(arg: unknown): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onSpacePermissionInfos(arg: unknown): void {
|
||||||
|
}
|
||||||
|
}
|
||||||
27
src/core/listeners/NodeIKernelFileAssistantListener.ts
Normal file
27
src/core/listeners/NodeIKernelFileAssistantListener.ts
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
export interface IKernelFileAssistantListener {
|
||||||
|
onFileStatusChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onSessionListChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onSessionChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onFileListChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onFileSearch(...args: unknown[]): unknown;
|
||||||
|
}
|
||||||
|
export interface NodeIKernelFileAssistantListener extends IKernelFileAssistantListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(adapter: IKernelFileAssistantListener): NodeIKernelFileAssistantListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class KernelFileAssistantListener implements IKernelFileAssistantListener {
|
||||||
|
onFileStatusChanged(...args: unknown[]) { }
|
||||||
|
|
||||||
|
onSessionListChanged(...args: unknown[]) { }
|
||||||
|
|
||||||
|
onSessionChanged(...args: unknown[]) { }
|
||||||
|
|
||||||
|
onFileListChanged(...args: unknown[]) { }
|
||||||
|
|
||||||
|
onFileSearch(...args: unknown[]) { }
|
||||||
|
}
|
||||||
240
src/core/listeners/NodeIKernelGroupListener.ts
Normal file
240
src/core/listeners/NodeIKernelGroupListener.ts
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
import { Group, GroupListUpdateType, GroupMember, GroupNotify } from '@/core/entities';
|
||||||
|
|
||||||
|
interface IGroupListener {
|
||||||
|
onGroupListUpdate(updateType: GroupListUpdateType, groupList: Group[]): void;
|
||||||
|
|
||||||
|
onGroupExtListUpdate(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
|
||||||
|
|
||||||
|
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
|
||||||
|
|
||||||
|
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupDetailInfoChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupAllInfoChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupsMsgMaskResult(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupConfMemberChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupBulletinChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGetGroupBulletinListResult(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onMemberListChange(arg: {
|
||||||
|
sceneId: string,
|
||||||
|
ids: string[],
|
||||||
|
infos: Map<string, GroupMember>,
|
||||||
|
finish: boolean,
|
||||||
|
hasRobot: boolean
|
||||||
|
}): void;
|
||||||
|
|
||||||
|
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>): void;
|
||||||
|
|
||||||
|
onSearchMemberChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupStatisticInfoChange(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onJoinGroupNotify(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onShutUpMemberListChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupBulletinRemindNotify(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupFirstBulletinNotify(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onJoinGroupNoVerifyFlag(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onGroupArkInviteStateResult(...args: unknown[]): void;
|
||||||
|
// 发现于Win 9.9.9 23159
|
||||||
|
onGroupMemberLevelInfoChange(...args: unknown[]): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelGroupListener extends IGroupListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IGroupListener): NodeIKernelGroupListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class GroupListener implements IGroupListener {
|
||||||
|
// 发现于Win 9.9.9 23159
|
||||||
|
onGroupMemberLevelInfoChange(...args: unknown[]): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
onGetGroupBulletinListResult(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupAllInfoChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRemindNotify(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupArkInviteStateResult(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupConfMemberChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupDetailInfoChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupExtListUpdate(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupFirstBulletinNotify(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupListUpdate(updateType: GroupListUpdateType, groupList: Group[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupNotifiesUnreadCountUpdated(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupsMsgMaskResult(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupStatisticInfoChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onJoinGroupNotify(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onJoinGroupNoVerifyFlag(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onMemberListChange(arg: {
|
||||||
|
sceneId: string,
|
||||||
|
ids: string[],
|
||||||
|
infos: Map<string, GroupMember>, // uid -> GroupMember
|
||||||
|
finish: boolean,
|
||||||
|
hasRobot: boolean
|
||||||
|
}) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onSearchMemberChange(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onShutUpMemberListChanged(...args: unknown[]) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class DebugGroupListener implements IGroupListener {
|
||||||
|
onGroupMemberLevelInfoChange(...args: unknown[]): void {
|
||||||
|
console.log('onGroupMemberLevelInfoChange:', ...args);
|
||||||
|
}
|
||||||
|
onGetGroupBulletinListResult(...args: unknown[]) {
|
||||||
|
console.log('onGetGroupBulletinListResult:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupAllInfoChange(...args: unknown[]) {
|
||||||
|
console.log('onGroupAllInfoChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinChange(...args: unknown[]) {
|
||||||
|
console.log('onGroupBulletinChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRemindNotify(...args: unknown[]) {
|
||||||
|
console.log('onGroupBulletinRemindNotify:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupArkInviteStateResult(...args: unknown[]) {
|
||||||
|
console.log('onGroupArkInviteStateResult:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]) {
|
||||||
|
console.log('onGroupBulletinRichMediaDownloadComplete:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupConfMemberChange(...args: unknown[]) {
|
||||||
|
console.log('onGroupConfMemberChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupDetailInfoChange(...args: unknown[]) {
|
||||||
|
console.log('onGroupDetailInfoChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupExtListUpdate(...args: unknown[]) {
|
||||||
|
console.log('onGroupExtListUpdate:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupFirstBulletinNotify(...args: unknown[]) {
|
||||||
|
console.log('onGroupFirstBulletinNotify:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupListUpdate(...args: unknown[]) {
|
||||||
|
console.log('onGroupListUpdate:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupNotifiesUpdated(...args: unknown[]) {
|
||||||
|
console.log('onGroupNotifiesUpdated:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]) {
|
||||||
|
console.log('onGroupBulletinRichMediaProgressUpdate:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupNotifiesUnreadCountUpdated(...args: unknown[]) {
|
||||||
|
console.log('onGroupNotifiesUnreadCountUpdated:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]) {
|
||||||
|
console.log('onGroupSingleScreenNotifies:');
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupsMsgMaskResult(...args: unknown[]) {
|
||||||
|
console.log('onGroupsMsgMaskResult:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupStatisticInfoChange(...args: unknown[]) {
|
||||||
|
console.log('onGroupStatisticInfoChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onJoinGroupNotify(...args: unknown[]) {
|
||||||
|
console.log('onJoinGroupNotify:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onJoinGroupNoVerifyFlag(...args: unknown[]) {
|
||||||
|
console.log('onJoinGroupNoVerifyFlag:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>) {
|
||||||
|
console.log('onMemberInfoChange:', groupCode, changeType, members);
|
||||||
|
}
|
||||||
|
|
||||||
|
onMemberListChange(...args: unknown[]) {
|
||||||
|
console.log('onMemberListChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onSearchMemberChange(...args: unknown[]) {
|
||||||
|
console.log('onSearchMemberChange:', ...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
onShutUpMemberListChanged(...args: unknown[]) {
|
||||||
|
console.log('onShutUpMemberListChanged:', ...args);
|
||||||
|
}
|
||||||
|
}
|
||||||
108
src/core/listeners/NodeIKernelLoginListener.ts
Normal file
108
src/core/listeners/NodeIKernelLoginListener.ts
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
export interface IKernelLoginListener {
|
||||||
|
onLoginConnected(...args: any[]): void;
|
||||||
|
|
||||||
|
onLoginDisConnected(...args: any[]): void;
|
||||||
|
|
||||||
|
onLoginConnecting(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeGetPicture(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeLoginPollingStarted(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeSessionUserScaned(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeLoginSucceed(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeSessionFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
onLoginFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
onLogoutSucceed(...args: any[]): void;
|
||||||
|
|
||||||
|
onLogoutFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
onUserLoggedIn(...args: any[]): void;
|
||||||
|
|
||||||
|
onQRCodeSessionQuickLoginFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
onPasswordLoginFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
OnConfirmUnusualDeviceFailed(...args: any[]): void;
|
||||||
|
|
||||||
|
onQQLoginNumLimited(...args: any[]): void;
|
||||||
|
|
||||||
|
onLoginState(...args: any[]): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelLoginListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IKernelLoginListener): NodeIKernelLoginListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class LoginListener implements IKernelLoginListener {
|
||||||
|
onLoginConnected(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoginDisConnected(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoginConnecting(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeGetPicture(arg: { pngBase64QrcodeData: string, qrcodeUrl: string }): void {
|
||||||
|
// let base64Data: string = arg.pngBase64QrcodeData
|
||||||
|
// base64Data = base64Data.split("data:image/png;base64,")[1]
|
||||||
|
// let buffer = Buffer.from(base64Data, 'base64')
|
||||||
|
// console.log("onQRCodeGetPicture", arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeLoginPollingStarted(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeSessionUserScaned(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeLoginSucceed(arg: QRCodeLoginSucceedResult): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeSessionFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoginFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLogoutSucceed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLogoutFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onUserLoggedIn(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQRCodeSessionQuickLoginFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onPasswordLoginFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
OnConfirmUnusualDeviceFailed(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onQQLoginNumLimited(...args: any[]): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoginState(...args: any[]): void {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QRCodeLoginSucceedResult {
|
||||||
|
account: string;
|
||||||
|
mainAccount: string;
|
||||||
|
uin: string; //拿UIN
|
||||||
|
uid: string; //拿UID
|
||||||
|
nickName: string; //一般是空的 拿不到
|
||||||
|
gender: number;
|
||||||
|
age: number;
|
||||||
|
faceUrl: string;//一般是空的 拿不到
|
||||||
|
}
|
||||||
512
src/core/listeners/NodeIKernelMsgListener.ts
Normal file
512
src/core/listeners/NodeIKernelMsgListener.ts
Normal file
@ -0,0 +1,512 @@
|
|||||||
|
import { ChatType, RawMessage } from '@/core/entities';
|
||||||
|
|
||||||
|
export interface OnRichMediaDownloadCompleteParams {
|
||||||
|
fileModelId: string,
|
||||||
|
msgElementId: string,
|
||||||
|
msgId: string,
|
||||||
|
fileId: string,
|
||||||
|
fileProgress: string, // '0'
|
||||||
|
fileSpeed: string, // '0'
|
||||||
|
fileErrCode: string, // '0'
|
||||||
|
fileErrMsg: string,
|
||||||
|
fileDownType: number, // 暂时未知
|
||||||
|
thumbSize: number,
|
||||||
|
filePath: string,
|
||||||
|
totalSize: string,
|
||||||
|
trasferStatus: number,
|
||||||
|
step: number,
|
||||||
|
commonFileInfo: unknown | null,
|
||||||
|
fileSrvErrCode: string,
|
||||||
|
clientMsg: string,
|
||||||
|
businessId: number,
|
||||||
|
userTotalSpacePerDay: unknown | null,
|
||||||
|
userUsedSpacePerDay: unknown | null
|
||||||
|
}
|
||||||
|
export interface onGroupFileInfoUpdateParamType {
|
||||||
|
retCode: number
|
||||||
|
retMsg: string
|
||||||
|
clientWording: string
|
||||||
|
isEnd: boolean
|
||||||
|
item: Array<any>
|
||||||
|
allFileCount: string
|
||||||
|
nextIndex: string
|
||||||
|
reqId: string
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// sessionType: 1,
|
||||||
|
// chatType: 100,
|
||||||
|
// peerUid: 'u_PVQ3tl6K78xxxx',
|
||||||
|
// groupCode: '809079648',
|
||||||
|
// fromNick: '拾xxxx,
|
||||||
|
// sig: '0x'
|
||||||
|
// }
|
||||||
|
export interface TempOnRecvParams {
|
||||||
|
sessionType: number,//1
|
||||||
|
chatType: ChatType,//100
|
||||||
|
peerUid: string,//uid
|
||||||
|
groupCode: string,//gc
|
||||||
|
fromNick: string,//gc name
|
||||||
|
sig: string,
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface IKernelMsgListener {
|
||||||
|
onAddSendMsg(msgRecord: RawMessage): void;
|
||||||
|
|
||||||
|
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onBroadcastHelperProgressUpdate(broadcastHelperTransNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onChannelFreqLimitInfoUpdate(contact: unknown, z: unknown, freqLimitInfo: unknown): void;
|
||||||
|
|
||||||
|
onContactUnreadCntUpdate(hashMap: unknown): void;
|
||||||
|
|
||||||
|
onCustomWithdrawConfigUpdate(customWithdrawConfig: unknown): void;
|
||||||
|
|
||||||
|
onDraftUpdate(contact: unknown, arrayList: unknown, j2: unknown): void;
|
||||||
|
|
||||||
|
onEmojiDownloadComplete(emojiNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onEmojiResourceUpdate(emojiResourceInfo: unknown): void;
|
||||||
|
|
||||||
|
onFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onFileMsgCome(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onFirstViewDirectMsgUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onFirstViewGroupGuildMapping(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
|
||||||
|
|
||||||
|
onGroupFileInfoAdd(groupItem: unknown): void;
|
||||||
|
|
||||||
|
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
|
||||||
|
|
||||||
|
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onGroupTransferInfoAdd(groupItem: unknown): void;
|
||||||
|
|
||||||
|
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
|
||||||
|
|
||||||
|
onGuildInteractiveUpdate(guildInteractiveNotificationItem: unknown): void;
|
||||||
|
|
||||||
|
onGuildMsgAbFlagChanged(guildMsgAbFlag: unknown): void;
|
||||||
|
|
||||||
|
onGuildNotificationAbstractUpdate(guildNotificationAbstractInfo: unknown): void;
|
||||||
|
|
||||||
|
onHitCsRelatedEmojiResult(downloadRelateEmojiResultInfo: unknown): void;
|
||||||
|
|
||||||
|
onHitEmojiKeywordResult(hitRelatedEmojiWordsResult: unknown): void;
|
||||||
|
|
||||||
|
onHitRelatedEmojiResult(relatedWordEmojiInfo: unknown): void;
|
||||||
|
|
||||||
|
onImportOldDbProgressUpdate(importOldDbMsgNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onInputStatusPush(inputStatusInfo: unknown): void;
|
||||||
|
|
||||||
|
onKickedOffLine(kickedInfo: unknown): void;
|
||||||
|
|
||||||
|
onLineDev(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onLogLevelChanged(j2: unknown): void;
|
||||||
|
|
||||||
|
onMsgAbstractUpdate(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onMsgBoxChanged(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onMsgDelete(contact: unknown, arrayList: unknown): void;
|
||||||
|
|
||||||
|
onMsgEventListUpdate(hashMap: unknown): void;
|
||||||
|
|
||||||
|
onMsgInfoListAdd(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onMsgInfoListUpdate(msgList: RawMessage[]): void;
|
||||||
|
|
||||||
|
onMsgQRCodeStatusChanged(i2: unknown): void;
|
||||||
|
|
||||||
|
onMsgRecall(i2: unknown, str: unknown, j2: unknown): void;
|
||||||
|
|
||||||
|
onMsgSecurityNotify(msgRecord: unknown): void;
|
||||||
|
|
||||||
|
onMsgSettingUpdate(msgSetting: unknown): void;
|
||||||
|
|
||||||
|
onNtFirstViewMsgSyncEnd(): void;
|
||||||
|
|
||||||
|
onNtMsgSyncEnd(): void;
|
||||||
|
|
||||||
|
onNtMsgSyncStart(): void;
|
||||||
|
|
||||||
|
onReadFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onRecvGroupGuildFlag(i2: unknown): void;
|
||||||
|
|
||||||
|
onRecvMsg(...arrayList: unknown[]): void;
|
||||||
|
|
||||||
|
onRecvMsgSvrRspTransInfo(j2: unknown, contact: unknown, i2: unknown, i3: unknown, str: unknown, bArr: unknown): void;
|
||||||
|
|
||||||
|
onRecvOnlineFileMsg(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onRecvS2CMsg(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onRecvSysMsg(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onRecvUDCFlag(i2: unknown): void;
|
||||||
|
|
||||||
|
onRichMediaDownloadComplete(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams): void;
|
||||||
|
|
||||||
|
onRichMediaProgerssUpdate(fileTransNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onRichMediaUploadComplete(fileTransNotifyInfo: unknown): void;
|
||||||
|
|
||||||
|
onSearchGroupFileInfoUpdate(searchGroupFileResult:
|
||||||
|
{
|
||||||
|
result: {
|
||||||
|
retCode: number,
|
||||||
|
retMsg: string,
|
||||||
|
clientWording: string
|
||||||
|
},
|
||||||
|
syncCookie: string,
|
||||||
|
totalMatchCount: number,
|
||||||
|
ownerMatchCount: number,
|
||||||
|
isEnd: boolean,
|
||||||
|
reqId: number,
|
||||||
|
item: Array<{
|
||||||
|
groupCode: string,
|
||||||
|
groupName: string,
|
||||||
|
uploaderUin: string,
|
||||||
|
uploaderName: string,
|
||||||
|
matchUin: string,
|
||||||
|
matchWords: Array<unknown>,
|
||||||
|
fileNameHits: Array<{
|
||||||
|
start: number,
|
||||||
|
end: number
|
||||||
|
}>,
|
||||||
|
fileModelId: string,
|
||||||
|
fileId: string,
|
||||||
|
fileName: string,
|
||||||
|
fileSize: string,
|
||||||
|
busId: number,
|
||||||
|
uploadTime: number,
|
||||||
|
modifyTime: number,
|
||||||
|
deadTime: number,
|
||||||
|
downloadTimes: number,
|
||||||
|
localPath: string
|
||||||
|
}>
|
||||||
|
}): void;
|
||||||
|
|
||||||
|
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
|
||||||
|
|
||||||
|
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
|
||||||
|
|
||||||
|
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
|
||||||
|
|
||||||
|
onUnreadCntAfterFirstView(hashMap: unknown): void;
|
||||||
|
|
||||||
|
onUnreadCntUpdate(hashMap: unknown): void;
|
||||||
|
|
||||||
|
onUserChannelTabStatusChanged(z: unknown): void;
|
||||||
|
|
||||||
|
onUserOnlineStatusChanged(z: unknown): void;
|
||||||
|
|
||||||
|
onUserTabStatusChanged(arrayList: unknown): void;
|
||||||
|
|
||||||
|
onlineStatusBigIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
|
||||||
|
|
||||||
|
onlineStatusSmallIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
|
||||||
|
|
||||||
|
// 第一次发现于Linux
|
||||||
|
onUserSecQualityChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onMsgWithRichLinkInfoUpdate(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onRedTouchChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
// 第一次发现于Win 9.9.9 23159
|
||||||
|
onBroadcastHelperProgerssUpdate(...args: unknown[]): void;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelMsgListener extends IKernelMsgListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IKernelMsgListener): NodeIKernelMsgListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class MsgListener implements IKernelMsgListener {
|
||||||
|
onAddSendMsg(msgRecord: RawMessage) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onBroadcastHelperProgressUpdate(broadcastHelperTransNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onChannelFreqLimitInfoUpdate(contact: unknown, z: unknown, freqLimitInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onContactUnreadCntUpdate(hashMap: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onCustomWithdrawConfigUpdate(customWithdrawConfig: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onDraftUpdate(contact: unknown, arrayList: unknown, j2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onEmojiDownloadComplete(emojiNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onEmojiResourceUpdate(emojiResourceInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onFileMsgCome(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onFirstViewDirectMsgUpdate(firstViewDirectMsgNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onFirstViewGroupGuildMapping(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupFileInfoAdd(groupItem: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupGuildUpdate(groupGuildNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onGroupTransferInfoAdd(groupItem: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGroupTransferInfoUpdate(groupFileListResult: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGuildInteractiveUpdate(guildInteractiveNotificationItem: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGuildMsgAbFlagChanged(guildMsgAbFlag: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGuildNotificationAbstractUpdate(guildNotificationAbstractInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onHitCsRelatedEmojiResult(downloadRelateEmojiResultInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onHitEmojiKeywordResult(hitRelatedEmojiWordsResult: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onHitRelatedEmojiResult(relatedWordEmojiInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onImportOldDbProgressUpdate(importOldDbMsgNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onInputStatusPush(inputStatusInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onKickedOffLine(kickedInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onLineDev(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onLogLevelChanged(j2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgAbstractUpdate(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgBoxChanged(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgDelete(contact: unknown, arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgEventListUpdate(hashMap: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgInfoListAdd(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgInfoListUpdate(msgList: RawMessage[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgQRCodeStatusChanged(i2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgRecall(i2: unknown, str: unknown, j2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgSecurityNotify(msgRecord: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgSettingUpdate(msgSetting: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onNtFirstViewMsgSyncEnd() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onNtMsgSyncEnd() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onNtMsgSyncStart() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onReadFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvGroupGuildFlag(i2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvMsg(arrayList: RawMessage[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvMsgSvrRspTransInfo(j2: unknown, contact: unknown, i2: unknown, i3: unknown, str: unknown, bArr: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvOnlineFileMsg(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvS2CMsg(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvSysMsg(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecvUDCFlag(i2: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRichMediaDownloadComplete(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) {
|
||||||
|
}
|
||||||
|
|
||||||
|
onRichMediaProgerssUpdate(fileTransNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRichMediaUploadComplete(fileTransNotifyInfo: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUnreadCntAfterFirstView(hashMap: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUnreadCntUpdate(hashMap: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUserChannelTabStatusChanged(z: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUserOnlineStatusChanged(z: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUserTabStatusChanged(arrayList: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onlineStatusBigIconDownloadPush(i2: unknown, j2: unknown, str: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onlineStatusSmallIconDownloadPush(i2: unknown, j2: unknown, str: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 第一次发现于Linux
|
||||||
|
onUserSecQualityChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgWithRichLinkInfoUpdate(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRedTouchChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
// 第一次发现于Win 9.9.9-23159
|
||||||
|
onBroadcastHelperProgerssUpdate(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
43
src/core/listeners/NodeIKernelProfileListener.ts
Normal file
43
src/core/listeners/NodeIKernelProfileListener.ts
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { User, UserDetailInfoListenerArg } from '@/core/entities';
|
||||||
|
|
||||||
|
interface IProfileListener {
|
||||||
|
onProfileSimpleChanged(...args: unknown[]): void;
|
||||||
|
onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void;
|
||||||
|
onProfileDetailInfoChanged(profile: User): void;
|
||||||
|
|
||||||
|
onStatusUpdate(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onSelfStatusChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onStrangerRemarkChanged(...args: unknown[]): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelProfileListener extends IProfileListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IProfileListener): NodeIKernelProfileListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class ProfileListener implements IProfileListener {
|
||||||
|
onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
onProfileSimpleChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onProfileDetailInfoChanged(profile: User) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onStatusUpdate(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onSelfStatusChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onStrangerRemarkChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
44
src/core/listeners/NodeIKernelRecentContactListener.ts
Normal file
44
src/core/listeners/NodeIKernelRecentContactListener.ts
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
interface IKernelRecentContactListener {
|
||||||
|
onDeletedContactsNotify(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onRecentContactNotification(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onMsgUnreadCountUpdate(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onGuildDisplayRecentContactListChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onRecentContactListChanged(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onRecentContactListChangedVer2(...args: unknown[]): unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelRecentContactListener extends IKernelRecentContactListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(listener: IKernelRecentContactListener): NodeIKernelRecentContactListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class KernelRecentContactListener implements IKernelRecentContactListener {
|
||||||
|
onDeletedContactsNotify(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecentContactNotification(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onMsgUnreadCountUpdate(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGuildDisplayRecentContactListChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecentContactListChanged(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecentContactListChangedVer2(...args: unknown[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
28
src/core/listeners/NodeIKernelRobotListener.ts
Normal file
28
src/core/listeners/NodeIKernelRobotListener.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
|
||||||
|
export interface IKernelRobotListener {
|
||||||
|
onRobotFriendListChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onRobotListChanged(...args: unknown[]): void;
|
||||||
|
|
||||||
|
onRobotProfileChanged(...args: unknown[]): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelRobotListener extends IKernelRobotListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(adapter: IKernelRobotListener): NodeIKernelRobotListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class KernelRobotListener implements IKernelRobotListener {
|
||||||
|
onRobotFriendListChanged(...args: unknown[]){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRobotListChanged(...args: unknown[]){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onRobotProfileChanged(...args: unknown[]){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
44
src/core/listeners/NodeIKernelSessionListener.ts
Normal file
44
src/core/listeners/NodeIKernelSessionListener.ts
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
export interface ISessionListener {
|
||||||
|
onNTSessionCreate(args: unknown): void;
|
||||||
|
|
||||||
|
onGProSessionCreate(args: unknown): void;
|
||||||
|
|
||||||
|
onSessionInitComplete(args: unknown): void;
|
||||||
|
|
||||||
|
onOpentelemetryInit(args: unknown): void;
|
||||||
|
|
||||||
|
onUserOnlineResult(args: unknown): void;
|
||||||
|
|
||||||
|
onGetSelfTinyId(args: unknown): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NodeIKernelSessionListener extends ISessionListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(adapter: ISessionListener): NodeIKernelSessionListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class SessionListener implements ISessionListener {
|
||||||
|
onNTSessionCreate(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGProSessionCreate(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onSessionInitComplete(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onOpentelemetryInit(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onUserOnlineResult(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onGetSelfTinyId(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
37
src/core/listeners/NodeIKernelStorageCleanListener.ts
Normal file
37
src/core/listeners/NodeIKernelStorageCleanListener.ts
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
export interface IStorageCleanListener {
|
||||||
|
onCleanCacheProgressChanged(args: unknown): void;
|
||||||
|
|
||||||
|
onScanCacheProgressChanged(args: unknown): void;
|
||||||
|
|
||||||
|
onCleanCacheStorageChanged(args: unknown): void;
|
||||||
|
|
||||||
|
onFinishScan(args: unknown): void;
|
||||||
|
|
||||||
|
onChatCleanDone(args: unknown): void;
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface NodeIKernelStorageCleanListener extends IStorageCleanListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(adapter: IStorageCleanListener): NodeIKernelStorageCleanListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class StorageCleanListener implements IStorageCleanListener {
|
||||||
|
onCleanCacheProgressChanged(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onScanCacheProgressChanged(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onCleanCacheStorageChanged(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
onFinishScan(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onChatCleanDone(args: unknown) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
9
src/core/listeners/NodeIKernelTicketListener.ts
Normal file
9
src/core/listeners/NodeIKernelTicketListener.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
export interface IKernelTicketListener {
|
||||||
|
}
|
||||||
|
export interface NodeIKernelTicketListener extends IKernelTicketListener {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(adapter: IKernelTicketListener): NodeIKernelTicketListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class KernelTicketListener implements IKernelTicketListener {
|
||||||
|
}
|
||||||
12
src/core/listeners/index.ts
Normal file
12
src/core/listeners/index.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
export * from './NodeIKernelSessionListener';
|
||||||
|
export * from './NodeIKernelLoginListener';
|
||||||
|
export * from './NodeIKernelMsgListener';
|
||||||
|
export * from './NodeIKernelGroupListener';
|
||||||
|
export * from './NodeIKernelBuddyListener';
|
||||||
|
export * from './NodeIKernelProfileListener';
|
||||||
|
export * from './NodeIKernelRobotListener';
|
||||||
|
export * from './NodeIKernelTicketListener';
|
||||||
|
export * from './NodeIKernelStorageCleanListener';
|
||||||
|
export * from './NodeIKernelFileAssistantListener';
|
||||||
|
|
||||||
46
src/core/services/NodeIKernelAlbumService.ts
Normal file
46
src/core/services/NodeIKernelAlbumService.ts
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
export interface NodeIKernelAlbumService {
|
||||||
|
setAlbumServiceInfo(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
getMainPage(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
getAlbumList(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getAlbumInfo(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
deleteAlbum(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
addAlbum(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
deleteMedias(...args: any[]): unknown;// needs 4 arguments
|
||||||
|
|
||||||
|
modifyAlbum(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
getMediaList(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
quoteToQzone(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
quoteToQunAlbum(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
queryQuoteToQunAlbumStatus(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getQunFeeds(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
getQunFeedDetail(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getQunNoticeList(...args: any[]): unknown;// needs 4 arguments
|
||||||
|
|
||||||
|
getQunComment(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getQunLikes(...args: any[]): unknown;// needs 4 arguments
|
||||||
|
|
||||||
|
deleteQunFeed(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
doQunComment(...args: any[]): unknown;// needs 6 arguments
|
||||||
|
|
||||||
|
doQunReply(...args: any[]): unknown;// needs 7 arguments
|
||||||
|
|
||||||
|
doQunLike(...args: any[]): unknown;// needs 5 arguments
|
||||||
|
|
||||||
|
getRedPoints(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
}
|
||||||
31
src/core/services/NodeIKernelAvatarService.ts
Normal file
31
src/core/services/NodeIKernelAvatarService.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
export interface NodeIKernelAvatarService {
|
||||||
|
addAvatarListener(arg: unknown): unknown;
|
||||||
|
|
||||||
|
removeAvatarListener(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getAvatarPath(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
forceDownloadAvatar(uid: string, useCache: number): Promise<unknown>;
|
||||||
|
|
||||||
|
getGroupAvatarPath(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getConfGroupAvatarPath(arg: unknown): unknown;
|
||||||
|
|
||||||
|
forceDownloadGroupAvatar(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getGroupPortraitPath(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
forceDownloadGroupPortrait(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
getAvatarPaths(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getGroupAvatarPaths(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getConfGroupAvatarPaths(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getAvatarPathByUin(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
forceDownloadAvatarByUin(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
128
src/core/services/NodeIKernelBuddyService.ts
Normal file
128
src/core/services/NodeIKernelBuddyService.ts
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
import { Friend } from '@/core/entities';
|
||||||
|
import { GeneralCallResult } from '@/core/services/common';
|
||||||
|
import { NodeIKernelBuddyListener } from '@/core/listeners';
|
||||||
|
export enum BuddyListReqType {
|
||||||
|
KNOMAL,
|
||||||
|
KLETTER
|
||||||
|
}
|
||||||
|
export interface NodeIKernelBuddyService {
|
||||||
|
// 26702 以上
|
||||||
|
getBuddyListV2(callFrom: string, reqType: BuddyListReqType): Promise<GeneralCallResult & {
|
||||||
|
data: Array<{
|
||||||
|
categoryId: number,
|
||||||
|
categorySortId: number,
|
||||||
|
categroyName: string,
|
||||||
|
categroyMbCount: number,
|
||||||
|
onlineCount: number,
|
||||||
|
buddyUids: Array<string>
|
||||||
|
}>
|
||||||
|
}>;
|
||||||
|
//26702 以上
|
||||||
|
getBuddyListFromCache(callFrom: string): Promise<Array<
|
||||||
|
{
|
||||||
|
categoryId: number,//9999应该跳过 那是兜底数据吧
|
||||||
|
categorySortId: number,//排序方式
|
||||||
|
categroyName: string,//分类名
|
||||||
|
categroyMbCount: number,//不懂
|
||||||
|
onlineCount: number,//在线数目
|
||||||
|
buddyUids: Array<string>//Uids
|
||||||
|
}>>;
|
||||||
|
// 以下为原生方法
|
||||||
|
addKernelBuddyListener(listener: NodeIKernelBuddyListener): number;
|
||||||
|
|
||||||
|
getAllBuddyCount(): number;
|
||||||
|
|
||||||
|
removeKernelBuddyListener(listener: unknown): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
* @param nocache 使用缓存
|
||||||
|
*/
|
||||||
|
getBuddyList(nocache: boolean): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
getBuddyNick(uid: number): string;
|
||||||
|
|
||||||
|
getBuddyRemark(uid: number): string;
|
||||||
|
|
||||||
|
setBuddyRemark(uid: number, remark: string): void;
|
||||||
|
|
||||||
|
getAvatarUrl(uid: number): string;
|
||||||
|
|
||||||
|
isBuddy(uid: string): boolean;
|
||||||
|
|
||||||
|
getCategoryNameWithUid(uid: number): string;
|
||||||
|
|
||||||
|
getTargetBuddySetting(uid: number): unknown;
|
||||||
|
|
||||||
|
getTargetBuddySettingByType(uid: number, type: number): unknown;
|
||||||
|
|
||||||
|
getBuddyReqUnreadCnt(): number;
|
||||||
|
|
||||||
|
getBuddyReq(): unknown;
|
||||||
|
|
||||||
|
delBuddyReq(uid: number): void;
|
||||||
|
|
||||||
|
clearBuddyReqUnreadCnt(): void;
|
||||||
|
|
||||||
|
reqToAddFriends(uid: number, msg: string): void;
|
||||||
|
|
||||||
|
setSpacePermission(uid: number, permission: number): void;
|
||||||
|
|
||||||
|
approvalFriendRequest(arg: {
|
||||||
|
friendUid: string;
|
||||||
|
reqTime: string;
|
||||||
|
accept: boolean;
|
||||||
|
}): Promise<void>;
|
||||||
|
|
||||||
|
delBuddy(uid: number): void;
|
||||||
|
|
||||||
|
delBatchBuddy(uids: number[]): void;
|
||||||
|
|
||||||
|
getSmartInfos(uid: number): unknown;
|
||||||
|
|
||||||
|
setBuddyCategory(uid: number, category: number): void;
|
||||||
|
|
||||||
|
setBatchBuddyCategory(uids: number[], category: number): void;
|
||||||
|
|
||||||
|
addCategory(category: string): void;
|
||||||
|
|
||||||
|
delCategory(category: string): void;
|
||||||
|
|
||||||
|
renameCategory(oldCategory: string, newCategory: string): void;
|
||||||
|
|
||||||
|
resortCategory(categorys: string[]): void;
|
||||||
|
|
||||||
|
pullCategory(uid: number, category: string): void;
|
||||||
|
|
||||||
|
setTop(uid: number, isTop: boolean): void;
|
||||||
|
|
||||||
|
SetSpecialCare(uid: number, isSpecialCare: boolean): void;
|
||||||
|
|
||||||
|
setMsgNotify(uid: number, isNotify: boolean): void;
|
||||||
|
|
||||||
|
hasBuddyList(): boolean;
|
||||||
|
|
||||||
|
setBlock(uid: number, isBlock: boolean): void;
|
||||||
|
|
||||||
|
isBlocked(uid: number): boolean;
|
||||||
|
|
||||||
|
modifyAddMeSetting(setting: unknown): void;
|
||||||
|
|
||||||
|
getAddMeSetting(): unknown;
|
||||||
|
|
||||||
|
getDoubtBuddyReq(): unknown;
|
||||||
|
|
||||||
|
getDoubtBuddyUnreadNum(): number;
|
||||||
|
|
||||||
|
approvalDoubtBuddyReq(uid: number, isAgree: boolean): void;
|
||||||
|
|
||||||
|
delDoubtBuddyReq(uid: number): void;
|
||||||
|
|
||||||
|
delAllDoubtBuddyReq(): void;
|
||||||
|
|
||||||
|
reportDoubtBuddyReqUnread(): void;
|
||||||
|
|
||||||
|
getBuddyRecommendContactArkJson(uid: string, phoneNumber: string): Promise<unknown>;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
91
src/core/services/NodeIKernelCollectionService.ts
Normal file
91
src/core/services/NodeIKernelCollectionService.ts
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
|
||||||
|
export interface NodeIKernelCollectionService {
|
||||||
|
addKernelCollectionListener(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
removeKernelCollectionListener(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
getCollectionItemList(param: {
|
||||||
|
category: number,
|
||||||
|
groupId: number,
|
||||||
|
forceSync: boolean,
|
||||||
|
forceFromDb: boolean,
|
||||||
|
timeStamp: string,
|
||||||
|
count: number,
|
||||||
|
searchDown: boolean
|
||||||
|
}): Promise<GeneralCallResult &
|
||||||
|
{
|
||||||
|
collectionSearchList: {
|
||||||
|
collectionItemList: Array<
|
||||||
|
{
|
||||||
|
cid: string,
|
||||||
|
type: number,
|
||||||
|
status: number,
|
||||||
|
author: {
|
||||||
|
type: number,
|
||||||
|
numId: string,
|
||||||
|
strId: string,
|
||||||
|
groupId: string,
|
||||||
|
groupName: string,
|
||||||
|
uid: string
|
||||||
|
},
|
||||||
|
bid: number,
|
||||||
|
category: number,
|
||||||
|
createTime: string,
|
||||||
|
collectTime: string,
|
||||||
|
modifyTime: string,
|
||||||
|
sequence: string,
|
||||||
|
shareUrl: string,
|
||||||
|
customGroupId: number,
|
||||||
|
securityBeat: boolean,
|
||||||
|
summary: {
|
||||||
|
textSummary: unknown,
|
||||||
|
linkSummary: unknown,
|
||||||
|
gallerySummary: unknown,
|
||||||
|
audioSummary: unknown,
|
||||||
|
videoSummary: unknown,
|
||||||
|
fileSummary: unknown,
|
||||||
|
locationSummary: unknown,
|
||||||
|
richMediaSummary: unknown,
|
||||||
|
}
|
||||||
|
}>,
|
||||||
|
hasMore: boolean,
|
||||||
|
bottomTimeStamp: string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>;//needs 1 arguments
|
||||||
|
|
||||||
|
getCollectionContent(...args: any[]): unknown;//needs 5 arguments
|
||||||
|
|
||||||
|
getCollectionCustomGroupList(...args: any[]): unknown;//needs 0 arguments
|
||||||
|
|
||||||
|
getCollectionUserInfo(...args: any[]): unknown;//needs 0 arguments
|
||||||
|
|
||||||
|
searchCollectionItemList(...args: any[]): unknown;//needs 2 arguments
|
||||||
|
|
||||||
|
addMsgToCollection(...args: any[]): unknown;//needs 2 arguments
|
||||||
|
|
||||||
|
collectionArkShare(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
collectionFileForward(...args: any[]): unknown;//needs 3 arguments
|
||||||
|
|
||||||
|
downloadCollectionFile(...args: any[]): unknown;//needs 4 arguments
|
||||||
|
|
||||||
|
downloadCollectionFileThumbPic(...args: any[]): unknown;//needs 4 arguments
|
||||||
|
|
||||||
|
downloadCollectionPic(...args: any[]): unknown;//needs 3 arguments
|
||||||
|
|
||||||
|
cancelDownloadCollectionFile(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
deleteCollectionItemList(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
editCollectionItem(...args: any[]): unknown;//needs 2 arguments
|
||||||
|
|
||||||
|
getEditPicInfoByPath(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
collectionFastUpload(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
|
||||||
|
editCollectionItemAfterFastUpload(...args: any[]): unknown;//needs 2 arguments
|
||||||
|
|
||||||
|
createNewCollectionItem(...args: any[]): unknown;//needs 1 arguments
|
||||||
|
}
|
||||||
5
src/core/services/NodeIKernelDbToolsService.ts
Normal file
5
src/core/services/NodeIKernelDbToolsService.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface NodeIKernelDbToolsService {
|
||||||
|
depositDatabase(...args: unknown[]): unknown;
|
||||||
|
backupDatabase(...args: unknown[]): unknown;
|
||||||
|
retrieveDatabase(...args: unknown[]): unknown;
|
||||||
|
}
|
||||||
3
src/core/services/NodeIKernelECDHService.ts
Normal file
3
src/core/services/NodeIKernelECDHService.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface NodeIKernelECDHService{
|
||||||
|
|
||||||
|
}
|
||||||
35
src/core/services/NodeIKernelFileAssistantService.ts
Normal file
35
src/core/services/NodeIKernelFileAssistantService.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
export interface NodeIKernelFileAssistantService {
|
||||||
|
addKernelFileAssistantListener(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
removeKernelFileAssistantListener(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFileAssistantList(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMoreFileAssistantList(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFileSessionList(): unknown;
|
||||||
|
|
||||||
|
searchFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
resetSearchFileSortType(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
searchMoreFile(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
cancelSearchFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
downloadFile(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
forwardFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
cancelFileAction(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
retryFileAction(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteFile(arg1: unknown[]): unknown;
|
||||||
|
|
||||||
|
saveAs(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
saveAsWithRename(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
249
src/core/services/NodeIKernelGroupService.ts
Normal file
249
src/core/services/NodeIKernelGroupService.ts
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
import { NodeIKernelGroupListener } from '@/core/listeners/NodeIKernelGroupListener';
|
||||||
|
import {
|
||||||
|
GroupExtParam,
|
||||||
|
GroupMember,
|
||||||
|
GroupMemberRole,
|
||||||
|
GroupNotifyTypes,
|
||||||
|
GroupRequestOperateTypes,
|
||||||
|
} from '@/core/entities';
|
||||||
|
import { GeneralCallResult } from '@/core/services/common';
|
||||||
|
|
||||||
|
//高版本的接口不应该随意使用 使用应该严格进行pr审核 同时部分ipc中未出现的接口不要过于依赖 应该做好数据兜底
|
||||||
|
|
||||||
|
export interface NodeIKernelGroupService {
|
||||||
|
getMemberCommonInfo(Req: {
|
||||||
|
groupCode: string,
|
||||||
|
startUin: string,
|
||||||
|
identifyFlag: string,
|
||||||
|
uinList: string[],
|
||||||
|
memberCommonFilter: {
|
||||||
|
memberUin: number,
|
||||||
|
uinFlag: number,
|
||||||
|
uinFlagExt: number,
|
||||||
|
uinMobileFlag: number,
|
||||||
|
shutUpTime: number,
|
||||||
|
privilege: number,
|
||||||
|
},
|
||||||
|
memberNum: number,
|
||||||
|
filterMethod: string,
|
||||||
|
onlineFlag: string,
|
||||||
|
realSpecialTitleFlag: number
|
||||||
|
}): Promise<unknown>;
|
||||||
|
//26702
|
||||||
|
getGroupMemberLevelInfo(groupCode: string): Promise<unknown>;
|
||||||
|
//26702
|
||||||
|
getGroupHonorList(groupCodes: Array<string>): unknown;
|
||||||
|
|
||||||
|
getUinByUids(uins: string[]): Promise<{
|
||||||
|
errCode: number,
|
||||||
|
errMsg: string,
|
||||||
|
uins: Map<string, string>
|
||||||
|
}>;
|
||||||
|
|
||||||
|
getUidByUins(uins: string[]): Promise<{
|
||||||
|
errCode: number,
|
||||||
|
errMsg: string,
|
||||||
|
uids: Map<string, string>
|
||||||
|
}>;
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
checkGroupMemberCache(arrayList: Array<string>): Promise<unknown>;
|
||||||
|
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
getGroupLatestEssenceList(groupCode: string): Promise<unknown>;
|
||||||
|
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
shareDigest(Req: {
|
||||||
|
appId: string,
|
||||||
|
appType: number,
|
||||||
|
msgStyle: number,
|
||||||
|
recvUin: string,
|
||||||
|
sendType: number,
|
||||||
|
clientInfo: {
|
||||||
|
platform: number
|
||||||
|
},
|
||||||
|
richMsg: {
|
||||||
|
usingArk: boolean,
|
||||||
|
title: string,
|
||||||
|
summary: string,
|
||||||
|
url: string,
|
||||||
|
pictureUrl: string,
|
||||||
|
brief: string
|
||||||
|
}
|
||||||
|
}): Promise<unknown>;
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
isEssenceMsg(Req: { groupCode: string, msgRandom: number, msgSeq: number }): Promise<unknown>;
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
queryCachedEssenceMsg(Req: { groupCode: string, msgRandom: number, msgSeq: number }): Promise<unknown>;
|
||||||
|
//26702(其实更早 但是我不知道)
|
||||||
|
fetchGroupEssenceList(Req: { groupCode: string, pageStart: number, pageLimit: number }, Arg: unknown): Promise<unknown>;
|
||||||
|
//26702
|
||||||
|
getAllMemberList(groupCode: string, forceFetch: boolean): Promise<{
|
||||||
|
errCode: number,
|
||||||
|
errMsg: string,
|
||||||
|
result: {
|
||||||
|
ids: Array<{
|
||||||
|
uid: string,
|
||||||
|
index: number//0
|
||||||
|
}>,
|
||||||
|
infos: {},
|
||||||
|
finish: true,
|
||||||
|
hasRobot: false
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
setHeader(uid: string, path: string): unknown;
|
||||||
|
|
||||||
|
addKernelGroupListener(listener: NodeIKernelGroupListener): number;
|
||||||
|
|
||||||
|
removeKernelGroupListener(listenerId: unknown): void;
|
||||||
|
|
||||||
|
createMemberListScene(groupCode: string, scene: string): string;
|
||||||
|
|
||||||
|
destroyMemberListScene(SceneId:string): void;
|
||||||
|
//About Arg (a) name: lastId 根据手Q来看为object {index:?(number),uid:string}
|
||||||
|
getNextMemberList(sceneId: string, a: undefined, num: number): Promise<{
|
||||||
|
errCode: number, errMsg: string,
|
||||||
|
result: { ids: string[], infos: Map<string, GroupMember>, finish: boolean, hasRobot: boolean }
|
||||||
|
}>;
|
||||||
|
|
||||||
|
getPrevMemberList(): unknown;
|
||||||
|
|
||||||
|
monitorMemberList(): unknown;
|
||||||
|
|
||||||
|
searchMember(sceneId: string, keywords: string[]): unknown;
|
||||||
|
|
||||||
|
getMemberInfo(group_id: string, uids: string[], forceFetch: boolean): Promise<GeneralCallResult>;
|
||||||
|
//getMemberInfo [ '56729xxxx', [ 'u_4Nj08cwW5Hxxxxx' ], true ]
|
||||||
|
|
||||||
|
kickMember(groupCode: string, memberUids: string[], refuseForever: boolean, kickReason: string): Promise<void>;
|
||||||
|
|
||||||
|
modifyMemberRole(groupCode: string, uid: string, role: GroupMemberRole): void;
|
||||||
|
|
||||||
|
modifyMemberCardName(groupCode: string, uid: string, cardName: string): void;
|
||||||
|
|
||||||
|
getTransferableMemberInfo(groupCode: string): unknown;//获取整个群的
|
||||||
|
|
||||||
|
transferGroup(uid: string): void;
|
||||||
|
|
||||||
|
getGroupList(force: boolean): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
getGroupExtList(force: boolean): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
getGroupDetailInfo(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getMemberExtInfo(param: GroupExtParam): Promise<unknown>;//req
|
||||||
|
|
||||||
|
getGroupAllInfo(): unknown;
|
||||||
|
|
||||||
|
getDiscussExistInfo(): unknown;
|
||||||
|
|
||||||
|
getGroupConfMember(): unknown;
|
||||||
|
|
||||||
|
getGroupMsgMask(): unknown;
|
||||||
|
|
||||||
|
getGroupPortrait(): void;
|
||||||
|
|
||||||
|
modifyGroupName(groupCode: string, groupName: string, arg: false): void;
|
||||||
|
|
||||||
|
modifyGroupRemark(groupCode: string, remark: string): void;
|
||||||
|
|
||||||
|
modifyGroupDetailInfo(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
setGroupMsgMask(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
changeGroupShieldSettingTemp(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
inviteToGroup(arg: unknown): void;
|
||||||
|
|
||||||
|
inviteMembersToGroup(args: unknown[]): void;
|
||||||
|
|
||||||
|
inviteMembersToGroupWithMsg(args: unknown): void;
|
||||||
|
|
||||||
|
createGroup(arg: unknown): void;
|
||||||
|
|
||||||
|
createGroupWithMembers(arg: unknown): void;
|
||||||
|
|
||||||
|
quitGroup(groupCode: string): void;
|
||||||
|
|
||||||
|
destroyGroup(groupCode: string): void;
|
||||||
|
//获取单屏群通知列表
|
||||||
|
getSingleScreenNotifies(force: boolean, start_seq: string, num: number): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
clearGroupNotifies(groupCode: string): void;
|
||||||
|
|
||||||
|
getGroupNotifiesUnreadCount(unknown: Boolean): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
clearGroupNotifiesUnreadCount(groupCode: string): void;
|
||||||
|
|
||||||
|
operateSysNotify(
|
||||||
|
doubt: boolean,
|
||||||
|
operateMsg: {
|
||||||
|
operateType: GroupRequestOperateTypes, // 2 拒绝
|
||||||
|
targetMsg: {
|
||||||
|
seq: string, // 通知序列号
|
||||||
|
type: GroupNotifyTypes,
|
||||||
|
groupCode: string,
|
||||||
|
postscript: string
|
||||||
|
}
|
||||||
|
}): Promise<void>;
|
||||||
|
|
||||||
|
setTop(groupCode: string, isTop: boolean): void;
|
||||||
|
|
||||||
|
getGroupBulletin(groupCode: string): unknown;
|
||||||
|
|
||||||
|
deleteGroupBulletin(groupCode: string, seq: string): void;
|
||||||
|
|
||||||
|
publishGroupBulletin(groupCode: string, pskey: string, data: any): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
publishInstructionForNewcomers(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
uploadGroupBulletinPic(groupCode: string, pskey: string, imagePath: string): Promise<GeneralCallResult & {
|
||||||
|
errCode: number;
|
||||||
|
picInfo?: {
|
||||||
|
id: string,
|
||||||
|
width: number,
|
||||||
|
height: number
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
downloadGroupBulletinRichMedia(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getGroupBulletinList(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getGroupStatisticInfo(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getGroupRemainAtTimes(groupCode: string): number;
|
||||||
|
|
||||||
|
getJoinGroupNoVerifyFlag(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getGroupArkInviteState(groupCode: string): unknown;
|
||||||
|
|
||||||
|
reqToJoinGroup(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
setGroupShutUp(groupCode: string, shutUp: boolean): void;
|
||||||
|
|
||||||
|
getGroupShutUpMemberList(groupCode: string): unknown[];
|
||||||
|
|
||||||
|
setMemberShutUp(groupCode: string, memberTimes: { uid: string, timeStamp: number }[]): Promise<void>;
|
||||||
|
|
||||||
|
getGroupRecommendContactArkJson(groupCode: string): unknown;
|
||||||
|
|
||||||
|
getJoinGroupLink(groupCode: string): unknown;
|
||||||
|
|
||||||
|
modifyGroupExtInfo(groupCode: string, arg: unknown): void;
|
||||||
|
|
||||||
|
//需要提前判断是否存在 高版本新增
|
||||||
|
addGroupEssence(param: {
|
||||||
|
groupCode: string
|
||||||
|
msgRandom: number,
|
||||||
|
msgSeq: number
|
||||||
|
}): Promise<unknown>;
|
||||||
|
//需要提前判断是否存在 高版本新增
|
||||||
|
removeGroupEssence(param: {
|
||||||
|
groupCode: string
|
||||||
|
msgRandom: number,
|
||||||
|
msgSeq: number
|
||||||
|
}): Promise<unknown>;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
82
src/core/services/NodeIKernelLoginService.ts
Normal file
82
src/core/services/NodeIKernelLoginService.ts
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
import { NodeIKernelLoginListener } from '@/core/listeners/NodeIKernelLoginListener';
|
||||||
|
|
||||||
|
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 {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||||
|
new(): NodeIKernelLoginService;
|
||||||
|
|
||||||
|
addKernelLoginListener(listener: NodeIKernelLoginListener): number;
|
||||||
|
removeKernelLoginListener(listener: number): void;
|
||||||
|
|
||||||
|
initConfig(config: LoginInitConfig): void;
|
||||||
|
|
||||||
|
getLoginMiscData(cb: (r: unknown) => void): void;
|
||||||
|
|
||||||
|
getLoginList(): Promise<{
|
||||||
|
result: number, // 0是ok
|
||||||
|
LocalLoginInfoList: LoginListItem[]
|
||||||
|
}>;
|
||||||
|
|
||||||
|
quickLoginWithUin(uin: string): Promise<QuickLoginResult>;
|
||||||
|
|
||||||
|
passwordLogin(param: passwordLoginArgType): Promise<any>;
|
||||||
|
|
||||||
|
getQRCodePicture(): boolean;
|
||||||
|
}
|
||||||
3
src/core/services/NodeIKernelMSFService.ts
Normal file
3
src/core/services/NodeIKernelMSFService.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface NodeIKernelMSFService {
|
||||||
|
getServerTime(): string;
|
||||||
|
}
|
||||||
27
src/core/services/NodeIKernelMsgBackupService.ts
Normal file
27
src/core/services/NodeIKernelMsgBackupService.ts
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
export interface NodeIKernelMsgBackupService {
|
||||||
|
addKernelMsgBackupListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
removeKernelMsgBackupListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getMsgBackupLocation(...args: any[]): unknown;// needs 0 arguments
|
||||||
|
|
||||||
|
setMsgBackupLocation(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
requestMsgBackup(...args: any[]): unknown;// needs 0 arguments
|
||||||
|
|
||||||
|
requestMsgRestore(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
requestMsgMigrate(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
getLocalStorageBackup(...args: any[]): unknown;// needs 0 arguments
|
||||||
|
|
||||||
|
deleteLocalBackup(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
clearCache(...args: any[]): unknown;// needs 0 arguments
|
||||||
|
|
||||||
|
start(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
stop(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
pause(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
}
|
||||||
727
src/core/services/NodeIKernelMsgService.ts
Normal file
727
src/core/services/NodeIKernelMsgService.ts
Normal file
@ -0,0 +1,727 @@
|
|||||||
|
import { ElementType, MessageElement, Peer, RawMessage, SendMessageElement } from '@/core/entities';
|
||||||
|
import { NodeIKernelMsgListener } from '@/core/listeners/NodeIKernelMsgListener';
|
||||||
|
import { GeneralCallResult } from '@/core/services/common';
|
||||||
|
|
||||||
|
export interface QueryMsgsParams {
|
||||||
|
chatInfo: Peer,
|
||||||
|
filterMsgType: [],
|
||||||
|
filterSendersUid: string[],
|
||||||
|
filterMsgFromTime: string,
|
||||||
|
filterMsgToTime: string,
|
||||||
|
pageLimit: number,
|
||||||
|
isReverseOrder: boolean,
|
||||||
|
isIncludeCurrent: boolean
|
||||||
|
}
|
||||||
|
export interface NodeIKernelMsgService {
|
||||||
|
|
||||||
|
generateMsgUniqueId(chatType: number, time: string): string;
|
||||||
|
|
||||||
|
addKernelMsgListener(nodeIKernelMsgListener: NodeIKernelMsgListener): number;
|
||||||
|
|
||||||
|
sendMsg(msgId: string, peer: Peer, msgElements: SendMessageElement[], map: Map<any, any>): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
recallMsg(peer: Peer, msgIds: string[]): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
addKernelMsgImportToolListener(arg: Object): unknown;
|
||||||
|
|
||||||
|
removeKernelMsgListener(args: unknown): unknown;
|
||||||
|
|
||||||
|
addKernelTempChatSigListener(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
removeKernelTempChatSigListener(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setAutoReplyTextList(AutoReplyText: Array<unknown>, i2: number): unknown;
|
||||||
|
|
||||||
|
getAutoReplyTextList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getOnLineDev(): void;
|
||||||
|
|
||||||
|
kickOffLine(DevInfo: Object): unknown;
|
||||||
|
|
||||||
|
setStatus(args: { status: number, extStatus: number, batteryStatus: number }): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
fetchStatusMgrInfo(): unknown;
|
||||||
|
|
||||||
|
fetchStatusUnitedConfigInfo(): unknown;
|
||||||
|
|
||||||
|
getOnlineStatusSmallIconBasePath(): unknown;
|
||||||
|
|
||||||
|
getOnlineStatusSmallIconFileNameByUrl(Url: string): unknown;
|
||||||
|
|
||||||
|
downloadOnlineStatusSmallIconByUrl(arg0: number, arg1: string): unknown;
|
||||||
|
|
||||||
|
getOnlineStatusBigIconBasePath(): unknown;
|
||||||
|
|
||||||
|
downloadOnlineStatusBigIconByUrl(arg0: number, arg1: string): unknown;
|
||||||
|
|
||||||
|
getOnlineStatusCommonPath(arg: string): unknown;
|
||||||
|
|
||||||
|
getOnlineStatusCommonFileNameByUrl(Url: string): unknown;
|
||||||
|
|
||||||
|
downloadOnlineStatusCommonByUrl(arg0: string, arg1: string): unknown;
|
||||||
|
|
||||||
|
// this.tokenType = i2;
|
||||||
|
// this.apnsToken = bArr;
|
||||||
|
// this.voipToken = bArr2;
|
||||||
|
// this.profileId = str;
|
||||||
|
|
||||||
|
setToken(arg: Object): unknown;
|
||||||
|
|
||||||
|
switchForeGround(): unknown;
|
||||||
|
|
||||||
|
switchBackGround(arg: Object): unknown;
|
||||||
|
|
||||||
|
//hex
|
||||||
|
setTokenForMqq(token: string): unknown;
|
||||||
|
|
||||||
|
switchForeGroundForMqq(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
switchBackGroundForMqq(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgSetting(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMsgSetting(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addSendMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
cancelSendMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
switchToOfflineSendMsg(peer: Peer, MsgId: string): unknown;
|
||||||
|
|
||||||
|
reqToOfflineSendMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
refuseReceiveOnlineFileMsg(peer: Peer, MsgId: string): unknown;
|
||||||
|
|
||||||
|
resendMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
recallMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
reeditRecallMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
forwardMsg(...args: unknown[]): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
forwardMsgWithComment(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
forwardSubMsgWithComment(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
forwardRichMsgInVist(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
forwardFile(...args: unknown[]): unknown;
|
||||||
|
//Array<Msg>, Peer from, Peer to
|
||||||
|
multiForwardMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
multiForwardMsgWithComment(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteRecallMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteRecallMsgForLocal(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalGrayTipMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalJsonGrayTipMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalJsonGrayTipMsgExt(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
IsLocalJsonTipValid(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalAVRecordMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalTofuRecordMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addLocalRecordMsg(Peer: Peer, msgId: string, ele: MessageElement, attr: Array<any> | number, front: boolean): Promise<unknown>;
|
||||||
|
|
||||||
|
deleteMsg(Peer: Peer, msgIds: Array<string>): Promise<any>;
|
||||||
|
|
||||||
|
updateElementExtBufForUI(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
updateMsgRecordExtPbBufForUI(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
startMsgSync(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
startGuildMsgSync(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
isGuildChannelSync(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgUniqueId(UniqueId: string): string;
|
||||||
|
|
||||||
|
isMsgMatched(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getOnlineFileMsgs(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getAllOnlineFileMsgs(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getLatestDbMsgs(peer: Peer, cnt: number): Promise<unknown>;
|
||||||
|
|
||||||
|
getLastMessageList(peer: Peer[]): Promise<unknown>;
|
||||||
|
|
||||||
|
getAioFirstViewLatestMsgs(peer: Peer, num: number): unknown;
|
||||||
|
|
||||||
|
getMsgs(peer: Peer, msgId: string, count: unknown, queryOrder: boolean): Promise<unknown>;
|
||||||
|
|
||||||
|
getMsgsIncludeSelf(peer: Peer, msgId: string, count: number, queryOrder: boolean): Promise<GeneralCallResult & {
|
||||||
|
msgList: RawMessage[]
|
||||||
|
}>;
|
||||||
|
|
||||||
|
// this.$peer = contact;
|
||||||
|
// this.$msgTime = j2;
|
||||||
|
// this.$clientSeq = j3;
|
||||||
|
// this.$cnt = i2;
|
||||||
|
|
||||||
|
getMsgsWithMsgTimeAndClientSeqForC2C(...args: unknown[]): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getMsgsWithStatus(params: {
|
||||||
|
peer: Peer
|
||||||
|
msgId: string
|
||||||
|
msgTime: unknown
|
||||||
|
cnt: unknown
|
||||||
|
queryOrder: boolean
|
||||||
|
isIncludeSelf: boolean
|
||||||
|
appid: unknown
|
||||||
|
}): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getMsgsBySeqRange(peer: Peer, startSeq: string, endSeq: string): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, unknownArg: boolean): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getMsgsByMsgId(peer: Peer, ids: string[]): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getRecallMsgsByMsgId(peer: Peer, MsgId: string[]): Promise<unknown>;
|
||||||
|
|
||||||
|
getMsgsBySeqList(peer: Peer, seqList: string[]): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getSingleMsg(Peer: Peer, msgSeq: string): Promise<GeneralCallResult & { msgList: RawMessage[] }>;
|
||||||
|
|
||||||
|
getSourceOfReplyMsg(peer: Peer, MsgId: string, SourceSeq: string): unknown;
|
||||||
|
|
||||||
|
getSourceOfReplyMsgV2(peer: Peer, RootMsgId: string, ReplyMsgId: string): unknown;
|
||||||
|
|
||||||
|
getMsgByClientSeqAndTime(peer: Peer, clientSeq: string, time: string): unknown;
|
||||||
|
|
||||||
|
getSourceOfReplyMsgByClientSeqAndTime(peer: Peer, clientSeq: string, time: string): unknown;
|
||||||
|
//cnt clientSeq?并不是吧
|
||||||
|
getMsgsByTypeFilter(peer: Peer, msgId: string, cnt: unknown, queryOrder: boolean, typeFilter: { type: number, subtype: Array<number> }): unknown;
|
||||||
|
|
||||||
|
getMsgsByTypeFilters(peer: Peer, msgId: string, cnt: unknown, queryOrder: boolean, typeFilters: Array<{ type: number, subtype: Array<number> }>): unknown;
|
||||||
|
|
||||||
|
getMsgWithAbstractByFilterParam(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryMsgsWithFilter(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated 该函数已被标记为废弃,请使用新的替代方法。
|
||||||
|
* 使用过滤条件查询消息列表的版本2接口。
|
||||||
|
*
|
||||||
|
* 该函数通过一系列过滤条件来查询特定聊天中的消息列表。这些条件包括消息类型、发送者、时间范围等。
|
||||||
|
* 函数返回一个Promise,解析为查询结果的未知类型对象。
|
||||||
|
*
|
||||||
|
* @param MsgId 消息ID,用于特定消息的查询。
|
||||||
|
* @param MsgTime 消息时间,用于指定消息的时间范围。
|
||||||
|
* @param param 查询参数对象,包含详细的过滤条件和分页信息。
|
||||||
|
* @param param.chatInfo 聊天信息,包括聊天类型和对方用户ID。
|
||||||
|
* @param param.filterMsgType 需要过滤的消息类型数组,留空表示不过滤。
|
||||||
|
* @param param.filterSendersUid 需要过滤的发送者用户ID数组。
|
||||||
|
* @param param.filterMsgFromTime 查询消息的起始时间。
|
||||||
|
* @param param.filterMsgToTime 查询消息的结束时间。
|
||||||
|
* @param param.pageLimit 每页的消息数量限制。
|
||||||
|
* @param param.isReverseOrder 是否按时间顺序倒序返回消息。
|
||||||
|
* @param param.isIncludeCurrent 是否包含当前页码。
|
||||||
|
* @returns 返回一个Promise,解析为查询结果的未知类型对象。
|
||||||
|
*/
|
||||||
|
queryMsgsWithFilterVer2(MsgId: string, MsgTime: string, param: QueryMsgsParams): Promise<unknown>;
|
||||||
|
|
||||||
|
// this.chatType = i2;
|
||||||
|
// this.peerUid = str;
|
||||||
|
|
||||||
|
// this.chatInfo = new ChatInfo();
|
||||||
|
// this.filterMsgType = new ArrayList<>();
|
||||||
|
// this.filterSendersUid = new ArrayList<>();
|
||||||
|
// this.chatInfo = chatInfo;
|
||||||
|
// this.filterMsgType = arrayList;
|
||||||
|
// this.filterSendersUid = arrayList2;
|
||||||
|
// this.filterMsgFromTime = j2;
|
||||||
|
// this.filterMsgToTime = j3;
|
||||||
|
// this.pageLimit = i2;
|
||||||
|
// this.isReverseOrder = z;
|
||||||
|
// this.isIncludeCurrent = z2;
|
||||||
|
//queryMsgsWithFilterEx(0L, 0L, 0L, new QueryMsgsParams(new ChatInfo(2, str), new ArrayList(), new ArrayList(), 0L, 0L, 250, false, true))
|
||||||
|
queryMsgsWithFilterEx(msgId: string, msgTime: string, megSeq: string, param: QueryMsgsParams): Promise<GeneralCallResult & {
|
||||||
|
msgList: RawMessage[]
|
||||||
|
}>;
|
||||||
|
//queryMsgsWithFilterEx(this.$msgId, this.$msgTime, this.$msgSeq, this.$param)
|
||||||
|
queryFileMsgsDesktop(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMsgRichInfoFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryPicOrVideoMsgs(msgId: string, msgTime: string, megSeq: string, param: QueryMsgsParams): Promise<unknown>;
|
||||||
|
|
||||||
|
queryPicOrVideoMsgsDesktop(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryEmoticonMsgs(msgId: string, msgTime: string, msgSeq: string, Params: QueryMsgsParams): Promise<unknown>;
|
||||||
|
|
||||||
|
queryTroopEmoticonMsgs(msgId: string, msgTime: string, msgSeq: string, Params: QueryMsgsParams): Promise<unknown>;
|
||||||
|
|
||||||
|
queryMsgsAndAbstractsWithFilter(msgId: string, msgTime: string, megSeq: string, param: QueryMsgsParams): unknown;
|
||||||
|
|
||||||
|
setFocusOnGuild(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setFocusSession(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
enableFilterUnreadInfoNotify(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
enableFilterMsgAbstractNotify(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
onScenesChangeForSilenceMode(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getContactUnreadCnt(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildUnreadCntTabInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getAllGuildUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getAllJoinGuildCnt(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getAllDirectSessionUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getCategoryUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildFeedsUnreadCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setUnVisibleChannelCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setUnVisibleChannelTypeCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setVisibleGuildCntInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMsgRead(peer: Peer): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
setAllC2CAndGroupMsgRead(): Promise<unknown>;
|
||||||
|
|
||||||
|
setGuildMsgRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setAllGuildMsgRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMsgReadAndReport(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setSpecificMsgReadAndReport(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setLocalMsgRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setGroupGuildMsgRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildGroupTransData(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setGroupGuildBubbleRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildGroupBubble(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchGroupGuildUnread(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setGroupGuildFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setGuildUDCFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setGuildTabUserFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setBuildMode(flag: number/*0 1 3*/): unknown;
|
||||||
|
|
||||||
|
setConfigurationServiceData(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMarkUnreadFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getChannelEventFlow(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgEventFlow(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRichMediaFilePathForMobileQQSend(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRichMediaFilePathForGuild(arg: {
|
||||||
|
md5HexStr: string,
|
||||||
|
fileName: string,
|
||||||
|
elementType: ElementType,
|
||||||
|
elementSubType: number,
|
||||||
|
thumbSize: 0,
|
||||||
|
needCreate: true,
|
||||||
|
downloadType: 1,
|
||||||
|
file_uuid: ''
|
||||||
|
}): string;
|
||||||
|
|
||||||
|
assembleMobileQQRichMediaFilePath(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFileThumbSavePathForSend(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFileThumbSavePath(...args: unknown[]): unknown;
|
||||||
|
//猜测居多
|
||||||
|
translatePtt2Text(MsgId: string, Peer: {}, MsgElement: {}): unknown;
|
||||||
|
|
||||||
|
setPttPlayedState(...args: unknown[]): unknown;
|
||||||
|
// NodeIQQNTWrapperSession fetchFavEmojiList [
|
||||||
|
// "",
|
||||||
|
// 48,
|
||||||
|
// true,
|
||||||
|
// true
|
||||||
|
// ]
|
||||||
|
fetchFavEmojiList(str: string, num: number, uk1: boolean, uk2: boolean): Promise<GeneralCallResult & {
|
||||||
|
emojiInfoList: Array<{
|
||||||
|
uin: string,
|
||||||
|
emoId: number,
|
||||||
|
emoPath: string,
|
||||||
|
isExist: boolean,
|
||||||
|
resId: string,
|
||||||
|
url: string,
|
||||||
|
md5: string,
|
||||||
|
emoOriginalPath: string,
|
||||||
|
thumbPath: string,
|
||||||
|
RomaingType: string,
|
||||||
|
isAPNG: false,
|
||||||
|
isMarkFace: false,
|
||||||
|
eId: string,
|
||||||
|
epId: string,
|
||||||
|
ocrWord: string,
|
||||||
|
modifyWord: string,
|
||||||
|
exposeNum: number,
|
||||||
|
clickNum: number,
|
||||||
|
desc: string
|
||||||
|
}>
|
||||||
|
}>;
|
||||||
|
|
||||||
|
addFavEmoji(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmoticonList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmoticonShowImage(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmoticonAioImage(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmotionJsonFile(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMarketEmoticonPath(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMarketEmoticonPathBySync(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmoticonFaceImages(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchMarketEmoticonAuthDetail(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFavMarketEmoticonInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
addRecentUsedFace(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRecentUsedFaceList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMarketEmoticonEncryptKeys(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
downloadEmojiPic(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteFavEmoji(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
modifyFavEmojiDesc(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryFavEmojiByDesc(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getHotPicInfoListSearchString(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getHotPicSearchResult(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getHotPicHotWords(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getHotPicJumpInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getEmojiResourcePath(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
JoinDragonGroupEmoji(JoinDragonGroupEmojiReq: any/*joinDragonGroupEmojiReq*/): unknown;
|
||||||
|
|
||||||
|
getMsgAbstracts(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgAbstract(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgAbstractList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgAbstractListBySeqRange(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
refreshMsgAbstracts(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
refreshMsgAbstractsByGuildIds(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRichMediaElement(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
cancelGetRichMediaElement(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
refuseGetRichMediaElement(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
switchToOfflineGetRichMediaElement(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
downloadRichMedia(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFirstUnreadMsgSeq(args: {
|
||||||
|
peerUid: string
|
||||||
|
guildId: string
|
||||||
|
}): unknown;
|
||||||
|
|
||||||
|
getFirstUnreadCommonMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFirstUnreadAtmeMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFirstUnreadAtallMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getNavigateInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getChannelFreqLimitInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRecentUseEmojiList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRecentEmojiList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setMsgEmojiLikes(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMsgEmojiLikesList(peer: Peer, msgSeq: string, emojiId: string, emojiType: string, cookie: string, bForward: boolean, number: number): Promise<{
|
||||||
|
result: number,
|
||||||
|
errMsg: string,
|
||||||
|
emojiLikesList:
|
||||||
|
Array<{
|
||||||
|
tinyId: string,
|
||||||
|
nickName: string,
|
||||||
|
headUrl: string
|
||||||
|
}>,
|
||||||
|
cookie: string,
|
||||||
|
isLastPage: boolean,
|
||||||
|
isFirstPage: boolean
|
||||||
|
}>;
|
||||||
|
|
||||||
|
setMsgEmojiLikesForRole(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
clickInlineKeyboardButton(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setCurOnScreenMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setCurOnScreenMsgForMsgEvent(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMiscData(key: string): unknown;
|
||||||
|
|
||||||
|
setMiscData(key: string, value: string): unknown;
|
||||||
|
|
||||||
|
getBookmarkData(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setBookmarkData(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
sendShowInputStatusReq(ChatType: number, EventType: number, toUid: string): Promise<unknown>;
|
||||||
|
|
||||||
|
queryCalendar(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryFirstMsgSeq(peer: Peer, ...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryRoamCalendar(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryFirstRoamMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchLongMsg(peer: Peer, msgId: string): unknown;
|
||||||
|
|
||||||
|
fetchLongMsgWithCb(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setIsStopKernelFetchLongMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
insertGameResultAsMsgToDb(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMultiMsg(...args: unknown[]): Promise<GeneralCallResult & {
|
||||||
|
msgList: RawMessage[]
|
||||||
|
}>;
|
||||||
|
|
||||||
|
setDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getRecentHiddenSesionList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setRecentHiddenSession(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
delRecentHiddenSession(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getCurHiddenSession(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setCurHiddenSession(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setReplyDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getReplyDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
deleteReplyDraft(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getFirstUnreadAtMsg(peer: Peer): unknown;
|
||||||
|
|
||||||
|
clearMsgRecords(...args: unknown[]): unknown;//设置已读后调用我觉得比较好 清理记录 现在别了
|
||||||
|
|
||||||
|
IsExistOldDb(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
canImportOldDbMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setPowerStatus(z: boolean): unknown;
|
||||||
|
|
||||||
|
canProcessDataMigration(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
importOldDbMsg(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
stopImportOldDbMsgAndroid(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
isMqqDataImportFinished(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getMqqDataImportTableNames(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getCurChatImportStatusByUin(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getDataImportUserLevel(): unknown;
|
||||||
|
|
||||||
|
getMsgQRCode(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuestMsgAbstracts(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuestMsgByRange(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuestMsgAbstractByRange(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
registerSysMsgNotification(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
unregisterSysMsgNotification(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
enterOrExitAio(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
// this.peerUid = "";
|
||||||
|
// this.peerNickname = "";
|
||||||
|
// this.fromGroupCode = "";
|
||||||
|
// this.sig = new byte[0];
|
||||||
|
// this.selfUid = "";
|
||||||
|
// this.selfPhone = "";
|
||||||
|
// this.chatType = i2;
|
||||||
|
// this.peerUid = str;
|
||||||
|
// this.peerNickname = str2;
|
||||||
|
// this.fromGroupCode = str3;
|
||||||
|
// this.sig = bArr;
|
||||||
|
// this.selfUid = str4;
|
||||||
|
// this.selfPhone = str5;
|
||||||
|
// this.gameSession = tempChatGameSession;
|
||||||
|
prepareTempChat(args: unknown): unknown;//主动临时消息 不做
|
||||||
|
|
||||||
|
sendSsoCmdReqByContend(cmd: string, param: string): Promise<unknown>;
|
||||||
|
|
||||||
|
//chattype,uid->Promise<any>
|
||||||
|
getTempChatInfo(ChatType: number, Uid: string): unknown;
|
||||||
|
|
||||||
|
setContactLocalTop(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
switchAnonymousChat(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
renameAnonyChatNick(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getAnonymousInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
updateAnonymousInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
sendSummonMsg(peer: Peer, MsgElement: unknown, MsgAttributeInfo: unknown): Promise<unknown>;//频道的东西
|
||||||
|
|
||||||
|
outputGuildUnreadInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
checkMsgWithUrl(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
checkTabListStatus(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getABatchOfContactMsgBoxInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
insertMsgToMsgBox(peer: Peer, msgId: string, arg: 2006): unknown;
|
||||||
|
|
||||||
|
isHitEmojiKeyword(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getKeyWordRelatedEmoji(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
recordEmoji(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
fetchGetHitEmotionsByWord(args: Object): Promise<unknown>;//表情推荐?
|
||||||
|
|
||||||
|
deleteAllRoamMsgs(...args: unknown[]): unknown;//漫游消息?
|
||||||
|
|
||||||
|
packRedBag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
grabRedBag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
pullDetail(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
selectPasswordRedBag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
pullRedBagPasswordList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
requestTianshuAdv(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
tianshuReport(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
tianshuMultiReport(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
GetMsgSubType(a0: number, a1: number): unknown;
|
||||||
|
|
||||||
|
setIKernelPublicAccountAdapter(...args: unknown[]): unknown;
|
||||||
|
//tempChatGameSession有关
|
||||||
|
createUidFromTinyId(fromTinyId: string, toTinyId: string): unknown;
|
||||||
|
|
||||||
|
dataMigrationGetDataAvaiableContactList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
dataMigrationGetMsgList(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
dataMigrationStopOperation(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
//新的希望
|
||||||
|
dataMigrationImportMsgPbRecord(DataMigrationMsgInfo: Array<{
|
||||||
|
extensionData: string//"Hex"
|
||||||
|
extraData: string //""
|
||||||
|
chatType: number
|
||||||
|
chatUin: string
|
||||||
|
msgType: number
|
||||||
|
msgTime: string
|
||||||
|
msgSeq: string
|
||||||
|
msgRandom: string
|
||||||
|
}>, DataMigrationResourceInfo: {
|
||||||
|
extraData: string
|
||||||
|
filePath: string
|
||||||
|
fileSize: string
|
||||||
|
msgRandom: string
|
||||||
|
msgSeq: string
|
||||||
|
msgSubType: number
|
||||||
|
msgType: number
|
||||||
|
}): unknown;
|
||||||
|
|
||||||
|
dataMigrationGetResourceLocalDestinyPath(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
dataMigrationSetIOSPathPrefix(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getServiceAssistantSwitch(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setServiceAssistantSwitch(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setSubscribeFolderUsingSmallRedPoint(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
clearGuildNoticeRedPoint(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
clearFeedNoticeRedPoint(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
clearFeedSquareRead(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
IsC2CStyleChatType(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
IsTempChatType(uin: number): unknown;//猜的
|
||||||
|
|
||||||
|
getGuildInteractiveNotification(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildNotificationAbstract(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
setFocusOnBase(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryArkInfo(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
queryUserSecQuality(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGuildMsgAbFlag(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getGroupMsgStorageTime(): unknown;//这是嘛啊
|
||||||
|
|
||||||
|
}
|
||||||
12
src/core/services/NodeIKernelNodeMiscService.ts
Normal file
12
src/core/services/NodeIKernelNodeMiscService.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
|
||||||
|
//没扒干净 因为用不着
|
||||||
|
export interface NodeIKernelNodeMiscService {
|
||||||
|
getMiniAppPath(): unknown;
|
||||||
|
setMiniAppVersion(version:string): unknown;
|
||||||
|
wantWinScreenOCR(imagepath: string): Promise<GeneralCallResult>;
|
||||||
|
SendMiniAppMsg(arg1: string, arg2: string, arg3: string): unknown;
|
||||||
|
startNewMiniApp(appfile: string, params: string): unknown;
|
||||||
|
// 我的计划是转发给一个新程序避免吃掉Electron_AS_Node的环境 然后重写启动MiniApp 挂载相应JS脚本 这样有个问题
|
||||||
|
// 需要自己转发ipc参数 然后必须处在gui环境 且完成校验破解 才能实现发包 有点抽象了
|
||||||
|
}
|
||||||
36
src/core/services/NodeIKernelOnlineStatusService.ts
Normal file
36
src/core/services/NodeIKernelOnlineStatusService.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
export interface NodeIKernelOnlineStatusService {
|
||||||
|
|
||||||
|
addKernelOnlineStatusListener(listener: unknown): void;
|
||||||
|
|
||||||
|
removeKernelOnlineStatusListener(listenerId: unknown): void;
|
||||||
|
|
||||||
|
getShouldShowAIOStatusAnimation(arg: unknown): unknown;
|
||||||
|
|
||||||
|
setReadLikeList(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getLikeList(arg: unknown): unknown;
|
||||||
|
|
||||||
|
setLikeStatus(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getAggregationPageEntrance(): unknown;
|
||||||
|
|
||||||
|
didClickAggregationPageEntrance(): unknown;
|
||||||
|
|
||||||
|
getAggregationGroupModels(): unknown;
|
||||||
|
|
||||||
|
// {
|
||||||
|
// "businessType": 1,
|
||||||
|
// "uins": [
|
||||||
|
// "1627126029",
|
||||||
|
// "66600000",
|
||||||
|
// "71702575"
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
|
||||||
|
checkLikeStatus(param: {
|
||||||
|
businessType: number,
|
||||||
|
uins: string[]
|
||||||
|
}): Promise<any>;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
22
src/core/services/NodeIKernelProfileLikeService.ts
Normal file
22
src/core/services/NodeIKernelProfileLikeService.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { BuddyProfileLikeReq } from "../entities/user";
|
||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
|
||||||
|
export interface NodeIKernelProfileLikeService {
|
||||||
|
addKernelProfileLikeListener(listener: NodeIKernelProfileLikeService): void;
|
||||||
|
|
||||||
|
removeKernelProfileLikeListener(listener: unknown): void;
|
||||||
|
|
||||||
|
setBuddyProfileLike(...args: unknown[]): { result: number, errMsg: string, succCounts: number };
|
||||||
|
|
||||||
|
getBuddyProfileLike(req: BuddyProfileLikeReq): Promise<GeneralCallResult & {
|
||||||
|
"info": {
|
||||||
|
"userLikeInfos": Array<any>,
|
||||||
|
"friendMaxVotes": number,
|
||||||
|
"start": number
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
getProfileLikeScidResourceInfo(...args: unknown[]): void;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
103
src/core/services/NodeIKernelProfileService.ts
Normal file
103
src/core/services/NodeIKernelProfileService.ts
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
import { AnyCnameRecord } from 'node:dns';
|
||||||
|
import { BaseInfo, BizKey, CoreInfo, ModifyProfileParams, SimpleInfo, UserDetailInfoByUin } from '../entities';
|
||||||
|
import { NodeIKernelProfileListener } from '../listeners';
|
||||||
|
import { GeneralCallResult } from '@/core/services/common';
|
||||||
|
export enum UserDetailSource {
|
||||||
|
KDB,
|
||||||
|
KSERVER
|
||||||
|
}
|
||||||
|
export enum ProfileBizType {
|
||||||
|
KALL,
|
||||||
|
KBASEEXTEND,
|
||||||
|
KVAS,
|
||||||
|
KQZONE,
|
||||||
|
KOTHER
|
||||||
|
}
|
||||||
|
export interface NodeIKernelProfileService {
|
||||||
|
|
||||||
|
getUidByUin(callfrom: string, uin: Array<string>): Promise<Map<string,string>>;//uin->uid
|
||||||
|
|
||||||
|
getUinByUid(callfrom: string, uid: Array<string>): Promise<Map<string,string>>;
|
||||||
|
// {
|
||||||
|
// coreInfo: CoreInfo,
|
||||||
|
// baseInfo: BaseInfo,
|
||||||
|
// status: null,
|
||||||
|
// vasInfo: null,
|
||||||
|
// relationFlags: null,
|
||||||
|
// otherFlags: null,
|
||||||
|
// intimate: null
|
||||||
|
// }
|
||||||
|
getCoreAndBaseInfo(callfrom: string, uids: string[]): Promise<Map<string, SimpleInfo>>;
|
||||||
|
|
||||||
|
fetchUserDetailInfo(trace: string, uids: string[], arg2: number, arg3: number[]): Promise<unknown>;
|
||||||
|
|
||||||
|
addKernelProfileListener(listener: NodeIKernelProfileListener): number;
|
||||||
|
|
||||||
|
removeKernelProfileListener(listenerId: number): void;
|
||||||
|
|
||||||
|
prepareRegionConfig(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getLocalStrangerRemark(): Promise<AnyCnameRecord>;
|
||||||
|
|
||||||
|
enumCountryOptions(): Array<string>;
|
||||||
|
|
||||||
|
enumProvinceOptions(Country: string): Array<string>;
|
||||||
|
|
||||||
|
enumCityOptions(Country: string, Province: string): unknown;
|
||||||
|
|
||||||
|
enumAreaOptions(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
//SimpleInfo
|
||||||
|
// this.uid = "";
|
||||||
|
// this.uid = str;
|
||||||
|
// this.uin = j2;
|
||||||
|
// this.isBuddy = z;
|
||||||
|
// this.coreInfo = coreInfo;
|
||||||
|
// this.baseInfo = baseInfo;
|
||||||
|
// this.status = statusInfo;
|
||||||
|
// this.vasInfo = vasInfo;
|
||||||
|
// this.relationFlags = relationFlag;
|
||||||
|
// this.otherFlags = otherFlag;
|
||||||
|
// this.intimate = intimate;
|
||||||
|
|
||||||
|
modifySelfProfile(...args: unknown[]): Promise<unknown>;
|
||||||
|
|
||||||
|
modifyDesktopMiniProfile(param: ModifyProfileParams): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
setNickName(NickName: string): Promise<unknown>;
|
||||||
|
|
||||||
|
setLongNick(longNick: string): Promise<unknown>;
|
||||||
|
|
||||||
|
setBirthday(...args: unknown[]): Promise<unknown>;
|
||||||
|
|
||||||
|
setGander(...args: unknown[]): Promise<unknown>;
|
||||||
|
|
||||||
|
setHeader(arg: string): Promise<unknown>;
|
||||||
|
|
||||||
|
setRecommendImgFlag(...args: unknown[]): Promise<unknown>;
|
||||||
|
|
||||||
|
getUserSimpleInfo(force: boolean, uids: string[],): Promise<unknown>;
|
||||||
|
|
||||||
|
getUserDetailInfo(uid: string): Promise<unknown>;
|
||||||
|
|
||||||
|
getUserDetailInfoWithBizInfo(uid: string, Biz: BizKey[]): Promise<GeneralCallResult>;
|
||||||
|
|
||||||
|
getUserDetailInfoByUin(uin: string): Promise<UserDetailInfoByUin>;
|
||||||
|
|
||||||
|
getZplanAvatarInfos(args: string[]): Promise<unknown>;
|
||||||
|
|
||||||
|
getStatus(uid: string): Promise<unknown>;
|
||||||
|
|
||||||
|
startStatusPolling(isForceReset: boolean): Promise<unknown>;
|
||||||
|
|
||||||
|
getSelfStatus(): Promise<unknown>;
|
||||||
|
//
|
||||||
|
setdisableEmojiShortCuts(...args: unknown[]): unknown;
|
||||||
|
|
||||||
|
getProfileQzonePicInfo(uid: string, type: number, force: boolean): Promise<unknown>;
|
||||||
|
|
||||||
|
//profileService.getCoreInfo("UserRemarkServiceImpl::getStrangerRemarkByUid", arrayList);
|
||||||
|
getCoreInfo(name: string, arg: any[]): unknown;
|
||||||
|
//m429253e12.getOtherFlag("FriendListInfoCache_getKernelDataAndPutCache", new ArrayList<>());
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
99
src/core/services/NodeIKernelRecentContactService.ts
Normal file
99
src/core/services/NodeIKernelRecentContactService.ts
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
import { ChatType, Peer } from "../entities";
|
||||||
|
import { NodeIKernelRecentContactListener } from "../listeners/NodeIKernelRecentContactListener";
|
||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
export interface FSABRecentContactParams {
|
||||||
|
anchorPointContact: {
|
||||||
|
contactId: string;
|
||||||
|
sortField: string;
|
||||||
|
pos: number;
|
||||||
|
},
|
||||||
|
relativeMoveCount: number;
|
||||||
|
listType: number;
|
||||||
|
count: number;
|
||||||
|
fetchOld: boolean;
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// "anchorPointContact": {
|
||||||
|
// "contactId": "",
|
||||||
|
// "sortField": "",
|
||||||
|
// "pos": 0
|
||||||
|
// },
|
||||||
|
// "relativeMoveCount": 0,
|
||||||
|
// "listType": 1,
|
||||||
|
// "count": 200,
|
||||||
|
// "fetchOld": true
|
||||||
|
// }
|
||||||
|
export interface NodeIKernelRecentContactService {
|
||||||
|
setGuildDisplayStatus(...args: unknown[]): unknown; // 2 arguments
|
||||||
|
|
||||||
|
setContactListTop(...args: unknown[]): unknown; // 2 arguments
|
||||||
|
|
||||||
|
updateRecentContactExtBufForUI(...args: unknown[]): unknown; // 2 arguments
|
||||||
|
|
||||||
|
upsertRecentContactManually(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
enterOrExitMsgList(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
/*!---!*/getRecentContactListSnapShot(count: number): Promise<GeneralCallResult & {
|
||||||
|
info: {
|
||||||
|
errCode: number,
|
||||||
|
errMsg: string,
|
||||||
|
sortedContactList: Array<number>,
|
||||||
|
changedList: Array<{
|
||||||
|
remark: any;
|
||||||
|
peerName: any;
|
||||||
|
sendMemberName: any;
|
||||||
|
sendNickName: any;
|
||||||
|
peerUid: string; peerUin: string, msgTime: string, chatType: ChatType, msgId: string
|
||||||
|
}>
|
||||||
|
}
|
||||||
|
}>; // 1 arguments
|
||||||
|
|
||||||
|
clearMsgUnreadCount(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
getRecentContactListSyncLimit(count: number): unknown;
|
||||||
|
|
||||||
|
jumpToSpecifyRecentContact(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
/*!---!*/fetchAndSubscribeABatchOfRecentContact(params: FSABRecentContactParams): unknown; // 1 arguments
|
||||||
|
|
||||||
|
addRecentContact(peer: Peer): unknown;
|
||||||
|
|
||||||
|
deleteRecentContacts(peer: Peer): unknown; // 猜测
|
||||||
|
|
||||||
|
getContacts(peers: Peer[]): Promise<unknown>;
|
||||||
|
|
||||||
|
setThirdPartyBusinessInfos(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
updateGameMsgConfigs(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
removeKernelRecentContactListener(listenerid: number): unknown; // 1 arguments
|
||||||
|
|
||||||
|
addKernelRecentContactListener(listener: NodeIKernelRecentContactListener): void;
|
||||||
|
|
||||||
|
clearRecentContactsByChatType(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
upInsertModule(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
jumpToSpecifyRecentContactVer2(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
deleteRecentContactsVer2(...args: unknown[]): unknown; // 1 arguments
|
||||||
|
|
||||||
|
getRecentContactList(): Promise<any>;
|
||||||
|
|
||||||
|
getMsgUnreadCount(): unknown;
|
||||||
|
|
||||||
|
clearRecentContacts(): unknown;
|
||||||
|
|
||||||
|
getServiceAssistantRecentContactInfos(): unknown;
|
||||||
|
|
||||||
|
getRecentContactInfos(): unknown;
|
||||||
|
|
||||||
|
getUnreadDetailsInfos(): unknown;
|
||||||
|
|
||||||
|
cleanAllModule(): unknown;
|
||||||
|
|
||||||
|
setAllGameMsgRead(): unknown;
|
||||||
|
|
||||||
|
getRecentContactListSync(): unknown;
|
||||||
|
}
|
||||||
266
src/core/services/NodeIKernelRichMediaService.ts
Normal file
266
src/core/services/NodeIKernelRichMediaService.ts
Normal file
@ -0,0 +1,266 @@
|
|||||||
|
import { GetFileListParam, MessageElement, Peer, SendMessageElement } from "../entities";
|
||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
export enum UrlFileDownloadType {
|
||||||
|
KUNKNOWN,
|
||||||
|
KURLFILEDOWNLOADPRIVILEGEICON,
|
||||||
|
KURLFILEDOWNLOADPHOTOWALL,
|
||||||
|
KURLFILEDOWNLOADQZONE,
|
||||||
|
KURLFILEDOWNLOADCOMMON,
|
||||||
|
KURLFILEDOWNLOADINSTALLAPP
|
||||||
|
}
|
||||||
|
export enum RMBizTypeEnum {
|
||||||
|
KUNKNOWN,
|
||||||
|
KC2CFILE,
|
||||||
|
KGROUPFILE,
|
||||||
|
KC2CPIC,
|
||||||
|
KGROUPPIC,
|
||||||
|
KDISCPIC,
|
||||||
|
KC2CVIDEO,
|
||||||
|
KGROUPVIDEO,
|
||||||
|
KC2CPTT,
|
||||||
|
KGROUPPTT,
|
||||||
|
KFEEDCOMMENTPIC,
|
||||||
|
KGUILDFILE,
|
||||||
|
KGUILDPIC,
|
||||||
|
KGUILDPTT,
|
||||||
|
KGUILDVIDEO
|
||||||
|
}
|
||||||
|
export interface CommonFileInfo {
|
||||||
|
bizType: number;
|
||||||
|
chatType: number;
|
||||||
|
elemId: string;
|
||||||
|
favId: string;
|
||||||
|
fileModelId: string;
|
||||||
|
fileName: string;
|
||||||
|
fileSize: string;
|
||||||
|
md5: string;
|
||||||
|
md510m: string;
|
||||||
|
msgId: string;
|
||||||
|
msgTime: string;
|
||||||
|
parent: string;
|
||||||
|
peerUid: string;
|
||||||
|
picThumbPath: Array<string>
|
||||||
|
sha: string;
|
||||||
|
sha3: string;
|
||||||
|
subId: string;
|
||||||
|
uuid: string;
|
||||||
|
}
|
||||||
|
export interface NodeIKernelRichMediaService {
|
||||||
|
//getVideoPlayUrl(peer, msgId, elemId, videoCodecFormat, VideoRequestWay.KHAND, cb);
|
||||||
|
// public enum VideoCodecFormatType {
|
||||||
|
// KCODECFORMATH264,
|
||||||
|
// KCODECFORMATH265,
|
||||||
|
// KCODECFORMATH266,
|
||||||
|
// KCODECFORMATAV1
|
||||||
|
// }
|
||||||
|
// public enum VideoRequestWay {
|
||||||
|
// KUNKNOW,
|
||||||
|
// KHAND,
|
||||||
|
// KAUTO
|
||||||
|
// }
|
||||||
|
getVideoPlayUrl(peer: Peer, msgId: string, elemId: string, videoCodecFormat: number, VideoRequestWay: number): Promise<unknown>;
|
||||||
|
|
||||||
|
//exParams (RMReqExParams)
|
||||||
|
// this.downSourceType = i2;
|
||||||
|
// this.triggerType = i3;
|
||||||
|
//peer, msgId, elemId, videoCodecFormat, exParams
|
||||||
|
// 1 0 频道在用
|
||||||
|
// 1 1
|
||||||
|
// 0 2
|
||||||
|
|
||||||
|
// public static final int KCOMMONREDENVELOPEMSGTYPEINMSGBOX = 1007;
|
||||||
|
// public static final int KDOWNSOURCETYPEAIOINNER = 1;
|
||||||
|
// public static final int KDOWNSOURCETYPEBIGSCREEN = 2;
|
||||||
|
// public static final int KDOWNSOURCETYPEHISTORY = 3;
|
||||||
|
// public static final int KDOWNSOURCETYPEUNKNOWN = 0;
|
||||||
|
|
||||||
|
// public static final int KTRIGGERTYPEAUTO = 1;
|
||||||
|
// public static final int KTRIGGERTYPEMANUAL = 0;
|
||||||
|
|
||||||
|
getVideoPlayUrlV2(peer: Peer, msgId: string, elemId: string, videoCodecFormat: number, exParams: { downSourceType: number, triggerType: number }): Promise<GeneralCallResult & {
|
||||||
|
urlResult: {
|
||||||
|
v4IpUrl: [],
|
||||||
|
v6IpUrl: [],
|
||||||
|
domainUrl: Array<{
|
||||||
|
url: string,
|
||||||
|
isHttps: boolean,
|
||||||
|
httpsDomain: string
|
||||||
|
}>,
|
||||||
|
videoCodecFormat: number
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
getRichMediaFileDir(elementType: number, downType: number, isTemp: boolean): unknown;
|
||||||
|
|
||||||
|
// this.senderUid = "";
|
||||||
|
// this.peerUid = "";
|
||||||
|
// this.guildId = "";
|
||||||
|
// this.elem = new MsgElement();
|
||||||
|
// this.downloadType = i2;
|
||||||
|
// this.thumbSize = i3;
|
||||||
|
// this.msgId = j2;
|
||||||
|
// this.msgRandom = j3;
|
||||||
|
// this.msgSeq = j4;
|
||||||
|
// this.msgTime = j5;
|
||||||
|
// this.chatType = i4;
|
||||||
|
// this.senderUid = str;
|
||||||
|
// this.peerUid = str2;
|
||||||
|
// this.guildId = str3;
|
||||||
|
// this.elem = msgElement;
|
||||||
|
// this.useHttps = num;
|
||||||
|
|
||||||
|
getVideoPlayUrlInVisit(arg: {
|
||||||
|
downloadType: number,
|
||||||
|
thumbSize: number,
|
||||||
|
msgId: string,
|
||||||
|
msgRandom: string,
|
||||||
|
msgSeq: string,
|
||||||
|
msgTime: string,
|
||||||
|
chatType: number,
|
||||||
|
senderUid: string,
|
||||||
|
peerUid: string,
|
||||||
|
guildId: string,
|
||||||
|
ele: MessageElement,
|
||||||
|
useHttps: boolean
|
||||||
|
}): Promise<unknown>;
|
||||||
|
|
||||||
|
//arg双端number
|
||||||
|
isFileExpired(arg: number): unknown;
|
||||||
|
|
||||||
|
deleteGroupFolder(GroupCode: string, FolderId: string): Promise<GeneralCallResult & { groupFileCommonResult: { retCode: number, retMsg: string, clientWording: string } }>;
|
||||||
|
|
||||||
|
//参数与getVideoPlayUrlInVisit一样
|
||||||
|
downloadRichMediaInVisit(arg: {
|
||||||
|
downloadType: number,
|
||||||
|
thumbSize: number,
|
||||||
|
msgId: string,
|
||||||
|
msgRandom: string,
|
||||||
|
msgSeq: string,
|
||||||
|
msgTime: string,
|
||||||
|
chatType: number,
|
||||||
|
senderUid: string,
|
||||||
|
peerUid: string,
|
||||||
|
guildId: string,
|
||||||
|
ele: MessageElement,
|
||||||
|
useHttps: boolean
|
||||||
|
}): unknown;
|
||||||
|
//arg3为“”
|
||||||
|
downloadFileForModelId(peer: Peer, ModelId: string[], arg3: string): unknown;
|
||||||
|
//第三个参数 Array<Type>
|
||||||
|
// this.fileId = "";
|
||||||
|
// this.fileName = "";
|
||||||
|
// this.fileId = str;
|
||||||
|
// this.fileName = str2;
|
||||||
|
// this.fileSize = j2;
|
||||||
|
// this.fileModelId = j3;
|
||||||
|
|
||||||
|
downloadFileForFileUuid(peer: Peer, uuid: string, arg3: {
|
||||||
|
fileId: string,
|
||||||
|
fileName: string,
|
||||||
|
fileSize: string,
|
||||||
|
fileModelId: string
|
||||||
|
}[]): Promise<unknown>;
|
||||||
|
|
||||||
|
downloadFileByUrlList(fileDownloadTyp: UrlFileDownloadType, urlList: Array<string>): unknown;
|
||||||
|
|
||||||
|
downloadFileForFileInfo(fileInfo: CommonFileInfo[], savePath: string): unknown;
|
||||||
|
|
||||||
|
createGroupFolder(GroupCode: string, FolderName: string): Promise<GeneralCallResult & { resultWithGroupItem: { result: any, groupItem: Array<any> } }>
|
||||||
|
|
||||||
|
downloadFile(commonFile: CommonFileInfo, arg2: unknown, arg3: unknown, savePath: string): unknown;
|
||||||
|
|
||||||
|
createGroupFolder(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
downloadGroupFolder(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
renameGroupFolder(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
deleteGroupFolder(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
deleteTransferInfo(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
cancelTransferTask(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
cancelUrlDownload(arg: unknown): unknown;
|
||||||
|
|
||||||
|
updateOnlineVideoElemStatus(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getGroupSpace(arg: unknown): unknown;
|
||||||
|
|
||||||
|
getGroupFileList(groupCode: string, params: GetFileListParam): Promise<GeneralCallResult & {
|
||||||
|
groupSpaceResult: {
|
||||||
|
retCode: number
|
||||||
|
retMsg: string
|
||||||
|
clientWording: string
|
||||||
|
totalSpace: number
|
||||||
|
usedSpace: number
|
||||||
|
allUpload: boolean
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
getGroupFileInfo(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getGroupTransferList(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
renameGroupFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||||
|
|
||||||
|
moveGroupFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||||
|
|
||||||
|
transGroupFile(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
searchGroupFile(
|
||||||
|
keywords: Array<string>,
|
||||||
|
param: {
|
||||||
|
groupIds: Array<string>,
|
||||||
|
fileType: number,
|
||||||
|
context: string,
|
||||||
|
count: number,
|
||||||
|
sortType: number,
|
||||||
|
groupNames: Array<string>
|
||||||
|
}): Promise<unknown>;
|
||||||
|
searchGroupFileByWord(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||||
|
|
||||||
|
deleteGroupFile(GroupCode: string, params: Array<number>, Files: Array<string>): Promise<GeneralCallResult & {
|
||||||
|
transGroupFileResult: {
|
||||||
|
result: any
|
||||||
|
successFileIdList: Array<any>
|
||||||
|
failFileIdList: Array<any>
|
||||||
|
}
|
||||||
|
}>;
|
||||||
|
|
||||||
|
translateEnWordToZn(words: string[]): Promise<GeneralCallResult & { words: string[] }>;
|
||||||
|
|
||||||
|
getScreenOCR(path: string): Promise<unknown>;
|
||||||
|
|
||||||
|
batchGetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & { groupCodes: Array<string>, groupFileCounts: Array<number> }>;
|
||||||
|
|
||||||
|
queryPicDownloadSize(arg: unknown): unknown;
|
||||||
|
|
||||||
|
searchGroupFile(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
searchMoreGroupFile(arg: unknown): unknown;
|
||||||
|
|
||||||
|
cancelSearcheGroupFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
onlyDownloadFile(peer: Peer, arg2: unknown, arg3: Array<{
|
||||||
|
fileId: string,
|
||||||
|
fileName: string,
|
||||||
|
fileSize: string,
|
||||||
|
fileModelId: string
|
||||||
|
}
|
||||||
|
>): unknown;
|
||||||
|
|
||||||
|
onlyUploadFile(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
isExtraLargePic(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||||
|
|
||||||
|
uploadRMFileWithoutMsg(arg: {
|
||||||
|
bizType: RMBizTypeEnum,
|
||||||
|
filePath: string,
|
||||||
|
peerUid: string,
|
||||||
|
transferId: string
|
||||||
|
useNTV2: string
|
||||||
|
}): Promise<unknown>;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
35
src/core/services/NodeIKernelRobotService.ts
Normal file
35
src/core/services/NodeIKernelRobotService.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import { NodeIKernelRobotListener } from "@/core/listeners";
|
||||||
|
|
||||||
|
export interface NodeIKernelRobotService {
|
||||||
|
fetchGroupRobotStoreDiscovery(arg: unknown): unknown;
|
||||||
|
|
||||||
|
sendGroupRobotStoreSearch(arg: unknown): unknown;
|
||||||
|
|
||||||
|
fetchGroupRobotStoreCategoryList(arg: unknown): unknown;
|
||||||
|
|
||||||
|
FetchSubscribeMsgTemplate(arg: unknown): unknown;
|
||||||
|
|
||||||
|
FetchSubcribeMsgTemplateStatus(arg: unknown): unknown;
|
||||||
|
|
||||||
|
SubscribeMsgTemplateSet(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
fetchRecentUsedRobots(arg: unknown): unknown;
|
||||||
|
|
||||||
|
fetchShareArkInfo(arg: unknown): unknown;
|
||||||
|
|
||||||
|
addKernelRobotListener(Listener: NodeIKernelRobotListener): number;
|
||||||
|
|
||||||
|
removeKernelRobotListener(ListenerId: number): unknown;
|
||||||
|
|
||||||
|
getAllRobotFriendsFromCache(): Promise<unknown>;
|
||||||
|
|
||||||
|
fetchAllRobots(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
removeAllRecommendCache(): unknown;
|
||||||
|
|
||||||
|
setRobotPickTts(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
getRobotUinRange(data: any): Promise<{ response: { robotUinRanges: any } }>
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
129
src/core/services/NodeIKernelSearchService.ts
Normal file
129
src/core/services/NodeIKernelSearchService.ts
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
import { ChatType } from "../entities";
|
||||||
|
|
||||||
|
export interface NodeIKernelSearchService {
|
||||||
|
addKernelSearchListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
removeKernelSearchListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
searchStranger(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchGroup(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
searchLocalInfo(keywords: string, unknown: number/*4*/): unknown;
|
||||||
|
|
||||||
|
cancelSearchLocalInfo(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchBuddyChatInfo(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
searchMoreBuddyChatInfo(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchBuddyChatInfo(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchContact(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
searchMoreContact(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchContact(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchGroupChatInfo(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
resetSearchGroupChatInfoSortType(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
resetSearchGroupChatInfoFilterMembers(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchMoreGroupChatInfo(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchGroupChatInfo(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchChatsWithKeywords(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchMoreChatsWithKeywords(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchChatsWithKeywords(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchChatMsgs(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
searchMoreChatMsgs(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchChatMsgs(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchMsgWithKeywords(...args: any[]): unknown;// needs 2 arguments
|
||||||
|
|
||||||
|
searchMoreMsgWithKeywords(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchMsgWithKeywords(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchFileWithKeywords(keywords: string[], source: number): Promise<string>;// needs 2 arguments
|
||||||
|
|
||||||
|
searchMoreFileWithKeywords(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchFileWithKeywords(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchAtMeChats(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchMoreAtMeChats(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchAtMeChats(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
searchChatAtMeMsgs(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
searchMoreChatAtMeMsgs(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
cancelSearchChatAtMeMsgs(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
addSearchHistory(param: {
|
||||||
|
type: number,//4
|
||||||
|
contactList: [],
|
||||||
|
id: number,//-1
|
||||||
|
groupInfos: [],
|
||||||
|
msgs: [],
|
||||||
|
fileInfos: [
|
||||||
|
{
|
||||||
|
chatType: ChatType,
|
||||||
|
buddyChatInfo: Array<{ category_name: string, peerUid: string, peerUin: string, remark: string }>,
|
||||||
|
discussChatInfo: [],
|
||||||
|
groupChatInfo: Array<
|
||||||
|
{
|
||||||
|
groupCode: string,
|
||||||
|
isConf: boolean,
|
||||||
|
hasModifyConfGroupFace: boolean,
|
||||||
|
hasModifyConfGroupName: boolean,
|
||||||
|
groupName: string,
|
||||||
|
remark: string
|
||||||
|
}>
|
||||||
|
,
|
||||||
|
dataLineChatInfo: [],
|
||||||
|
tmpChatInfo: [],
|
||||||
|
msgId: string,
|
||||||
|
msgSeq: string,
|
||||||
|
msgTime: string,
|
||||||
|
senderUid: string,
|
||||||
|
senderNick: string,
|
||||||
|
senderRemark: string,
|
||||||
|
senderCard: string,
|
||||||
|
elemId: string,
|
||||||
|
elemType: string,//3
|
||||||
|
fileSize: string,
|
||||||
|
filePath: string,
|
||||||
|
fileName: string,
|
||||||
|
hits: Array<
|
||||||
|
{
|
||||||
|
start: 12,
|
||||||
|
end: 14
|
||||||
|
}
|
||||||
|
>
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}): Promise<{
|
||||||
|
result: number,
|
||||||
|
errMsg: string,
|
||||||
|
id?: number
|
||||||
|
}>;
|
||||||
|
|
||||||
|
removeSearchHistory(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
searchCache(...args: any[]): unknown;// needs 3 arguments
|
||||||
|
|
||||||
|
clearSearchCache(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
}
|
||||||
41
src/core/services/NodeIKernelStorageCleanService.ts
Normal file
41
src/core/services/NodeIKernelStorageCleanService.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import { NodeIKernelStorageCleanListener } from "@/core/listeners";
|
||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
|
||||||
|
export interface NodeIKernelStorageCleanService {
|
||||||
|
|
||||||
|
addKernelStorageCleanListener(Listener: NodeIKernelStorageCleanListener): number;
|
||||||
|
|
||||||
|
removeKernelStorageCleanListener(ListenerId: number): void;
|
||||||
|
|
||||||
|
addCacheScanedPaths(arg: unknown): unknown;
|
||||||
|
|
||||||
|
addFilesScanedPaths(arg: unknown): unknown;
|
||||||
|
|
||||||
|
scanCache(): Promise<GeneralCallResult & {
|
||||||
|
size: string[]
|
||||||
|
}>;
|
||||||
|
|
||||||
|
addReportData(arg: unknown): unknown;
|
||||||
|
|
||||||
|
reportData(): unknown;
|
||||||
|
|
||||||
|
getChatCacheInfo(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown): unknown;
|
||||||
|
|
||||||
|
getFileCacheInfo(arg1: unknown, arg2: unknown, arg3: unknown, arg44: unknown, args5: unknown): unknown;
|
||||||
|
|
||||||
|
clearChatCacheInfo(arg1: unknown, arg2: unknown): unknown;
|
||||||
|
|
||||||
|
clearCacheDataByKeys(arg: unknown): unknown;
|
||||||
|
|
||||||
|
setSilentScan(arg: unknown): unknown;
|
||||||
|
|
||||||
|
closeCleanWindow(): unknown;
|
||||||
|
|
||||||
|
clearAllChatCacheInfo(): unknown;
|
||||||
|
|
||||||
|
endScan(arg: unknown): unknown;
|
||||||
|
|
||||||
|
addNewDownloadOrUploadFile(arg: unknown): unknown;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
10
src/core/services/NodeIKernelTianShuService.ts
Normal file
10
src/core/services/NodeIKernelTianShuService.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
export interface NodeIKernelTianShuService {
|
||||||
|
addKernelTianShuListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
removeKernelTianShuListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
requesTianShuNumeralRe(...args: any[]): unknown;//d needs 1 arguments
|
||||||
|
|
||||||
|
reportTianShuNumeralRed(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
}
|
||||||
12
src/core/services/NodeIKernelTicketService.ts
Normal file
12
src/core/services/NodeIKernelTicketService.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { forceFetchClientKeyRetType } from "./common";
|
||||||
|
|
||||||
|
export interface NodeIKernelTicketService {
|
||||||
|
|
||||||
|
addKernelTicketListener(listener: unknown): void;
|
||||||
|
|
||||||
|
removeKernelTicketListener(listenerId: unknown): void;
|
||||||
|
|
||||||
|
forceFetchClientKey(arg: string): Promise<forceFetchClientKeyRetType>;
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
20
src/core/services/NodeIKernelTipOffService.ts
Normal file
20
src/core/services/NodeIKernelTipOffService.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { GeneralCallResult } from "./common";
|
||||||
|
|
||||||
|
export interface NodeIKernelTipOffService {
|
||||||
|
|
||||||
|
addKernelTipOffListener(listener: unknown): void;
|
||||||
|
|
||||||
|
removeKernelTipOffListener(listenerId: unknown): void;
|
||||||
|
|
||||||
|
tipOffSendJsData(args: unknown[]): Promise<unknown>;//2
|
||||||
|
|
||||||
|
getPskey(domainList: string[], nocache: boolean): Promise<GeneralCallResult & { domainPskeyMap: Map<string, string> }>;//2
|
||||||
|
|
||||||
|
tipOffSendJsData(args: unknown[]): Promise<unknown>;//2
|
||||||
|
|
||||||
|
tipOffMsgs(args: unknown[]): Promise<unknown>;//1
|
||||||
|
|
||||||
|
encodeUinAesInfo(args: unknown[]): Promise<unknown>;//2
|
||||||
|
|
||||||
|
isNull(): boolean;
|
||||||
|
}
|
||||||
5
src/core/services/NodeIKernelUixConvertService.ts
Normal file
5
src/core/services/NodeIKernelUixConvertService.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface NodeIKernelUixConvertService {
|
||||||
|
getUin(uid: string[]): Promise<{ uinInfo: Map<string, string> }>;
|
||||||
|
|
||||||
|
getUid(uin: string[]): Promise<{ uidInfo: Map<string, string> }>;
|
||||||
|
}
|
||||||
15
src/core/services/NodeIKernelUnitedConfigService.ts
Normal file
15
src/core/services/NodeIKernelUnitedConfigService.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
export interface NodeIKernelUnitedConfigService{
|
||||||
|
addKernelUnitedConfigListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
removeKernelUnitedConfigListener(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
fetchUnitedCommendConfig(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
fetchUnitedSwitchConfig(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
loadUnitedConfig(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
isUnitedConfigSwitchOn(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
|
||||||
|
registerUnitedConfigPushGroupList(...args: any[]): unknown;// needs 1 arguments
|
||||||
|
}
|
||||||
5
src/core/services/NodeIYellowFaceService.ts
Normal file
5
src/core/services/NodeIYellowFaceService.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// public interface IYellowFaceForManagerService extends QRouteApi {
|
||||||
|
// void download(@NotNull String resourceConfigJson, @NotNull String resourceDir, @NotNull String cacheDir, boolean force, @NotNull IKernelYellowFaceDownloadCallback callback);
|
||||||
|
|
||||||
|
// void setHistory(@NotNull String fullMd5, @NotNull IOperateCallback callback);
|
||||||
|
// }
|
||||||
14
src/core/services/NodeIkernelTestPerformanceService.ts
Normal file
14
src/core/services/NodeIkernelTestPerformanceService.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { MessageElement, Peer } from "../entities";
|
||||||
|
|
||||||
|
export interface NodeIkernelTestPerformanceService {
|
||||||
|
insertMsg(MsgParam: {
|
||||||
|
peer: Peer
|
||||||
|
msgTime: string
|
||||||
|
msgId: string
|
||||||
|
msgSeq: string
|
||||||
|
batchNums: number
|
||||||
|
timesPerBatch: number
|
||||||
|
numPerTime: number
|
||||||
|
}, msg: Array<MessageElement>): Promise<unknown>;
|
||||||
|
|
||||||
|
}
|
||||||
14
src/core/services/common.ts
Normal file
14
src/core/services/common.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
export enum GeneralCallResultStatus {
|
||||||
|
OK = 0,
|
||||||
|
// ERROR = 1,
|
||||||
|
}
|
||||||
|
export interface GeneralCallResult{
|
||||||
|
result: GeneralCallResultStatus,
|
||||||
|
errMsg: string
|
||||||
|
}
|
||||||
|
export interface forceFetchClientKeyRetType extends GeneralCallResult {
|
||||||
|
url: string;
|
||||||
|
keyIndex: string;
|
||||||
|
clientKey: string;
|
||||||
|
expireTime: string;
|
||||||
|
}
|
||||||
16
src/core/services/index.ts
Normal file
16
src/core/services/index.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
export * from './common';
|
||||||
|
export * from './NodeIKernelAvatarService';
|
||||||
|
export * from './NodeIKernelBuddyService';
|
||||||
|
export * from './NodeIKernelFileAssistantService';
|
||||||
|
export * from './NodeIKernelGroupService';
|
||||||
|
export * from './NodeIKernelLoginService';
|
||||||
|
export * from './NodeIKernelMsgService';
|
||||||
|
export * from './NodeIKernelOnlineStatusService';
|
||||||
|
export * from './NodeIKernelProfileLikeService';
|
||||||
|
export * from './NodeIKernelProfileService';
|
||||||
|
export * from './NodeIKernelTicketService';
|
||||||
|
export * from './NodeIKernelStorageCleanService';
|
||||||
|
export * from './NodeIKernelRobotService';
|
||||||
|
export * from './NodeIKernelRichMediaService';
|
||||||
|
export * from './NodeIKernelDbToolsService';
|
||||||
|
export * from './NodeIKernelTipOffService'
|
||||||
@ -27,12 +27,10 @@
|
|||||||
"./src*"
|
"./src*"
|
||||||
],
|
],
|
||||||
"@/core": [
|
"@/core": [
|
||||||
"./src/core/src/index",
|
"./src/core/index",
|
||||||
"./src/core.lib/src/index"
|
|
||||||
],
|
],
|
||||||
"@/core/*": [
|
"@/core/*": [
|
||||||
"./src/core/src/*",
|
"./src/core/*"
|
||||||
"./src/core.lib/src/*"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user