mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
Compare commits
154 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
27fa319b2a | ||
![]() |
d95ac894f4 | ||
![]() |
ae84a8dd11 | ||
![]() |
2fc963f986 | ||
![]() |
be1f938ebd | ||
![]() |
cccf4d503d | ||
![]() |
9dad2a8ac6 | ||
![]() |
75af104f07 | ||
![]() |
76ecba245b | ||
![]() |
3697c2ced8 | ||
![]() |
b9d1d84716 | ||
![]() |
64b2d547ce | ||
![]() |
d8d2ff7e4e | ||
![]() |
8aa5dc6482 | ||
![]() |
474ba20e61 | ||
![]() |
bdea2d02a9 | ||
![]() |
c4307481f1 | ||
![]() |
b8ac1b28bd | ||
![]() |
24038cda95 | ||
![]() |
86c82e9608 | ||
![]() |
daab5d150b | ||
![]() |
9ff82bdb90 | ||
![]() |
c6d70ef1cf | ||
![]() |
15d4bb3c76 | ||
![]() |
3e698981fd | ||
![]() |
9d45c934a5 | ||
![]() |
c2bf9cf93e | ||
![]() |
b3c6fd7f26 | ||
![]() |
ccd155de71 | ||
![]() |
1f90d2e46b | ||
![]() |
4c5d974c22 | ||
![]() |
392eda1cbc | ||
![]() |
a9da3279e8 | ||
![]() |
1ce8351180 | ||
![]() |
96c334478a | ||
![]() |
f1b0875b05 | ||
![]() |
cea9e11c83 | ||
![]() |
f098b39200 | ||
![]() |
012d948b59 | ||
![]() |
3334cd0a71 | ||
![]() |
d63d53fd88 | ||
![]() |
a7fa39b2fd | ||
![]() |
40bb42e193 | ||
![]() |
9c382c639b | ||
![]() |
a43cde38f1 | ||
![]() |
c35d2e08cd | ||
![]() |
3377c383c1 | ||
![]() |
c00e6d95cd | ||
![]() |
725fccf4ed | ||
![]() |
13129bd219 | ||
![]() |
4561977bcf | ||
![]() |
40be8a91f5 | ||
![]() |
2a04d5830b | ||
![]() |
82a38574f3 | ||
![]() |
fea3a33c2b | ||
![]() |
9a502cdf6f | ||
![]() |
4b616299cf | ||
![]() |
102243e064 | ||
![]() |
4b21ac5ebe | ||
![]() |
4dd7363dd3 | ||
![]() |
3d5e5ab78f | ||
![]() |
73045a1b21 | ||
![]() |
871173a7cf | ||
![]() |
0002313093 | ||
![]() |
948cf5cca6 | ||
![]() |
d40230879c | ||
![]() |
ab22b775f1 | ||
![]() |
42c85224ba | ||
![]() |
e57444a353 | ||
![]() |
3c6503d495 | ||
![]() |
149b518f48 | ||
![]() |
74621447ff | ||
![]() |
3280952931 | ||
![]() |
9e670e2736 | ||
![]() |
9fc6347a2f | ||
![]() |
ec7a15a192 | ||
![]() |
7f99982810 | ||
![]() |
935d83aaf8 | ||
![]() |
0ff6edd546 | ||
![]() |
94f629585a | ||
![]() |
89c04be02f | ||
![]() |
3151965ea8 | ||
![]() |
bdf5159be1 | ||
![]() |
0499ebbea3 | ||
![]() |
d5843b7236 | ||
![]() |
1c9c574a90 | ||
![]() |
39acf20e48 | ||
![]() |
52eb6ed5ab | ||
![]() |
ee78d2d59d | ||
![]() |
60dc5c4a38 | ||
![]() |
50a0dc0355 | ||
![]() |
3f681ec914 | ||
![]() |
0bf499f191 | ||
![]() |
389695a0d6 | ||
![]() |
07f1afb312 | ||
![]() |
ae91e61304 | ||
![]() |
6248991b01 | ||
![]() |
7f2d57ef62 | ||
![]() |
31f8f884f1 | ||
![]() |
4f4af5985a | ||
![]() |
a716fdf6d4 | ||
![]() |
9717f64abd | ||
![]() |
adf239183a | ||
![]() |
6cf209c79c | ||
![]() |
decc5fb3c0 | ||
![]() |
1e0820d613 | ||
![]() |
70124d5177 | ||
![]() |
269de65201 | ||
![]() |
1d11abbfb6 | ||
![]() |
700f308d6e | ||
![]() |
21b6928ca6 | ||
![]() |
998c67a649 | ||
![]() |
fb99e878b0 | ||
![]() |
1619adfc27 | ||
![]() |
5510fb473f | ||
![]() |
be1878cb2b | ||
![]() |
15ab121cbd | ||
![]() |
aa79b0e861 | ||
![]() |
b80e550bcd | ||
![]() |
dbc40b5814 | ||
![]() |
0d5696a644 | ||
![]() |
ceffa05802 | ||
![]() |
d5668920b6 | ||
![]() |
516f2da144 | ||
![]() |
33c94e1888 | ||
![]() |
51ab58cd91 | ||
![]() |
aa7798d1d1 | ||
![]() |
9067a1fc92 | ||
![]() |
4024b6c564 | ||
![]() |
d39730928b | ||
![]() |
e1f049229c | ||
![]() |
8f2676ec19 | ||
![]() |
32d26248dc | ||
![]() |
16f926401b | ||
![]() |
66d60d3599 | ||
![]() |
5a35ab6c34 | ||
![]() |
ba1542bd31 | ||
![]() |
453060945a | ||
![]() |
c8351be461 | ||
![]() |
9954da22a6 | ||
![]() |
907b5611eb | ||
![]() |
5f075de212 | ||
![]() |
8fcf3c5079 | ||
![]() |
07cee90c7a | ||
![]() |
75ad495b98 | ||
![]() |
0bb7288ad2 | ||
![]() |
ad72415532 | ||
![]() |
0ad0353fc0 | ||
![]() |
9fa0dcd7aa | ||
![]() |
1f2e80cd39 | ||
![]() |
6cb6034d43 | ||
![]() |
25134c6ac6 | ||
![]() |
92bf42878a | ||
![]() |
9f4582d158 |
11
docs/changelogs/CHANGELOG.v1.5.6.md
Normal file
11
docs/changelogs/CHANGELOG.v1.5.6.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.5.7
|
||||
|
||||
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
|
||||
|
||||
## 修复与优化
|
||||
* 修复一些问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
14
docs/changelogs/old/CHANGELOG.v1.4.1.md
Normal file
14
docs/changelogs/old/CHANGELOG.v1.4.1.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# v1.4.1
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 提高部分Api兼容性
|
||||
* 优化日志膨胀问题
|
||||
* 在线状态刷新问题修复
|
||||
## 新增与调整
|
||||
* 支持非管理群 本地记录时间数据 (建议 **备份配置 清空配置 重新配置**)
|
||||
* 新增英译中接口 Api: /translate_en2zh
|
||||
* 新增群文件管理相关扩展接口 Api: /get_group_file_count /get_group_file_list /set_group_file_folder /del_group_file /del_group_file_folder
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
12
docs/changelogs/old/CHANGELOG.v1.4.2.md
Normal file
12
docs/changelogs/old/CHANGELOG.v1.4.2.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.2
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复获取群文件列表Api
|
||||
* 修复退群通知问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/old/CHANGELOG.v1.4.3.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.4.3.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.4.3
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复名片通知
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
10
docs/changelogs/old/CHANGELOG.v1.4.4.md
Normal file
10
docs/changelogs/old/CHANGELOG.v1.4.4.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# v1.4.4
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 更新
|
||||
* **重大更新:**更新了版本号
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
||||
|
12
docs/changelogs/old/CHANGELOG.v1.4.5.md
Normal file
12
docs/changelogs/old/CHANGELOG.v1.4.5.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.5
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 紧急修复二维扫码问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
||||
|
12
docs/changelogs/old/CHANGELOG.v1.4.6.md
Normal file
12
docs/changelogs/old/CHANGELOG.v1.4.6.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.6
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 优化整体稳定性
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
||||
|
11
docs/changelogs/old/CHANGELOG.v1.4.7.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.4.7.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.4.7
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 临时扩展 Api: GoCQHTTPUploadGroupFile folder_id字段 用于选择文件夹
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
12
docs/changelogs/old/CHANGELOG.v1.4.8.md
Normal file
12
docs/changelogs/old/CHANGELOG.v1.4.8.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.8
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 优化Guid的生成方式
|
||||
* 支持临时消息获取群来源
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/old/CHANGELOG.v1.4.9.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.4.9.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.4.9
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复接口调用问题 接口标准化 API:set_group_add_request
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/old/CHANGELOG.v1.5.0.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.5.0.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.5.0
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修正各Api默认值
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
12
docs/changelogs/old/CHANGELOG.v1.5.1.md
Normal file
12
docs/changelogs/old/CHANGELOG.v1.5.1.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.5.1
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 支持 新Api: set_self_profile 可设置个性签名
|
||||
* 修复 Api: get_group_system_msg
|
||||
* 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
13
docs/changelogs/old/CHANGELOG.v1.5.2.md
Normal file
13
docs/changelogs/old/CHANGELOG.v1.5.2.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# v1.5.2
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 替换Uid/Uin为内部实现
|
||||
* 增加HttpApi调用稳定性
|
||||
* 修复 GetMsg 兼容性
|
||||
|
||||
## 新增与调整
|
||||
* 支持真正意义上的陌生人信息获取 Api: GoCQHTTP_GetStrangerInfo
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
15
docs/changelogs/old/CHANGELOG.v1.5.3.md
Normal file
15
docs/changelogs/old/CHANGELOG.v1.5.3.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# v1.5.3
|
||||
|
||||
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
|
||||
|
||||
## 修复与优化
|
||||
* 修复引用消息id问题
|
||||
* 修复添加好友的通知
|
||||
|
||||
## 新增与调整
|
||||
* 扩展群分享Json生成
|
||||
* 扩展关于收藏的一系列接口
|
||||
* 支持专属群头衔获取
|
||||
* 支持视频获取直链
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/old/CHANGELOG.v1.5.4.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.5.4.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.5.4
|
||||
|
||||
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
|
||||
|
||||
## 修复与优化
|
||||
* 紧急修复视频与文件问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/old/CHANGELOG.v1.5.5.md
Normal file
11
docs/changelogs/old/CHANGELOG.v1.5.5.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.5.5
|
||||
|
||||
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
|
||||
|
||||
## 修复与优化
|
||||
* 紧急修复一些问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
2
docs/develop/Android.md
Normal file
2
docs/develop/Android.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# 开始
|
||||
jadx 跳转于 `com.tencent.qqnt.kernel.*`
|
42
docs/develop/GetMemberExt.md
Normal file
42
docs/develop/GetMemberExt.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Android
|
||||
```java
|
||||
GroupMemberExtReq groupMemberExtReq = new GroupMemberExtReq();
|
||||
groupMemberExtReq.sourceType = MemberExtSourceType.TITLETYPE.ordinal();
|
||||
groupMemberExtReq.groupCode = longOrNull.longValue();
|
||||
groupMemberExtReq.beginUin = "0";
|
||||
groupMemberExtReq.dataTime = "0";
|
||||
Long[] lArr = new Long[1];
|
||||
AppInterface a2 = dVar.a();
|
||||
lArr[0] = Long.valueOf(a2 != null ? a2.getLongAccountUin() : 0L);
|
||||
arrayListOf = CollectionsKt__CollectionsKt.arrayListOf(lArr);
|
||||
groupMemberExtReq.uinList = arrayListOf;
|
||||
MemberExtInfoFilter memberExtInfoFilter = new MemberExtInfoFilter();
|
||||
memberExtInfoFilter.memberLevelInfoUin = 1;
|
||||
memberExtInfoFilter.memberLevelInfoPoint = 1;
|
||||
memberExtInfoFilter.memberLevelInfoActiveDay = 1;
|
||||
memberExtInfoFilter.memberLevelInfoLevel = 1;
|
||||
memberExtInfoFilter.levelName = 1;
|
||||
memberExtInfoFilter.dataTime = 1;
|
||||
memberExtInfoFilter.sysShowFlag = 1;
|
||||
memberExtInfoFilter.userShowFlag = 1;
|
||||
memberExtInfoFilter.userShowFlagNew = 1;
|
||||
memberExtInfoFilter.levelNameNew = 1;
|
||||
Unit unit = Unit.INSTANCE;
|
||||
groupMemberExtReq.memberExtFilter = memberExtInfoFilter;
|
||||
troopLevelFrequencyControl.f(troopUin, new TroopListRepo$fetchTroopLevelInfo$2(b2, groupMemberExtReq, troopUin, new com.tencent.qqnt.troopmemberlist.report.c("fetchTroopLevelInfo")));
|
||||
```
|
||||
# Win
|
||||
参数解析位于 sub_181456A10(24108) -> wrapper.node(24108)+1456A10
|
||||
IGroupService.GetMemberExt(param: object);
|
||||
param展开如下
|
||||
```
|
||||
groupCode string
|
||||
beginUin string
|
||||
dataTime string
|
||||
uinList Array<string>
|
||||
uinNum string
|
||||
groupType string
|
||||
richCardNameVer string
|
||||
sourceType number
|
||||
memberExtFilter object// 参数解析位于 sub_18145A6D0(24108) -> wrapper.node(24108)+145A6D0
|
||||
```
|
48
docs/develop/Image.NTAndroid.md
Normal file
48
docs/develop/Image.NTAndroid.md
Normal file
@@ -0,0 +1,48 @@
|
||||
public static final int C2C_PIC_DOWNLOAD = 1004;
|
||||
public static final String C2C_PIC_DOWNLOAD_DOMAIN = "c2cpicdw.qpic.cn";
|
||||
public static final String C2C_PIC_DOWNLOAD_QUIC_DOMAIN = "c2cpicdw.quic.qpic.cn";
|
||||
public static final int FLAG_NOT_UPLOAD = 3;
|
||||
public static final int FLAG_UPLOADINFO_ERROR = 4;
|
||||
public static final int GROUP_PIC_DOWNLOAD = 1000;
|
||||
public static final String GROUP_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn";
|
||||
public static final String GROUP_PIC_DOWNLOAD_QUIC_DOMAIN = "gchat.quic.qpic.cn";
|
||||
public static final String GUILD_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn/qmeetpic";
|
||||
public static final boolean NEW_STORE_FLAG = true;
|
||||
public static final String PTT_VIDEO_DOWNLOAD_DOMAIN = "grouptalk.c2c.qq.com";
|
||||
|
||||
protected static final int AVIF_DECODE_EXCEPTION = 4;
|
||||
protected static final int AVIF_DECODE_FAIL = 1;
|
||||
protected static final int AVIF_DECODE_FAIL_SO_FAIL = 2;
|
||||
protected static final int AVIF_DECODE_FAIL_UNKNOWN = 6;
|
||||
protected static final int AVIF_DECODE_FILETYPE_ERROR = 5;
|
||||
protected static final int AVIF_DECODE_OOM = 3;
|
||||
protected static final int AVIF_DECODE_RENAME_FAIL = 7;
|
||||
protected static final int AVIF_DECODE_SUC = 0;
|
||||
public static final String AVIF_FILE_SUFFIX = ".avif";
|
||||
public static final int AVIF_REQ_APPRUNTIME_NULL = 12;
|
||||
public static final int AVIF_REQ_CODEC_UNSURPPORT = 5;
|
||||
protected static final int AVIF_REQ_DENSITY_UNSURPPORT = 10;
|
||||
protected static final int AVIF_REQ_FLASH_PHOTO = 9;
|
||||
protected static final int AVIF_REQ_HAS_TMP_AVIF = 7;
|
||||
protected static final int AVIF_REQ_INVALID_MSG_RECORD = 2;
|
||||
protected static final int AVIF_REQ_IS_RAW_PHOTO = 3;
|
||||
protected static final int AVIF_REQ_OUTPUTSTREAM_UNSURPPORT = 11;
|
||||
protected static final int AVIF_REQ_OVERSIZE = 6;
|
||||
protected static final int AVIF_REQ_RETRY = 1;
|
||||
public static final int AVIF_REQ_SO_DOWNLOAD_FAILED = 8;
|
||||
protected static final int AVIF_REQ_SUC = 0;
|
||||
public static final int AVIF_REQ_SWITCH_CLOSE = 4;
|
||||
public static final String C2C_PIC_DOWNLOAD_ERROR_CODE = "C2CPicDownloadErrorCode";
|
||||
static final int DOWNLOAD_ST_COMPLETE = 1;
|
||||
static final int DOWNLOAD_ST_HEAD = 2;
|
||||
static final int DOWNLOAD_ST_LEFT = 4;
|
||||
static final int DOWNLOAD_ST_PART = 3;
|
||||
private static final int ENCRYPT_APPID = 1600000226;
|
||||
public static final String GROUP_PIC_DOWNLOAD_ERROR_CODE = "GroupPicDownloadErrorCode";
|
||||
public static final String KEY_PIC_DOWNLOAD_ERROR_CODE = "param_detail_code";
|
||||
protected static final int QUIC_FAIL_IP_LIST_EMPTY = 1;
|
||||
protected static final int QUIC_FAIL_REQUEST_HTTPS = 3;
|
||||
protected static final int QUIC_FAIL_REQUEST_QUIC = 2;
|
||||
protected static final int QUIC_FAIL_SO_LOAD = 4;
|
||||
public static final String REPORT_TAG_DIRECT_DOWNLOAD_FAIL = "report_direct_download_fail";
|
||||
public static final String REQ_PARAM_AVIF = "tp=avif";
|
444
docs/develop/Msg常量NTAndroid.md
Normal file
444
docs/develop/Msg常量NTAndroid.md
Normal file
@@ -0,0 +1,444 @@
|
||||
```java
|
||||
MsgConstant
|
||||
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMMINIAPP = 1;
|
||||
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMPLUSPANEL = 2;
|
||||
int ARKSTRUCTELEMENTSUBTYPEUNKNOWN = 0;
|
||||
int ATTYPEALL = 1;
|
||||
int ATTYPECATEGORY = 512;
|
||||
int ATTYPECHANNEL = 16;
|
||||
int ATTYPEME = 4;
|
||||
int ATTYPEONE = 2;
|
||||
int ATTYPEONLINE = 64;
|
||||
int ATTYPEROLE = 8;
|
||||
int ATTYPESUMMON = 32;
|
||||
int ATTYPESUMMONONLINE = 128;
|
||||
int ATTYPESUMMONROLE = 256;
|
||||
int ATTYPEUNKNOWN = 0;
|
||||
int CALENDARELEMSUBTYPECOMMON = 3;
|
||||
int CALENDARELEMSUBTYPESTRONG = 1;
|
||||
int CALENDARELEMSUBTYPEUNKNOWN = 0;
|
||||
int CALENDARELEMSUBTYPEWEAK = 2;
|
||||
int FACEBUBBLEELEMSUBTYPENORMAL = 1;
|
||||
int FACEBUBBLEELEMSUBTYPEUNKNOWN = 0;
|
||||
int FETCHLONGMSGERRCODEMSGEXPIRED = 196;
|
||||
int FILEELEMENTSUBTYPEAI = 16;
|
||||
int FILEELEMENTSUBTYPEAPP = 11;
|
||||
int FILEELEMENTSUBTYPEAUDIO = 3;
|
||||
int FILEELEMENTSUBTYPEDOC = 4;
|
||||
int FILEELEMENTSUBTYPEEMOTICON = 15;
|
||||
int FILEELEMENTSUBTYPEEXCEL = 6;
|
||||
int FILEELEMENTSUBTYPEFOLDER = 13;
|
||||
int FILEELEMENTSUBTYPEHTML = 10;
|
||||
int FILEELEMENTSUBTYPEIPA = 14;
|
||||
int FILEELEMENTSUBTYPENORMAL = 0;
|
||||
int FILEELEMENTSUBTYPEPDF = 7;
|
||||
int FILEELEMENTSUBTYPEPIC = 1;
|
||||
int FILEELEMENTSUBTYPEPPT = 5;
|
||||
int FILEELEMENTSUBTYPEPSD = 12;
|
||||
int FILEELEMENTSUBTYPETXT = 8;
|
||||
int FILEELEMENTSUBTYPEVIDEO = 2;
|
||||
int FILEELEMENTSUBTYPEZIP = 9;
|
||||
int GRAYTIPELEMENTSUBTYPEAIOOP = 15;
|
||||
int GRAYTIPELEMENTSUBTYPEBLOCK = 14;
|
||||
int GRAYTIPELEMENTSUBTYPEBUDDY = 5;
|
||||
int GRAYTIPELEMENTSUBTYPEBUDDYNOTIFY = 9;
|
||||
int GRAYTIPELEMENTSUBTYPEEMOJIREPLY = 3;
|
||||
int GRAYTIPELEMENTSUBTYPEESSENCE = 7;
|
||||
int GRAYTIPELEMENTSUBTYPEFEED = 6;
|
||||
int GRAYTIPELEMENTSUBTYPEFEEDCHANNELMSG = 11;
|
||||
int GRAYTIPELEMENTSUBTYPEFILE = 10;
|
||||
int GRAYTIPELEMENTSUBTYPEGROUP = 4;
|
||||
int GRAYTIPELEMENTSUBTYPEGROUPNOTIFY = 8;
|
||||
int GRAYTIPELEMENTSUBTYPEJSON = 17;
|
||||
int GRAYTIPELEMENTSUBTYPELOCALMSG = 13;
|
||||
int GRAYTIPELEMENTSUBTYPEPROCLAMATION = 2;
|
||||
int GRAYTIPELEMENTSUBTYPEREVOKE = 1;
|
||||
int GRAYTIPELEMENTSUBTYPEUNKNOWN = 0;
|
||||
int GRAYTIPELEMENTSUBTYPEWALLET = 16;
|
||||
int GRAYTIPELEMENTSUBTYPEXMLMSG = 12;
|
||||
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBLACKGROUND = 4;
|
||||
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBORDER = 1;
|
||||
int INLINEKEYBOARDBUTTONRENDERSTYLEGRAYBORDER = 0;
|
||||
int INLINEKEYBOARDBUTTONRENDERSTYLENOBORDER = 2;
|
||||
int INLINEKEYBOARDBUTTONRENDERSTYLEREDCHARACTER = 3;
|
||||
int INPUTSTATUSTYPECANCEL = 2;
|
||||
int INPUTSTATUSTYPESPEAK = 3;
|
||||
int INPUTSTATUSTYPETEXT = 1;
|
||||
int KACTIVITYMSG = 22;
|
||||
int KADDLOCALMSGEXTINFOTYPEPROLOGUEMSG = 1;
|
||||
int KANONYMOUSATMEMSGTYPEINMSGBOX = 1001;
|
||||
int KANONYMOUSFLAGFROMOTHERPEOPLE = 1;
|
||||
int KANONYMOUSFLAGFROMOWN = 2;
|
||||
int KANONYMOUSFLAGINVALID = 0;
|
||||
int KAPPCHANNELMSG = 16;
|
||||
int KATALLMSGTYPEINMSGBOX = 2000;
|
||||
int KATMEMSGTYPEINMSGBOX = 1000;
|
||||
int KATTRIBUTETYPEADELIEMSG = 16;
|
||||
int KATTRIBUTETYPEEXTENDBUSINESS = 13;
|
||||
int KATTRIBUTETYPEFEEDBACKSTATE = 17;
|
||||
int KATTRIBUTETYPEGROUPHONOR = 2;
|
||||
int KATTRIBUTETYPEKINGHONOR = 3;
|
||||
int KATTRIBUTETYPELONGMSG = 8;
|
||||
int KATTRIBUTETYPEMEMORYSTATEMSGINFO = 18;
|
||||
int KATTRIBUTETYPEMSG = 0;
|
||||
int KATTRIBUTETYPEMSGBOXEVENTTYPE = 14;
|
||||
int KATTRIBUTETYPEPERSONAL = 1;
|
||||
int KATTRIBUTETYPEPUBLICACCOUNT = 4;
|
||||
int KATTRIBUTETYPEQQCONNECT = 12;
|
||||
int KATTRIBUTETYPESENDMSGRSPTRANSSVRINFO = 15;
|
||||
int KATTRIBUTETYPESHAREDMSGINFO = 5;
|
||||
int KATTRIBUTETYPETEMPCHATGAMESESSION = 6;
|
||||
int KATTRIBUTETYPETOROBOTMSG = 9;
|
||||
int KATTRIBUTETYPEUININFO = 7;
|
||||
int KATTRIBUTETYPEZPLAN = 11;
|
||||
int KAUTOREPLYTEXTNONEINDEX = -1;
|
||||
int KAVRECORDMSG = 19;
|
||||
int KBUSINESSTYPGUILD = 1;
|
||||
int KBUSINESSTYPNT = 0;
|
||||
int KCHATTYPEADELIE = 42;
|
||||
int KCHATTYPEBUDDYNOTIFY = 5;
|
||||
int KCHATTYPEC2C = 1;
|
||||
int KCHATTYPECIRCLE = 113;
|
||||
int KCHATTYPEDATALINE = 8;
|
||||
int KCHATTYPEDATALINEMQQ = 134;
|
||||
int KCHATTYPEDISC = 3;
|
||||
int KCHATTYPEFAV = 41;
|
||||
int KCHATTYPEGAMEMESSAGE = 105;
|
||||
int KCHATTYPEGAMEMESSAGEFOLDER = 116;
|
||||
int KCHATTYPEGROUP = 2;
|
||||
int KCHATTYPEGROUPBLESS = 133;
|
||||
int KCHATTYPEGROUPGUILD = 9;
|
||||
int KCHATTYPEGROUPHELPER = 7;
|
||||
int KCHATTYPEGROUPNOTIFY = 6;
|
||||
int KCHATTYPEGUILD = 4;
|
||||
int KCHATTYPEGUILDMETA = 16;
|
||||
int KCHATTYPEMATCHFRIEND = 104;
|
||||
int KCHATTYPEMATCHFRIENDFOLDER = 109;
|
||||
int KCHATTYPENEARBY = 106;
|
||||
int KCHATTYPENEARBYASSISTANT = 107;
|
||||
int KCHATTYPENEARBYFOLDER = 110;
|
||||
int KCHATTYPENEARBYHELLOFOLDER = 112;
|
||||
int KCHATTYPENEARBYINTERACT = 108;
|
||||
int KCHATTYPEQQNOTIFY = 132;
|
||||
int KCHATTYPERELATEACCOUNT = 131;
|
||||
int KCHATTYPESERVICEASSISTANT = 118;
|
||||
int KCHATTYPESERVICEASSISTANTSUB = 201;
|
||||
int KCHATTYPESQUAREPUBLIC = 115;
|
||||
int KCHATTYPESUBSCRIBEFOLDER = 30;
|
||||
int KCHATTYPETEMPADDRESSBOOK = 111;
|
||||
int KCHATTYPETEMPBUSSINESSCRM = 102;
|
||||
int KCHATTYPETEMPC2CFROMGROUP = 100;
|
||||
int KCHATTYPETEMPC2CFROMUNKNOWN = 99;
|
||||
int KCHATTYPETEMPFRIENDVERIFY = 101;
|
||||
int KCHATTYPETEMPNEARBYPRO = 119;
|
||||
int KCHATTYPETEMPPUBLICACCOUNT = 103;
|
||||
int KCHATTYPETEMPWPA = 117;
|
||||
int KCHATTYPEUNKNOWN = 0;
|
||||
int KCHATTYPEWEIYUN = 40;
|
||||
int KCOMMONREDENVELOPEMSGTYPEINMSGBOX = 1007;
|
||||
int KDOWNSOURCETYPEAIOINNER = 1;
|
||||
int KDOWNSOURCETYPEBIGSCREEN = 2;
|
||||
int KDOWNSOURCETYPEHISTORY = 3;
|
||||
int KDOWNSOURCETYPEUNKNOWN = 0;
|
||||
int KELEMTYPEACTIVITY = 25;
|
||||
int KELEMTYPEACTIVITYSTATE = 41;
|
||||
int KELEMTYPEACTIVITYSUBTYPECREATEMOBATEAM = 12;
|
||||
int KELEMTYPEACTIVITYSUBTYPEDISBANDMOBATEAM = 11;
|
||||
int KELEMTYPEACTIVITYSUBTYPEFEEDSQUARE = 10001;
|
||||
int KELEMTYPEACTIVITYSUBTYPEFINISHGAME = 16;
|
||||
int KELEMTYPEACTIVITYSUBTYPEFINISHMATCHTEAM = 14;
|
||||
int KELEMTYPEACTIVITYSUBTYPEHOTCHAT = 10000;
|
||||
int KELEMTYPEACTIVITYSUBTYPEMINIGAME = 18;
|
||||
int KELEMTYPEACTIVITYSUBTYPEMUSICPLAY = 17;
|
||||
int KELEMTYPEACTIVITYSUBTYPENEWSMOBA = 9;
|
||||
int KELEMTYPEACTIVITYSUBTYPENOLIVE = 2;
|
||||
int KELEMTYPEACTIVITYSUBTYPENOSCREENSHARE = 7;
|
||||
int KELEMTYPEACTIVITYSUBTYPENOVOICE = 3;
|
||||
int KELEMTYPEACTIVITYSUBTYPEONLIVE = 1;
|
||||
int KELEMTYPEACTIVITYSUBTYPEONSCREENSHARE = 6;
|
||||
int KELEMTYPEACTIVITYSUBTYPEONVOICE = 4;
|
||||
int KELEMTYPEACTIVITYSUBTYPESTARTMATCHTEAM = 13;
|
||||
int KELEMTYPEACTIVITYSUBTYPETARTGAME = 15;
|
||||
int KELEMTYPEACTIVITYSUBTYPEUNKNOWN = 0;
|
||||
int KELEMTYPEADELIEACTIONBAR = 44;
|
||||
int KELEMTYPEADELIERECOMMENDEDMSG = 43;
|
||||
int KELEMTYPEARKSTRUCT = 10;
|
||||
int KELEMTYPEAVRECORD = 21;
|
||||
int KELEMTYPECALENDAR = 19;
|
||||
int KELEMTYPEFACE = 6;
|
||||
int KELEMTYPEFACEBUBBLE = 27;
|
||||
int KELEMTYPEFEED = 22;
|
||||
int KELEMTYPEFILE = 3;
|
||||
int KELEMTYPEGIPHY = 15;
|
||||
int KELEMTYPEGRAYTIP = 8;
|
||||
int KELEMTYPEINLINEKEYBOARD = 17;
|
||||
int KELEMTYPEINTEXTGIFT = 18;
|
||||
int KELEMTYPELIVEGIFT = 12;
|
||||
int KELEMTYPEMARKDOWN = 14;
|
||||
int KELEMTYPEMARKETFACE = 11;
|
||||
int KELEMTYPEMULTIFORWARD = 16;
|
||||
int KELEMTYPEONLINEFILE = 23;
|
||||
int KELEMTYPEPIC = 2;
|
||||
int KELEMTYPEPROLOGUE = 46;
|
||||
int KELEMTYPEPTT = 4;
|
||||
int KELEMTYPEREPLY = 7;
|
||||
int KELEMTYPESHARELOCATION = 28;
|
||||
int KELEMTYPESTRUCTLONGMSG = 13;
|
||||
int KELEMTYPETASKTOPMSG = 29;
|
||||
int KELEMTYPETEXT = 1;
|
||||
int KELEMTYPETOFU = 26;
|
||||
int KELEMTYPEUNKNOWN = 0;
|
||||
int KELEMTYPEVIDEO = 5;
|
||||
int KELEMTYPEWALLET = 9;
|
||||
int KELEMTYPEYOLOGAMERESULT = 20;
|
||||
int KENTERAIO = 1;
|
||||
int KEXITAIO = 2;
|
||||
int KFEEDBACKBUTTONTYPEDISLIKE = 2;
|
||||
int KFEEDBACKBUTTONTYPELIKE = 1;
|
||||
int KFEEDBACKBUTTONTYPEPROMPTCLICK = 5;
|
||||
int KFEEDBACKBUTTONTYPEREGENERATE = 4;
|
||||
int KFEEDBACKBUTTONTYPEUNKNOWN = 0;
|
||||
int KFEEDBACKOPTLIKE = 1;
|
||||
int KFEEDBACKOPTUNKNOWN = 0;
|
||||
int KFEEDBACKOPTUNLIKE = 2;
|
||||
int KFRIENDNEWADDEDMSGTYPEINMSGBOX = 1008;
|
||||
int KGAMEBOXNEWMSGTYPEINMSGBOX = 3000;
|
||||
int KGIFTATMEMSGTYPEINMSGBOX = 1005;
|
||||
int KGROUPFILEATALLMSGTYPEINMSGBOX = 2001;
|
||||
int KGROUPHOMEWORK = 20000;
|
||||
int KGROUPHOMEWORKTASK = 20001;
|
||||
int KGROUPKEYWORDMSGTYPEINMSGBOX = 2006;
|
||||
int KGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2004;
|
||||
int KGROUPTASKATALLMSGTYPEINMSGBOX = 2003;
|
||||
int KGROUPUNREADTYPEINMSGBOX = 2007;
|
||||
int KGUILDCHANNELLIST = 10;
|
||||
int KHIGHLIGHTWORDINTEMPCHATTYPEINMSGBOX = 1009;
|
||||
int KHOMEWORKREMINDER = 10000;
|
||||
int KLIKEORDISLIKESTATEDISLIKE = 2;
|
||||
int KLIKEORDISLIKESTATELIKE = 1;
|
||||
int KLIKEORDISLIKESTATENONESELECTED = 0;
|
||||
int KMARKETFACE = 17;
|
||||
int KMEMORYSTATEMSGTYPEADELIEWELCOME = 1;
|
||||
int KMEMORYSTATEMSGTYPEUNKNOWN = 0;
|
||||
int KMINIPROGRAMNOTICE = 114;
|
||||
int KMSGSUBTYPEARKGROUPANNOUNCE = 3;
|
||||
int KMSGSUBTYPEARKGROUPANNOUNCECONFIRMREQUIRED = 4;
|
||||
int KMSGSUBTYPEARKGROUPGIFTATME = 5;
|
||||
int KMSGSUBTYPEARKGROUPTASKATALL = 6;
|
||||
int KMSGSUBTYPEARKMULTIMSG = 7;
|
||||
int KMSGSUBTYPEARKNORMAL = 0;
|
||||
int KMSGSUBTYPEARKTENCENTDOCFROMMINIAPP = 1;
|
||||
int KMSGSUBTYPEARKTENCENTDOCFROMPLUSPANEL = 2;
|
||||
int KMSGSUBTYPEEMOTICON = 15;
|
||||
int KMSGSUBTYPEFILEAPP = 11;
|
||||
int KMSGSUBTYPEFILEAUDIO = 3;
|
||||
int KMSGSUBTYPEFILEDOC = 4;
|
||||
int KMSGSUBTYPEFILEEXCEL = 6;
|
||||
int KMSGSUBTYPEFILEFOLDER = 13;
|
||||
int KMSGSUBTYPEFILEHTML = 10;
|
||||
int KMSGSUBTYPEFILEIPA = 14;
|
||||
int KMSGSUBTYPEFILENORMAL = 0;
|
||||
int KMSGSUBTYPEFILEPDF = 7;
|
||||
int KMSGSUBTYPEFILEPIC = 1;
|
||||
int KMSGSUBTYPEFILEPPT = 5;
|
||||
int KMSGSUBTYPEFILEPSD = 12;
|
||||
int KMSGSUBTYPEFILETXT = 8;
|
||||
int KMSGSUBTYPEFILEVIDEO = 2;
|
||||
int KMSGSUBTYPEFILEZIP = 9;
|
||||
int KMSGSUBTYPELINK = 5;
|
||||
int KMSGSUBTYPEMARKETFACE = 1;
|
||||
int KMSGSUBTYPEMIXEMOTICON = 7;
|
||||
int KMSGSUBTYPEMIXFACE = 3;
|
||||
int KMSGSUBTYPEMIXMARKETFACE = 2;
|
||||
int KMSGSUBTYPEMIXPIC = 1;
|
||||
int KMSGSUBTYPEMIXREPLY = 4;
|
||||
int KMSGSUBTYPEMIXTEXT = 0;
|
||||
int KMSGSUBTYPETENCENTDOC = 6;
|
||||
int KMSGTYPEARKSTRUCT = 11;
|
||||
int KMSGTYPEFACEBUBBLE = 24;
|
||||
int KMSGTYPEFILE = 3;
|
||||
int KMSGTYPEGIFT = 14;
|
||||
int KMSGTYPEGIPHY = 13;
|
||||
int KMSGTYPEGRAYTIPS = 5;
|
||||
int KMSGTYPEMIX = 2;
|
||||
int KMSGTYPEMULTIMSGFORWARD = 8;
|
||||
int KMSGTYPENULL = 1;
|
||||
int KMSGTYPEONLINEFILE = 21;
|
||||
int KMSGTYPEONLINEFOLDER = 27;
|
||||
int KMSGTYPEPROLOGUE = 29;
|
||||
int KMSGTYPEPTT = 6;
|
||||
int KMSGTYPEREPLY = 9;
|
||||
int KMSGTYPESHARELOCATION = 25;
|
||||
int KMSGTYPESTRUCT = 4;
|
||||
int KMSGTYPESTRUCTLONGMSG = 12;
|
||||
int KMSGTYPETEXTGIFT = 15;
|
||||
int KMSGTYPEUNKNOWN = 0;
|
||||
int KMSGTYPEVIDEO = 7;
|
||||
int KMSGTYPEWALLET = 10;
|
||||
int KNEEDCONFIRMGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2005;
|
||||
int KNOTPASSTHROUGHEVENTTYPEUPPERBOUNDARY = 9999;
|
||||
int KPTTFORMATTYPEAMR = 0;
|
||||
int KPTTFORMATTYPESILK = 1;
|
||||
int KPTTTRANSLATESTATUSFAIL = 3;
|
||||
int KPTTTRANSLATESTATUSSUC = 2;
|
||||
int KPTTTRANSLATESTATUSTRANSLATING = 1;
|
||||
int KPTTTRANSLATESTATUSUNKNOWN = 0;
|
||||
int KPTTVIPLEVELTYPENONE = 0;
|
||||
int KPTTVIPLEVELTYPEQQVIP = 0;
|
||||
int KPTTVIPLEVELTYPESVIP = 0;
|
||||
int KPTTVOICECHANGETYPEBEASTMACHINE = 7;
|
||||
int KPTTVOICECHANGETYPEBOY = 2;
|
||||
int KPTTVOICECHANGETYPECATCHCOLD = 13;
|
||||
int KPTTVOICECHANGETYPEECHO = 5;
|
||||
int KPTTVOICECHANGETYPEFATGUY = 16;
|
||||
int KPTTVOICECHANGETYPEFLASHING = 9;
|
||||
int KPTTVOICECHANGETYPEGIRL = 1;
|
||||
int KPTTVOICECHANGETYPEHORRIBLE = 3;
|
||||
int KPTTVOICECHANGETYPEKINDERGARTEN = 6;
|
||||
int KPTTVOICECHANGETYPEMEDAROT = 15;
|
||||
int KPTTVOICECHANGETYPENONE = 0;
|
||||
int KPTTVOICECHANGETYPEOPTIMUSPRIME = 8;
|
||||
int KPTTVOICECHANGETYPEOUTOFDATE = 14;
|
||||
int KPTTVOICECHANGETYPEPAPI = 11;
|
||||
int KPTTVOICECHANGETYPEQUICK = 4;
|
||||
int KPTTVOICECHANGETYPESTUTTER = 10;
|
||||
int KPTTVOICECHANGETYPETRAPPEDBEAST = 12;
|
||||
int KPTTVOICETYPEINTERCOM = 1;
|
||||
int KPTTVOICETYPESOUNDRECORD = 2;
|
||||
int KPTTVOICETYPEUNKNOW = 0;
|
||||
int KPTTVOICETYPEVOICECHANGE = 3;
|
||||
int KPUBLICACCOUNTTIANSHUHIGHLIGHTWORDTYPEINMSGBOX = 1010;
|
||||
int KREPLYABSELEMTYPEFACE = 2;
|
||||
int KREPLYABSELEMTYPEPIC = 3;
|
||||
int KREPLYABSELEMTYPETEXT = 1;
|
||||
int KREPLYABSELEMTYPEUNKNOWN = 0;
|
||||
int KREPLYATMEMSGTYPEINMSGBOX = 1002;
|
||||
int KRMDOWNTYPEORIG = 1;
|
||||
int KRMDOWNTYPETHUMB = 2;
|
||||
int KRMDOWNTYPEUNKNOWN = 0;
|
||||
int KRMFILETHUMBSIZE128 = 128;
|
||||
int KRMFILETHUMBSIZE320 = 320;
|
||||
int KRMFILETHUMBSIZE384 = 384;
|
||||
int KRMFILETHUMBSIZE750 = 750;
|
||||
int KRMPICAIOTHUMBSIZE = 0;
|
||||
int KRMPICTHUMBSIZE198 = 198;
|
||||
int KRMPICTHUMBSIZE720 = 720;
|
||||
int KRMPICTYPEBMP = 3;
|
||||
int KRMPICTYPECHECKOTHER = 900;
|
||||
int KRMPICTYPEGIF = 2;
|
||||
int KRMPICTYPEJPG = 0;
|
||||
int KRMPICTYPENEWPICAPNG = 2001;
|
||||
int KRMPICTYPENEWPICBMP = 1005;
|
||||
int KRMPICTYPENEWPICGIF = 2000;
|
||||
int KRMPICTYPENEWPICJPEG = 1000;
|
||||
int KRMPICTYPENEWPICPNG = 1001;
|
||||
int KRMPICTYPENEWPICPROGERSSIVJPEG = 1003;
|
||||
int KRMPICTYPENEWPICSHARPP = 1004;
|
||||
int KRMPICTYPENEWPICWEBP = 1002;
|
||||
int KRMPICTYPEPNG = 1;
|
||||
int KRMPICTYPEUNKOWN = 0;
|
||||
int KRMTHUMBSIZEZERO = 0;
|
||||
int KRMTRNASFERSTATUSDOWNLOADING = 3;
|
||||
int KRMTRNASFERSTATUSFAIL = 5;
|
||||
int KRMTRNASFERSTATUSINIT = 1;
|
||||
int KRMTRNASFERSTATUSSUC = 4;
|
||||
int KRMTRNASFERSTATUSUNKOW = 0;
|
||||
int KRMTRNASFERSTATUSUPLOADING = 2;
|
||||
int KRMTRNASFERSTATUSUSERCANCEL = 6;
|
||||
int KSEEKINGPARTNERFLAGSEEKING = 1;
|
||||
int KSEEKINGPARTNERFLAGUNKNOWN = 0;
|
||||
int KSENDSTATUSFAILED = 0;
|
||||
int KSENDSTATUSSENDING = 1;
|
||||
int KSENDSTATUSSUCCESS = 2;
|
||||
int KSENDSTATUSSUCCESSNOSEQ = 3;
|
||||
int KSENDTYPEDROPPED = 6;
|
||||
int KSENDTYPELOCAL = 3;
|
||||
int KSENDTYPEOTHERDEVICE = 2;
|
||||
int KSENDTYPERECV = 0;
|
||||
int KSENDTYPESELF = 1;
|
||||
int KSENDTYPESELFFORWARD = 4;
|
||||
int KSENDTYPESELFMULTIFORWARD = 5;
|
||||
int KSESSIONTYPEADDRESSBOOK = 5;
|
||||
int KSESSIONTYPEC2C = 1;
|
||||
int KSESSIONTYPEDISC = 3;
|
||||
int KSESSIONTYPEFAV = 41;
|
||||
int KSESSIONTYPEGROUP = 2;
|
||||
int KSESSIONTYPEGROUPBLESS = 52;
|
||||
int KSESSIONTYPEGUILD = 4;
|
||||
int KSESSIONTYPEGUILDMETA = 16;
|
||||
int KSESSIONTYPENEARBYPRO = 54;
|
||||
int KSESSIONTYPEQQNOTIFY = 51;
|
||||
int KSESSIONTYPERELATEACCOUNT = 50;
|
||||
int KSESSIONTYPESERVICEASSISTANT = 19;
|
||||
int KSESSIONTYPESUBSCRIBEFOLDER = 30;
|
||||
int KSESSIONTYPETYPEBUDDYNOTIFY = 7;
|
||||
int KSESSIONTYPETYPEGROUPHELPER = 9;
|
||||
int KSESSIONTYPETYPEGROUPNOTIFY = 8;
|
||||
int KSESSIONTYPEUNKNOWN = 0;
|
||||
int KSESSIONTYPEWEIYUN = 40;
|
||||
int KSPECIALCAREMSGTYPEINMSGBOX = 1006;
|
||||
int KSPECIFIEDREDENVELOPEATMEMSGTYPEINMSGBOX = 1004;
|
||||
int KSPECIFIEDREDENVELOPEATONEMSGTYPEINMSGBOX = 1003;
|
||||
int KTENCENTDOCTYPEADDON = 110;
|
||||
int KTENCENTDOCTYPEDOC = 0;
|
||||
int KTENCENTDOCTYPEDRAWING = 89;
|
||||
int KTENCENTDOCTYPEDRIVE = 101;
|
||||
int KTENCENTDOCTYPEFILE = 100;
|
||||
int KTENCENTDOCTYPEFLOWCHART = 91;
|
||||
int KTENCENTDOCTYPEFOLDER = 3;
|
||||
int KTENCENTDOCTYPEFORM = 2;
|
||||
int KTENCENTDOCTYPEMIND = 90;
|
||||
int KTENCENTDOCTYPENOTES = 5;
|
||||
int KTENCENTDOCTYPEPDF = 6;
|
||||
int KTENCENTDOCTYPEPROGRAM = 7;
|
||||
int KTENCENTDOCTYPESHEET = 1;
|
||||
int KTENCENTDOCTYPESLIDE = 4;
|
||||
int KTENCENTDOCTYPESMARTCANVAS = 8;
|
||||
int KTENCENTDOCTYPESMARTSHEET = 9;
|
||||
int KTENCENTDOCTYPESPEECH = 102;
|
||||
int KTENCENTDOCTYPEUNKNOWN = 10;
|
||||
int KTOFURECORDMSG = 23;
|
||||
int KTOPMSGTYPETASK = 1;
|
||||
int KTOPMSGTYPEUNKNOWN = 0;
|
||||
int KTRIGGERTYPEAUTO = 1;
|
||||
int KTRIGGERTYPEMANUAL = 0;
|
||||
int KUNKNOWN = 0;
|
||||
int KUNKNOWNTYPEINMSGBOX = 0;
|
||||
int KUNREADCNTUPTYPEALLDIRECTSESSION = 4;
|
||||
int KUNREADCNTUPTYPEALLFEEDSINGUILD = 6;
|
||||
int KUNREADCNTUPTYPEALLGUILD = 3;
|
||||
int KUNREADCNTUPTYPECATEGORY = 5;
|
||||
int KUNREADCNTUPTYPECHANNEL = 1;
|
||||
int KUNREADCNTUPTYPECONTACT = 0;
|
||||
int KUNREADCNTUPTYPEGUILD = 2;
|
||||
int KUNREADCNTUPTYPEGUILDGROUP = 7;
|
||||
int KUNREADSHOWTTYPEGRAYPOINT = 2;
|
||||
int KUNREADSHOWTYPEREDPOINT = 1;
|
||||
int KUNREADSHOWTYPESMALLGRAYPOINT = 4;
|
||||
int KUNREADSHOWTYPESMALLREDPOINT = 3;
|
||||
int KUNREADSHOWTYPEUNKNOWN = 0;
|
||||
int KVASGIFTCOINTYPECOIN = 0;
|
||||
int KVASGIFTCOINTYPEMARKETCOIN = 1;
|
||||
int KYOLOGAMERESULTMSG = 18;
|
||||
int PIC_800_RECOMMENDED = 7;
|
||||
int PIC_AIGC_EMOJI = 14;
|
||||
int PIC_ALBUM_GIF = 11;
|
||||
int PIC_COMMERCIAL_ADVERTISING = 9;
|
||||
int PIC_FIND = 10;
|
||||
int PIC_HOT = 2;
|
||||
int PIC_HOT_EMOJI = 13;
|
||||
int PIC_NORMAL = 0;
|
||||
int PIC_PK = 3;
|
||||
int PIC_QQZONE = 5;
|
||||
int PIC_SELFIE_GIF = 8;
|
||||
int PIC_SEND_FROM_TAB_SEARCH_BOX = 12;
|
||||
int PIC_USER = 1;
|
||||
int PIC_WISDOM_FIGURE = 4;
|
||||
int REPLYORIGINALMSGSTATEHASRECALL = 1;
|
||||
int REPLYORIGINALMSGSTATEUNKNOWN = 0;
|
||||
int SHARELOCATIONELEMSUBTYPENORMAL = 1;
|
||||
int SHARELOCATIONELEMSUBTYPEUNKNOWN = 0;
|
||||
int TEXTELEMENTSUBTYPELINK = 1;
|
||||
int TEXTELEMENTSUBTYPETENCENTDOC = 2;
|
||||
int TEXTELEMENTSUBTYPEUNKNOWN = 0;
|
||||
```
|
24
docs/develop/参与开发.md
Normal file
24
docs/develop/参与开发.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 前排提示
|
||||
由于Core未处于开源,非组织人员无法参与Core开发,此处为Core开发提示
|
||||
|
||||
# 准备工具
|
||||
frida ida-pro jadx x64dbg ce 内部调试脚本
|
||||
|
||||
## ida-pro
|
||||
1. 用于快速分析入参和返回类型
|
||||
2. 通过静态QLog推测语义
|
||||
3. 提取Listener与Service (常用)
|
||||
## frida
|
||||
1. 用于动态获取QLog推测语义
|
||||
2. 捕捉Native函数 实际入参与数据 分析中间流程
|
||||
|
||||
## jadx
|
||||
1. 通过其它平台实现 静态获取QLog推测语义
|
||||
2. 提供部分未调用代码 参考
|
||||
|
||||
## x64dbg
|
||||
1. 验证IDA的Hook点
|
||||
|
||||
## 内部脚本
|
||||
1. 提取Listener与Service (不调用无类型 不推荐)
|
||||
2. 获取NT调用流程
|
133
package.json
133
package.json
@@ -1,66 +1,67 @@
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.4.0",
|
||||
"scripts": {
|
||||
"watch:dev": "vite --mode development",
|
||||
"watch:prod": "vite --mode production",
|
||||
"build:dev": "vite build --mode development",
|
||||
"build:prod": "vite build --mode production",
|
||||
"build": "npm run build:dev",
|
||||
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
|
||||
"build:webui": "cd ./src/webui && vite build",
|
||||
"watch": "npm run watch:dev",
|
||||
"debug-win": "powershell dist/napcat.ps1",
|
||||
"lint": "eslint --fix src/**/*.{js,ts}",
|
||||
"release": "npm run build:prod",
|
||||
"depend": "cd dist && npm install --omit=dev"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@log4js-node/log4js-api": "^1.0.2",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/figlet": "^1.5.8",
|
||||
"@types/fluent-ffmpeg": "^2.1.24",
|
||||
"@types/node": "^20.11.30",
|
||||
"@types/qrcode-terminal": "^0.12.2",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@types/ws": "^8.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||
"@typescript-eslint/parser": "^7.4.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"i": "^0.3.7",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"rollup": "^4.13.2",
|
||||
"rollup-plugin-dts": "^6.1.0",
|
||||
"rollup-plugin-obfuscator": "^1.1.0",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.2.6",
|
||||
"vite-plugin-cp": "^4.0.8",
|
||||
"vite-plugin-dts": "^3.8.2",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"@protobuf-ts/plugin": "^2.9.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^8.13.0",
|
||||
"commander": "^12.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^5.0.0-beta.2",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"file-type": "^19.0.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"image-size": "^1.1.1",
|
||||
"json-schema-to-ts": "^3.1.0",
|
||||
"log4js": "^6.9.1",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"silk-wasm": "^3.3.4",
|
||||
"sqlite3": "^5.1.7",
|
||||
"uuid": "^9.0.1",
|
||||
"ws": "^8.16.0"
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.5.7",
|
||||
"scripts": {
|
||||
"watch:dev": "vite --mode development",
|
||||
"watch:prod": "vite --mode production",
|
||||
"build:dev": "vite build --mode development",
|
||||
"build:prod": "vite build --mode production",
|
||||
"build": "npm run build:dev",
|
||||
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
|
||||
"build:webui": "cd ./src/webui && vite build",
|
||||
"watch": "npm run watch:dev",
|
||||
"debug-win": "powershell dist/napcat.ps1",
|
||||
"lint": "eslint --fix src/**/*.{js,ts}",
|
||||
"release": "npm run build:prod",
|
||||
"depend": "cd dist && npm install --omit=dev"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@log4js-node/log4js-api": "^1.0.2",
|
||||
"@protobuf-ts/plugin": "^2.9.4",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/figlet": "^1.5.8",
|
||||
"@types/fluent-ffmpeg": "^2.1.24",
|
||||
"@types/node": "^20.11.30",
|
||||
"@types/qrcode-terminal": "^0.12.2",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@types/ws": "^8.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||
"@typescript-eslint/parser": "^7.4.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"i": "^0.3.7",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"rollup": "^4.13.2",
|
||||
"rollup-plugin-dts": "^6.1.0",
|
||||
"rollup-plugin-obfuscator": "^1.1.0",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.2.6",
|
||||
"vite-plugin-cp": "^4.0.8",
|
||||
"vite-plugin-dts": "^3.8.2",
|
||||
"vite-tsconfig-paths": "^4.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^8.13.0",
|
||||
"chalk": "^5.3.0",
|
||||
"commander": "^12.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^5.0.0-beta.2",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"file-type": "^19.0.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"image-size": "^1.1.1",
|
||||
"json-schema-to-ts": "^3.1.0",
|
||||
"log4js": "^6.9.1",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"silk-wasm": "^3.3.4",
|
||||
"sqlite3": "^5.1.7",
|
||||
"uuid": "^10.0.0",
|
||||
"ws": "^8.16.0"
|
||||
}
|
||||
}
|
||||
|
@@ -37,14 +37,14 @@ export abstract class HttpServerBase {
|
||||
const authHeader = req.get('authorization');
|
||||
if (authHeader) {
|
||||
clientToken = authHeader.split('Bearer ').pop() || '';
|
||||
logDebug('receive http header token', clientToken);
|
||||
//logDebug('receive http header token', clientToken);
|
||||
} else if (req.query.access_token) {
|
||||
if (Array.isArray(req.query.access_token)) {
|
||||
clientToken = req.query.access_token[0].toString();
|
||||
} else {
|
||||
clientToken = req.query.access_token.toString();
|
||||
}
|
||||
logDebug('receive http url token', clientToken);
|
||||
//logDebug('receive http url token', clientToken);
|
||||
}
|
||||
|
||||
if (serverToken && clientToken != serverToken) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { sleep } from '@/common/utils/helper';
|
||||
|
||||
import { logError } from './log';
|
||||
type AsyncQueueTask = (() => void) | (()=>Promise<void>);
|
||||
|
||||
|
||||
@@ -26,7 +26,8 @@ export class AsyncQueue {
|
||||
await taskRet;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
// console.error(e);
|
||||
logError(e);
|
||||
}
|
||||
this.tasks.shift();
|
||||
await sleep(100);
|
||||
|
182
src/common/utils/EventTask.ts
Normal file
182
src/common/utils/EventTask.ts
Normal file
@@ -0,0 +1,182 @@
|
||||
import { NodeIKernelMsgListener } from '@/core';
|
||||
import { NodeIQQNTWrapperSession } from '@/core/wrapper';
|
||||
import { randomUUID } from 'crypto';
|
||||
|
||||
interface Internal_MapKey {
|
||||
timeout: number,
|
||||
createtime: number,
|
||||
func: (...arg: any[]) => any,
|
||||
}
|
||||
|
||||
export class ListenerClassBase {
|
||||
[key: string]: string;
|
||||
}
|
||||
|
||||
export interface ListenerIBase {
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-new
|
||||
new(listener: any): ListenerClassBase;
|
||||
}
|
||||
|
||||
export class NTEventWrapper {
|
||||
|
||||
private ListenerMap: { [key: string]: ListenerIBase } | undefined;//ListenerName-Unique -> Listener构造函数
|
||||
private WrapperSession: NodeIQQNTWrapperSession | undefined;//WrapperSession
|
||||
private ListenerManger: Map<string, ListenerClassBase> = new Map<string, ListenerClassBase>(); //ListenerName-Unique -> Listener实例
|
||||
private EventTask = new Map<string, Map<string, Map<string, Internal_MapKey>>>();//tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func}
|
||||
constructor() {
|
||||
|
||||
}
|
||||
createProxyDispatch(ListenerMainName: string) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
||||
const current = this;
|
||||
return new Proxy({}, {
|
||||
get(target: any, prop: any, receiver: any) {
|
||||
// console.log('get', prop, typeof target[prop]);
|
||||
if (typeof target[prop] === 'undefined') {
|
||||
// 如果方法不存在,返回一个函数,这个函数调用existentMethod
|
||||
return (...args: any[]) => {
|
||||
current.DispatcherListener.apply(current, [ListenerMainName, prop, ...args]).then();
|
||||
};
|
||||
}
|
||||
// 如果方法存在,正常返回
|
||||
return Reflect.get(target, prop, receiver);
|
||||
}
|
||||
});
|
||||
}
|
||||
init({ ListenerMap, WrapperSession }: { ListenerMap: { [key: string]: typeof ListenerClassBase }, WrapperSession: NodeIQQNTWrapperSession }) {
|
||||
this.ListenerMap = ListenerMap;
|
||||
this.WrapperSession = WrapperSession;
|
||||
}
|
||||
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
|
||||
const eventNameArr = eventName.split('/');
|
||||
type eventType = {
|
||||
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
|
||||
}
|
||||
if (eventNameArr.length > 1) {
|
||||
const serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
|
||||
const eventName = eventNameArr[1];
|
||||
//getNodeIKernelGroupListener,GroupService
|
||||
//console.log('2', eventName);
|
||||
const services = (this.WrapperSession as unknown as eventType)[serviceName]();
|
||||
let event = services[eventName];
|
||||
//重新绑定this
|
||||
event = event.bind(services);
|
||||
if (event) {
|
||||
return event as T;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
}
|
||||
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ''): T {
|
||||
const ListenerType = this.ListenerMap![listenerMainName];
|
||||
let Listener = this.ListenerManger.get(listenerMainName + uniqueCode);
|
||||
if (!Listener && ListenerType) {
|
||||
Listener = new ListenerType(this.createProxyDispatch(listenerMainName));
|
||||
const ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
|
||||
const Service = 'NodeIKernel' + ServiceSubName + 'Service/addKernel' + ServiceSubName + 'Listener';
|
||||
const addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
|
||||
addfunc!(Listener as T);
|
||||
//console.log(addfunc!(Listener as T));
|
||||
this.ListenerManger.set(listenerMainName + uniqueCode, Listener);
|
||||
}
|
||||
return Listener as T;
|
||||
}
|
||||
//统一回调清理事件
|
||||
async DispatcherListener(ListenerMainName: string, ListenerSubName: string, ...args: any[]) {
|
||||
//console.log(ListenerMainName, this.EventTask.get(ListenerMainName), ListenerSubName, this.EventTask.get(ListenerMainName)?.get(ListenerSubName));
|
||||
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.forEach((task, uuid) => {
|
||||
//console.log(task.func, uuid, task.createtime, task.timeout);
|
||||
if (task.createtime + task.timeout < Date.now()) {
|
||||
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.delete(uuid);
|
||||
return;
|
||||
}
|
||||
task.func(...args);
|
||||
});
|
||||
}
|
||||
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
|
||||
return new Promise<Awaited<ReturnType<EventType>>>(async (resolve, reject) => {
|
||||
const EventFunc = this.CreatEventFunction<EventType>(EventName);
|
||||
let complete = false;
|
||||
const Timeouter = setTimeout(() => {
|
||||
if (!complete) {
|
||||
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
|
||||
}
|
||||
}, timeout);
|
||||
const retData = await EventFunc!(...args);
|
||||
complete = true;
|
||||
resolve(retData);
|
||||
});
|
||||
}
|
||||
async CallNormalEvent<EventType extends (...args: any[]) => Promise<any>, ListenerType extends (...args: any[]) => void>(EventName = '', ListenerName = '', waitTimes = 1, timeout: number = 3000, ...args: Parameters<EventType>) {
|
||||
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(async (resolve, reject) => {
|
||||
const id = randomUUID();
|
||||
let complete = 0;
|
||||
let retData: Parameters<ListenerType> | undefined = undefined;
|
||||
let retEvent: any = {};
|
||||
const databack = () => {
|
||||
if (complete < waitTimes) {
|
||||
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
|
||||
} else {
|
||||
resolve([retEvent as Awaited<ReturnType<EventType>>, ...retData!]);
|
||||
}
|
||||
};
|
||||
const Timeouter = setTimeout(databack, timeout);
|
||||
|
||||
const ListenerNameList = ListenerName.split('/');
|
||||
const ListenerMainName = ListenerNameList[0];
|
||||
const ListenerSubName = ListenerNameList[1];
|
||||
const eventCallbak = {
|
||||
timeout: timeout,
|
||||
createtime: Date.now(),
|
||||
func: (...args: any[]) => {
|
||||
complete++;
|
||||
//console.log('func', ...args);
|
||||
retData = args as Parameters<ListenerType>;
|
||||
if (complete >= waitTimes) {
|
||||
clearTimeout(Timeouter);
|
||||
databack();
|
||||
}
|
||||
}
|
||||
};
|
||||
if (!this.EventTask.get(ListenerMainName)) {
|
||||
this.EventTask.set(ListenerMainName, new Map());
|
||||
}
|
||||
if (!(this.EventTask.get(ListenerMainName)?.get(ListenerSubName))) {
|
||||
this.EventTask.get(ListenerMainName)?.set(ListenerSubName, new Map());
|
||||
}
|
||||
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallbak);
|
||||
this.CreatListenerFunction(ListenerMainName);
|
||||
const EventFunc = this.CreatEventFunction<EventType>(EventName);
|
||||
//console.log("测试打点", args);
|
||||
retEvent = await EventFunc!(...(args as any[]));
|
||||
});
|
||||
}
|
||||
}
|
||||
export const NTEventDispatch = new NTEventWrapper();
|
||||
|
||||
// 示例代码 快速创建事件
|
||||
// let NTEvent = new NTEventWrapper();
|
||||
// let TestEvent = NTEvent.CreatEventFunction<(force: boolean) => Promise<Number>>('NodeIKernelProfileLikeService/GetTest');
|
||||
// if (TestEvent) {
|
||||
// TestEvent(true);
|
||||
// }
|
||||
|
||||
// 示例代码 快速创建监听Listener类
|
||||
// let NTEvent = new NTEventWrapper();
|
||||
// NTEvent.CreatListenerFunction<NodeIKernelMsgListener>('NodeIKernelMsgListener', 'core')
|
||||
|
||||
|
||||
// 调用接口
|
||||
//let NTEvent = new NTEventWrapper();
|
||||
//let ret = await NTEvent.CallNormalEvent<(force: boolean) => Promise<Number>, (data1: string, data2: number) => void>('NodeIKernelProfileLikeService/GetTest', 'NodeIKernelMsgListener/onAddSendMsg', 1, 3000, true);
|
||||
|
||||
// 注册监听 解除监听
|
||||
// NTEventDispatch.RigisterListener('NodeIKernelMsgListener/onAddSendMsg','core',cb);
|
||||
// NTEventDispatch.UnRigisterListener('NodeIKernelMsgListener/onAddSendMsg','core');
|
||||
|
||||
// let GetTest = NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode);
|
||||
// GetTest('test');
|
||||
|
||||
// always模式
|
||||
// NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode,(...args:any[])=>{ console.log(args) });
|
145
src/common/utils/LRUCache.ts
Normal file
145
src/common/utils/LRUCache.ts
Normal file
@@ -0,0 +1,145 @@
|
||||
import { logError, logDebug } from '@/common/utils/log';
|
||||
|
||||
type group_id = number;
|
||||
type user_id = number;
|
||||
|
||||
class cacheNode<T> {
|
||||
value: T;
|
||||
groupId: group_id;
|
||||
userId: user_id;
|
||||
prev: cacheNode<T> | null;
|
||||
next: cacheNode<T> | null;
|
||||
timestamp: number;
|
||||
|
||||
constructor(groupId: group_id, userId: user_id, value: T) {
|
||||
this.groupId = groupId;
|
||||
this.userId = userId;
|
||||
this.value = value;
|
||||
this.prev = null;
|
||||
this.next = null;
|
||||
this.timestamp = Date.now();
|
||||
}
|
||||
}
|
||||
|
||||
type cache<T> = { [key: group_id]: { [key: user_id]: cacheNode<T> } };
|
||||
class LRU<T> {
|
||||
private maxAge: number;
|
||||
private maxSize: number;
|
||||
private currentSize: number;
|
||||
private cache: cache<T>;
|
||||
private head: cacheNode<T> | null = null;
|
||||
private tail: cacheNode<T> | null = null;
|
||||
private onFuncs: ((node: cacheNode<T>) => void)[] = [];
|
||||
|
||||
constructor(maxAge: number = 2e4, maxSize: number = 5e3) {
|
||||
this.maxAge = maxAge;
|
||||
this.maxSize = maxSize;
|
||||
this.cache = Object.create(null);
|
||||
this.currentSize = 0;
|
||||
|
||||
if (maxSize == 0) return;
|
||||
setInterval(() => this.removeExpired(), this.maxAge);
|
||||
}
|
||||
|
||||
// 移除LRU节点
|
||||
private removeLRUNode(node: cacheNode<T>) {
|
||||
logDebug(
|
||||
'removeLRUNode',
|
||||
node.groupId,
|
||||
node.userId,
|
||||
node.value,
|
||||
this.currentSize
|
||||
);
|
||||
node.prev = node.next = null;
|
||||
delete this.cache[node.groupId][node.userId];
|
||||
this.removeNode(node);
|
||||
this.onFuncs.forEach((func) => func(node));
|
||||
this.currentSize--;
|
||||
}
|
||||
|
||||
public on(func: (node: cacheNode<T>) => void) {
|
||||
this.onFuncs.push(func);
|
||||
}
|
||||
|
||||
private removeExpired() {
|
||||
const now = Date.now();
|
||||
let current = this.tail;
|
||||
const nodesToRemove: cacheNode<T>[] = [];
|
||||
let removedCount = 0;
|
||||
|
||||
// 收集需要删除的节点
|
||||
while (current && now - current.timestamp > this.maxAge) {
|
||||
nodesToRemove.push(current);
|
||||
current = current.prev;
|
||||
removedCount++;
|
||||
if (removedCount >= 100) break;
|
||||
}
|
||||
|
||||
// 更新链表指向
|
||||
if (nodesToRemove.length > 0) {
|
||||
const newTail = nodesToRemove[nodesToRemove.length - 1].prev;
|
||||
if (newTail) {
|
||||
newTail.next = null;
|
||||
} else {
|
||||
this.head = null;
|
||||
}
|
||||
this.tail = newTail;
|
||||
}
|
||||
|
||||
nodesToRemove.forEach((node) => {
|
||||
node.prev = node.next = null;
|
||||
delete this.cache[node.groupId][node.userId];
|
||||
|
||||
this.currentSize--;
|
||||
this.onFuncs.forEach((func) => func(node));
|
||||
});
|
||||
}
|
||||
|
||||
private addNode(node: cacheNode<T>) {
|
||||
node.next = this.head;
|
||||
if (this.head) this.head.prev = node;
|
||||
if (!this.tail) this.tail = node;
|
||||
this.head = node;
|
||||
}
|
||||
|
||||
private removeNode(node: cacheNode<T>) {
|
||||
if (node.prev) node.prev.next = node.next;
|
||||
if (node.next) node.next.prev = node.prev;
|
||||
if (node === this.head) this.head = node.next;
|
||||
if (node === this.tail) this.tail = node.prev;
|
||||
}
|
||||
|
||||
private moveToHead(node: cacheNode<T>) {
|
||||
if (this.head === node) return;
|
||||
|
||||
this.removeNode(node);
|
||||
this.addNode(node);
|
||||
node.prev = null;
|
||||
}
|
||||
|
||||
public set(groupId: group_id, userId: user_id, value: T) {
|
||||
if (!this.cache[groupId]) {
|
||||
this.cache[groupId] = Object.create(null);
|
||||
}
|
||||
|
||||
const groupObject = this.cache[groupId];
|
||||
|
||||
if (groupObject[userId]) {
|
||||
const node = groupObject[userId];
|
||||
node.value = value;
|
||||
node.timestamp = Date.now();
|
||||
this.moveToHead(node);
|
||||
} else {
|
||||
const node = new cacheNode(groupId, userId, value);
|
||||
groupObject[userId] = node;
|
||||
this.currentSize++;
|
||||
this.addNode(node);
|
||||
if (this.currentSize > this.maxSize) {
|
||||
const tail = this.tail!;
|
||||
this.removeLRUNode(tail);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default LRU;
|
53
src/common/utils/MessageUnique.ts
Normal file
53
src/common/utils/MessageUnique.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import crypto from 'crypto';
|
||||
|
||||
class LimitedHashTable<K, V> {
|
||||
private keyToValue: Map<K, V> = new Map();
|
||||
private valueToKey: Map<V, K> = new Map();
|
||||
private maxSize: number;
|
||||
private KeyQueneList: K[] = [];
|
||||
private ValueQueneList: V[] = [];
|
||||
constructor(maxSize: number) {
|
||||
this.maxSize = maxSize;
|
||||
}
|
||||
set(key: K, value: V): void {
|
||||
this.keyToValue.set(key, value);
|
||||
this.valueToKey.set(value, key);
|
||||
if (this.KeyQueneList.length >= this.maxSize || this.ValueQueneList.length >= this.maxSize) {
|
||||
this.KeyQueneList.shift();
|
||||
this.ValueQueneList.shift();
|
||||
}
|
||||
}
|
||||
|
||||
getValue(key: K): V | undefined {
|
||||
return this.keyToValue.get(key);
|
||||
}
|
||||
|
||||
getKey(value: V): K | undefined {
|
||||
return this.valueToKey.get(value);
|
||||
}
|
||||
|
||||
delete(key: K): void {
|
||||
const value = this.keyToValue.get(key);
|
||||
if (value !== undefined) {
|
||||
this.keyToValue.delete(key);
|
||||
this.valueToKey.delete(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MessageUniqueWrapper {
|
||||
private msgIdMap: LimitedHashTable<number, string> = new LimitedHashTable(1000);
|
||||
createMsg(MsgId: string) {
|
||||
let ShortId = parseInt(crypto.createHash('sha1').update('2345').digest('hex').slice(0, 8), 16);
|
||||
this.msgIdMap.set(ShortId, MsgId);
|
||||
return ShortId;
|
||||
}
|
||||
getMsgIdByShortId(ShortId: number) {
|
||||
return this.msgIdMap.getValue(ShortId);
|
||||
}
|
||||
getShortIdByMsgId(MsgId: string) {
|
||||
return this.msgIdMap.getKey(MsgId);
|
||||
}
|
||||
}
|
||||
|
||||
export const MessageUnique = new MessageUniqueWrapper();
|
@@ -2,6 +2,7 @@ import path from 'node:path';
|
||||
import fs from 'node:fs';
|
||||
import os from 'node:os';
|
||||
import { systemPlatform } from '@/common/utils/system';
|
||||
import { logError } from '@/common/utils/log';
|
||||
|
||||
export const exePath = process.execPath;
|
||||
|
||||
@@ -37,11 +38,11 @@ type QQVersionConfigInfo = {
|
||||
}
|
||||
|
||||
let _qqVersionConfigInfo: QQVersionConfigInfo = {
|
||||
'baseVersion': '9.9.9-23361',
|
||||
'curVersion': '9.9.9-23361',
|
||||
'baseVersion': '9.9.11-24568',
|
||||
'curVersion': '9.9.11-24568',
|
||||
'prevVersion': '',
|
||||
'onErrorVersions': [],
|
||||
'buildId': '23361'
|
||||
'buildId': '24568'
|
||||
};
|
||||
|
||||
if (fs.existsSync(configVersionInfoPath)) {
|
||||
@@ -49,12 +50,12 @@ if (fs.existsSync(configVersionInfoPath)) {
|
||||
const _ =JSON.parse(fs.readFileSync(configVersionInfoPath).toString());
|
||||
_qqVersionConfigInfo = Object.assign(_qqVersionConfigInfo, _);
|
||||
} catch (e) {
|
||||
console.error('Load QQ version config info failed, Use default version', e);
|
||||
logError('Load QQ version config info failed, Use default version', e);
|
||||
}
|
||||
}
|
||||
|
||||
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
|
||||
|
||||
//V1_WIN_NQ_9.9.11_24568_GW_B
|
||||
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
|
||||
// platform_type: 3,
|
||||
// app_type: 4,
|
||||
@@ -64,9 +65,13 @@ export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toSt
|
||||
// platVer: '10.0.26100',
|
||||
// clientVer: '9.9.9-23159',
|
||||
|
||||
let _appid: string = '537213803'; // 默认为 Windows 平台的 appid
|
||||
// Linux
|
||||
// app_version: '3.2.9-24568',
|
||||
// qua: 'V1_LNX_NQ_3.2.9_24568_GW_B',
|
||||
|
||||
let _appid: string = '537226369'; // 默认为 Windows 平台的 appid
|
||||
if (systemPlatform === 'linux') {
|
||||
_appid = '537213827';
|
||||
_appid = '537226441';
|
||||
}
|
||||
// todo: mac 平台的 appid
|
||||
export const appid = _appid;
|
||||
|
@@ -24,7 +24,7 @@ export async function encodeSilk(filePath: string) {
|
||||
const fileHeader = buffer.toString('hex', 0, bytesToRead);
|
||||
return fileHeader;
|
||||
} catch (err) {
|
||||
console.error('读取文件错误:', err);
|
||||
logError('读取文件错误:', err);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,6 @@ import fs from 'fs';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
export function getModuleWithArchName(moduleName: string) {
|
||||
|
449
src/common/utils/db.ts
Normal file
449
src/common/utils/db.ts
Normal file
@@ -0,0 +1,449 @@
|
||||
import { ElementType, FileElement, PicElement, PttElement, RawMessage, VideoElement } from '../../core/src/entities';
|
||||
|
||||
import sqlite3 from 'sqlite3';
|
||||
import { log, logDebug, logError } from '@/common/utils/log';
|
||||
import { NTQQMsgApi } from '@/core';
|
||||
import LRU from '@/common/utils/LRUCache';
|
||||
|
||||
export interface IRember {
|
||||
last_sent_time: number;
|
||||
join_time: number;
|
||||
user_id: number;
|
||||
}
|
||||
|
||||
|
||||
type DBMsg = {
|
||||
id: number,
|
||||
shortId: number,
|
||||
longId: string,
|
||||
seq: number,
|
||||
peerUid: string,
|
||||
chatType: number,
|
||||
}
|
||||
|
||||
type DBFile = {
|
||||
name: string; // 文件名
|
||||
path: string;
|
||||
url: string;
|
||||
size: number;
|
||||
uuid: string;
|
||||
msgId: string;
|
||||
elementId: string;
|
||||
element: PicElement | VideoElement | FileElement | PttElement;
|
||||
elementType: ElementType.PIC | ElementType.VIDEO | ElementType.FILE | ElementType.PTT;
|
||||
}
|
||||
|
||||
|
||||
class DBUtilBase {
|
||||
protected db: sqlite3.Database | undefined;
|
||||
|
||||
async init(dbPath: string) {
|
||||
if (this.db) {
|
||||
return;
|
||||
}
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
this.db = new sqlite3.Database(dbPath, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err) => {
|
||||
if (err) {
|
||||
logError('Could not connect to database', err);
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
this.createTable();
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
protected createTable() {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
close() {
|
||||
this.db?.close();
|
||||
}
|
||||
}
|
||||
|
||||
class DBUtil extends DBUtilBase {
|
||||
private msgCache: Map<string | number, RawMessage> = new Map<string | number, RawMessage>();
|
||||
private globalMsgShortId = -2147483640;
|
||||
private groupIds: number[] = [];
|
||||
private LURCache = new LRU<number>();
|
||||
private LastSentCache = new (class {
|
||||
private cache: { gid: number; uid: number }[] = [];
|
||||
private maxSize: number;
|
||||
|
||||
constructor(maxSize: number = 5000) {
|
||||
this.maxSize = maxSize;
|
||||
}
|
||||
|
||||
get(gid: number, uid: number): boolean {
|
||||
const exists = this.cache.some(
|
||||
(entry) => entry.gid === gid && entry.uid === uid
|
||||
);
|
||||
if (!exists) {
|
||||
this.cache.push({ gid, uid });
|
||||
if (this.cache.length > this.maxSize) {
|
||||
this.cache.shift();
|
||||
}
|
||||
}
|
||||
|
||||
return exists;
|
||||
}
|
||||
})();
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
const interval = 1000 * 60 * 10; // 10分钟清理一次缓存
|
||||
setInterval(() => {
|
||||
logDebug('清理消息缓存');
|
||||
this.msgCache.forEach((msg, key) => {
|
||||
if ((Date.now() - parseInt(msg.msgTime) * 1000) > interval) {
|
||||
this.msgCache.delete(key);
|
||||
}
|
||||
});
|
||||
}, interval);
|
||||
}
|
||||
|
||||
async init(dbPath: string) {
|
||||
await super.init(dbPath);
|
||||
this.globalMsgShortId = await this.getCurrentMaxShortId();
|
||||
|
||||
|
||||
// 初始化群缓存列表
|
||||
this.db!.serialize(() => {
|
||||
const sql = 'SELECT * FROM sqlite_master WHERE type=\'table\'';
|
||||
this.db!.all(sql, [], (err, rows: { name: string }[]) => {
|
||||
if (err) return logError(err);
|
||||
rows.forEach((row) => this.groupIds.push(parseInt(row.name)));
|
||||
//logDebug(`已加载 ${groupIds.length} 个群`);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
this.LURCache.on(async (node) => {
|
||||
const { value: time, groupId, userId } = node;
|
||||
|
||||
logDebug('插入发言时间', userId, groupId);
|
||||
await this.createGroupInfoTimeTableIfNotExist(groupId);
|
||||
|
||||
const method = await this.getDataSetMethod(groupId, userId);
|
||||
logDebug('插入发言时间方法判断', userId, groupId, method);
|
||||
|
||||
const sql =
|
||||
method == 'update'
|
||||
? `UPDATE "${groupId}" SET last_sent_time = ? WHERE user_id = ?`
|
||||
: `INSERT INTO "${groupId}" (last_sent_time, user_id) VALUES (?, ?)`;
|
||||
|
||||
this.db!.all(sql, [time, userId], (err) => {
|
||||
if (err) {
|
||||
return logError('插入/更新发言时间失败', userId, groupId);
|
||||
}
|
||||
logDebug('插入/更新发言时间成功', userId, groupId);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
async getDataSetMethod(groupId: number, userId: number) {
|
||||
// 缓存记录
|
||||
if (this.LastSentCache.get(groupId, userId)) {
|
||||
logDebug('缓存命中', userId, groupId);
|
||||
return 'update';
|
||||
}
|
||||
|
||||
// 数据库判断
|
||||
return new Promise<'insert' | 'update'>((resolve, reject) => {
|
||||
this.db!.all(
|
||||
`SELECT * FROM "${groupId}" WHERE user_id = ?`,
|
||||
[userId],
|
||||
(err, rows) => {
|
||||
if (err) {
|
||||
logError('查询发言时间存在失败', userId, groupId, err);
|
||||
return logError('插入发言时间失败', userId, groupId, err);
|
||||
}
|
||||
|
||||
if (rows.length === 0) {
|
||||
logDebug('查询发言时间不存在', userId, groupId);
|
||||
return resolve('insert');
|
||||
}
|
||||
|
||||
logDebug('查询发言时间存在', userId, groupId);
|
||||
resolve('update');
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
async createGroupInfoTimeTableIfNotExist(groupId: number) {
|
||||
const createTableSQL = (groupId: number) =>
|
||||
`CREATE TABLE IF NOT EXISTS "${groupId}" (
|
||||
user_id INTEGER,
|
||||
last_sent_time INTEGER,
|
||||
join_time INTEGER,
|
||||
PRIMARY KEY (user_id)
|
||||
);`;
|
||||
|
||||
if (this.groupIds.includes(groupId)) {
|
||||
return;
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
const sql = createTableSQL(groupId);
|
||||
this.db!.all(sql, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
this.groupIds.push(groupId);
|
||||
resolve(true);
|
||||
});
|
||||
});
|
||||
}
|
||||
protected createTable() {
|
||||
// 消息记录
|
||||
const createTableSQL = `
|
||||
CREATE TABLE IF NOT EXISTS msgs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
shortId INTEGER NOT NULL UNIQUE,
|
||||
longId TEXT NOT NULL UNIQUE,
|
||||
seq INTEGER NOT NULL,
|
||||
peerUid TEXT NOT NULL,
|
||||
chatType INTEGER NOT NULL
|
||||
)`;
|
||||
this.db!.run(createTableSQL, function (err) {
|
||||
if (err) {
|
||||
logError('Could not create table msgs', err.stack);
|
||||
}
|
||||
});
|
||||
|
||||
// 文件缓存
|
||||
const createFileTableSQL = `
|
||||
CREATE TABLE IF NOT EXISTS files (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
path TEXT NOT NULL,
|
||||
url TEXT,
|
||||
size INTEGER NOT NULL,
|
||||
uuid TEXT,
|
||||
elementType INTEGER,
|
||||
element TEXT NOT NULL,
|
||||
elementId TEXT NOT NULL,
|
||||
msgId TEXT NOT NULL
|
||||
)`;
|
||||
this.db!.run(createFileTableSQL, function (err) {
|
||||
if (err) {
|
||||
logError('Could not create table files', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private async getCurrentMaxShortId() {
|
||||
return new Promise<number>((resolve, reject) => {
|
||||
this.db!.get('SELECT MAX(shortId) as maxId FROM msgs', (err, row: { maxId: number }) => {
|
||||
if (err) {
|
||||
logDebug('Could not get max short id, Use default -2147483640', err);
|
||||
return resolve(-2147483640);
|
||||
}
|
||||
logDebug('数据库中消息最大短id', row?.maxId);
|
||||
resolve(row?.maxId ?? -2147483640);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private async getMsg(query: string, params: any[]) {
|
||||
const stmt = this.db!.prepare(query);
|
||||
return new Promise<RawMessage | null>((resolve, reject) => {
|
||||
stmt.get(...params, (err: any, row: DBMsg) => {
|
||||
// log("getMsg", row, err);
|
||||
if (err) {
|
||||
logError('Could not get msg', err, query, params);
|
||||
return resolve(null);
|
||||
}
|
||||
if (!row) {
|
||||
// logDebug('不存在数据库中的消息,不进行处理', query, params);
|
||||
resolve(null);
|
||||
return;
|
||||
}
|
||||
const msgId = row.longId;
|
||||
NTQQMsgApi.getMsgsByMsgId({ peerUid: row.peerUid, chatType: row.chatType }, [msgId]).then(res => {
|
||||
const msg = res.msgList[0];
|
||||
if (!msg) {
|
||||
resolve(null);
|
||||
return;
|
||||
}
|
||||
msg.id = row.shortId;
|
||||
resolve(msg);
|
||||
}).catch(e => {
|
||||
resolve(null);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async getMsgByShortId(shortId: number): Promise<RawMessage | null> {
|
||||
if (this.msgCache.has(shortId)) {
|
||||
return this.msgCache.get(shortId)!;
|
||||
}
|
||||
const getStmt = 'SELECT * FROM msgs WHERE shortId = ?';
|
||||
return this.getMsg(getStmt, [shortId]);
|
||||
}
|
||||
|
||||
async getMsgByLongId(longId: string): Promise<RawMessage | null> {
|
||||
if (this.msgCache.has(longId)) {
|
||||
return this.msgCache.get(longId)!;
|
||||
}
|
||||
return this.getMsg('SELECT * FROM msgs WHERE longId = ?', [longId]);
|
||||
}
|
||||
|
||||
async getMsgBySeq(peerUid: string, seq: string): Promise<RawMessage | null> {
|
||||
const stmt = 'SELECT * FROM msgs WHERE peerUid = ? AND seq = ?';
|
||||
return this.getMsg(stmt, [peerUid, seq]);
|
||||
}
|
||||
|
||||
async addMsg(msg: RawMessage, update = true): Promise<number> {
|
||||
const existMsg = await this.getMsgByLongId(msg.msgId);
|
||||
if (existMsg) {
|
||||
// logDebug('消息已存在,更新数据库', msg.msgId);
|
||||
if (update) this.updateMsg(msg).then();
|
||||
return existMsg.id!;
|
||||
}
|
||||
const stmt = this.db!.prepare('INSERT INTO msgs (shortId, longId, seq, peerUid, chatType) VALUES (?, ?, ?, ?, ?)');
|
||||
// const runAsync = promisify(stmt.run.bind(stmt));
|
||||
const shortId = ++this.globalMsgShortId;
|
||||
msg.id = shortId;
|
||||
//logDebug(`记录消息到数据库, 消息长id: ${msg.msgId}, 短id: ${msg.id}`);
|
||||
this.msgCache.set(shortId, msg);
|
||||
this.msgCache.set(msg.msgId, msg);
|
||||
stmt.run(this.globalMsgShortId, msg.msgId, msg.msgSeq.toString(), msg.peerUid, msg.chatType, (err: any) => {
|
||||
if (err) {
|
||||
if (err.errno === 19) {
|
||||
this.getMsgByLongId(msg.msgId).then((msg: RawMessage | null) => {
|
||||
if (msg) {
|
||||
this.msgCache.set(shortId, msg);
|
||||
this.msgCache.set(msg.msgId, msg);
|
||||
// logDebug('获取消息短id成功', msg.id);
|
||||
} else {
|
||||
logError('db could not get msg by long id', err);
|
||||
}
|
||||
}).catch(e => logError('db getMsgByLongId error', e));
|
||||
} else {
|
||||
logError('db could not add msg', err);
|
||||
}
|
||||
}
|
||||
});
|
||||
return shortId;
|
||||
}
|
||||
|
||||
async updateMsg(msg: RawMessage) {
|
||||
const existMsg = this.msgCache.get(msg.msgId);
|
||||
if (existMsg) {
|
||||
Object.assign(existMsg, msg);
|
||||
}
|
||||
//logDebug(`更新消息, shortId:${msg.id}, seq: ${msg.msgSeq}, msgId: ${msg.msgId}`);
|
||||
const stmt = this.db!.prepare('UPDATE msgs SET seq=? WHERE longId=?');
|
||||
stmt.run(msg.msgSeq, msg.msgId, (err: any) => {
|
||||
if (err) {
|
||||
logError('updateMsg db error', err);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
async addFileCache(file: DBFile) {
|
||||
const stmt = this.db!.prepare('INSERT INTO files (name, path, url, size, uuid, elementType ,element, elementId, msgId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
||||
return new Promise((resolve, reject) => {
|
||||
stmt.run(file.name, file.path, file.url, file.size, file.uuid,
|
||||
file.elementType,
|
||||
JSON.stringify(file.element),
|
||||
file.elementId,
|
||||
file.msgId,
|
||||
function (err: any) {
|
||||
if (err) {
|
||||
logError('db could not add file', err);
|
||||
reject(err);
|
||||
}
|
||||
resolve(null);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private async getFileCache(query: string, params: any[]) {
|
||||
const stmt = this.db!.prepare(query);
|
||||
return new Promise<DBFile | null>((resolve, reject) => {
|
||||
stmt.get(...params, (err: any, row: DBFile & { element: string }) => {
|
||||
if (err) {
|
||||
logError('db could not get file cache', err);
|
||||
reject(err);
|
||||
}
|
||||
if (row) {
|
||||
row.element = JSON.parse(row.element);
|
||||
}
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async getFileCacheByName(name: string): Promise<DBFile | null> {
|
||||
return this.getFileCache('SELECT * FROM files WHERE name = ?', [name]);
|
||||
}
|
||||
|
||||
async getFileCacheByUuid(uuid: string): Promise<DBFile | null> {
|
||||
return this.getFileCache('SELECT * FROM files WHERE uuid = ?', [uuid]);
|
||||
}
|
||||
|
||||
// todo: 是否所有的文件都有uuid?语音消息有没有uuid?
|
||||
async updateFileCache(file: DBFile) {
|
||||
const stmt = this.db!.prepare('UPDATE files SET path = ?, url = ? WHERE uuid = ?');
|
||||
return new Promise((resolve, reject) => {
|
||||
stmt.run(file.path, file.url, file.uuid, function (err: any) {
|
||||
if (err) {
|
||||
logError('db could not update file cache', err);
|
||||
reject(err);
|
||||
}
|
||||
resolve(null);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async getLastSentTimeAndJoinTime(
|
||||
groupId: number
|
||||
): Promise<IRember[]> {
|
||||
logDebug('读取发言时间', groupId);
|
||||
return new Promise<IRember[]>((resolve, reject) => {
|
||||
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
|
||||
if (err) {
|
||||
logError('查询发言时间失败', groupId);
|
||||
return resolve([]);
|
||||
}
|
||||
logDebug('查询发言时间成功', groupId, rows);
|
||||
resolve(rows);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
insertLastSentTime(
|
||||
groupId: number,
|
||||
userId: number,
|
||||
time: number
|
||||
) {
|
||||
this.LURCache.set(groupId, userId, time);
|
||||
}
|
||||
async insertJoinTime(
|
||||
groupId: number,
|
||||
userId: number,
|
||||
time: number
|
||||
) {
|
||||
await this.createGroupInfoTimeTableIfNotExist(groupId);
|
||||
this.db!.all(
|
||||
`INSERT OR REPLACE INTO "${groupId}" (user_id, last_sent_time, join_time) VALUES (?,?,?)`,
|
||||
[userId, time, time],
|
||||
(err) => {
|
||||
if (err)
|
||||
logError(err),
|
||||
Promise.reject(),
|
||||
logError('插入入群时间失败', userId, groupId);
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const dbUtil = new DBUtil();
|
@@ -3,8 +3,8 @@ import fsPromise from 'fs/promises';
|
||||
import crypto from 'crypto';
|
||||
import util from 'util';
|
||||
import path from 'node:path';
|
||||
import { log } from './log';
|
||||
import { dbUtil } from '@/core/utils/db';
|
||||
import { log, logError } from './log';
|
||||
import { dbUtil } from '@/common/utils/db';
|
||||
import * as fileType from 'file-type';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { napCatCore } from '@/core';
|
||||
@@ -262,12 +262,12 @@ export async function copyFolder(sourcePath: string, destPath: string) {
|
||||
try {
|
||||
await fsPromise.copyFile(srcPath, dstPath);
|
||||
} catch (error) {
|
||||
console.error(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
|
||||
logError(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
|
||||
// 这里可以决定是否要继续复制其他文件
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('复制文件夹时出错:', error);
|
||||
logError('复制文件夹时出错:', error);
|
||||
}
|
||||
}
|
||||
|
@@ -138,6 +138,10 @@ export function migrateConfig(oldConfig: any) {
|
||||
enable: oldConfig.enableWsReverse,
|
||||
urls: oldConfig.wsReverseUrls,
|
||||
},
|
||||
GroupLocalTime: {
|
||||
Record: false,
|
||||
RecordList: []
|
||||
},
|
||||
debug: oldConfig.debug,
|
||||
heartInterval: oldConfig.heartInterval,
|
||||
messagePostFormat: oldConfig.messagePostFormat,
|
||||
@@ -145,6 +149,7 @@ export function migrateConfig(oldConfig: any) {
|
||||
musicSignUrl: oldConfig.musicSignUrl,
|
||||
reportSelfMessage: oldConfig.reportSelfMessage,
|
||||
token: oldConfig.token,
|
||||
|
||||
};
|
||||
return newConfig;
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ import path from 'node:path';
|
||||
import { SelfInfo } from '@/core';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
import chalk from 'chalk';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
@@ -42,14 +42,14 @@ const logConfig: Configuration = {
|
||||
maxLoogSize: 10485760, // 日志文件的最大大小(单位:字节),这里设置为10MB
|
||||
layout: {
|
||||
type: 'pattern',
|
||||
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
|
||||
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] %X{userInfo} | %m'
|
||||
}
|
||||
},
|
||||
ConsoleAppender: { // 输出到控制台的appender
|
||||
type: 'console',
|
||||
layout: {
|
||||
type: 'pattern',
|
||||
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
|
||||
pattern: `%d{yyyy-MM-dd hh:mm:ss} [%[%p%]] ${chalk.magenta('%X{userInfo}')} | %m`
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -61,7 +61,9 @@ const logConfig: Configuration = {
|
||||
};
|
||||
|
||||
log4js.configure(logConfig);
|
||||
|
||||
const loggerConsole = log4js.getLogger('console');
|
||||
const loggerFile = log4js.getLogger('file');
|
||||
const loggerDefault = log4js.getLogger('default');
|
||||
|
||||
export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
|
||||
logConfig.categories.file.level = fileLogLevel;
|
||||
@@ -70,12 +72,12 @@ export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
|
||||
}
|
||||
|
||||
export function setLogSelfInfo(selfInfo: SelfInfo) {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-expect-error
|
||||
logConfig.appenders.FileAppender.layout.pattern = logConfig.appenders.ConsoleAppender.layout.pattern =
|
||||
`%d{yyyy-MM-dd hh:mm:ss} [%p] ${selfInfo.nick}(${selfInfo.uin}) %m`;
|
||||
log4js.configure(logConfig);
|
||||
const userInfo = `${selfInfo.nick}(${selfInfo.uin})`;
|
||||
loggerConsole.addContext('userInfo', userInfo);
|
||||
loggerFile.addContext('userInfo', userInfo);
|
||||
loggerDefault.addContext('userInfo', userInfo);
|
||||
}
|
||||
setLogSelfInfo({ nick: '', uin: '', uid: '' });
|
||||
|
||||
let fileLogEnabled = true;
|
||||
let consoleLogEnabled = true;
|
||||
@@ -86,7 +88,7 @@ export function enableConsoleLog(enable: boolean) {
|
||||
consoleLogEnabled = enable;
|
||||
}
|
||||
|
||||
function formatMsg(msg: any[]){
|
||||
function formatMsg(msg: any[]) {
|
||||
let logMsg = '';
|
||||
for (const msgItem of msg) {
|
||||
// 判断是否是对象
|
||||
@@ -97,15 +99,18 @@ function formatMsg(msg: any[]){
|
||||
}
|
||||
logMsg += msgItem + ' ';
|
||||
}
|
||||
return '\n' + logMsg + '\n';
|
||||
return logMsg;
|
||||
}
|
||||
|
||||
function _log(level: LogLevel, ...args: any[]){
|
||||
if (consoleLogEnabled){
|
||||
log4js.getLogger('console')[level](formatMsg(args));
|
||||
// eslint-disable-next-line no-control-regex
|
||||
const colorEscape = /\x1B[@-_][0-?]*[ -/]*[@-~]/g;
|
||||
|
||||
function _log(level: LogLevel, ...args: any[]) {
|
||||
if (consoleLogEnabled) {
|
||||
loggerConsole[level](formatMsg(args));
|
||||
}
|
||||
if (fileLogEnabled){
|
||||
log4js.getLogger('file')[level](formatMsg(args));
|
||||
if (fileLogEnabled) {
|
||||
loggerFile[level](formatMsg(args).replace(colorEscape, ''));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,3 +126,11 @@ export function logDebug(...args: any[]) {
|
||||
export function logError(...args: any[]) {
|
||||
_log(LogLevel.ERROR, ...args);
|
||||
}
|
||||
|
||||
export function logWarn(...args: any[]) {
|
||||
_log(LogLevel.WARN, ...args);
|
||||
}
|
||||
|
||||
export function logFatal(...args: any[]) {
|
||||
_log(LogLevel.FATAL, ...args);
|
||||
}
|
@@ -1,17 +1,74 @@
|
||||
import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
import { networkInterfaces } from 'os';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
// 缓解Win7设备兼容性问题
|
||||
let osName: string;
|
||||
// 设备ID
|
||||
let machineId: Promise<string>;
|
||||
|
||||
try {
|
||||
osName = os.hostname();
|
||||
} catch (e) {
|
||||
osName = 'NapCat'; // + crypto.randomUUID().substring(0, 4);
|
||||
}
|
||||
|
||||
const invalidMacAddresses = new Set([
|
||||
'00:00:00:00:00:00',
|
||||
'ff:ff:ff:ff:ff:ff',
|
||||
'ac:de:48:00:11:22'
|
||||
]);
|
||||
|
||||
function validateMacAddress(candidate: string): boolean {
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
const tempCandidate = candidate.replace(/\-/g, ':').toLowerCase();
|
||||
return !invalidMacAddresses.has(tempCandidate);
|
||||
}
|
||||
|
||||
export async function getMachineId(): Promise<string> {
|
||||
if (!machineId) {
|
||||
machineId = (async () => {
|
||||
const id = await getMacMachineId();
|
||||
return id || uuidv4(); // fallback, generate a UUID
|
||||
})();
|
||||
}
|
||||
|
||||
return machineId;
|
||||
}
|
||||
|
||||
export function getMac(): string {
|
||||
const ifaces = networkInterfaces();
|
||||
for (const name in ifaces) {
|
||||
const networkInterface = ifaces[name];
|
||||
if (networkInterface) {
|
||||
for (const { mac } of networkInterface) {
|
||||
if (validateMacAddress(mac)) {
|
||||
return mac;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error('Unable to retrieve mac address (unexpected format)');
|
||||
}
|
||||
|
||||
async function getMacMachineId(): Promise<string | undefined> {
|
||||
try {
|
||||
const crypto = await import('crypto');
|
||||
const macAddress = getMac();
|
||||
return crypto.createHash('sha256').update(macAddress, 'utf8').digest('hex');
|
||||
} catch (err) {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
const homeDir = os.homedir();
|
||||
|
||||
|
||||
export const systemPlatform = os.platform();
|
||||
export const cpuArch = os.arch();
|
||||
export const systemVersion = os.release();
|
||||
export const hostname = osName;
|
||||
const homeDir = os.homedir();
|
||||
export const downloadsPath = path.join(homeDir, 'Downloads');
|
||||
export const systemName = os.type();
|
||||
export const systemName = os.type();
|
@@ -14,7 +14,7 @@ export async function checkVersion(): Promise<string> {
|
||||
try {
|
||||
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
|
||||
} catch (e) {
|
||||
logDebug(e);
|
||||
logDebug('检测更新异常',e);
|
||||
}
|
||||
if (version) {
|
||||
resolve(version);
|
||||
|
@@ -24,7 +24,7 @@ export async function getVideoInfo(filePath: string) {
|
||||
} else {
|
||||
const videoStream = metadata.streams.find((s: { codec_type: string; }) => s.codec_type === 'video');
|
||||
if (videoStream) {
|
||||
console.log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
|
||||
log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
|
||||
} else {
|
||||
return reject('未找到视频流信息。');
|
||||
}
|
||||
|
2
src/core
2
src/core
Submodule src/core updated: d7677362d1...4df3fea47c
@@ -1 +1 @@
|
||||
var _0x2f9bbf=_0x8fe9;(function(_0x240c15,_0x13a1b9){var _0x44d52a=_0x8fe9,_0x48175b=_0x240c15();while(!![]){try{var _0x43e10a=-parseInt(_0x44d52a(0xd2))/0x1+-parseInt(_0x44d52a(0xca))/0x2*(parseInt(_0x44d52a(0xce))/0x3)+parseInt(_0x44d52a(0xcc))/0x4*(parseInt(_0x44d52a(0xcf))/0x5)+parseInt(_0x44d52a(0xd0))/0x6+parseInt(_0x44d52a(0xd4))/0x7+-parseInt(_0x44d52a(0xcd))/0x8+parseInt(_0x44d52a(0xcb))/0x9;if(_0x43e10a===_0x13a1b9)break;else _0x48175b['push'](_0x48175b['shift']());}catch(_0x212c5e){_0x48175b['push'](_0x48175b['shift']());}}}(_0x573b,0x4e014));export class DependsAdapter{[_0x2f9bbf(0xd1)](_0x571d8c,_0x2da53b){}['onMSFSsoError'](_0xeb8504){}[_0x2f9bbf(0xd3)](_0xc5cb23){}}function _0x8fe9(_0x18a1a4,_0xb679b){var _0x573b03=_0x573b();return _0x8fe9=function(_0x8fe947,_0x355420){_0x8fe947=_0x8fe947-0xca;var _0x14c474=_0x573b03[_0x8fe947];return _0x14c474;},_0x8fe9(_0x18a1a4,_0xb679b);}function _0x573b(){var _0x2f3e16=['onMSFStatusChange','178221cLXANj','getGroupCode','2825634SxDvBt','18NYwNJJ','3815829fEQwgG','3524MpzAYl','2522312mBhRkw','137181gBuRKZ','1655noChHQ','631842JoCFyL'];_0x573b=function(){return _0x2f3e16;};return _0x573b();}
|
||||
var _0x5daf60=_0xf130;function _0xf130(_0x5aba6b,_0x2da99a){var _0x33d41a=_0x33d4();return _0xf130=function(_0xf13007,_0x22a283){_0xf13007=_0xf13007-0xe5;var _0x3c4d22=_0x33d41a[_0xf13007];return _0x3c4d22;},_0xf130(_0x5aba6b,_0x2da99a);}(function(_0x766d05,_0x3fb57d){var _0x53e091=_0xf130,_0x489945=_0x766d05();while(!![]){try{var _0xe36748=-parseInt(_0x53e091(0xed))/0x1+parseInt(_0x53e091(0xea))/0x2+-parseInt(_0x53e091(0xe9))/0x3*(-parseInt(_0x53e091(0xeb))/0x4)+-parseInt(_0x53e091(0xe8))/0x5+parseInt(_0x53e091(0xf0))/0x6*(-parseInt(_0x53e091(0xe7))/0x7)+-parseInt(_0x53e091(0xee))/0x8+parseInt(_0x53e091(0xec))/0x9;if(_0xe36748===_0x3fb57d)break;else _0x489945['push'](_0x489945['shift']());}catch(_0x30aacf){_0x489945['push'](_0x489945['shift']());}}}(_0x33d4,0x1ead7));export class DependsAdapter{[_0x5daf60(0xe5)](_0xa0058e,_0x3600a1){}[_0x5daf60(0xe6)](_0x348363){}[_0x5daf60(0xef)](_0x204292){}}function _0x33d4(){var _0x49d45c=['219395XymPAD','33xKAgLL','159856uAUczW','34268fiVkzX','3445191kRIxPL','228722umUXvP','1128496fVpmLM','getGroupCode','18FwcbMu','onMSFStatusChange','onMSFSsoError','41174mHKvzA'];_0x33d4=function(){return _0x49d45c;};return _0x33d4();}
|
@@ -1 +1 @@
|
||||
function _0x3ac0(_0xcb3d4b,_0x45f6cb){var _0x2b332b=_0x2b33();return _0x3ac0=function(_0x3ac014,_0x31f067){_0x3ac014=_0x3ac014-0x99;var _0x2afe55=_0x2b332b[_0x3ac014];return _0x2afe55;},_0x3ac0(_0xcb3d4b,_0x45f6cb);}var _0x280cdc=_0x3ac0;(function(_0x588061,_0x26dac4){var _0x15d572=_0x3ac0,_0x4587ee=_0x588061();while(!![]){try{var _0x254bd5=parseInt(_0x15d572(0x9c))/0x1*(parseInt(_0x15d572(0x9e))/0x2)+-parseInt(_0x15d572(0x9a))/0x3+parseInt(_0x15d572(0x9f))/0x4+-parseInt(_0x15d572(0xa2))/0x5*(-parseInt(_0x15d572(0x99))/0x6)+parseInt(_0x15d572(0xa3))/0x7+-parseInt(_0x15d572(0xa1))/0x8+-parseInt(_0x15d572(0xa0))/0x9;if(_0x254bd5===_0x26dac4)break;else _0x4587ee['push'](_0x4587ee['shift']());}catch(_0x56648a){_0x4587ee['push'](_0x4587ee['shift']());}}}(_0x2b33,0xf1277));function _0x2b33(){var _0xc7fab1=['1825kjRMcS','5841192YmjWIa','16560eAuaMG','3835482QHUUkd','dispatchCall','1946334JCCcaL','dispatchCallWithJson','2zkkgjJ','150988uHQIIQ','4671639vENctH','8324840uivMEo'];_0x2b33=function(){return _0xc7fab1;};return _0x2b33();}export class DispatcherAdapter{['dispatchRequest'](_0x248d19){}[_0x280cdc(0x9b)](_0x3add8e){}[_0x280cdc(0x9d)](_0x5c5ae9){}}
|
||||
var _0x214073=_0x2b60;(function(_0x5e20f9,_0x20e9be){var _0x454329=_0x2b60,_0x300af1=_0x5e20f9();while(!![]){try{var _0x43a03a=-parseInt(_0x454329(0x1ed))/0x1+parseInt(_0x454329(0x1ee))/0x2*(-parseInt(_0x454329(0x1ec))/0x3)+parseInt(_0x454329(0x1f2))/0x4*(-parseInt(_0x454329(0x1f6))/0x5)+-parseInt(_0x454329(0x1f7))/0x6+parseInt(_0x454329(0x1f5))/0x7*(parseInt(_0x454329(0x1f0))/0x8)+parseInt(_0x454329(0x1f3))/0x9*(parseInt(_0x454329(0x1ef))/0xa)+-parseInt(_0x454329(0x1f4))/0xb*(-parseInt(_0x454329(0x1f8))/0xc);if(_0x43a03a===_0x20e9be)break;else _0x300af1['push'](_0x300af1['shift']());}catch(_0x27b22f){_0x300af1['push'](_0x300af1['shift']());}}}(_0x2d6a,0x347a9));function _0x2d6a(){var _0x2818e0=['70861OHGMJT','190378vcnJXJ','20jJxrgK','8ueFxDz','dispatchCall','8376nVDfrE','1098459UJbRaq','267663KVUxuI','904582avcoHF','270NAgmBg','2341452hzQpYq','252zEhNCo','dispatchCallWithJson','3QqtZgA'];_0x2d6a=function(){return _0x2818e0;};return _0x2d6a();}function _0x2b60(_0xc105d,_0xe30940){var _0x2d6a55=_0x2d6a();return _0x2b60=function(_0x2b601f,_0x49675f){_0x2b601f=_0x2b601f-0x1eb;var _0x1d1834=_0x2d6a55[_0x2b601f];return _0x1d1834;},_0x2b60(_0xc105d,_0xe30940);}export class DispatcherAdapter{['dispatchRequest'](_0x111dd9){}[_0x214073(0x1f1)](_0x18169d){}[_0x214073(0x1eb)](_0x51c38b){}}
|
@@ -1 +1 @@
|
||||
function _0x1df5(_0x27abc9,_0x3c7ef2){var _0xc3f8d0=_0xc3f8();return _0x1df5=function(_0x1df5c8,_0x58406f){_0x1df5c8=_0x1df5c8-0xc1;var _0x38a336=_0xc3f8d0[_0x1df5c8];return _0x38a336;},_0x1df5(_0x27abc9,_0x3c7ef2);}var _0xf13a48=_0x1df5;function _0xc3f8(){var _0x515c7b=['onUpdateGeneralFlag','onInstallFinished','35oJkVEv','18689GsIXsr','6288639DoJhBd','16DRWxYZ','onGetOfflineMsg','46532ntLefW','214PFXCeb','onShowErrUITips','155508VNpANx','getAppSetting','onLog','fixPicImgType','5277gYNKnY','12124404nWZHLJ','5790JCJBEK','956112FsBkcc'];_0xc3f8=function(){return _0x515c7b;};return _0xc3f8();}(function(_0x19fe3e,_0x12ef0c){var _0x48c992=_0x1df5,_0x2282fb=_0x19fe3e();while(!![]){try{var _0x5c171b=-parseInt(_0x48c992(0xc8))/0x1+parseInt(_0x48c992(0xd1))/0x2*(-parseInt(_0x48c992(0xc5))/0x3)+-parseInt(_0x48c992(0xd0))/0x4*(parseInt(_0x48c992(0xcb))/0x5)+parseInt(_0x48c992(0xc1))/0x6+parseInt(_0x48c992(0xcd))/0x7*(parseInt(_0x48c992(0xce))/0x8)+parseInt(_0x48c992(0xc6))/0x9+parseInt(_0x48c992(0xc7))/0xa*(-parseInt(_0x48c992(0xcc))/0xb);if(_0x5c171b===_0x12ef0c)break;else _0x2282fb['push'](_0x2282fb['shift']());}catch(_0x14c6f7){_0x2282fb['push'](_0x2282fb['shift']());}}}(_0xc3f8,0xea75f));export class GlobalAdapter{[_0xf13a48(0xc3)](..._0x4af3af){}['onGetSrvCalTime'](..._0x3c2bc9){}[_0xf13a48(0xd2)](..._0x38db4e){}[_0xf13a48(0xc4)](..._0x5d1a18){}[_0xf13a48(0xc2)](..._0x43369d){}[_0xf13a48(0xca)](..._0x3eb3c8){}[_0xf13a48(0xc9)](..._0x190a92){}[_0xf13a48(0xcf)](..._0x314054){}}
|
||||
function _0x29a4(){var _0x4115a3=['onInstallFinished','1713439MGzBmu','onGetSrvCalTime','20871irfequ','onGetOfflineMsg','4417902FqFeVv','1454436HqaUue','32hDspNg','226UKRZEW','onLog','fixPicImgType','890570gYImtR','12QweuxK','11471200nCCMiZ','288797EFwPxm','onShowErrUITips'];_0x29a4=function(){return _0x4115a3;};return _0x29a4();}function _0x3867(_0x57eca4,_0x3eb361){var _0x29a40a=_0x29a4();return _0x3867=function(_0x3867dd,_0x5af69a){_0x3867dd=_0x3867dd-0xcc;var _0x1caec7=_0x29a40a[_0x3867dd];return _0x1caec7;},_0x3867(_0x57eca4,_0x3eb361);}var _0x1d3ddc=_0x3867;(function(_0x4c9783,_0x4e47e2){var _0x336723=_0x3867,_0x409951=_0x4c9783();while(!![]){try{var _0x404267=-parseInt(_0x336723(0xd9))/0x1+-parseInt(_0x336723(0xd3))/0x2*(-parseInt(_0x336723(0xce))/0x3)+parseInt(_0x336723(0xd7))/0x4*(parseInt(_0x336723(0xd6))/0x5)+parseInt(_0x336723(0xd1))/0x6+parseInt(_0x336723(0xcc))/0x7*(parseInt(_0x336723(0xd2))/0x8)+-parseInt(_0x336723(0xd0))/0x9+-parseInt(_0x336723(0xd8))/0xa;if(_0x404267===_0x4e47e2)break;else _0x409951['push'](_0x409951['shift']());}catch(_0x3efa39){_0x409951['push'](_0x409951['shift']());}}}(_0x29a4,0x96322));export class GlobalAdapter{[_0x1d3ddc(0xd4)](..._0x4e53c0){}[_0x1d3ddc(0xcd)](..._0x1a5737){}[_0x1d3ddc(0xda)](..._0x11032a){}[_0x1d3ddc(0xd5)](..._0x4df954){}['getAppSetting'](..._0x68bfa3){}[_0x1d3ddc(0xdb)](..._0x54e795){}['onUpdateGeneralFlag'](..._0x30e16c){}[_0x1d3ddc(0xcf)](..._0x4e0105){}}
|
@@ -1 +1 @@
|
||||
(function(_0x1e35d8,_0x2d4ab1){var _0x52ccd1=_0x5571,_0x5ac369=_0x1e35d8();while(!![]){try{var _0x265d1f=-parseInt(_0x52ccd1(0x177))/0x1*(-parseInt(_0x52ccd1(0x16f))/0x2)+parseInt(_0x52ccd1(0x171))/0x3*(-parseInt(_0x52ccd1(0x178))/0x4)+parseInt(_0x52ccd1(0x179))/0x5*(parseInt(_0x52ccd1(0x17a))/0x6)+-parseInt(_0x52ccd1(0x173))/0x7*(-parseInt(_0x52ccd1(0x172))/0x8)+-parseInt(_0x52ccd1(0x170))/0x9+parseInt(_0x52ccd1(0x175))/0xa*(-parseInt(_0x52ccd1(0x176))/0xb)+parseInt(_0x52ccd1(0x174))/0xc;if(_0x265d1f===_0x2d4ab1)break;else _0x5ac369['push'](_0x5ac369['shift']());}catch(_0x344123){_0x5ac369['push'](_0x5ac369['shift']());}}}(_0x31a0,0x51157));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x5571(_0x2be41d,_0x9c2cf9){var _0x31a000=_0x31a0();return _0x5571=function(_0x5571ba,_0x70885c){_0x5571ba=_0x5571ba-0x16f;var _0x577c36=_0x31a000[_0x5571ba];return _0x577c36;},_0x5571(_0x2be41d,_0x9c2cf9);}function _0x31a0(){var _0x461736=['5345516eltSrV','25698oFpTAR','998288reazkd','20gnlqAE','69558qrUQAA','30aOeudC','3161007DhEdsG','6YQeRYL','1761088XheHBV','21jaMejO','6914304rjdkKR','10MSgoCn'];_0x31a0=function(){return _0x461736;};return _0x31a0();}export*from'./NodeIGlobalAdapter';
|
||||
(function(_0x5f4fa8,_0x494d4d){var _0x5de5e8=_0x301f,_0x5092f2=_0x5f4fa8();while(!![]){try{var _0x35baf9=parseInt(_0x5de5e8(0x174))/0x1*(-parseInt(_0x5de5e8(0x179))/0x2)+parseInt(_0x5de5e8(0x178))/0x3*(parseInt(_0x5de5e8(0x170))/0x4)+parseInt(_0x5de5e8(0x171))/0x5*(-parseInt(_0x5de5e8(0x176))/0x6)+parseInt(_0x5de5e8(0x177))/0x7+parseInt(_0x5de5e8(0x172))/0x8*(parseInt(_0x5de5e8(0x175))/0x9)+-parseInt(_0x5de5e8(0x17a))/0xa+parseInt(_0x5de5e8(0x173))/0xb;if(_0x35baf9===_0x494d4d)break;else _0x5092f2['push'](_0x5092f2['shift']());}catch(_0x4b5a76){_0x5092f2['push'](_0x5092f2['shift']());}}}(_0x20b5,0xb660b));export*from'./NodeIDependsAdapter';function _0x20b5(){var _0xdeaed9=['24407493DhjXSh','46519PWknJP','9EhXwdy','2144580DTVnDt','610302XAFkzu','20676LsqFRK','20JXDzYc','3766870ffaLSo','40WhQAvx','15oiNZsQ','2289736iQxHbn'];_0x20b5=function(){return _0xdeaed9;};return _0x20b5();}function _0x301f(_0x19d93c,_0x4c79fa){var _0x20b560=_0x20b5();return _0x301f=function(_0x301f97,_0x367937){_0x301f97=_0x301f97-0x170;var _0x2758b3=_0x20b560[_0x301f97];return _0x2758b3;},_0x301f(_0x19d93c,_0x4c79fa);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';
|
41
src/core.lib/src/apis/collection.d.ts
vendored
Normal file
41
src/core.lib/src/apis/collection.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
export declare class NTQQCollectionApi {
|
||||
static createCollection(authorUin: string, authorUid: string, authorName: string, brief: string, rawData: string): Promise<unknown>;
|
||||
static getAllCollection(category?: number, count?: number): Promise<import("..").GeneralCallResult & {
|
||||
collectionSearchList: {
|
||||
collectionItemList: {
|
||||
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;
|
||||
};
|
||||
}>;
|
||||
}
|
1
src/core.lib/src/apis/collection.js
Normal file
1
src/core.lib/src/apis/collection.js
Normal file
@@ -0,0 +1 @@
|
||||
function _0x35eb(_0x2cb710,_0x5e82c0){const _0x1479e0=_0x1479();return _0x35eb=function(_0x35eb4c,_0x3356e8){_0x35eb4c=_0x35eb4c-0x160;let _0x4e079d=_0x1479e0[_0x35eb4c];return _0x4e079d;},_0x35eb(_0x2cb710,_0x5e82c0);}function _0x1479(){const _0x480c9e=['770292xhxxMd','now','160385kefZUm','toString','6129837DLduDg','session','64SKZecH','48uTLypr','createCollection','2039374zdwDXS','1grdznu','641938iVQvYn','24VBqhlv','458600MjoPNr','182868RkJXOz','10jhlHjH','getCollectionItemList','getCollectionService'];_0x1479=function(){return _0x480c9e;};return _0x1479();}const _0x16047e=_0x35eb;(function(_0x44cc82,_0x173648){const _0x39e690=_0x35eb,_0x206728=_0x44cc82();while(!![]){try{const _0x42ba66=parseInt(_0x39e690(0x170))/0x1*(parseInt(_0x39e690(0x16f))/0x2)+-parseInt(_0x39e690(0x166))/0x3+parseInt(_0x39e690(0x16c))/0x4*(-parseInt(_0x39e690(0x168))/0x5)+-parseInt(_0x39e690(0x160))/0x6*(parseInt(_0x39e690(0x162))/0x7)+parseInt(_0x39e690(0x161))/0x8+-parseInt(_0x39e690(0x16a))/0x9*(-parseInt(_0x39e690(0x163))/0xa)+-parseInt(_0x39e690(0x171))/0xb*(parseInt(_0x39e690(0x16d))/0xc);if(_0x42ba66===_0x173648)break;else _0x206728['push'](_0x206728['shift']());}catch(_0x24420f){_0x206728['push'](_0x206728['shift']());}}}(_0x1479,0x9ebc5));import{napCatCore}from'..';export class NTQQCollectionApi{static async[_0x16047e(0x16e)](_0x345384,_0x526380,_0x4ca5ac,_0x24f57c,_0x393b53){const _0x179ba0=_0x16047e;let _0x31c83a={'commInfo':{'bid':0x1,'category':0x2,'author':{'type':0x1,'numId':_0x345384,'strId':_0x4ca5ac,'groupId':'0','groupName':'','uid':_0x526380},'customGroupId':'0','createTime':Date['now']()['toString'](),'sequence':Date[_0x179ba0(0x167)]()[_0x179ba0(0x169)]()},'richMediaSummary':{'originalUri':'','publisher':'','richMediaVersion':0x0,'subTitle':'','title':'','brief':_0x24f57c,'picList':[],'contentType':0x1},'richMediaContent':{'rawData':_0x393b53,'bizDataList':[],'picList':[],'fileList':[]},'need_share_url':![]};return napCatCore[_0x179ba0(0x16b)][_0x179ba0(0x165)]()['createNewCollectionItem'](_0x31c83a);}static async['getAllCollection'](_0x5b62ec=0x0,_0x4ac328=0x32){const _0x5c04b8=_0x16047e;let _0x17dfb2={'category':_0x5b62ec,'groupId':-0x1,'forceSync':!![],'forceFromDb':![],'timeStamp':'0','count':_0x4ac328,'searchDown':!![]};return napCatCore[_0x5c04b8(0x16b)][_0x5c04b8(0x165)]()[_0x5c04b8(0x164)](_0x17dfb2);}}
|
3
src/core.lib/src/apis/file.d.ts
vendored
3
src/core.lib/src/apis/file.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType } from '@/core/entities';
|
||||
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType, RawMessage } from '@/core/entities';
|
||||
import { GeneralCallResult } from '@/core';
|
||||
import * as fileType from 'file-type';
|
||||
import { ISizeCalculationResult } from 'image-size/dist/types/interface';
|
||||
@@ -6,6 +6,7 @@ export declare class NTQQFileApi {
|
||||
static getFileType(filePath: string): Promise<fileType.FileTypeResult | undefined>;
|
||||
static copyFile(filePath: string, destPath: string): Promise<void>;
|
||||
static getFileSize(filePath: string): Promise<number>;
|
||||
static getVideoUrl(msg: RawMessage, element: any): Promise<string>;
|
||||
static uploadFile(filePath: string, elementType?: ElementType, elementSubType?: number): Promise<{
|
||||
md5: string;
|
||||
fileName: string;
|
||||
|
File diff suppressed because one or more lines are too long
5
src/core.lib/src/apis/friend.d.ts
vendored
5
src/core.lib/src/apis/friend.d.ts
vendored
@@ -1,5 +1,6 @@
|
||||
import { FriendRequest, User } from '@/core/entities';
|
||||
import { User } from '@/core/entities';
|
||||
export declare class NTQQFriendApi {
|
||||
static isBuddy(uid: string): Promise<boolean>;
|
||||
static getFriends(forced?: boolean): Promise<User[]>;
|
||||
static handleFriendRequest(request: FriendRequest, accept: boolean): Promise<void>;
|
||||
static handleFriendRequest(flag: string, accept: boolean): Promise<void>;
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
const _0x2ed956=_0x421d;function _0x2e4e(){const _0x123d55=['获取好友列表完成','session','获取好友列表超时','KsVTJ','uid','mxcLN','onBuddyListChange','5449785eMbbTo','friendUid','199630ZNKrZP','sWUMo','KNlxN','77886OYKNGA','945MLgudi','hndDF','9242160cqEUGz','delete','开始获取好友列表','nQOiZ','addListener','buddyList','handleFriendRequest','reqTime','qlSML','push','iNegf','onLoginSuccess','getBuddyList','getBuddyService','RzsbV','1584wuMIgG','175MDKQvQ','80700fQLKSR','set','1626505osZtZM','getFriends','1829492wWzSkt'];_0x2e4e=function(){return _0x123d55;};return _0x2e4e();}(function(_0x3cdc52,_0x36e151){const _0x2fa9d0=_0x421d,_0x191342=_0x3cdc52();while(!![]){try{const _0x590ead=parseInt(_0x2fa9d0(0x159))/0x1+parseInt(_0x2fa9d0(0x15b))/0x2+parseInt(_0x2fa9d0(0x13e))/0x3+-parseInt(_0x2fa9d0(0x157))/0x4*(-parseInt(_0x2fa9d0(0x156))/0x5)+parseInt(_0x2fa9d0(0x143))/0x6*(-parseInt(_0x2fa9d0(0x144))/0x7)+parseInt(_0x2fa9d0(0x146))/0x8+-parseInt(_0x2fa9d0(0x155))/0x9*(parseInt(_0x2fa9d0(0x140))/0xa);if(_0x590ead===_0x36e151)break;else _0x191342['push'](_0x191342['shift']());}catch(_0x5df9b3){_0x191342['push'](_0x191342['shift']());}}}(_0x2e4e,0xe8be6));import{BuddyListener,napCatCore}from'@/core';function _0x421d(_0x42f14a,_0x4b9075){const _0x2e4e6f=_0x2e4e();return _0x421d=function(_0x421d8d,_0x2b8c6e){_0x421d8d=_0x421d8d-0x137;let _0x424382=_0x2e4e6f[_0x421d8d];return _0x424382;},_0x421d(_0x42f14a,_0x4b9075);}import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x2ed956(0x13d)]=_0xb1448a=>{const _0x14c0c1=_0x2ed956,_0x5b9209={'iNegf':function(_0x5bf7e2,_0x443837){return _0x5bf7e2(_0x443837);}};for(const [_0x482ad4,_0x415ef8]of buddyChangeTasks){_0x5b9209[_0x14c0c1(0x150)](_0x415ef8,_0xb1448a),buddyChangeTasks[_0x14c0c1(0x147)](_0x482ad4);}},setTimeout(()=>{const _0xd10f6d=_0x2ed956;napCatCore[_0xd10f6d(0x151)](()=>{const _0x2e9ec9=_0xd10f6d;napCatCore[_0x2e9ec9(0x14a)](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x2ed956(0x15a)](_0xf51c05=![]){const _0xbb2276=_0x2ed956,_0x35b699={'KNlxN':function(_0x193b35,_0x3b2c8b){return _0x193b35(_0x3b2c8b);},'RzsbV':_0xbb2276(0x137),'KsVTJ':function(_0x436b57,_0x252bc3){return _0x436b57(_0x252bc3);},'qlSML':_0xbb2276(0x148),'NxWCG':function(_0x53ad1b,_0x28cc05,_0x593b3d){return _0x53ad1b(_0x28cc05,_0x593b3d);},'hndDF':function(_0x2a74ce){return _0x2a74ce();}};return new Promise((_0x576cc4,_0x1f9a43)=>{const _0x3548fd=_0xbb2276,_0x525b6c={'nQOiZ':function(_0x2d5abe,_0x627498){const _0x523923=_0x421d;return _0x35b699[_0x523923(0x142)](_0x2d5abe,_0x627498);},'gVQlA':_0x3548fd(0x139),'PwBlA':function(_0x4d7c6a,_0x394884,_0x313fb1){return _0x4d7c6a(_0x394884,_0x313fb1);},'sWUMo':_0x35b699[_0x3548fd(0x154)],'mxcLN':function(_0x3a1111,_0x58f325){const _0x3d7c07=_0x3548fd;return _0x35b699[_0x3d7c07(0x13a)](_0x3a1111,_0x58f325);},'zdFHf':_0x35b699[_0x3548fd(0x14e)]};let _0x322f36=![];_0x35b699['NxWCG'](setTimeout,()=>{const _0x9f18af=_0x3548fd;!_0x322f36&&(_0x525b6c[_0x9f18af(0x149)](logDebug,_0x525b6c['gVQlA']),_0x525b6c[_0x9f18af(0x149)](_0x1f9a43,_0x525b6c['gVQlA']));},0x1388);const _0x14ed9e=[],_0x5d100a=_0x5edab4=>{const _0x188442=_0x3548fd;for(const _0xd2e480 of _0x5edab4){for(const _0x18d2f1 of _0xd2e480[_0x188442(0x14b)]){_0x14ed9e[_0x188442(0x14f)](_0x18d2f1),uid2UinMap[_0x18d2f1[_0x188442(0x13b)]]=_0x18d2f1['uin'];}}_0x322f36=!![],_0x525b6c['PwBlA'](logDebug,_0x525b6c[_0x188442(0x141)],_0x14ed9e),_0x525b6c[_0x188442(0x13c)](_0x576cc4,_0x14ed9e);};buddyChangeTasks[_0x3548fd(0x158)](_0x35b699[_0x3548fd(0x145)](randomUUID),_0x5d100a),napCatCore[_0x3548fd(0x138)][_0x3548fd(0x153)]()[_0x3548fd(0x152)](_0xf51c05)['then'](_0x4ad51f=>{_0x525b6c['PwBlA'](logDebug,_0x525b6c['zdFHf'],_0x4ad51f);});});}static async[_0x2ed956(0x14c)](_0x14396f,_0x336373){const _0x17477a=_0x2ed956;napCatCore[_0x17477a(0x138)][_0x17477a(0x153)]()?.['approvalFriendRequest']({'friendUid':_0x14396f[_0x17477a(0x13f)],'reqTime':_0x14396f[_0x17477a(0x14d)],'accept':_0x336373});}}
|
||||
function _0x1a44(_0x1f1675,_0x83bd5){const _0xe9eef=_0xe9ee();return _0x1a44=function(_0x1a4428,_0x1b811b){_0x1a4428=_0x1a4428-0x16f;let _0x3f3d81=_0xe9eef[_0x1a4428];return _0x3f3d81;},_0x1a44(_0x1f1675,_0x83bd5);}const _0x93afbf=_0x1a44;(function(_0xac8491,_0x52fc93){const _0x2d29fa=_0x1a44,_0x5bf2f6=_0xac8491();while(!![]){try{const _0x4acc42=-parseInt(_0x2d29fa(0x179))/0x1+parseInt(_0x2d29fa(0x17d))/0x2*(parseInt(_0x2d29fa(0x170))/0x3)+-parseInt(_0x2d29fa(0x185))/0x4+-parseInt(_0x2d29fa(0x183))/0x5*(-parseInt(_0x2d29fa(0x177))/0x6)+-parseInt(_0x2d29fa(0x178))/0x7*(parseInt(_0x2d29fa(0x186))/0x8)+parseInt(_0x2d29fa(0x16f))/0x9*(-parseInt(_0x2d29fa(0x180))/0xa)+parseInt(_0x2d29fa(0x17c))/0xb;if(_0x4acc42===_0x52fc93)break;else _0x5bf2f6['push'](_0x5bf2f6['shift']());}catch(_0x12996b){_0x5bf2f6['push'](_0x5bf2f6['shift']());}}}(_0xe9ee,0x9a69d));function _0xe9ee(){const _0x2245a0=['71010trKnGM','getFriends','NodeIKernelBuddyService/getBuddyList','approvalFriendRequest','CallNormalEvent','isBuddy','push','275178IrUDoQ','623MMPxwq','408994YFdugo','split','NodeIKernelBuddyListener/onBuddyListChange','32730544MNzYzF','14fHNJfL','length','JIuBh','1410BLNxxK','session','handleFriendRequest','110lmNWnw','buddyList','3855392iETfXK','85928EUZROO','getBuddyService','75888GuQkuN'];_0xe9ee=function(){return _0x2245a0;};return _0xe9ee();}import{napCatCore}from'@/core';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x93afbf(0x175)](_0x268d1e){const _0xd7b31b=_0x93afbf;return napCatCore['session'][_0xd7b31b(0x187)]()[_0xd7b31b(0x175)](_0x268d1e);}static async[_0x93afbf(0x171)](_0x2f6e18=![]){const _0x3007e5=_0x93afbf,_0x43e871={'JIuBh':_0x3007e5(0x17b)};let [_0xb58467,_0x5ebc85]=await NTEventDispatch[_0x3007e5(0x174)](_0x3007e5(0x172),_0x43e871[_0x3007e5(0x17f)],0x1,0x1388,_0x2f6e18);const _0x2d3bd0=[];for(const _0x578294 of _0x5ebc85){for(const _0x5cab41 of _0x578294[_0x3007e5(0x184)]){_0x2d3bd0[_0x3007e5(0x176)](_0x5cab41);}}return _0x2d3bd0;}static async[_0x93afbf(0x182)](_0x529c43,_0x29fa8a){const _0x5be223=_0x93afbf,_0x20323a={'vCgQu':function(_0x247b05,_0x54a1fd){return _0x247b05<_0x54a1fd;}};let _0x23fd0b=_0x529c43[_0x5be223(0x17a)]('|');if(_0x20323a['vCgQu'](_0x23fd0b[_0x5be223(0x17e)],0x2))return;let _0x178ba3=_0x23fd0b[0x0],_0x3ae0ce=_0x23fd0b[0x1];napCatCore[_0x5be223(0x181)][_0x5be223(0x187)]()?.[_0x5be223(0x173)]({'friendUid':_0x178ba3,'reqTime':_0x3ae0ce,'accept':_0x29fa8a});}}
|
33
src/core.lib/src/apis/group.d.ts
vendored
33
src/core.lib/src/apis/group.d.ts
vendored
@@ -1,11 +1,38 @@
|
||||
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
|
||||
import { GeneralCallResult } from '@/core';
|
||||
export declare class NTQQGroupApi {
|
||||
static getGroups(forced?: boolean): Promise<Group[]>;
|
||||
static getGroupRecommendContactArkJson(GroupCode: string): Promise<unknown>;
|
||||
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<GeneralCallResult & {
|
||||
resultWithGroupItem: {
|
||||
result: any;
|
||||
groupItem: any[];
|
||||
};
|
||||
}>;
|
||||
static DelGroupFile(groupCode: string, files: string[]): Promise<GeneralCallResult & {
|
||||
transGroupFileResult: {
|
||||
result: any;
|
||||
successFileIdList: any[];
|
||||
failFileIdList: any[];
|
||||
};
|
||||
}>;
|
||||
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<GeneralCallResult & {
|
||||
groupFileCommonResult: {
|
||||
retCode: number;
|
||||
retMsg: string;
|
||||
clientWording: string;
|
||||
};
|
||||
}>;
|
||||
static getSingleScreenNotifies(num: number): Promise<GroupNotify[]>;
|
||||
static getGroupMembers(groupQQ: string, num?: number): Promise<Map<string, GroupMember>>;
|
||||
static getGroupNotifies(): Promise<void>;
|
||||
static GetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
|
||||
groupCodes: string[];
|
||||
groupFileCounts: number[];
|
||||
}>;
|
||||
static getGroupIgnoreNotifies(): Promise<void>;
|
||||
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
|
||||
static getArkJsonGroupShare(GroupCode: string): Promise<string>;
|
||||
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<GeneralCallResult & {
|
||||
errCode: number;
|
||||
picInfo?: {
|
||||
id: string;
|
||||
@@ -29,5 +56,7 @@ export declare class NTQQGroupApi {
|
||||
id: string;
|
||||
width: number;
|
||||
height: number;
|
||||
} | undefined, pinned?: number, confirmRequired?: number): Promise<import("@/core").GeneralCallResult>;
|
||||
} | undefined, pinned?: number, confirmRequired?: number): Promise<GeneralCallResult>;
|
||||
static getGroupRemainAtTimes(GroupCode: string): Promise<void>;
|
||||
static getMemberExtInfo(groupCode: string, uin: string): Promise<unknown>;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x216e(){var _0x1df19b=['846KaWYSf','161EFFznE','9056itswTm','5104945nWaDPE','5783vjiUDd','2920HuFlCr','4YeaEtq','6822360YWXhGL','35388wnfIrc','8482792enDWAw','298842mRBYFK','11poianb'];_0x216e=function(){return _0x1df19b;};return _0x216e();}(function(_0x313a28,_0x554195){var _0x5a79ad=_0x1354,_0x5ef870=_0x313a28();while(!![]){try{var _0x3ff0fe=parseInt(_0x5a79ad(0x1cf))/0x1+parseInt(_0x5a79ad(0x1cd))/0x2*(parseInt(_0x5a79ad(0x1d7))/0x3)+parseInt(_0x5a79ad(0x1d1))/0x4*(-parseInt(_0x5a79ad(0x1ce))/0x5)+parseInt(_0x5a79ad(0x1d5))/0x6*(parseInt(_0x5a79ad(0x1d8))/0x7)+parseInt(_0x5a79ad(0x1d4))/0x8+parseInt(_0x5a79ad(0x1d3))/0x9*(-parseInt(_0x5a79ad(0x1d0))/0xa)+-parseInt(_0x5a79ad(0x1d6))/0xb*(parseInt(_0x5a79ad(0x1d2))/0xc);if(_0x3ff0fe===_0x554195)break;else _0x5ef870['push'](_0x5ef870['shift']());}catch(_0x1e3883){_0x5ef870['push'](_0x5ef870['shift']());}}}(_0x216e,0xb754e));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';function _0x1354(_0x2467ef,_0x38fcad){var _0x216e9c=_0x216e();return _0x1354=function(_0x135413,_0x3a6bfc){_0x135413=_0x135413-0x1cd;var _0x3c1307=_0x216e9c[_0x135413];return _0x3c1307;},_0x1354(_0x2467ef,_0x38fcad);}export*from'./sign';export*from'./system';
|
||||
(function(_0x1cbddc,_0x590de3){var _0x68e0d5=_0x4b49,_0x4b8aee=_0x1cbddc();while(!![]){try{var _0x1b5afd=-parseInt(_0x68e0d5(0x1d5))/0x1*(parseInt(_0x68e0d5(0x1d3))/0x2)+parseInt(_0x68e0d5(0x1d4))/0x3+-parseInt(_0x68e0d5(0x1da))/0x4*(parseInt(_0x68e0d5(0x1d8))/0x5)+parseInt(_0x68e0d5(0x1d7))/0x6+parseInt(_0x68e0d5(0x1d9))/0x7+-parseInt(_0x68e0d5(0x1d6))/0x8+parseInt(_0x68e0d5(0x1db))/0x9;if(_0x1b5afd===_0x590de3)break;else _0x4b8aee['push'](_0x4b8aee['shift']());}catch(_0x29807e){_0x4b8aee['push'](_0x4b8aee['shift']());}}}(_0x3215,0x82bea));export*from'./file';function _0x4b49(_0x19865a,_0xdb1188){var _0x3215e1=_0x3215();return _0x4b49=function(_0x4b4913,_0x5acb79){_0x4b4913=_0x4b4913-0x1d3;var _0x5faede=_0x3215e1[_0x4b4913];return _0x5faede;},_0x4b49(_0x19865a,_0xdb1188);}export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';function _0x3215(){var _0x2fbf37=['9408312sGSrEc','26XIJhMD','1626636oMZwGW','71959foJKOd','8126280vfDvrU','3862014hZwPOx','30YqHcLB','7197365bohcMc','515108dpbXXZ'];_0x3215=function(){return _0x2fbf37;};return _0x3215();}export*from'./webapi';export*from'./sign';export*from'./system';
|
5
src/core.lib/src/apis/msg.d.ts
vendored
5
src/core.lib/src/apis/msg.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
import { Peer, RawMessage, SendMessageElement } from '@/core/entities';
|
||||
import { GetFileListParam, Peer, RawMessage, SendMessageElement } from '@/core/entities';
|
||||
import { GeneralCallResult } from '@/core/services/common';
|
||||
export declare class NTQQMsgApi {
|
||||
static setEmojiLike(peer: Peer, msgSeq: string, emojiId: string, set?: boolean): Promise<unknown>;
|
||||
@@ -8,12 +8,13 @@ export declare class NTQQMsgApi {
|
||||
static getMsgsByMsgId(peer: Peer, msgIds: string[]): Promise<GeneralCallResult & {
|
||||
msgList: RawMessage[];
|
||||
}>;
|
||||
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, unknownArg: boolean): Promise<GeneralCallResult & {
|
||||
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean): Promise<GeneralCallResult & {
|
||||
msgList: RawMessage[];
|
||||
}>;
|
||||
static activateChat(peer: Peer): Promise<void>;
|
||||
static activateChatAndGetHistory(peer: Peer): Promise<void>;
|
||||
static setMsgRead(peer: Peer): Promise<GeneralCallResult>;
|
||||
static getGroupFileList(GroupCode: string, params: GetFileListParam): Promise<any[]>;
|
||||
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
|
||||
msgList: RawMessage[];
|
||||
}>;
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(_0x54aaa3,_0x20c2f2){const _0x3d1e67=_0x2ce1,_0x4f54b2=_0x54aaa3();while(!![]){try{const _0x546a3d=-parseInt(_0x3d1e67(0x15c))/0x1*(parseInt(_0x3d1e67(0x150))/0x2)+parseInt(_0x3d1e67(0x173))/0x3+parseInt(_0x3d1e67(0x14b))/0x4+-parseInt(_0x3d1e67(0x14a))/0x5+-parseInt(_0x3d1e67(0x153))/0x6*(parseInt(_0x3d1e67(0x14d))/0x7)+parseInt(_0x3d1e67(0x151))/0x8*(parseInt(_0x3d1e67(0x15b))/0x9)+parseInt(_0x3d1e67(0x156))/0xa;if(_0x546a3d===_0x20c2f2)break;else _0x4f54b2['push'](_0x4f54b2['shift']());}catch(_0x143fab){_0x4f54b2['push'](_0x4f54b2['shift']());}}}(_0x1cfb,0xa26f1));import{logDebug}from'@/common/utils/log';import{NTQQUserApi}from'./user';function _0x2ce1(_0x6e8d14,_0xda8b7b){const _0x1cfba1=_0x1cfb();return _0x2ce1=function(_0x2ce127,_0x23eba5){_0x2ce127=_0x2ce127-0x149;let _0x4d5b4a=_0x1cfba1[_0x2ce127];return _0x4d5b4a;},_0x2ce1(_0x6e8d14,_0xda8b7b);}import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';function _0x1cfb(){const _0x3206b0=['IOgTY','prompt','\x5c/\x5c/','znGko','p_skey','p_skey=','tianxuan.imgJumpArk','MiniApp\x20JSON\x20消息生成失败','yxEiY','eGnIc','&ark=','tfiGu','normal','zuKAZ','kIBHq','VnOfs','3144234RNaVhn','getQzoneCookies','skey','btuKB','GET','replace','LSvPm','signed_ark',';\x20skey=','preview','4719725WgmIqM','2960576VJYPse','miniapp','497iGWsVs','tagIcon','WvIMZ','4TicZIn','8dlJiuO','sourcelogo','34098ZHDWbW','jumpUrl','rODSC','5660050dCzLuX','QeMqd','title','MiniApp\x20JSON\x20消息生成成功',';\x20uin=o','7455132QmITfB','584904ywgFjF','SMOiZ','getSkey','uin','stringify','MsupA','gqNgq'];_0x1cfb=function(){return _0x3206b0;};return _0x1cfb();}export async function SignMiniApp(_0x358138){const _0xa8d864=_0x2ce1,_0x220bfb={'hqquW':'com.tencent.miniapp.lua','QeMqd':_0xa8d864(0x169),'tfiGu':_0xa8d864(0x14c),'eGnIc':_0xa8d864(0x16f),'SMOiZ':_0xa8d864(0x165),'VnOfs':function(_0x127d08,_0x37cb21){return _0x127d08+_0x37cb21;},'yxEiY':function(_0x1c63a3,_0x7e4244){return _0x1c63a3+_0x7e4244;},'znGko':function(_0x2e2b11,_0x141d4d){return _0x2e2b11+_0x141d4d;},'zuKAZ':function(_0x5d80d7,_0x3cac71){return _0x5d80d7+_0x3cac71;},'rODSC':_0xa8d864(0x168),'MsupA':_0xa8d864(0x17b),'btuKB':';\x20p_uin=o','gqNgq':_0xa8d864(0x15a),'WvIMZ':function(_0x2246ca,_0x29b85c){return _0x2246ca+_0x29b85c;},'kIBHq':'https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','IOgTY':_0xa8d864(0x16d),'LSvPm':function(_0x1429e6,_0x3f8bbc){return _0x1429e6(_0x3f8bbc);},'hKIgf':_0xa8d864(0x177),'rMtAp':function(_0x2898f3,_0x228af0,_0x5ee557){return _0x2898f3(_0x228af0,_0x5ee557);}};let _0x4d8a16={'app':_0x220bfb['hqquW'],'bizsrc':_0x220bfb[_0xa8d864(0x157)],'view':_0x220bfb[_0xa8d864(0x16e)],'prompt':_0x358138[_0xa8d864(0x164)],'config':{'type':_0x220bfb[_0xa8d864(0x16c)],'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x358138[_0xa8d864(0x158)],'preview':_0x358138[_0xa8d864(0x149)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)]),'jumpUrl':_0x358138[_0xa8d864(0x154)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)]),'tag':_0x358138['tag'],'tagIcon':_0x358138[_0xa8d864(0x14e)][_0xa8d864(0x178)](/\\/g,_0x220bfb['SMOiZ']),'source':_0x358138['source'],'sourcelogo':_0x358138[_0xa8d864(0x152)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)])}}};const _0x31e957=await NTQQUserApi[_0xa8d864(0x15e)]();let _0x27741b=await NTQQUserApi[_0xa8d864(0x174)]();const _0x3e8053=WebApi['genBkn'](_0x27741b[_0xa8d864(0x167)]),_0x2f5063=_0x220bfb[_0xa8d864(0x172)](_0x220bfb[_0xa8d864(0x16b)](_0x220bfb[_0xa8d864(0x16b)](_0x220bfb['yxEiY'](_0x220bfb[_0xa8d864(0x166)](_0x220bfb[_0xa8d864(0x170)](_0x220bfb[_0xa8d864(0x155)],_0x27741b['p_skey']),_0x220bfb[_0xa8d864(0x161)]),_0x27741b[_0xa8d864(0x175)]),_0x220bfb[_0xa8d864(0x176)])+selfInfo[_0xa8d864(0x15f)],_0x220bfb[_0xa8d864(0x162)]),selfInfo[_0xa8d864(0x15f)]);let _0x5f41be=_0x220bfb[_0xa8d864(0x172)](_0x220bfb[_0xa8d864(0x14f)](_0x220bfb[_0xa8d864(0x166)](_0x220bfb[_0xa8d864(0x171)],_0x3e8053),_0x220bfb[_0xa8d864(0x163)]),_0x220bfb[_0xa8d864(0x179)](encodeURIComponent,JSON[_0xa8d864(0x160)](_0x4d8a16))),_0x16e440='';try{let _0x31ef23=await RequestUtil['HttpGetJson'](_0x5f41be,_0x220bfb['hKIgf'],undefined,{'Cookie':_0x2f5063});_0x220bfb['rMtAp'](logDebug,_0xa8d864(0x159),_0x31ef23),_0x16e440=_0x31ef23['data'][_0xa8d864(0x17a)];}catch(_0x3a0cf4){logDebug(_0xa8d864(0x16a),_0x3a0cf4);}return _0x16e440;}
|
||||
(function(_0x49f020,_0x393991){const _0x3d925f=_0x4ecc,_0x5cb184=_0x49f020();while(!![]){try{const _0x47797b=parseInt(_0x3d925f(0x1a2))/0x1+parseInt(_0x3d925f(0x1a7))/0x2*(parseInt(_0x3d925f(0x1a5))/0x3)+parseInt(_0x3d925f(0x19f))/0x4*(parseInt(_0x3d925f(0x1a8))/0x5)+-parseInt(_0x3d925f(0x194))/0x6*(parseInt(_0x3d925f(0x197))/0x7)+-parseInt(_0x3d925f(0x1ad))/0x8*(-parseInt(_0x3d925f(0x1b8))/0x9)+-parseInt(_0x3d925f(0x191))/0xa*(-parseInt(_0x3d925f(0x19e))/0xb)+parseInt(_0x3d925f(0x1a9))/0xc*(-parseInt(_0x3d925f(0x1aa))/0xd);if(_0x47797b===_0x393991)break;else _0x5cb184['push'](_0x5cb184['shift']());}catch(_0xe953f7){_0x5cb184['push'](_0x5cb184['shift']());}}}(_0x38b6,0x4284d));import{logDebug}from'@/common/utils/log';import{NTQQUserApi}from'./user';function _0x38b6(){const _0x4b5a3a=['166415jthWjj','tagIcon','getSkey','75zBpkyA','stringify','15560nOnpiH','5BwxTDn','48JlihVM','4188665RUntkl','cjxRl','oysrS','32TylZAO','p_skey','skey','title','source','CRWcd','normal','com.tencent.miniapp.lua','replace','MiniApp\x20JSON\x20消息生成失败','HttpGetJson','1167633lKOAwM','OFoUq','tag',';\x20skey=','signed_ark','prompt','preview','iKNTe','30YNlHBu','WrExs','miniapp','1851780Rlmlfd','sourcelogo','p_skey=','7VqXrCL','&ark=','jAUqA','GET',';\x20p_uin=o','imnuP','GSLYH','1973059WBcNtP','1807764nWqueD','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','\x5c/\x5c/'];_0x38b6=function(){return _0x4b5a3a;};return _0x38b6();}import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';function _0x4ecc(_0x662f63,_0x919f5){const _0x38b6f6=_0x38b6();return _0x4ecc=function(_0x4ecc92,_0x1e15ae){_0x4ecc92=_0x4ecc92-0x18d;let _0x42fe17=_0x38b6f6[_0x4ecc92];return _0x42fe17;},_0x4ecc(_0x662f63,_0x919f5);}export async function SignMiniApp(_0x23d49d){const _0x22860a=_0x4ecc,_0x19ea4d={'vGgCA':'tianxuan.imgJumpArk','ieetQ':_0x22860a(0x193),'GSLYH':'\x5c/\x5c/','OFoUq':function(_0x1b3350,_0x52646a){return _0x1b3350+_0x52646a;},'iKNTe':_0x22860a(0x196),'esDMQ':_0x22860a(0x1bb),'imnuP':_0x22860a(0x19b),'cjxRl':_0x22860a(0x198),'CRWcd':function(_0x96acd7,_0x390307){return _0x96acd7(_0x390307);},'jAUqA':_0x22860a(0x19a),'WrExs':function(_0x4b65b1,_0x177981,_0x2292e1){return _0x4b65b1(_0x177981,_0x2292e1);},'oysrS':_0x22860a(0x1b6)};let _0x5808e6={'app':_0x22860a(0x1b4),'bizsrc':_0x19ea4d['vGgCA'],'view':_0x19ea4d['ieetQ'],'prompt':_0x23d49d[_0x22860a(0x18e)],'config':{'type':_0x22860a(0x1b3),'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x23d49d[_0x22860a(0x1b0)],'preview':_0x23d49d[_0x22860a(0x18f)][_0x22860a(0x1b5)](/\\/g,_0x19ea4d[_0x22860a(0x19d)]),'jumpUrl':_0x23d49d['jumpUrl']['replace'](/\\/g,_0x19ea4d[_0x22860a(0x19d)]),'tag':_0x23d49d[_0x22860a(0x1ba)],'tagIcon':_0x23d49d[_0x22860a(0x1a3)][_0x22860a(0x1b5)](/\\/g,_0x22860a(0x1a1)),'source':_0x23d49d[_0x22860a(0x1b1)],'sourcelogo':_0x23d49d[_0x22860a(0x195)]['replace'](/\\/g,_0x22860a(0x1a1))}}};const _0x4ead04=await NTQQUserApi[_0x22860a(0x1a4)]();let _0x64fc90=await NTQQUserApi['getQzoneCookies']();const _0x46c782=WebApi['genBkn'](_0x64fc90[_0x22860a(0x1ae)]),_0x42e9e8=_0x19ea4d[_0x22860a(0x1b9)](_0x19ea4d[_0x22860a(0x1b9)](_0x19ea4d[_0x22860a(0x1b9)](_0x19ea4d['OFoUq'](_0x19ea4d['OFoUq'](_0x19ea4d[_0x22860a(0x190)]+_0x64fc90['p_skey']+_0x19ea4d['esDMQ'],_0x64fc90[_0x22860a(0x1af)]),_0x19ea4d[_0x22860a(0x19c)]),selfInfo['uin']),';\x20uin=o'),selfInfo['uin']);let _0x27627e=_0x19ea4d['OFoUq'](_0x19ea4d[_0x22860a(0x1b9)](_0x22860a(0x1a0)+_0x46c782,_0x19ea4d[_0x22860a(0x1ab)]),_0x19ea4d[_0x22860a(0x1b2)](encodeURIComponent,JSON[_0x22860a(0x1a6)](_0x5808e6))),_0x36e4de='';try{let _0x58d599=await RequestUtil[_0x22860a(0x1b7)](_0x27627e,_0x19ea4d[_0x22860a(0x199)],undefined,{'Cookie':_0x42e9e8});_0x36e4de=_0x58d599['data'][_0x22860a(0x18d)];}catch(_0x2ccfbe){_0x19ea4d[_0x22860a(0x192)](logDebug,_0x19ea4d[_0x22860a(0x1ac)],_0x2ccfbe);}return _0x36e4de;}
|
9
src/core.lib/src/apis/system.d.ts
vendored
9
src/core.lib/src/apis/system.d.ts
vendored
@@ -1,3 +1,12 @@
|
||||
import { GeneralCallResult } from '@/core';
|
||||
export declare class NTQQSystemApi {
|
||||
static hasOtherRunningQQProcess(): Promise<boolean>;
|
||||
static ORCImage(filePath: string): Promise<GeneralCallResult>;
|
||||
static translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
|
||||
words: string[];
|
||||
}>;
|
||||
static getOnlineDev(): Promise<any>;
|
||||
static getArkJsonCollection(cid: string): Promise<GeneralCallResult & {
|
||||
arkJson: string;
|
||||
}>;
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
var _0x3385fe=_0x5d40;(function(_0x4e096e,_0x177c2c){var _0x4bde02=_0x5d40,_0x496d9b=_0x4e096e();while(!![]){try{var _0x324f89=-parseInt(_0x4bde02(0xc7))/0x1+parseInt(_0x4bde02(0xbc))/0x2+-parseInt(_0x4bde02(0xc1))/0x3+parseInt(_0x4bde02(0xbe))/0x4*(parseInt(_0x4bde02(0xbf))/0x5)+-parseInt(_0x4bde02(0xbd))/0x6*(-parseInt(_0x4bde02(0xc4))/0x7)+parseInt(_0x4bde02(0xbb))/0x8*(parseInt(_0x4bde02(0xc5))/0x9)+-parseInt(_0x4bde02(0xc6))/0xa*(parseInt(_0x4bde02(0xc3))/0xb);if(_0x324f89===_0x177c2c)break;else _0x496d9b['push'](_0x496d9b['shift']());}catch(_0x40a97a){_0x496d9b['push'](_0x496d9b['shift']());}}}(_0x43a6,0xc2561));import{napCatCore}from'@/core';function _0x5d40(_0x314a91,_0x2c26e4){var _0x43a636=_0x43a6();return _0x5d40=function(_0x5d4079,_0x214340){_0x5d4079=_0x5d4079-0xbb;var _0x2cb90e=_0x43a636[_0x5d4079];return _0x2cb90e;},_0x5d40(_0x314a91,_0x2c26e4);}export class NTQQSystemApi{static async[_0x3385fe(0xc0)](){var _0x5a8591=_0x3385fe;return napCatCore[_0x5a8591(0xc2)][_0x5a8591(0xc0)]();}}function _0x43a6(){var _0x21774a=['hasOtherRunningQQProcess','3785376LcCVcZ','util','253nLaLRL','36022FTLRie','1090827XaWlka','279460bMyGfV','1360566AQqLKb','96vjIEbL','791320oImEIX','1572fcWrKP','3451076vYNtrg','5GgcdPt'];_0x43a6=function(){return _0x21774a;};return _0x43a6();}
|
||||
const _0x155ab2=_0x5adb;(function(_0x4e21ef,_0x353977){const _0x4d8c45=_0x5adb,_0x13ba08=_0x4e21ef();while(!![]){try{const _0x339059=parseInt(_0x4d8c45(0xe6))/0x1+-parseInt(_0x4d8c45(0xd9))/0x2+-parseInt(_0x4d8c45(0xdf))/0x3*(parseInt(_0x4d8c45(0xe2))/0x4)+parseInt(_0x4d8c45(0xe0))/0x5*(-parseInt(_0x4d8c45(0xe5))/0x6)+-parseInt(_0x4d8c45(0xdd))/0x7*(-parseInt(_0x4d8c45(0xda))/0x8)+parseInt(_0x4d8c45(0xd7))/0x9*(parseInt(_0x4d8c45(0xdb))/0xa)+-parseInt(_0x4d8c45(0xe3))/0xb;if(_0x339059===_0x353977)break;else _0x13ba08['push'](_0x13ba08['shift']());}catch(_0x147c6e){_0x13ba08['push'](_0x13ba08['shift']());}}}(_0x2192,0x4c4f5));function _0x5adb(_0x198b62,_0x42d8b5){const _0x219264=_0x2192();return _0x5adb=function(_0x5adbb7,_0x2db35a){_0x5adbb7=_0x5adbb7-0xd5;let _0x562124=_0x219264[_0x5adbb7];return _0x562124;},_0x5adb(_0x198b62,_0x42d8b5);}import{NTEventDispatch}from'@/common/utils/EventTask';function _0x2192(){const _0x56bb94=['1717662698058','translateEnWordToZn','hasOtherRunningQQProcess','NodeIKernelCollectionService/collectionArkShare','getOnLineDev','2133774IEvQal','getOnlineDev','196420jwxJYN','4675912BlWOZp','10pKvvsp','ORCImage','7zDtmYQ','CallNoListenerEvent','12795COvfuk','1915BEfeFm','wantWinScreenOCR','112XxtCbO','2363141tceIZY','session','6324SBFcMg','327133OwmYjV','getMsgService'];_0x2192=function(){return _0x56bb94;};return _0x2192();}import{napCatCore}from'@/core';export class NTQQSystemApi{static async[_0x155ab2(0xea)](){return napCatCore['util']['hasOtherRunningQQProcess']();}static async[_0x155ab2(0xdc)](_0x2ea266){const _0x31662e=_0x155ab2;return napCatCore[_0x31662e(0xe4)]['getNodeMiscService']()[_0x31662e(0xe1)](_0x2ea266);}static async['translateEnWordToZn'](_0x143393){const _0x30e5b2=_0x155ab2;return napCatCore[_0x30e5b2(0xe4)]['getRichMediaService']()[_0x30e5b2(0xe9)](_0x143393);}static async[_0x155ab2(0xd8)](){const _0x24d884=_0x155ab2;return napCatCore[_0x24d884(0xe4)][_0x24d884(0xe7)]()[_0x24d884(0xd6)]();}static async['getArkJsonCollection'](_0x5eee27){const _0x5ccd30=_0x155ab2,_0x275cd2={'yKNXB':_0x5ccd30(0xd5),'IWKNN':_0x5ccd30(0xe8)};let _0x2d2f7c=await NTEventDispatch[_0x5ccd30(0xde)](_0x275cd2['yKNXB'],0x1388,_0x275cd2['IWKNN']);return _0x2d2f7c;}}
|
8
src/core.lib/src/apis/user.d.ts
vendored
8
src/core.lib/src/apis/user.d.ts
vendored
@@ -1,7 +1,9 @@
|
||||
import { User } from '@/core/entities';
|
||||
import { ModifyProfileParams, User, UserDetailInfoByUin } from '@/core/entities';
|
||||
import { GeneralCallResult } from '@/core';
|
||||
export declare class NTQQUserApi {
|
||||
static setLongNick(longNick: string): Promise<unknown>;
|
||||
static setSelfOnlineStatus(status: number, extStatus: number, batteryStatus: number): Promise<GeneralCallResult>;
|
||||
static getBuddyRecommendContactArkJson(uin: string, sencenID?: string): Promise<unknown>;
|
||||
static like(uid: string, count?: number): Promise<{
|
||||
result: number;
|
||||
errMsg: string;
|
||||
@@ -14,6 +16,7 @@ export declare class NTQQUserApi {
|
||||
static getSelfInfo(): Promise<void>;
|
||||
static getUserInfo(uid: string): Promise<void>;
|
||||
static getUserDetailInfo(uid: string): Promise<User>;
|
||||
static modifySelfProfile(param: ModifyProfileParams): Promise<GeneralCallResult>;
|
||||
static getPSkey(domainList: string[], cached?: boolean): Promise<{
|
||||
[key: string]: string;
|
||||
}>;
|
||||
@@ -22,4 +25,7 @@ export declare class NTQQUserApi {
|
||||
[key: string]: string;
|
||||
}>;
|
||||
static getSkey(cached?: boolean): Promise<string | undefined>;
|
||||
static getUidByUin(Uin: string): Promise<string | undefined>;
|
||||
static getUinByUid(Uid: string | undefined): Promise<string | undefined>;
|
||||
static getUserDetailInfoByUin(Uin: string): Promise<UserDetailInfoByUin>;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
11
src/core.lib/src/apis/window.d.ts
vendored
11
src/core.lib/src/apis/window.d.ts
vendored
@@ -1,11 +0,0 @@
|
||||
export interface NTQQWindow {
|
||||
windowName: string;
|
||||
windowUrlHash: string;
|
||||
}
|
||||
export declare class NTQQWindows {
|
||||
static GroupHomeWorkWindow: NTQQWindow;
|
||||
static GroupNotifyFilterWindow: NTQQWindow;
|
||||
static GroupEssenceWindow: NTQQWindow;
|
||||
}
|
||||
export declare class NTQQWindowApi {
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12
src/core.lib/src/data.d.ts
vendored
12
src/core.lib/src/data.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
import { type Friend, type FriendRequest, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
|
||||
import { type Friend, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
|
||||
import { WebApiGroupMember } from '@/core/apis';
|
||||
export declare const Credentials: {
|
||||
Skey: string;
|
||||
@@ -18,19 +18,9 @@ export declare const groups: Map<string, Group>;
|
||||
export declare function deleteGroup(groupQQ: string): void;
|
||||
export declare const groupMembers: Map<string, Map<string, GroupMember>>;
|
||||
export declare const friends: Map<string, Friend>;
|
||||
export declare const friendRequests: Record<string, FriendRequest>;
|
||||
export declare const groupNotifies: Record<string, GroupNotify>;
|
||||
export declare const napCatError: {
|
||||
ffmpegError: string;
|
||||
httpServerError: string;
|
||||
wsServerError: string;
|
||||
otherError: string;
|
||||
};
|
||||
export declare function getFriend(uinOrUid: string): Promise<Friend | undefined>;
|
||||
export declare function getGroup(qq: string | number): Promise<Group | undefined>;
|
||||
export declare function getGroupMember(groupQQ: string | number, memberUinOrUid: string | number): Promise<GroupMember | null | undefined>;
|
||||
export declare const uid2UinMap: Record<string, string>;
|
||||
export declare function getUidByUin(uin: string): string | undefined;
|
||||
export declare const tempGroupCodeMap: Record<string, string>;
|
||||
export declare const rawFriends: Array<BuddyCategoryType>;
|
||||
export declare const stat: {
|
||||
|
@@ -1 +1 @@
|
||||
function _0x1642(_0x1a8662,_0x1d40c7){const _0x66d13f=_0x66d1();return _0x1642=function(_0x164216,_0x1ad570){_0x164216=_0x164216-0xe3;let _0x380bd3=_0x66d13f[_0x164216];return _0x380bd3;},_0x1642(_0x1a8662,_0x1d40c7);}(function(_0x1866c3,_0xe707af){const _0x7fb1e8=_0x1642,_0x3fac90=_0x1866c3();while(!![]){try{const _0x13d3e7=parseInt(_0x7fb1e8(0xea))/0x1*(-parseInt(_0x7fb1e8(0xe4))/0x2)+-parseInt(_0x7fb1e8(0xeb))/0x3+-parseInt(_0x7fb1e8(0xf8))/0x4+-parseInt(_0x7fb1e8(0xf1))/0x5+-parseInt(_0x7fb1e8(0xe7))/0x6+parseInt(_0x7fb1e8(0xf0))/0x7*(-parseInt(_0x7fb1e8(0xf4))/0x8)+-parseInt(_0x7fb1e8(0xf7))/0x9*(-parseInt(_0x7fb1e8(0xe8))/0xa);if(_0x13d3e7===_0xe707af)break;else _0x3fac90['push'](_0x3fac90['shift']());}catch(_0x549291){_0x3fac90['push'](_0x3fac90['shift']());}}}(_0x66d1,0x34954));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x15a7a6){const _0x2c5d9f=_0x1642;groups[_0x2c5d9f(0xec)](_0x15a7a6),groupMembers[_0x2c5d9f(0xec)](_0x15a7a6);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':'NapCat未能正常启动,请检查日志查看错误'};export async function getFriend(_0x36c81b){const _0x5070e1=_0x1642;_0x36c81b=_0x36c81b['toString']();if(isNumeric(_0x36c81b)){const _0x2acf8c=Array[_0x5070e1(0xf9)](friends[_0x5070e1(0xed)]());return _0x2acf8c[_0x5070e1(0xe3)](_0xfe1ef7=>_0xfe1ef7[_0x5070e1(0xf5)]===_0x36c81b);}else return friends['get'](_0x36c81b);}export async function getGroup(_0x265c3d){const _0x21d54d=_0x1642;let _0x4b47b8=groups[_0x21d54d(0xe9)](_0x265c3d[_0x21d54d(0xe5)]());if(!_0x4b47b8)try{const _0x3ace3c=await NTQQGroupApi[_0x21d54d(0xfa)]();_0x3ace3c[_0x21d54d(0xf3)]&&_0x3ace3c['forEach'](_0x19263b=>{const _0x248465=_0x21d54d;groups[_0x248465(0xee)](_0x19263b[_0x248465(0xef)],_0x19263b);});}catch(_0x93e832){return undefined;}return _0x4b47b8=groups['get'](_0x265c3d[_0x21d54d(0xe5)]()),_0x4b47b8;}export async function getGroupMember(_0x4c9dde,_0x2a836c){const _0x3c843c=_0x1642,_0x2552a3={'NPAsI':function(_0x423608,_0x3928c7){return _0x423608(_0x3928c7);},'csHUm':function(_0x4dfaa8){return _0x4dfaa8();},'fQDEe':function(_0xe63e3d){return _0xe63e3d();}};_0x4c9dde=_0x4c9dde[_0x3c843c(0xe5)](),_0x2a836c=_0x2a836c[_0x3c843c(0xe5)]();let _0x2f424f=groupMembers[_0x3c843c(0xe9)](_0x4c9dde);if(!_0x2f424f)try{_0x2f424f=await NTQQGroupApi['getGroupMembers'](_0x4c9dde),groupMembers[_0x3c843c(0xee)](_0x4c9dde,_0x2f424f);}catch(_0x121aa6){return null;}const _0x467aab=()=>{const _0x5ba92b=_0x3c843c;let _0x3ae4b1=undefined;return _0x2552a3['NPAsI'](isNumeric,_0x2a836c)?_0x3ae4b1=Array[_0x5ba92b(0xf9)](_0x2f424f['values']())['find'](_0x3f9f4f=>_0x3f9f4f['uin']===_0x2a836c):_0x3ae4b1=_0x2f424f[_0x5ba92b(0xe9)](_0x2a836c),_0x3ae4b1;};let _0x234020=_0x2552a3[_0x3c843c(0xf6)](_0x467aab);return!_0x234020&&(_0x2f424f=await NTQQGroupApi[_0x3c843c(0xe6)](_0x4c9dde),_0x234020=_0x2552a3[_0x3c843c(0xf2)](_0x467aab)),_0x234020;}export const uid2UinMap={};export function getUidByUin(_0x3cc9c2){for(const _0x37ff82 in uid2UinMap){if(uid2UinMap[_0x37ff82]===_0x3cc9c2)return _0x37ff82;}}function _0x66d1(){const _0x1aafc1=['delete','values','set','groupCode','35NkYjYP','1666025YLVJIM','fQDEe','length','445448ZUKZQK','uin','csHUm','13268628HwALlt','214108scqLKw','from','getGroups','find','2rzzIQy','toString','getGroupMembers','827250mHLyYZ','10HaeqNQ','get','236069tAfqDV','659493muGXei'];_0x66d1=function(){return _0x1aafc1;};return _0x66d1();}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};
|
||||
(function(_0x33edcd,_0x59f747){const _0x564bf5=_0x3317,_0x47eb43=_0x33edcd();while(!![]){try{const _0x594c49=parseInt(_0x564bf5(0xc1))/0x1*(parseInt(_0x564bf5(0xb7))/0x2)+parseInt(_0x564bf5(0xbf))/0x3*(-parseInt(_0x564bf5(0xb2))/0x4)+parseInt(_0x564bf5(0xbe))/0x5+-parseInt(_0x564bf5(0xae))/0x6*(-parseInt(_0x564bf5(0xb5))/0x7)+-parseInt(_0x564bf5(0xb1))/0x8*(parseInt(_0x564bf5(0xbc))/0x9)+parseInt(_0x564bf5(0xac))/0xa*(-parseInt(_0x564bf5(0xb8))/0xb)+-parseInt(_0x564bf5(0xad))/0xc;if(_0x594c49===_0x59f747)break;else _0x47eb43['push'](_0x47eb43['shift']());}catch(_0x4c50b4){_0x47eb43['push'](_0x47eb43['shift']());}}}(_0x1e65,0x64b0b));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();function _0x3317(_0x5624d,_0x169f19){const _0x1e65bc=_0x1e65();return _0x3317=function(_0x331702,_0x127910){_0x331702=_0x331702-0xab;let _0x26db76=_0x1e65bc[_0x331702];return _0x26db76;},_0x3317(_0x5624d,_0x169f19);}export function deleteGroup(_0x34ec55){const _0x355fb1=_0x3317;groups[_0x355fb1(0xbb)](_0x34ec55),groupMembers[_0x355fb1(0xbb)](_0x34ec55);}export const groupMembers=new Map();export const friends=new Map();function _0x1e65(){const _0x81485d=['delete','9NEuGnV','getGroupMembers','1325195dbbExy','7893qOXhEp','toString','17177OMjzYL','get','from','310130kLtpia','5797044YVCHEd','126pxQjBM','groupCode','find','457904IysSoc','4bgvDSm','uin','oznTv','2359hztGXr','AsILF','94DfZXxp','44WLXfRS','set','values'];_0x1e65=function(){return _0x81485d;};return _0x1e65();}export const groupNotifies={};export async function getGroup(_0x4dbc87){const _0x3d3418=_0x3317;let _0x1dc7e8=groups[_0x3d3418(0xc2)](_0x4dbc87[_0x3d3418(0xc0)]());if(!_0x1dc7e8)try{const _0x133c9e=await NTQQGroupApi['getGroups']();_0x133c9e['length']&&_0x133c9e['forEach'](_0x12bf92=>{const _0x5c7dcf=_0x3d3418;groups[_0x5c7dcf(0xb9)](_0x12bf92[_0x5c7dcf(0xaf)],_0x12bf92);});}catch(_0x1991dd){return undefined;}return _0x1dc7e8=groups[_0x3d3418(0xc2)](_0x4dbc87[_0x3d3418(0xc0)]()),_0x1dc7e8;}export async function getGroupMember(_0x520a47,_0x22097e){const _0x36558e=_0x3317,_0x5da2da={'AsILF':function(_0x2272fe,_0x2f93e3){return _0x2272fe(_0x2f93e3);},'oznTv':function(_0x3d4bc8){return _0x3d4bc8();}};_0x520a47=_0x520a47['toString'](),_0x22097e=_0x22097e[_0x36558e(0xc0)]();let _0x20ad89=groupMembers[_0x36558e(0xc2)](_0x520a47);if(!_0x20ad89)try{_0x20ad89=await NTQQGroupApi[_0x36558e(0xbd)](_0x520a47),groupMembers[_0x36558e(0xb9)](_0x520a47,_0x20ad89);}catch(_0x34e000){return null;}const _0x18e1d8=()=>{const _0x31329c=_0x36558e;let _0x91912a=undefined;return _0x5da2da[_0x31329c(0xb6)](isNumeric,_0x22097e)?_0x91912a=Array[_0x31329c(0xab)](_0x20ad89[_0x31329c(0xba)]())[_0x31329c(0xb0)](_0x8b699b=>_0x8b699b[_0x31329c(0xb3)]===_0x22097e):_0x91912a=_0x20ad89[_0x31329c(0xc2)](_0x22097e),_0x91912a;};let _0x4faf63=_0x5da2da['oznTv'](_0x18e1d8);return!_0x4faf63&&(_0x20ad89=await NTQQGroupApi[_0x36558e(0xbd)](_0x520a47),_0x4faf63=_0x5da2da[_0x36558e(0xb4)](_0x18e1d8)),_0x4faf63;}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};
|
@@ -1 +1 @@
|
||||
function _0x545d(_0x3ef9dc,_0xe5aa36){var _0x101f48=_0x101f();return _0x545d=function(_0x545d67,_0x27e419){_0x545d67=_0x545d67-0xb3;var _0x3ad04c=_0x101f48[_0x545d67];return _0x3ad04c;},_0x545d(_0x3ef9dc,_0xe5aa36);}function _0x101f(){var _0x3f338c=['14ndscRH','YYofk','2953002rmxilI','DOCUMENT','split','xKGzN','20pHxTRb','KxFxV','2740150DbzUDW','231PWAyjZ','ADNkV','AUDIO','IMAGE','9428TgPFRW','OTHER','44912uQZHKJ','0|3|1|2|4','kSBJM','190912UmDJUy','2072727NugLUo','1637336vEufIL'];_0x101f=function(){return _0x3f338c;};return _0x101f();}(function(_0x4a11ea,_0x38ba70){var _0x496e86=_0x545d,_0x20b4e3=_0x4a11ea();while(!![]){try{var _0xbe8e11=parseInt(_0x496e86(0xc1))/0x1+parseInt(_0x496e86(0xbe))/0x2+-parseInt(_0x496e86(0xb8))/0x3*(-parseInt(_0x496e86(0xbc))/0x4)+-parseInt(_0x496e86(0xb7))/0x5+parseInt(_0x496e86(0xc6))/0x6+parseInt(_0x496e86(0xc4))/0x7*(parseInt(_0x496e86(0xc3))/0x8)+-parseInt(_0x496e86(0xc2))/0x9*(parseInt(_0x496e86(0xb5))/0xa);if(_0xbe8e11===_0x38ba70)break;else _0x20b4e3['push'](_0x20b4e3['shift']());}catch(_0x5752e8){_0x20b4e3['push'](_0x20b4e3['shift']());}}}(_0x101f,0x463ea));;export var CacheFileType;(function(_0x5328bf){var _0x83c8ad=_0x545d,_0x26642b={'kSBJM':_0x83c8ad(0xbf),'KxFxV':_0x83c8ad(0xbb),'xKGzN':'AUDIO','ADNkV':_0x83c8ad(0xc7),'YYofk':'VIDEO','LBNan':_0x83c8ad(0xbd)},_0x4ecba1=_0x26642b[_0x83c8ad(0xc0)][_0x83c8ad(0xb3)]('|'),_0x5403d6=0x0;while(!![]){switch(_0x4ecba1[_0x5403d6++]){case'0':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb6)]]=0x0]=_0x26642b[_0x83c8ad(0xb6)];continue;case'1':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb4)]]=0x2]=_0x83c8ad(0xba);continue;case'2':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb9)]]=0x3]=_0x83c8ad(0xc7);continue;case'3':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xc5)]]=0x1]=_0x26642b[_0x83c8ad(0xc5)];continue;case'4':_0x5328bf[_0x5328bf[_0x26642b['LBNan']]=0x4]=_0x26642b['LBNan'];continue;}break;}}(CacheFileType||(CacheFileType={})));
|
||||
(function(_0x8c32a6,_0x1f8dc1){var _0x31c6bc=_0x5b94,_0x14550f=_0x8c32a6();while(!![]){try{var _0x26cfb0=parseInt(_0x31c6bc(0xce))/0x1*(-parseInt(_0x31c6bc(0xcd))/0x2)+parseInt(_0x31c6bc(0xd6))/0x3*(-parseInt(_0x31c6bc(0xdf))/0x4)+-parseInt(_0x31c6bc(0xdd))/0x5*(-parseInt(_0x31c6bc(0xdb))/0x6)+parseInt(_0x31c6bc(0xd4))/0x7+parseInt(_0x31c6bc(0xd1))/0x8*(-parseInt(_0x31c6bc(0xcc))/0x9)+parseInt(_0x31c6bc(0xc9))/0xa*(-parseInt(_0x31c6bc(0xd9))/0xb)+parseInt(_0x31c6bc(0xd5))/0xc;if(_0x26cfb0===_0x1f8dc1)break;else _0x14550f['push'](_0x14550f['shift']());}catch(_0x9e07f6){_0x14550f['push'](_0x14550f['shift']());}}}(_0x2783,0xdb844));;export var CacheFileType;(function(_0x1feadb){var _0x3b011b=_0x5b94,_0x22fb04={'QwrTm':_0x3b011b(0xda),'khNJK':_0x3b011b(0xd0),'RKBKP':_0x3b011b(0xde),'zowbv':_0x3b011b(0xca),'LdwST':'VIDEO','DxToE':'AUDIO'},_0x1e60b0=_0x22fb04[_0x3b011b(0xd8)][_0x3b011b(0xcf)]('|'),_0x5595d7=0x0;while(!![]){switch(_0x1e60b0[_0x5595d7++]){case'0':_0x1feadb[_0x1feadb[_0x22fb04[_0x3b011b(0xdc)]]=0x0]=_0x22fb04['khNJK'];continue;case'1':_0x1feadb[_0x1feadb[_0x22fb04[_0x3b011b(0xd2)]]=0x4]=_0x22fb04[_0x3b011b(0xd2)];continue;case'2':_0x1feadb[_0x1feadb[_0x3b011b(0xca)]=0x3]=_0x22fb04[_0x3b011b(0xcb)];continue;case'3':_0x1feadb[_0x1feadb[_0x22fb04['LdwST']]=0x1]=_0x22fb04[_0x3b011b(0xd3)];continue;case'4':_0x1feadb[_0x1feadb[_0x22fb04[_0x3b011b(0xd7)]]=0x2]=_0x22fb04['DxToE'];continue;}break;}}(CacheFileType||(CacheFileType={})));function _0x5b94(_0x24b76c,_0x1f89eb){var _0x27837a=_0x2783();return _0x5b94=function(_0x5b94d4,_0x5b297b){_0x5b94d4=_0x5b94d4-0xc9;var _0x5d606c=_0x27837a[_0x5b94d4];return _0x5d606c;},_0x5b94(_0x24b76c,_0x1f89eb);}function _0x2783(){var _0x4872ee=['15419657LtnlPs','0|3|4|2|1','2607828TSqXIl','khNJK','5Eqonwq','OTHER','3388VuooNg','10cvimVU','DOCUMENT','zowbv','12573BdHvAs','10lNhXwo','66821QcotDK','split','IMAGE','2696JauVps','RKBKP','LdwST','6278832KSbQYH','29716440Nbfcfv','2487iqGGlf','DxToE','QwrTm'];_0x2783=function(){return _0x4872ee;};return _0x2783();}
|
2
src/core.lib/src/entities/constructor.d.ts
vendored
2
src/core.lib/src/entities/constructor.d.ts
vendored
@@ -5,7 +5,7 @@ export declare class SendMsgElementConstructor {
|
||||
static at(atUid: string, atNtUid: string, atType: AtType, atName: string): SendTextElement;
|
||||
static reply(msgSeq: string, msgId: string, senderUin: string, senderUinStr: string): SendReplyElement;
|
||||
static pic(picPath: string, summary?: string, subType?: 0 | 1): Promise<SendPicElement>;
|
||||
static file(filePath: string, fileName?: string): Promise<SendFileElement>;
|
||||
static file(filePath: string, fileName?: string, folderId?: string): Promise<SendFileElement>;
|
||||
static video(filePath: string, fileName?: string, diyThumbPath?: string): Promise<SendVideoElement>;
|
||||
static ptt(pttPath: string): Promise<SendPttElement>;
|
||||
static face(faceId: number): SendFaceElement;
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x4da7(_0x2dece6,_0x3de6ef){var _0x4b161f=_0x4b16();return _0x4da7=function(_0x4da794,_0x2abd8a){_0x4da794=_0x4da794-0x161;var _0xf1e548=_0x4b161f[_0x4da794];return _0xf1e548;},_0x4da7(_0x2dece6,_0x3de6ef);}(function(_0x18d2b9,_0x1230ef){var _0x2e2a86=_0x4da7,_0x40e364=_0x18d2b9();while(!![]){try{var _0x468e31=parseInt(_0x2e2a86(0x162))/0x1+-parseInt(_0x2e2a86(0x16a))/0x2*(-parseInt(_0x2e2a86(0x164))/0x3)+-parseInt(_0x2e2a86(0x161))/0x4+parseInt(_0x2e2a86(0x167))/0x5*(parseInt(_0x2e2a86(0x168))/0x6)+-parseInt(_0x2e2a86(0x166))/0x7+-parseInt(_0x2e2a86(0x16d))/0x8+-parseInt(_0x2e2a86(0x169))/0x9*(-parseInt(_0x2e2a86(0x165))/0xa);if(_0x468e31===_0x1230ef)break;else _0x40e364['push'](_0x40e364['shift']());}catch(_0x128320){_0x40e364['push'](_0x40e364['shift']());}}}(_0x4b16,0xd59db));function _0x4b16(){var _0x36957f=['9dJaKky','9242NzUVsB','tWQaC','owner','6172288NkVpxF','admin','5560288sHiXxY','646660zLAmzA','yjOxv','963UIXEXG','6511530UkDoaQ','3984414bAfjss','77795OqnHHX','318pMgnEg'];_0x4b16=function(){return _0x36957f;};return _0x4b16();}export var GroupMemberRole;(function(_0x248e7c){var _0x5e4454=_0x4da7,_0x4da84f={'tWQaC':'normal','yjOxv':_0x5e4454(0x16e),'mVDrM':'owner'};_0x248e7c[_0x248e7c[_0x4da84f['tWQaC']]=0x2]=_0x4da84f[_0x5e4454(0x16b)],_0x248e7c[_0x248e7c[_0x4da84f[_0x5e4454(0x163)]]=0x3]=_0x4da84f['yjOxv'],_0x248e7c[_0x248e7c[_0x5e4454(0x16c)]=0x4]=_0x4da84f['mVDrM'];}(GroupMemberRole||(GroupMemberRole={})));
|
||||
(function(_0x417175,_0x4de361){var _0x2789b3=_0x25ef,_0xfa313f=_0x417175();while(!![]){try{var _0x2c87cb=parseInt(_0x2789b3(0x1c9))/0x1*(parseInt(_0x2789b3(0x1c2))/0x2)+parseInt(_0x2789b3(0x1bf))/0x3*(-parseInt(_0x2789b3(0x1c6))/0x4)+-parseInt(_0x2789b3(0x1c8))/0x5*(parseInt(_0x2789b3(0x1c1))/0x6)+-parseInt(_0x2789b3(0x1bd))/0x7+parseInt(_0x2789b3(0x1c5))/0x8+-parseInt(_0x2789b3(0x1cd))/0x9*(-parseInt(_0x2789b3(0x1c0))/0xa)+-parseInt(_0x2789b3(0x1be))/0xb*(-parseInt(_0x2789b3(0x1cc))/0xc);if(_0x2c87cb===_0x4de361)break;else _0xfa313f['push'](_0xfa313f['shift']());}catch(_0x5b1e8d){_0xfa313f['push'](_0xfa313f['shift']());}}}(_0x2288,0x1e2ee));export var GroupMemberRole;function _0x2288(){var _0x56c90e=['yRnRZ','admin','182640KrHgtm','727488harMFm','1705928tzIZoG','143QJzuMy','3XNnqvf','30ARKrkY','41058tKXGjG','390GVaLNp','spGFL','fVJYL','64408VKXxGU','975724TvJokB','owner','45UsgBRE','1151vfugZN'];_0x2288=function(){return _0x56c90e;};return _0x2288();}function _0x25ef(_0x10d875,_0x3f2b99){var _0x228851=_0x2288();return _0x25ef=function(_0x25efc6,_0x30e83c){_0x25efc6=_0x25efc6-0x1bd;var _0x5d0b00=_0x228851[_0x25efc6];return _0x5d0b00;},_0x25ef(_0x10d875,_0x3f2b99);}(function(_0x38b478){var _0xc76f08=_0x25ef,_0x13610f={'yRnRZ':'normal','fVJYL':_0xc76f08(0x1cb),'spGFL':_0xc76f08(0x1c7)};_0x38b478[_0x38b478[_0x13610f[_0xc76f08(0x1ca)]]=0x2]=_0x13610f[_0xc76f08(0x1ca)],_0x38b478[_0x38b478[_0xc76f08(0x1cb)]=0x3]=_0x13610f[_0xc76f08(0x1c4)],_0x38b478[_0x38b478[_0x13610f[_0xc76f08(0x1c3)]]=0x4]=_0x13610f[_0xc76f08(0x1c3)];}(GroupMemberRole||(GroupMemberRole={})));
|
@@ -1 +1 @@
|
||||
(function(_0x3f0194,_0x3a6f4a){var _0x539a8f=_0x4f70,_0x2067a5=_0x3f0194();while(!![]){try{var _0x499e86=-parseInt(_0x539a8f(0x171))/0x1*(-parseInt(_0x539a8f(0x174))/0x2)+parseInt(_0x539a8f(0x177))/0x3*(parseInt(_0x539a8f(0x16f))/0x4)+-parseInt(_0x539a8f(0x173))/0x5+parseInt(_0x539a8f(0x16e))/0x6*(-parseInt(_0x539a8f(0x176))/0x7)+parseInt(_0x539a8f(0x172))/0x8+-parseInt(_0x539a8f(0x170))/0x9+parseInt(_0x539a8f(0x175))/0xa;if(_0x499e86===_0x3a6f4a)break;else _0x2067a5['push'](_0x2067a5['shift']());}catch(_0x41555b){_0x2067a5['push'](_0x2067a5['shift']());}}}(_0x1b61,0x2d476));function _0x4f70(_0x34f5ce,_0x20f4ba){var _0x1b6107=_0x1b61();return _0x4f70=function(_0x4f701e,_0x3ef028){_0x4f701e=_0x4f701e-0x16e;var _0x3b02d3=_0x1b6107[_0x4f701e];return _0x3b02d3;},_0x4f70(_0x34f5ce,_0x20f4ba);}export*from'./user';function _0x1b61(){var _0x4958f7=['863225NcNNqZ','2ixShrg','4260810wFoYio','287ZKlKQo','441843JsnoPO','18108dnDIdy','4CSgZUz','1764612mSDzJh','70654UcFolu','271176ONTsbw'];_0x1b61=function(){return _0x4958f7;};return _0x1b61();}export*from'./group';export*from'./msg';export*from'./notify';export*from'./cache';export*from'./constructor';
|
||||
(function(_0x41e49a,_0x2ebb61){var _0x18c2ba=_0x5930,_0x3b6bbf=_0x41e49a();while(!![]){try{var _0x4a74c0=parseInt(_0x18c2ba(0xda))/0x1*(parseInt(_0x18c2ba(0xd8))/0x2)+-parseInt(_0x18c2ba(0xd9))/0x3*(parseInt(_0x18c2ba(0xd3))/0x4)+-parseInt(_0x18c2ba(0xd7))/0x5*(parseInt(_0x18c2ba(0xd5))/0x6)+parseInt(_0x18c2ba(0xd4))/0x7+-parseInt(_0x18c2ba(0xd1))/0x8+-parseInt(_0x18c2ba(0xd2))/0x9+parseInt(_0x18c2ba(0xd6))/0xa;if(_0x4a74c0===_0x2ebb61)break;else _0x3b6bbf['push'](_0x3b6bbf['shift']());}catch(_0x2092ac){_0x3b6bbf['push'](_0x3b6bbf['shift']());}}}(_0x538c,0x922f2));export*from'./user';export*from'./group';export*from'./msg';function _0x5930(_0x5458e5,_0x4c794c){var _0x538cfe=_0x538c();return _0x5930=function(_0x59309f,_0x351741){_0x59309f=_0x59309f-0xd1;var _0x49f8c1=_0x538cfe[_0x59309f];return _0x49f8c1;},_0x5930(_0x5458e5,_0x4c794c);}export*from'./notify';export*from'./cache';export*from'./constructor';function _0x538c(){var _0x433aab=['50kySWEX','801483kjNMMY','12515LjOXLl','4219976DXPovH','5212116scoMjm','8mMDyuM','3609529dHuMHa','3368454QeNpvL','19726000hhaLjx','5EuLLce'];_0x538c=function(){return _0x433aab;};return _0x538c();}
|
63
src/core.lib/src/entities/msg.d.ts
vendored
63
src/core.lib/src/entities/msg.d.ts
vendored
@@ -13,6 +13,13 @@ export interface KickedOffLineInfo {
|
||||
kickedType: number;
|
||||
securityKickedType: number;
|
||||
}
|
||||
export interface GetFileListParam {
|
||||
sortType: number;
|
||||
fileCount: number;
|
||||
startIndex: number;
|
||||
sortOrder: number;
|
||||
showOnlinedocFolder: number;
|
||||
}
|
||||
export declare enum ElementType {
|
||||
TEXT = 1,
|
||||
PIC = 2,
|
||||
@@ -108,6 +115,7 @@ export interface FileElement {
|
||||
fileSize: string;
|
||||
picHeight?: number;
|
||||
picWidth?: number;
|
||||
folderId?: string;
|
||||
picThumbPath?: Map<number, string>;
|
||||
file10MMd5?: string;
|
||||
fileSha?: string;
|
||||
@@ -149,6 +157,48 @@ export declare enum ChatType {
|
||||
chatDevice = 8,//移动设备?
|
||||
temp = 100
|
||||
}
|
||||
export declare 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;
|
||||
@@ -265,6 +315,19 @@ export interface VideoElement {
|
||||
import_rich_media_context?: null;
|
||||
sourceVideoCodecFormat?: number;
|
||||
}
|
||||
export declare 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;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
54
src/core.lib/src/entities/notify.d.ts
vendored
54
src/core.lib/src/entities/notify.d.ts
vendored
@@ -54,8 +54,26 @@ export declare enum GroupRequestOperateTypes {
|
||||
approve = 1,
|
||||
reject = 2
|
||||
}
|
||||
export declare enum BuddyReqType {
|
||||
KMEINITIATOR = 0,
|
||||
KPEERINITIATOR = 1,
|
||||
KMEAGREED = 2,
|
||||
KMEAGREEDANDADDED = 3,
|
||||
KPEERAGREED = 4,
|
||||
KPEERAGREEDANDADDED = 5,
|
||||
KPEERREFUSED = 6,
|
||||
KMEREFUSED = 7,
|
||||
KMEIGNORED = 8,
|
||||
KMEAGREEANYONE = 9,
|
||||
KMESETQUESTION = 10,
|
||||
KMEAGREEANDADDFAILED = 11,
|
||||
KMSGINFO = 12,
|
||||
KMEINITIATORWAITPEERCONFIRM = 13
|
||||
}
|
||||
export interface FriendRequest {
|
||||
isDecide: boolean;
|
||||
friendUid: string;
|
||||
reqType: BuddyReqType;
|
||||
reqTime: string;
|
||||
extWords: string;
|
||||
isUnread: boolean;
|
||||
@@ -67,3 +85,39 @@ export interface FriendRequestNotify {
|
||||
unreadNums: number;
|
||||
buddyReqs: FriendRequest[];
|
||||
}
|
||||
export declare 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;
|
||||
};
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
84
src/core.lib/src/entities/user.d.ts
vendored
84
src/core.lib/src/entities/user.d.ts
vendored
@@ -9,6 +9,17 @@ export interface BuddyCategoryType {
|
||||
categroyMbCount: number;
|
||||
buddyList: User[];
|
||||
}
|
||||
export interface ModifyProfileParams {
|
||||
nick: string;
|
||||
longNick: string;
|
||||
sex: Sex;
|
||||
birthday: {
|
||||
birthday_year: string;
|
||||
birthday_month: string;
|
||||
birthday_day: string;
|
||||
};
|
||||
location: any;
|
||||
}
|
||||
export interface BuddyProfileLikeReq {
|
||||
friendUids: string[];
|
||||
basic: number;
|
||||
@@ -87,3 +98,76 @@ export interface SelfInfo extends User {
|
||||
}
|
||||
export interface Friend extends User {
|
||||
}
|
||||
export declare enum BizKey {
|
||||
KPRIVILEGEICON = 0,
|
||||
KPHOTOWALL = 1
|
||||
}
|
||||
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;
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
function _0xfb09(_0x4069c0,_0x12bb7b){var _0x45d3c7=_0x45d3();return _0xfb09=function(_0xfb0922,_0x312f99){_0xfb0922=_0xfb0922-0x1e6;var _0x2be3a3=_0x45d3c7[_0xfb0922];return _0x2be3a3;},_0xfb09(_0x4069c0,_0x12bb7b);}(function(_0x397b8f,_0x3cdcf4){var _0x2c290c=_0xfb09,_0x5c3bab=_0x397b8f();while(!![]){try{var _0x9e7901=-parseInt(_0x2c290c(0x1e9))/0x1+parseInt(_0x2c290c(0x1e8))/0x2*(-parseInt(_0x2c290c(0x1ea))/0x3)+parseInt(_0x2c290c(0x1ef))/0x4+parseInt(_0x2c290c(0x1f0))/0x5+-parseInt(_0x2c290c(0x1f2))/0x6*(-parseInt(_0x2c290c(0x1f1))/0x7)+-parseInt(_0x2c290c(0x1f3))/0x8*(parseInt(_0x2c290c(0x1ed))/0x9)+parseInt(_0x2c290c(0x1eb))/0xa;if(_0x9e7901===_0x3cdcf4)break;else _0x5c3bab['push'](_0x5c3bab['shift']());}catch(_0x2786db){_0x5c3bab['push'](_0x5c3bab['shift']());}}}(_0x45d3,0x8488c));export var Sex;function _0x45d3(){var _0x31b326=['902520AqROoT','3pOMsye','15807110hhIbCp','MAnXW','46629FMFnnd','male','232080axHzhk','4851910avaOkD','168ecKIdb','17322hofvQf','256egSqie','unknown','female','rCflF','2134458ndfJJQ'];_0x45d3=function(){return _0x31b326;};return _0x45d3();}(function(_0x3453e7){var _0x5f2da7=_0xfb09,_0x431283={'MAnXW':_0x5f2da7(0x1ee),'rCflF':_0x5f2da7(0x1e6)};_0x3453e7[_0x3453e7[_0x5f2da7(0x1ee)]=0x1]=_0x431283[_0x5f2da7(0x1ec)],_0x3453e7[_0x3453e7[_0x431283[_0x5f2da7(0x1e7)]]=0x2]=_0x431283[_0x5f2da7(0x1e7)],_0x3453e7[_0x3453e7['unknown']=0xff]=_0x5f2da7(0x1f4);}(Sex||(Sex={})));
|
||||
function _0x1486(_0x328b06,_0x117286){var _0x3c6035=_0x3c60();return _0x1486=function(_0x1486a1,_0x3a35dc){_0x1486a1=_0x1486a1-0x1b4;var _0x5ef6be=_0x3c6035[_0x1486a1];return _0x5ef6be;},_0x1486(_0x328b06,_0x117286);}(function(_0x12c93a,_0x54cab3){var _0x37fbfd=_0x1486,_0x558b1d=_0x12c93a();while(!![]){try{var _0x4acca0=parseInt(_0x37fbfd(0x1b8))/0x1+-parseInt(_0x37fbfd(0x1bd))/0x2*(parseInt(_0x37fbfd(0x1b9))/0x3)+parseInt(_0x37fbfd(0x1c4))/0x4+-parseInt(_0x37fbfd(0x1c0))/0x5+parseInt(_0x37fbfd(0x1c3))/0x6*(parseInt(_0x37fbfd(0x1b4))/0x7)+-parseInt(_0x37fbfd(0x1bb))/0x8*(-parseInt(_0x37fbfd(0x1c1))/0x9)+parseInt(_0x37fbfd(0x1b6))/0xa*(-parseInt(_0x37fbfd(0x1c2))/0xb);if(_0x4acca0===_0x54cab3)break;else _0x558b1d['push'](_0x558b1d['shift']());}catch(_0x499218){_0x558b1d['push'](_0x558b1d['shift']());}}}(_0x3c60,0xe9f23));export var Sex;(function(_0x4debb2){var _0x3c1549=_0x1486,_0x5a32c8={'bZrDj':'male','lHsCo':_0x3c1549(0x1bf),'rVSeb':_0x3c1549(0x1b7)};_0x4debb2[_0x4debb2[_0x5a32c8[_0x3c1549(0x1bc)]]=0x1]=_0x5a32c8[_0x3c1549(0x1bc)],_0x4debb2[_0x4debb2[_0x5a32c8[_0x3c1549(0x1c6)]]=0x2]=_0x5a32c8[_0x3c1549(0x1c6)],_0x4debb2[_0x4debb2[_0x5a32c8[_0x3c1549(0x1c5)]]=0xff]=_0x5a32c8[_0x3c1549(0x1c5)];}(Sex||(Sex={})));function _0x3c60(){var _0x2bb498=['1276807nuCQsN','CZvMn','10qTzIjk','unknown','1473897wGReGY','1305177ywbCIB','KPHOTOWALL','8QJpRwl','bZrDj','2Aintpo','NgVPa','female','3581255kgtxZf','2893626fxOpQu','37059638PWKWCU','60SqXFKm','7436760YvxCeV','rVSeb','lHsCo'];_0x3c60=function(){return _0x2bb498;};return _0x3c60();}export var BizKey;(function(_0x1d0b54){var _0x4645b9=_0x1486,_0x56379a={'NgVPa':'KPRIVILEGEICON','CZvMn':_0x4645b9(0x1ba)};_0x1d0b54[_0x1d0b54[_0x56379a[_0x4645b9(0x1be)]]=0x0]=_0x56379a['NgVPa'],_0x1d0b54[_0x1d0b54[_0x56379a[_0x4645b9(0x1b5)]]=0x1]=_0x56379a[_0x4645b9(0x1b5)];}(BizKey||(BizKey={})));
|
8
src/core.lib/src/external/hook.d.ts
vendored
8
src/core.lib/src/external/hook.d.ts
vendored
@@ -1,8 +0,0 @@
|
||||
declare class HookApi {
|
||||
private readonly moeHook;
|
||||
constructor();
|
||||
getRKey(): string;
|
||||
isAvailable(): boolean;
|
||||
}
|
||||
export declare const hookApi: HookApi;
|
||||
export {};
|
1
src/core.lib/src/external/hook.js
vendored
1
src/core.lib/src/external/hook.js
vendored
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(_0xb49f97,_0x175077){var _0xf2c564=_0x1e80,_0x20d6f2=_0xb49f97();while(!![]){try{var _0x40fa08=parseInt(_0xf2c564(0x1d5))/0x1*(-parseInt(_0xf2c564(0x1d3))/0x2)+-parseInt(_0xf2c564(0x1d2))/0x3*(-parseInt(_0xf2c564(0x1d1))/0x4)+-parseInt(_0xf2c564(0x1cf))/0x5*(-parseInt(_0xf2c564(0x1d0))/0x6)+-parseInt(_0xf2c564(0x1d8))/0x7*(parseInt(_0xf2c564(0x1d9))/0x8)+parseInt(_0xf2c564(0x1d6))/0x9+-parseInt(_0xf2c564(0x1d4))/0xa*(-parseInt(_0xf2c564(0x1d7))/0xb)+parseInt(_0xf2c564(0x1db))/0xc*(parseInt(_0xf2c564(0x1da))/0xd);if(_0x40fa08===_0x175077)break;else _0x20d6f2['push'](_0x20d6f2['shift']());}catch(_0xa68e15){_0x20d6f2['push'](_0x20d6f2['shift']());}}}(_0x5438,0xd71dd));import _0x299076 from'./wrapper';export*from'./adapters';export*from'./apis';function _0x1e80(_0x3519bc,_0x5ae3be){var _0x54380e=_0x5438();return _0x1e80=function(_0x1e807a,_0x42f54f){_0x1e807a=_0x1e807a-0x1cf;var _0x4ea390=_0x54380e[_0x1e807a];return _0x4ea390;},_0x1e80(_0x3519bc,_0x5ae3be);}export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';function _0x5438(){var _0x1bdecc=['2978548JeyFRF','3qNynFd','624adrTwZ','10RtDHVG','3793nnYNyq','3331395NbIiPc','14125463BSaQhs','18830NDslUz','4760AkfUiX','11882ssIBgw','10824nnrrWn','13550FUigJA','978RmEKIP'];_0x5438=function(){return _0x1bdecc;};return _0x5438();}export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x299076 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
|
||||
(function(_0x5a88d9,_0x5ab068){var _0x4173ab=_0x1a06,_0x3036a7=_0x5a88d9();while(!![]){try{var _0x289715=parseInt(_0x4173ab(0x118))/0x1+parseInt(_0x4173ab(0x116))/0x2+-parseInt(_0x4173ab(0x115))/0x3+parseInt(_0x4173ab(0x113))/0x4*(parseInt(_0x4173ab(0x117))/0x5)+-parseInt(_0x4173ab(0x119))/0x6+parseInt(_0x4173ab(0x11a))/0x7*(parseInt(_0x4173ab(0x11b))/0x8)+-parseInt(_0x4173ab(0x114))/0x9;if(_0x289715===_0x5ab068)break;else _0x3036a7['push'](_0x3036a7['shift']());}catch(_0x3977a0){_0x3036a7['push'](_0x3036a7['shift']());}}}(_0x2005,0xed49d));import _0x982f22 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x982f22 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';function _0x1a06(_0x49759a,_0x315aa0){var _0x2005fe=_0x2005();return _0x1a06=function(_0x1a064f,_0x283c48){_0x1a064f=_0x1a064f-0x113;var _0x46e9af=_0x2005fe[_0x1a064f];return _0x46e9af;},_0x1a06(_0x49759a,_0x315aa0);}function _0x2005(){var _0x307347=['2986272hbeAEX','155953buaIdy','552ljIjTz','4jEWJhM','23346801GELwep','250023udeCqm','1325890IjnUQP','2914430RWFPoS','1363993GtoguH'];_0x2005=function(){return _0x307347;};return _0x2005();}
|
@@ -1 +1 @@
|
||||
var _0x5b9891=_0x3d05;function _0x3d05(_0x587add,_0x209cf7){var _0x1f0d7e=_0x1f0d();return _0x3d05=function(_0x3d058c,_0x36510b){_0x3d058c=_0x3d058c-0xa6;var _0x29758b=_0x1f0d7e[_0x3d058c];return _0x29758b;},_0x3d05(_0x587add,_0x209cf7);}(function(_0x34f8f2,_0x32c19e){var _0x594364=_0x3d05,_0x1337d3=_0x34f8f2();while(!![]){try{var _0x12cb4a=parseInt(_0x594364(0xb2))/0x1*(parseInt(_0x594364(0xaa))/0x2)+parseInt(_0x594364(0xb1))/0x3*(-parseInt(_0x594364(0xb6))/0x4)+-parseInt(_0x594364(0xb3))/0x5*(parseInt(_0x594364(0xa7))/0x6)+parseInt(_0x594364(0xb4))/0x7+parseInt(_0x594364(0xb8))/0x8*(-parseInt(_0x594364(0xa8))/0x9)+parseInt(_0x594364(0xb5))/0xa+parseInt(_0x594364(0xb9))/0xb;if(_0x12cb4a===_0x32c19e)break;else _0x1337d3['push'](_0x1337d3['shift']());}catch(_0x2755e4){_0x1337d3['push'](_0x1337d3['shift']());}}}(_0x1f0d,0x6415e));function _0x1f0d(){var _0x4056e1=['4116588EFQKhQ','7902060xWIsSQ','2387680LihvQH','onDelBatchBuddyInfos','59672VXOAtG','40601qnwQuW','onBuddyListChange','825270KDtxTf','864ucVOkh','onBuddyDetailInfoChange','478498MSIufy','onDoubtBuddyReqChange','onSpacePermissionInfos','onBlockChanged','onCheckBuddySettingResult','onBuddyRemarkUpdated','onNickUpdated','3wKtJyx','2ygaFbT','5WDXBJD'];_0x1f0d=function(){return _0x4056e1;};return _0x1f0d();}export class BuddyListener{['onAddBuddyNeedVerify'](_0x51b00b){}['onAddMeSettingChanged'](_0x3eaf15){}['onAvatarUrlUpdated'](_0x112f10){}[_0x5b9891(0xad)](_0x43ce56){}[_0x5b9891(0xa9)](_0x2204d2){}['onBuddyInfoChange'](_0x422691){}[_0x5b9891(0xa6)](_0x65f17a){}[_0x5b9891(0xaf)](_0x907d3f){}['onBuddyReqChange'](_0x548cd8){}['onBuddyReqUnreadCntChange'](_0x117373){}[_0x5b9891(0xae)](_0x26e718){}[_0x5b9891(0xb7)](_0x374db5){}[_0x5b9891(0xab)](_0x3ec022){}['onDoubtBuddyReqUnreadNumChange'](_0x386cb3){}[_0x5b9891(0xb0)](_0x499c3f){}['onSmartInfos'](_0x24db0d){}[_0x5b9891(0xac)](_0x5f16fa){}}
|
||||
function _0x3fab(){var _0x4d46a2=['273666uuvvYm','7990873CmIdaT','636447FZHmfW','8eqkubd','9WCntbC','onDelBatchBuddyInfos','1614780zkQLyc','20rKtiRl','onCheckBuddySettingResult','4MRFzAJ','onBuddyReqChange','onBuddyRemarkUpdated','onSpacePermissionInfos','264249PuBBOl','985236hsRowp','onBlockChanged','onDoubtBuddyReqUnreadNumChange','onNickUpdated','onAvatarUrlUpdated','onSmartInfos','onBuddyInfoChange','onBuddyReqUnreadCntChange','onDoubtBuddyReqChange','337715WMEKMj','onAddMeSettingChanged'];_0x3fab=function(){return _0x4d46a2;};return _0x3fab();}var _0x88adf8=_0x3d4c;(function(_0x3b1c8a,_0x1e1cb4){var _0x3169fc=_0x3d4c,_0x31dcfd=_0x3b1c8a();while(!![]){try{var _0x19ba97=-parseInt(_0x3169fc(0xf0))/0x1+-parseInt(_0x3169fc(0x105))/0x2*(parseInt(_0x3169fc(0xfc))/0x3)+-parseInt(_0x3169fc(0x103))/0x4*(parseInt(_0x3169fc(0xfa))/0x5)+parseInt(_0x3169fc(0xf1))/0x6+-parseInt(_0x3169fc(0xfe))/0x7*(parseInt(_0x3169fc(0xff))/0x8)+parseInt(_0x3169fc(0x100))/0x9*(parseInt(_0x3169fc(0x102))/0xa)+parseInt(_0x3169fc(0xfd))/0xb;if(_0x19ba97===_0x1e1cb4)break;else _0x31dcfd['push'](_0x31dcfd['shift']());}catch(_0x510daa){_0x31dcfd['push'](_0x31dcfd['shift']());}}}(_0x3fab,0x2b29e));function _0x3d4c(_0x576b67,_0x5694aa){var _0x3fabf5=_0x3fab();return _0x3d4c=function(_0x3d4c89,_0x33ac90){_0x3d4c89=_0x3d4c89-0xef;var _0x57106f=_0x3fabf5[_0x3d4c89];return _0x57106f;},_0x3d4c(_0x576b67,_0x5694aa);}export class BuddyListener{['onAddBuddyNeedVerify'](_0x35afa2){}[_0x88adf8(0xfb)](_0x160262){}[_0x88adf8(0xf5)](_0x301847){}[_0x88adf8(0xf2)](_0x5c2bd8){}['onBuddyDetailInfoChange'](_0x795f7b){}[_0x88adf8(0xf7)](_0x5d18c7){}['onBuddyListChange'](_0x109f89){}[_0x88adf8(0x107)](_0x55561d){}[_0x88adf8(0x106)](_0x58d4af){}[_0x88adf8(0xf8)](_0x37ab64){}[_0x88adf8(0x104)](_0x1a03df){}[_0x88adf8(0x101)](_0x57d3e3){}[_0x88adf8(0xf9)](_0x3b45a7){}[_0x88adf8(0xf3)](_0x2eab18){}[_0x88adf8(0xf4)](_0x2a6633){}[_0x88adf8(0xf6)](_0x487cf0){}[_0x88adf8(0xef)](_0x30c7f6){}}
|
@@ -1 +1 @@
|
||||
var _0x499213=_0x44ef;function _0x2201(){var _0x4ea2bb=['onFileStatusChanged','8OqcNAg','50295JZxcPz','onSessionChanged','95150xMjizq','5193nhTzWS','4988KmhBvA','25356xJbTSc','onFileSearch','423996KejVAj','onFileListChanged','740RvXGMy','207420NCHJBO','366JrRNgG','5XDVqgb'];_0x2201=function(){return _0x4ea2bb;};return _0x2201();}function _0x44ef(_0x1b855d,_0x4b1afc){var _0x220165=_0x2201();return _0x44ef=function(_0x44ef48,_0x1c030a){_0x44ef48=_0x44ef48-0x12a;var _0x7cc523=_0x220165[_0x44ef48];return _0x7cc523;},_0x44ef(_0x1b855d,_0x4b1afc);}(function(_0x57e28f,_0x3325ae){var _0x572a35=_0x44ef,_0x14e0e0=_0x57e28f();while(!![]){try{var _0x952b8e=-parseInt(_0x572a35(0x132))/0x1+-parseInt(_0x572a35(0x137))/0x2+-parseInt(_0x572a35(0x138))/0x3*(-parseInt(_0x572a35(0x131))/0x4)+-parseInt(_0x572a35(0x12a))/0x5*(-parseInt(_0x572a35(0x134))/0x6)+-parseInt(_0x572a35(0x12d))/0x7*(parseInt(_0x572a35(0x12c))/0x8)+parseInt(_0x572a35(0x130))/0x9*(parseInt(_0x572a35(0x136))/0xa)+-parseInt(_0x572a35(0x12f))/0xb;if(_0x952b8e===_0x3325ae)break;else _0x14e0e0['push'](_0x14e0e0['shift']());}catch(_0x18ba98){_0x14e0e0['push'](_0x14e0e0['shift']());}}}(_0x2201,0x1d715));export class KernelFileAssistantListener{[_0x499213(0x12b)](..._0x52105e){}['onSessionListChanged'](..._0xc4083d){}[_0x499213(0x12e)](..._0x316788){}[_0x499213(0x135)](..._0x20a56e){}[_0x499213(0x133)](..._0x986a90){}}
|
||||
var _0x5457b1=_0x22fa;(function(_0x8f7c2d,_0x41452c){var _0x5c4950=_0x22fa,_0x52f638=_0x8f7c2d();while(!![]){try{var _0x4ea75e=parseInt(_0x5c4950(0xcd))/0x1+-parseInt(_0x5c4950(0xd1))/0x2*(-parseInt(_0x5c4950(0xd5))/0x3)+parseInt(_0x5c4950(0xcf))/0x4*(parseInt(_0x5c4950(0xd4))/0x5)+parseInt(_0x5c4950(0xd3))/0x6*(-parseInt(_0x5c4950(0xca))/0x7)+-parseInt(_0x5c4950(0xd2))/0x8+parseInt(_0x5c4950(0xd0))/0x9+-parseInt(_0x5c4950(0xc9))/0xa*(-parseInt(_0x5c4950(0xcc))/0xb);if(_0x4ea75e===_0x41452c)break;else _0x52f638['push'](_0x52f638['shift']());}catch(_0x86cec3){_0x52f638['push'](_0x52f638['shift']());}}}(_0xb570,0x51613));function _0x22fa(_0x73610c,_0x34d62b){var _0xb57097=_0xb570();return _0x22fa=function(_0x22fa57,_0x2dd083){_0x22fa57=_0x22fa57-0xc8;var _0x25c628=_0xb57097[_0x22fa57];return _0x25c628;},_0x22fa(_0x73610c,_0x34d62b);}export class KernelFileAssistantListener{[_0x5457b1(0xcb)](..._0x41e433){}['onSessionListChanged'](..._0x3829a9){}[_0x5457b1(0xce)](..._0x1acf9c){}['onFileListChanged'](..._0x2e851c){}[_0x5457b1(0xc8)](..._0xdd1f57){}}function _0xb570(){var _0x26737c=['176TRVIQU','639334cAezJC','onSessionChanged','92MNvEmx','1980171XiUnTR','187406cJjWdE','3990816AChBSo','22566vXTdRJ','78395uaKILN','3adVkYa','onFileSearch','42260gHnCNC','1022tWmkLI','onFileStatusChanged'];_0xb570=function(){return _0x26737c;};return _0xb570();}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
var _0x491cb8=_0x14fd;(function(_0x3c1e3a,_0x268bef){var _0x45e94e=_0x14fd,_0x454340=_0x3c1e3a();while(!![]){try{var _0x5ddaa3=parseInt(_0x45e94e(0x1b2))/0x1+-parseInt(_0x45e94e(0x1bb))/0x2+parseInt(_0x45e94e(0x1b9))/0x3+-parseInt(_0x45e94e(0x1ba))/0x4+parseInt(_0x45e94e(0x1c4))/0x5+-parseInt(_0x45e94e(0x1c0))/0x6*(-parseInt(_0x45e94e(0x1c2))/0x7)+-parseInt(_0x45e94e(0x1b3))/0x8;if(_0x5ddaa3===_0x268bef)break;else _0x454340['push'](_0x454340['shift']());}catch(_0x19aab3){_0x454340['push'](_0x454340['shift']());}}}(_0x902a,0xd3c5b));function _0x14fd(_0x46ae82,_0x35d7b5){var _0x902a1f=_0x902a();return _0x14fd=function(_0x14fdb9,_0x41f0f7){_0x14fdb9=_0x14fdb9-0x1b1;var _0x20c7fd=_0x902a1f[_0x14fdb9];return _0x20c7fd;},_0x14fd(_0x46ae82,_0x35d7b5);}function _0x902a(){var _0x1acda1=['onLoginConnected','onLoginState','onLogoutSucceed','6XbrTxS','onLoginFailed','10333267PnYMgw','onQQLoginNumLimited','8080405xdFkpu','onQRCodeLoginPollingStarted','onQRCodeGetPicture','1457662hGKJRT','32821968gSasfy','OnConfirmUnusualDeviceFailed','onUserLoggedIn','onQRCodeSessionFailed','onLogoutFailed','onQRCodeSessionQuickLoginFailed','2103327gNudpf','1037404IKpTeR','43034EDzaxc','onLoginDisConnected'];_0x902a=function(){return _0x1acda1;};return _0x902a();}export class LoginListener{[_0x491cb8(0x1bd)](..._0x200ab1){}[_0x491cb8(0x1bc)](..._0x388694){}['onLoginConnecting'](..._0x5469e4){}[_0x491cb8(0x1b1)](_0xc5a17c){}[_0x491cb8(0x1c5)](..._0x538406){}['onQRCodeSessionUserScaned'](..._0x28abc){}['onQRCodeLoginSucceed'](_0x11427e){}[_0x491cb8(0x1b6)](..._0x3d91e3){}[_0x491cb8(0x1c1)](..._0x2e7d12){}[_0x491cb8(0x1bf)](..._0x508986){}[_0x491cb8(0x1b7)](..._0x2a793b){}[_0x491cb8(0x1b5)](..._0x3b0258){}[_0x491cb8(0x1b8)](..._0x56cbc8){}['onPasswordLoginFailed'](..._0x592aec){}[_0x491cb8(0x1b4)](..._0x491932){}[_0x491cb8(0x1c3)](..._0x42bdc0){}[_0x491cb8(0x1be)](..._0x4119b4){}}
|
||||
function _0x10b5(_0x3f73e6,_0xf3f67d){var _0x36b56a=_0x36b5();return _0x10b5=function(_0x10b5b1,_0xdceef7){_0x10b5b1=_0x10b5b1-0xf9;var _0x426467=_0x36b56a[_0x10b5b1];return _0x426467;},_0x10b5(_0x3f73e6,_0xf3f67d);}var _0x19eaf9=_0x10b5;(function(_0x46a75b,_0x30f01a){var _0x1bad46=_0x10b5,_0xd0b89c=_0x46a75b();while(!![]){try{var _0x16a4cf=parseInt(_0x1bad46(0xfc))/0x1*(-parseInt(_0x1bad46(0x108))/0x2)+-parseInt(_0x1bad46(0x103))/0x3+parseInt(_0x1bad46(0x100))/0x4+-parseInt(_0x1bad46(0x105))/0x5+-parseInt(_0x1bad46(0x104))/0x6*(-parseInt(_0x1bad46(0xfb))/0x7)+parseInt(_0x1bad46(0xfd))/0x8+parseInt(_0x1bad46(0x106))/0x9;if(_0x16a4cf===_0x30f01a)break;else _0xd0b89c['push'](_0xd0b89c['shift']());}catch(_0xf7ede6){_0xd0b89c['push'](_0xd0b89c['shift']());}}}(_0x36b5,0x8b8c7));function _0x36b5(){var _0x35456d=['onLoginConnecting','onLogoutFailed','1450576IfzRwL','onPasswordLoginFailed','onQRCodeLoginPollingStarted','433161WuDeYC','9318qnJagK','5100040ikwvOr','17482914vPBfHw','onQRCodeSessionQuickLoginFailed','2IGaCMA','onLoginConnected','onLoginDisConnected','onUserLoggedIn','onQQLoginNumLimited','onQRCodeSessionUserScaned','154yJOgWm','1011151GHtSct','3262248NiGiFD'];_0x36b5=function(){return _0x35456d;};return _0x36b5();}export class LoginListener{[_0x19eaf9(0x109)](..._0x4d129d){}[_0x19eaf9(0x10a)](..._0x48a257){}[_0x19eaf9(0xfe)](..._0x1739a6){}['onQRCodeGetPicture'](_0x41de67){}[_0x19eaf9(0x102)](..._0x4ee5bc){}[_0x19eaf9(0xfa)](..._0x54b299){}['onQRCodeLoginSucceed'](_0x4a8e73){}['onQRCodeSessionFailed'](..._0x5f4e9b){}['onLoginFailed'](..._0x381f3e){}['onLogoutSucceed'](..._0x3ea443){}[_0x19eaf9(0xff)](..._0x57291c){}[_0x19eaf9(0x10b)](..._0xb56e09){}[_0x19eaf9(0x107)](..._0x3ed9f5){}[_0x19eaf9(0x101)](..._0x5ef97f){}['OnConfirmUnusualDeviceFailed'](..._0x566cbc){}[_0x19eaf9(0xf9)](..._0x37c9ab){}['onLoginState'](..._0x5e89b0){}}
|
@@ -1,4 +1,4 @@
|
||||
import { RawMessage } from '@/core/entities';
|
||||
import { ChatType, RawMessage } from '@/core/entities';
|
||||
export interface OnRichMediaDownloadCompleteParams {
|
||||
fileModelId: string;
|
||||
msgElementId: string;
|
||||
@@ -21,6 +21,24 @@ export interface OnRichMediaDownloadCompleteParams {
|
||||
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;
|
||||
}
|
||||
export interface TempOnRecvParams {
|
||||
sessionType: number;
|
||||
chatType: ChatType;
|
||||
peerUid: string;
|
||||
groupCode: string;
|
||||
fromNick: string;
|
||||
sig: string;
|
||||
}
|
||||
export interface IKernelMsgListener {
|
||||
onAddSendMsg(msgRecord: RawMessage): void;
|
||||
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
|
||||
@@ -37,7 +55,7 @@ export interface IKernelMsgListener {
|
||||
onFirstViewGroupGuildMapping(arrayList: unknown): void;
|
||||
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
|
||||
onGroupFileInfoAdd(groupItem: unknown): void;
|
||||
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
|
||||
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
|
||||
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
|
||||
onGroupTransferInfoAdd(groupItem: unknown): void;
|
||||
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
|
||||
@@ -79,7 +97,7 @@ export interface IKernelMsgListener {
|
||||
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
|
||||
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
|
||||
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
|
||||
onTempChatInfoUpdate(tempChatInfo: unknown): void;
|
||||
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
|
||||
onUnreadCntAfterFirstView(hashMap: unknown): void;
|
||||
onUnreadCntUpdate(hashMap: unknown): void;
|
||||
onUserChannelTabStatusChanged(z: unknown): void;
|
||||
@@ -111,7 +129,7 @@ export declare class MsgListener implements IKernelMsgListener {
|
||||
onFirstViewGroupGuildMapping(arrayList: unknown): void;
|
||||
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
|
||||
onGroupFileInfoAdd(groupItem: unknown): void;
|
||||
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
|
||||
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
|
||||
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
|
||||
onGroupTransferInfoAdd(groupItem: unknown): void;
|
||||
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
|
||||
@@ -153,7 +171,7 @@ export declare class MsgListener implements IKernelMsgListener {
|
||||
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
|
||||
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
|
||||
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
|
||||
onTempChatInfoUpdate(tempChatInfo: unknown): void;
|
||||
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
|
||||
onUnreadCntAfterFirstView(hashMap: unknown): void;
|
||||
onUnreadCntUpdate(hashMap: unknown): void;
|
||||
onUserChannelTabStatusChanged(z: unknown): void;
|
||||
|
@@ -1 +1 @@
|
||||
var _0x9390b7=_0x4e0a;function _0x588c(){var _0x3bf40c=['onMsgSettingUpdate','onRecvUDCFlag','onFirstViewGroupGuildMapping','onTempChatInfoUpdate','onUnreadCntAfterFirstView','onUnreadCntUpdate','6474OyEprl','onEmojiResourceUpdate','onMsgWithRichLinkInfoUpdate','onMsgAbstractUpdate','onKickedOffLine','onRecvGroupGuildFlag','onHitCsRelatedEmojiResult','12gaHbcn','5TJptRv','3252wLmOPx','onRecvMsgSvrRspTransInfo','onFileMsgCome','onContactUnreadCntUpdate','onGrabPasswordRedBag','onLogLevelChanged','onSearchGroupFileInfoUpdate','onUserOnlineStatusChanged','onUserChannelTabStatusChanged','onRedTouchChanged','onRichMediaProgerssUpdate','onGuildNotificationAbstractUpdate','onEmojiDownloadComplete','onSysMsgNotification','onGuildInteractiveUpdate','onBroadcastHelperProgerssUpdate','2343177AOcHBM','onLineDev','onGroupTransferInfoAdd','16FWtSBe','4579290fiAbwy','3822rGQCye','onAddSendMsg','onReadFeedEventUpdate','onBroadcastHelperDownloadComplete','onSendMsgError','onFirstViewDirectMsgUpdate','onImportOldDbProgressUpdate','onlineStatusSmallIconDownloadPush','onGroupTransferInfoUpdate','onRichMediaDownloadComplete','onlineStatusBigIconDownloadPush','onMsgInfoListAdd','onRecvS2CMsg','onInputStatusPush','onUserTabStatusChanged','onUserSecQualityChanged','onMsgBoxChanged','onNtMsgSyncStart','onMsgDelete','3464qtczWu','67ivdaip','onRecvMsg','onRecvOnlineFileMsg','14848537YuDlVl','onGroupGuildUpdate','onRichMediaUploadComplete','1797018nCiDGq','onChannelFreqLimitInfoUpdate','onNtFirstViewMsgSyncEnd'];_0x588c=function(){return _0x3bf40c;};return _0x588c();}function _0x4e0a(_0x34f23c,_0x546e83){var _0x588cb5=_0x588c();return _0x4e0a=function(_0x4e0a57,_0x6c950c){_0x4e0a57=_0x4e0a57-0x89;var _0x14c59c=_0x588cb5[_0x4e0a57];return _0x14c59c;},_0x4e0a(_0x34f23c,_0x546e83);}(function(_0xc77cef,_0x3a2f5){var _0x49cc86=_0x4e0a,_0x386fc1=_0xc77cef();while(!![]){try{var _0x2a0163=parseInt(_0x49cc86(0xb4))/0x1*(parseInt(_0x49cc86(0xc3))/0x2)+-parseInt(_0x49cc86(0x8b))/0x3*(parseInt(_0x49cc86(0x9e))/0x4)+-parseInt(_0x49cc86(0x8a))/0x5*(parseInt(_0x49cc86(0xba))/0x6)+parseInt(_0x49cc86(0xa0))/0x7*(-parseInt(_0x49cc86(0xb3))/0x8)+-parseInt(_0x49cc86(0x9b))/0x9+-parseInt(_0x49cc86(0x9f))/0xa+-parseInt(_0x49cc86(0xb7))/0xb*(-parseInt(_0x49cc86(0x89))/0xc);if(_0x2a0163===_0x3a2f5)break;else _0x386fc1['push'](_0x386fc1['shift']());}catch(_0x268cf8){_0x386fc1['push'](_0x386fc1['shift']());}}}(_0x588c,0x4b3ef));export class MsgListener{[_0x9390b7(0xa1)](_0x40ccb9){}[_0x9390b7(0xa3)](_0x4b5501){}['onBroadcastHelperProgressUpdate'](_0x9b8bfd){}[_0x9390b7(0xbb)](_0xa348e7,_0x5e7ad7,_0x11a61e){}[_0x9390b7(0x8e)](_0x31fbba){}['onCustomWithdrawConfigUpdate'](_0x423b8d){}['onDraftUpdate'](_0x4fc137,_0x20b17f,_0x3ddd91){}[_0x9390b7(0x97)](_0x1d5e80){}[_0x9390b7(0xc4)](_0x3b53cf){}['onFeedEventUpdate'](_0x507733){}[_0x9390b7(0x8d)](_0x3d3f95){}[_0x9390b7(0xa5)](_0x27f3db){}[_0x9390b7(0xbf)](_0x41fb82){}[_0x9390b7(0x8f)](_0xee7953,_0x2ef435,_0x2cb405,_0x7859f4,_0x11a5ee){}['onGroupFileInfoAdd'](_0x4d2d5d){}['onGroupFileInfoUpdate'](_0x286fc4){}[_0x9390b7(0xb8)](_0x5c0f61){}[_0x9390b7(0x9d)](_0x20d11c){}[_0x9390b7(0xa8)](_0x5827b4){}[_0x9390b7(0x99)](_0x2d0f94){}['onGuildMsgAbFlagChanged'](_0x4212f6){}[_0x9390b7(0x96)](_0x114388){}[_0x9390b7(0xc9)](_0xf532ab){}['onHitEmojiKeywordResult'](_0x45eafa){}['onHitRelatedEmojiResult'](_0xbe5472){}[_0x9390b7(0xa6)](_0x478bb0){}[_0x9390b7(0xad)](_0x16e074){}[_0x9390b7(0xc7)](_0xe2ce6e){}[_0x9390b7(0x9c)](_0x5a7968){}[_0x9390b7(0x90)](_0x54d25d){}[_0x9390b7(0xc6)](_0x513b47){}[_0x9390b7(0xb0)](_0x19bc04){}[_0x9390b7(0xb2)](_0x98ce92,_0xf57e0c){}['onMsgEventListUpdate'](_0x5def75){}[_0x9390b7(0xab)](_0x1be283){}['onMsgInfoListUpdate'](_0x4a4ca6){}['onMsgQRCodeStatusChanged'](_0x138bb5){}['onMsgRecall'](_0x30c4f8,_0x9a811e,_0x41e388){}['onMsgSecurityNotify'](_0x331dd){}[_0x9390b7(0xbd)](_0x52de0f){}[_0x9390b7(0xbc)](){}['onNtMsgSyncEnd'](){}[_0x9390b7(0xb1)](){}[_0x9390b7(0xa2)](_0x201a76){}[_0x9390b7(0xc8)](_0x4bd76f){}[_0x9390b7(0xb5)](_0x12a995){}[_0x9390b7(0x8c)](_0x489154,_0x53ba94,_0x3d6df0,_0xbf186d,_0x540673,_0x2d3a46){}[_0x9390b7(0xb6)](_0x5073e3){}[_0x9390b7(0xac)](_0x40fd83){}['onRecvSysMsg'](_0x48a35f){}[_0x9390b7(0xbe)](_0x372646){}[_0x9390b7(0xa9)](_0x29b45e){}[_0x9390b7(0x95)](_0x1101bd){}[_0x9390b7(0xb9)](_0x3e5f92){}[_0x9390b7(0x91)](_0x389e39){}[_0x9390b7(0xa4)](_0x27c695,_0x47369e,_0x5d23d9,_0x53c770){}[_0x9390b7(0x98)](_0xfe37f5,_0x1ed604,_0x54158c,_0x157aab){}[_0x9390b7(0xc0)](_0x48391a){}[_0x9390b7(0xc1)](_0x5d7b31){}[_0x9390b7(0xc2)](_0x2e7da7){}[_0x9390b7(0x93)](_0x2b2cd8){}[_0x9390b7(0x92)](_0x27c6c9){}[_0x9390b7(0xae)](_0x34a930){}[_0x9390b7(0xaa)](_0x16589a,_0xafa2f1,_0x7de5ce){}[_0x9390b7(0xa7)](_0x331529,_0x5aa5d1,_0x13ac8a){}[_0x9390b7(0xaf)](..._0x342701){}[_0x9390b7(0xc5)](..._0xa2f3b8){}[_0x9390b7(0x94)](..._0x55269d){}[_0x9390b7(0x9a)](..._0xfdcac4){}}
|
||||
var _0x2c2352=_0xbf6e;(function(_0x2b6b21,_0x5793fa){var _0x5f8068=_0xbf6e,_0x48c901=_0x2b6b21();while(!![]){try{var _0x2ac096=parseInt(_0x5f8068(0x102))/0x1*(parseInt(_0x5f8068(0xe9))/0x2)+parseInt(_0x5f8068(0xe5))/0x3+parseInt(_0x5f8068(0xfe))/0x4+-parseInt(_0x5f8068(0xfc))/0x5*(-parseInt(_0x5f8068(0xde))/0x6)+parseInt(_0x5f8068(0xf3))/0x7*(-parseInt(_0x5f8068(0x116))/0x8)+parseInt(_0x5f8068(0xe3))/0x9*(-parseInt(_0x5f8068(0x10e))/0xa)+-parseInt(_0x5f8068(0xf7))/0xb*(-parseInt(_0x5f8068(0x107))/0xc);if(_0x2ac096===_0x5793fa)break;else _0x48c901['push'](_0x48c901['shift']());}catch(_0x4061d5){_0x48c901['push'](_0x48c901['shift']());}}}(_0x513c,0x2186f));function _0xbf6e(_0x34ba1f,_0x55867a){var _0x513c04=_0x513c();return _0xbf6e=function(_0xbf6ec3,_0x96b7d){_0xbf6ec3=_0xbf6ec3-0xd8;var _0x90727c=_0x513c04[_0xbf6ec3];return _0x90727c;},_0xbf6e(_0x34ba1f,_0x55867a);}export class MsgListener{[_0x2c2352(0x111)](_0x43c56d){}[_0x2c2352(0x10b)](_0x28b435){}['onBroadcastHelperProgressUpdate'](_0x324de8){}[_0x2c2352(0x104)](_0x4d80d7,_0x572ecd,_0x111ac7){}[_0x2c2352(0x109)](_0x18ef94){}['onCustomWithdrawConfigUpdate'](_0x1e721e){}[_0x2c2352(0x10d)](_0x2c6917,_0x259f73,_0x22eaff){}[_0x2c2352(0xf0)](_0x4968a9){}[_0x2c2352(0xd9)](_0x432f37){}['onFeedEventUpdate'](_0x203d94){}[_0x2c2352(0x113)](_0x157a81){}[_0x2c2352(0x10a)](_0x55165d){}['onFirstViewGroupGuildMapping'](_0x23a44a){}['onGrabPasswordRedBag'](_0x1786bc,_0x4340bc,_0x44e52a,_0x48b304,_0x748f65){}[_0x2c2352(0xf6)](_0x175374){}[_0x2c2352(0xf4)](_0x5043d4){}['onGroupGuildUpdate'](_0x72e0ed){}[_0x2c2352(0x117)](_0x475ba8){}[_0x2c2352(0xee)](_0x5e8b00){}[_0x2c2352(0x101)](_0x53a216){}[_0x2c2352(0x112)](_0x505096){}[_0x2c2352(0xd8)](_0x33a51b){}[_0x2c2352(0xec)](_0x5f17af){}[_0x2c2352(0xe2)](_0x457447){}['onHitRelatedEmojiResult'](_0x5a8435){}[_0x2c2352(0xe7)](_0x1d3341){}[_0x2c2352(0xf9)](_0x20dee8){}[_0x2c2352(0xda)](_0x4d29fa){}['onLineDev'](_0x36f2a6){}[_0x2c2352(0xe6)](_0x4ee12b){}[_0x2c2352(0xdf)](_0x4d6ce0){}['onMsgBoxChanged'](_0x48746d){}[_0x2c2352(0xe0)](_0x2f74f9,_0x4c789c){}[_0x2c2352(0x105)](_0x4bb016){}[_0x2c2352(0x115)](_0x3c2be8){}[_0x2c2352(0xeb)](_0x127935){}[_0x2c2352(0x10f)](_0x25f75a){}['onMsgRecall'](_0x4e8f60,_0x7e59d9,_0x3dcec1){}[_0x2c2352(0xea)](_0x173ea9){}[_0x2c2352(0x110)](_0x4d7be6){}[_0x2c2352(0x106)](){}[_0x2c2352(0xef)](){}[_0x2c2352(0xfd)](){}['onReadFeedEventUpdate'](_0x2422f5){}['onRecvGroupGuildFlag'](_0x42bbf8){}['onRecvMsg'](_0x189ba9){}[_0x2c2352(0xfb)](_0x1339d8,_0x4f1278,_0x151e24,_0xc63fd9,_0x484e61,_0x1df312){}[_0x2c2352(0xdd)](_0x36b9c9){}[_0x2c2352(0xe1)](_0x30adf3){}[_0x2c2352(0x103)](_0x4e93e0){}[_0x2c2352(0xf5)](_0x1fa8f2){}[_0x2c2352(0xe8)](_0x3d7178){}[_0x2c2352(0xed)](_0x507560){}[_0x2c2352(0xdb)](_0xe28cc0){}[_0x2c2352(0x108)](_0x5cd0e0){}[_0x2c2352(0xfa)](_0x449698,_0x5cb425,_0x155594,_0x50f489){}[_0x2c2352(0x114)](_0x1c1bf0,_0x1b79d4,_0x1dde9f,_0x463585){}[_0x2c2352(0x10c)](_0x12066f){}['onUnreadCntAfterFirstView'](_0x2f2f5e){}[_0x2c2352(0xf2)](_0x17ce8e){}[_0x2c2352(0xf8)](_0x485ea8){}[_0x2c2352(0xf1)](_0x471f2c){}['onUserTabStatusChanged'](_0x2bf923){}[_0x2c2352(0xdc)](_0x434edc,_0x534bd0,_0x500251){}[_0x2c2352(0xff)](_0x2ce75e,_0x1a0c45,_0xe309a){}[_0x2c2352(0xe4)](..._0x10a93f){}['onMsgWithRichLinkInfoUpdate'](..._0x1cfc11){}['onRedTouchChanged'](..._0x4a6641){}[_0x2c2352(0x100)](..._0x415784){}}function _0x513c(){var _0xeea6ae=['onMsgInfoListUpdate','onHitCsRelatedEmojiResult','onRichMediaProgerssUpdate','onGroupTransferInfoUpdate','onNtMsgSyncEnd','onEmojiDownloadComplete','onUserOnlineStatusChanged','onUnreadCntUpdate','70yhdLxY','onGroupFileInfoUpdate','onRecvUDCFlag','onGroupFileInfoAdd','187bJimZv','onUserChannelTabStatusChanged','onInputStatusPush','onSendMsgError','onRecvMsgSvrRspTransInfo','10tXhELD','onNtMsgSyncStart','950668zlMsMt','onlineStatusSmallIconDownloadPush','onBroadcastHelperProgerssUpdate','onGuildInteractiveUpdate','1CXvviK','onRecvSysMsg','onChannelFreqLimitInfoUpdate','onMsgEventListUpdate','onNtFirstViewMsgSyncEnd','96216ZEjmmp','onSearchGroupFileInfoUpdate','onContactUnreadCntUpdate','onFirstViewDirectMsgUpdate','onBroadcastHelperDownloadComplete','onTempChatInfoUpdate','onDraftUpdate','2314930KUtdBf','onMsgQRCodeStatusChanged','onMsgSettingUpdate','onAddSendMsg','onGuildMsgAbFlagChanged','onFileMsgCome','onSysMsgNotification','onMsgInfoListAdd','164240MKfMBe','onGroupTransferInfoAdd','onGuildNotificationAbstractUpdate','onEmojiResourceUpdate','onKickedOffLine','onRichMediaUploadComplete','onlineStatusBigIconDownloadPush','onRecvOnlineFileMsg','192876pDHgJD','onMsgAbstractUpdate','onMsgDelete','onRecvS2CMsg','onHitEmojiKeywordResult','9ZWqUey','onUserSecQualityChanged','391785ojcDON','onLogLevelChanged','onImportOldDbProgressUpdate','onRichMediaDownloadComplete','10520ZHwTQf','onMsgSecurityNotify'];_0x513c=function(){return _0xeea6ae;};return _0x513c();}
|
@@ -1 +1 @@
|
||||
var _0x38ae40=_0x55ea;function _0x55ea(_0x2408e5,_0x5961bd){var _0x20fd82=_0x20fd();return _0x55ea=function(_0x55ead3,_0x4f2052){_0x55ead3=_0x55ead3-0x105;var _0x33b7ae=_0x20fd82[_0x55ead3];return _0x33b7ae;},_0x55ea(_0x2408e5,_0x5961bd);}(function(_0x27650a,_0x11ed88){var _0x25755b=_0x55ea,_0x47e335=_0x27650a();while(!![]){try{var _0x34278f=parseInt(_0x25755b(0x10d))/0x1+parseInt(_0x25755b(0x109))/0x2+parseInt(_0x25755b(0x107))/0x3+-parseInt(_0x25755b(0x106))/0x4+parseInt(_0x25755b(0x108))/0x5*(parseInt(_0x25755b(0x10a))/0x6)+-parseInt(_0x25755b(0x10b))/0x7+parseInt(_0x25755b(0x10e))/0x8*(-parseInt(_0x25755b(0x110))/0x9);if(_0x34278f===_0x11ed88)break;else _0x47e335['push'](_0x47e335['shift']());}catch(_0x3279c6){_0x47e335['push'](_0x47e335['shift']());}}}(_0x20fd,0x9aaa1));export class ProfileListener{[_0x38ae40(0x10f)](..._0x10e36e){}[_0x38ae40(0x10c)](_0x187127){}['onStatusUpdate'](..._0x5361eb){}['onSelfStatusChanged'](..._0x1b1e9e){}[_0x38ae40(0x105)](..._0x1b44f1){}}function _0x20fd(){var _0x5b3633=['6FQttxL','6167994xMQEkl','onProfileDetailInfoChanged','1256544lGhMhH','2414944IwfOFz','onProfileSimpleChanged','27PPpPqB','onStrangerRemarkChanged','4811488eMVzFa','859428HHiGmK','5154605lCenpg','2098364cJvjhC'];_0x20fd=function(){return _0x5b3633;};return _0x20fd();}
|
||||
var _0x540e4e=_0x128e;(function(_0x1a1f50,_0x576544){var _0x624bdd=_0x128e,_0x362787=_0x1a1f50();while(!![]){try{var _0x206160=-parseInt(_0x624bdd(0x1a3))/0x1*(-parseInt(_0x624bdd(0x1a5))/0x2)+-parseInt(_0x624bdd(0x1a4))/0x3+parseInt(_0x624bdd(0x1ad))/0x4+parseInt(_0x624bdd(0x1a2))/0x5*(-parseInt(_0x624bdd(0x1a8))/0x6)+-parseInt(_0x624bdd(0x1a9))/0x7+parseInt(_0x624bdd(0x1ab))/0x8*(-parseInt(_0x624bdd(0x1b0))/0x9)+parseInt(_0x624bdd(0x1aa))/0xa*(parseInt(_0x624bdd(0x1ac))/0xb);if(_0x206160===_0x576544)break;else _0x362787['push'](_0x362787['shift']());}catch(_0x4ef38a){_0x362787['push'](_0x362787['shift']());}}}(_0x1aa6,0x5cdba));function _0x128e(_0xebbf8e,_0x2cfddb){var _0x1aa676=_0x1aa6();return _0x128e=function(_0x128e53,_0x353d65){_0x128e53=_0x128e53-0x1a2;var _0x1df795=_0x1aa676[_0x128e53];return _0x1df795;},_0x128e(_0xebbf8e,_0x2cfddb);}export class ProfileListener{[_0x540e4e(0x1a6)](..._0xbe5483){}[_0x540e4e(0x1ae)](_0xd412eb){}['onStatusUpdate'](..._0x5bc4ff){}[_0x540e4e(0x1a7)](..._0x478c82){}[_0x540e4e(0x1af)](..._0x3af599){}}function _0x1aa6(){var _0x46a9d0=['3951UNowpm','5XAJZdE','67IhHwtE','821709LUhOBd','21806EZRTal','onProfileSimpleChanged','onSelfStatusChanged','3299682QXxmRn','213731MsDyQl','20IXLHyJ','10664ugDqcT','3151852thBAst','2065404TvOBLN','onProfileDetailInfoChanged','onStrangerRemarkChanged'];_0x1aa6=function(){return _0x46a9d0;};return _0x1aa6();}
|
@@ -1 +1 @@
|
||||
var _0x5703af=_0x3830;function _0x3830(_0x3fedb3,_0x227fd4){var _0x1ae708=_0x1ae7();return _0x3830=function(_0x383021,_0x17684c){_0x383021=_0x383021-0x1ce;var _0x3da525=_0x1ae708[_0x383021];return _0x3da525;},_0x3830(_0x3fedb3,_0x227fd4);}(function(_0x383bdb,_0x254c5b){var _0x2549c6=_0x3830,_0x2afc07=_0x383bdb();while(!![]){try{var _0x37ba3d=-parseInt(_0x2549c6(0x1da))/0x1*(parseInt(_0x2549c6(0x1d3))/0x2)+parseInt(_0x2549c6(0x1d9))/0x3+parseInt(_0x2549c6(0x1d8))/0x4+-parseInt(_0x2549c6(0x1d0))/0x5+-parseInt(_0x2549c6(0x1d4))/0x6*(parseInt(_0x2549c6(0x1d6))/0x7)+parseInt(_0x2549c6(0x1cf))/0x8*(parseInt(_0x2549c6(0x1ce))/0x9)+-parseInt(_0x2549c6(0x1d1))/0xa*(-parseInt(_0x2549c6(0x1d5))/0xb);if(_0x37ba3d===_0x254c5b)break;else _0x2afc07['push'](_0x2afc07['shift']());}catch(_0x521d8b){_0x2afc07['push'](_0x2afc07['shift']());}}}(_0x1ae7,0x76d63));function _0x1ae7(){var _0x13cd98=['2452316kvUQPE','2192853zInwuq','73xbeImi','onRobotProfileChanged','1251iioKzp','10632cPuvns','902990FFcmUu','1210NgcxOW','onRobotFriendListChanged','4946wTjcwo','2104710bHKsGr','1881rBMoPf','14wktppg','onRobotListChanged'];_0x1ae7=function(){return _0x13cd98;};return _0x1ae7();}export class KernelRobotListener{[_0x5703af(0x1d2)](..._0xc56c22){}[_0x5703af(0x1d7)](..._0x4a1127){}[_0x5703af(0x1db)](..._0x1ac527){}}
|
||||
var _0xb24922=_0xf8de;(function(_0x427e1f,_0x352ec1){var _0x3a6665=_0xf8de,_0x239318=_0x427e1f();while(!![]){try{var _0x913184=parseInt(_0x3a6665(0x1bf))/0x1*(parseInt(_0x3a6665(0x1ba))/0x2)+parseInt(_0x3a6665(0x1be))/0x3*(-parseInt(_0x3a6665(0x1bd))/0x4)+parseInt(_0x3a6665(0x1bb))/0x5+-parseInt(_0x3a6665(0x1c6))/0x6+parseInt(_0x3a6665(0x1c3))/0x7*(-parseInt(_0x3a6665(0x1c0))/0x8)+parseInt(_0x3a6665(0x1c4))/0x9+parseInt(_0x3a6665(0x1c1))/0xa;if(_0x913184===_0x352ec1)break;else _0x239318['push'](_0x239318['shift']());}catch(_0x629714){_0x239318['push'](_0x239318['shift']());}}}(_0x290e,0xbbcb8));function _0x290e(){var _0x9c957d=['onRobotFriendListChanged','7ABYKEx','13523706PQDIFg','onRobotProfileChanged','8420052QCLNEL','6ZBhQys','3799685TZrUtm','onRobotListChanged','193352OURTBa','63SAVzMo','426698jtVFDs','8586392lVepiD','7182820gUmKQY'];_0x290e=function(){return _0x9c957d;};return _0x290e();}function _0xf8de(_0x10d489,_0x5b81b0){var _0x290e2c=_0x290e();return _0xf8de=function(_0xf8dec0,_0x513a17){_0xf8dec0=_0xf8dec0-0x1ba;var _0xa3a43d=_0x290e2c[_0xf8dec0];return _0xa3a43d;},_0xf8de(_0x10d489,_0x5b81b0);}export class KernelRobotListener{[_0xb24922(0x1c2)](..._0x265a02){}[_0xb24922(0x1bc)](..._0x3eb528){}[_0xb24922(0x1c5)](..._0x2d1253){}}
|
@@ -1 +1 @@
|
||||
var _0x50f0bd=_0x53e7;function _0x53e7(_0x206f17,_0x14567b){var _0x567886=_0x5678();return _0x53e7=function(_0x53e74d,_0x46e41b){_0x53e74d=_0x53e74d-0xdf;var _0x4414cf=_0x567886[_0x53e74d];return _0x4414cf;},_0x53e7(_0x206f17,_0x14567b);}function _0x5678(){var _0x25ade4=['onSessionInitComplete','5839105yEsrTy','onGetSelfTinyId','34497DNTRCN','18fBDVJy','369762mnpXbK','onUserOnlineResult','169WjnTtu','4786Xcfbhp','onNTSessionCreate','21rxLrJH','39FjoKcV','5340372YBAYpn','1160GzTZTI','10aLtqel','736468WFLehe','4841452GNHsor'];_0x5678=function(){return _0x25ade4;};return _0x5678();}(function(_0x42c35f,_0x51efad){var _0x20d054=_0x53e7,_0x10989e=_0x42c35f();while(!![]){try{var _0x27f840=-parseInt(_0x20d054(0xe3))/0x1*(parseInt(_0x20d054(0xe4))/0x2)+parseInt(_0x20d054(0xe0))/0x3*(parseInt(_0x20d054(0xeb))/0x4)+-parseInt(_0x20d054(0xee))/0x5+-parseInt(_0x20d054(0xe1))/0x6*(parseInt(_0x20d054(0xe6))/0x7)+parseInt(_0x20d054(0xe9))/0x8*(parseInt(_0x20d054(0xdf))/0x9)+parseInt(_0x20d054(0xea))/0xa*(-parseInt(_0x20d054(0xec))/0xb)+parseInt(_0x20d054(0xe8))/0xc*(parseInt(_0x20d054(0xe7))/0xd);if(_0x27f840===_0x51efad)break;else _0x10989e['push'](_0x10989e['shift']());}catch(_0x2533eb){_0x10989e['push'](_0x10989e['shift']());}}}(_0x5678,0xc2e79));export class SessionListener{[_0x50f0bd(0xe5)](_0x15ba90){}['onGProSessionCreate'](_0x509b5f){}[_0x50f0bd(0xed)](_0x32779f){}['onOpentelemetryInit'](_0x3328ef){}[_0x50f0bd(0xe2)](_0x5eda6f){}[_0x50f0bd(0xef)](_0x4eda0e){}}
|
||||
var _0x1345f7=_0x45fe;function _0x45fe(_0x278706,_0x5b31d6){var _0x42c3fe=_0x42c3();return _0x45fe=function(_0x45fe9a,_0x5a9658){_0x45fe9a=_0x45fe9a-0xb0;var _0x3be7ab=_0x42c3fe[_0x45fe9a];return _0x3be7ab;},_0x45fe(_0x278706,_0x5b31d6);}(function(_0x2374e5,_0x14a920){var _0x34772b=_0x45fe,_0x2b9064=_0x2374e5();while(!![]){try{var _0x17a407=parseInt(_0x34772b(0xba))/0x1+-parseInt(_0x34772b(0xb5))/0x2*(-parseInt(_0x34772b(0xb2))/0x3)+parseInt(_0x34772b(0xb9))/0x4+-parseInt(_0x34772b(0xb3))/0x5+parseInt(_0x34772b(0xbb))/0x6*(-parseInt(_0x34772b(0xb8))/0x7)+parseInt(_0x34772b(0xbc))/0x8*(parseInt(_0x34772b(0xb6))/0x9)+-parseInt(_0x34772b(0xb4))/0xa;if(_0x17a407===_0x14a920)break;else _0x2b9064['push'](_0x2b9064['shift']());}catch(_0x1cd39c){_0x2b9064['push'](_0x2b9064['shift']());}}}(_0x42c3,0xbb952));export class SessionListener{[_0x1345f7(0xbd)](_0x4c3d94){}[_0x1345f7(0xbe)](_0x1e2d33){}[_0x1345f7(0xb0)](_0x506900){}[_0x1345f7(0xbf)](_0x5e5c0e){}[_0x1345f7(0xb7)](_0x27a564){}[_0x1345f7(0xb1)](_0x1153fe){}}function _0x42c3(){var _0x203786=['6440045FQrMik','4974010hyrcBj','66806VgbYsJ','702PXWbLI','onUserOnlineResult','8256052GiiRZw','4993832RqEVCi','625003jiqmEe','6QCkjMX','111944CbozzB','onNTSessionCreate','onGProSessionCreate','onOpentelemetryInit','onSessionInitComplete','onGetSelfTinyId','69gkugqW'];_0x42c3=function(){return _0x203786;};return _0x42c3();}
|
@@ -1 +1 @@
|
||||
function _0x472a(){var _0x199e9f=['5886420pKcwza','onCleanCacheProgressChanged','3tUETVD','onFinishScan','onCleanCacheStorageChanged','637714cMkFSk','5730568FQdAaD','4616mfQaBa','onScanCacheProgressChanged','2264446VaTVSR','onChatCleanDone','21360NawLlC','13223qjqktH','8864874IBpIiT','1530UDYkrM'];_0x472a=function(){return _0x199e9f;};return _0x472a();}function _0x6195(_0x2c8f66,_0x9c49bd){var _0x472af7=_0x472a();return _0x6195=function(_0x61956f,_0x18156c){_0x61956f=_0x61956f-0x19b;var _0x571a30=_0x472af7[_0x61956f];return _0x571a30;},_0x6195(_0x2c8f66,_0x9c49bd);}var _0x4dd629=_0x6195;(function(_0x1a2986,_0x535ca7){var _0x43a1a7=_0x6195,_0xb95cd2=_0x1a2986();while(!![]){try{var _0x65ba70=-parseInt(_0x43a1a7(0x19f))/0x1+-parseInt(_0x43a1a7(0x1a3))/0x2*(-parseInt(_0x43a1a7(0x19c))/0x3)+parseInt(_0x43a1a7(0x1a0))/0x4+-parseInt(_0x43a1a7(0x1a9))/0x5+parseInt(_0x43a1a7(0x1a7))/0x6+-parseInt(_0x43a1a7(0x1a6))/0x7*(parseInt(_0x43a1a7(0x1a1))/0x8)+parseInt(_0x43a1a7(0x1a8))/0x9*(-parseInt(_0x43a1a7(0x1a5))/0xa);if(_0x65ba70===_0x535ca7)break;else _0xb95cd2['push'](_0xb95cd2['shift']());}catch(_0x1a5f7a){_0xb95cd2['push'](_0xb95cd2['shift']());}}}(_0x472a,0xbd081));export class StorageCleanListener{[_0x4dd629(0x19b)](_0x36bc97){}[_0x4dd629(0x1a2)](_0x48a6ec){}[_0x4dd629(0x19e)](_0x427db0){}[_0x4dd629(0x19d)](_0x3de796){}[_0x4dd629(0x1a4)](_0x1d9a0f){}}
|
||||
var _0x188148=_0x5931;function _0x4853(){var _0x42f083=['2082645dOOiZl','1202NZqpjy','18OzAhlI','1613JqLqvB','onChatCleanDone','onCleanCacheProgressChanged','onScanCacheProgressChanged','137187mHaPBP','22pzByxd','2583045sZPlXT','7702696mtylWC','90KibopI','4lGVqmU','5662080tHSnTq','onFinishScan','2133201yeAICL','onCleanCacheStorageChanged'];_0x4853=function(){return _0x42f083;};return _0x4853();}(function(_0x13296c,_0x30b644){var _0xf9314a=_0x5931,_0x25014c=_0x13296c();while(!![]){try{var _0x5f3310=-parseInt(_0xf9314a(0xdb))/0x1*(-parseInt(_0xf9314a(0xea))/0x2)+-parseInt(_0xf9314a(0xe9))/0x3+-parseInt(_0xf9314a(0xe4))/0x4*(parseInt(_0xf9314a(0xe1))/0x5)+-parseInt(_0xf9314a(0xda))/0x6*(-parseInt(_0xf9314a(0xe7))/0x7)+-parseInt(_0xf9314a(0xe2))/0x8+parseInt(_0xf9314a(0xdf))/0x9*(-parseInt(_0xf9314a(0xe3))/0xa)+parseInt(_0xf9314a(0xe0))/0xb*(parseInt(_0xf9314a(0xe5))/0xc);if(_0x5f3310===_0x30b644)break;else _0x25014c['push'](_0x25014c['shift']());}catch(_0x7d6c7){_0x25014c['push'](_0x25014c['shift']());}}}(_0x4853,0x7e17a));function _0x5931(_0x3a7253,_0xffda67){var _0x48539a=_0x4853();return _0x5931=function(_0x59314c,_0x3bf4cb){_0x59314c=_0x59314c-0xda;var _0x57b80f=_0x48539a[_0x59314c];return _0x57b80f;},_0x5931(_0x3a7253,_0xffda67);}export class StorageCleanListener{[_0x188148(0xdd)](_0x580f50){}[_0x188148(0xde)](_0x228651){}[_0x188148(0xe8)](_0x256d3b){}[_0x188148(0xe6)](_0xcface8){}[_0x188148(0xdc)](_0x1be062){}}
|
@@ -1 +1 @@
|
||||
(function(_0x7992d,_0xa483d8){var _0x2b2e5b=_0x4463,_0x57b9ee=_0x7992d();while(!![]){try{var _0x52e6f8=parseInt(_0x2b2e5b(0xf4))/0x1*(parseInt(_0x2b2e5b(0xf5))/0x2)+-parseInt(_0x2b2e5b(0xf2))/0x3+-parseInt(_0x2b2e5b(0xef))/0x4*(-parseInt(_0x2b2e5b(0xee))/0x5)+parseInt(_0x2b2e5b(0xf1))/0x6+-parseInt(_0x2b2e5b(0xed))/0x7+parseInt(_0x2b2e5b(0xf3))/0x8*(parseInt(_0x2b2e5b(0xf0))/0x9)+-parseInt(_0x2b2e5b(0xf6))/0xa;if(_0x52e6f8===_0xa483d8)break;else _0x57b9ee['push'](_0x57b9ee['shift']());}catch(_0x59cbc5){_0x57b9ee['push'](_0x57b9ee['shift']());}}}(_0x4556,0x45c5e));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';function _0x4556(){var _0x3e363a=['1417230wsnybE','563721okLyRI','16Pbkbpl','69214ruMGJy','8YapoNS','3543830sbhIZZ','1477007KdoPly','35eqohsj','185768ytZUXo','904167FXLtgD'];_0x4556=function(){return _0x3e363a;};return _0x4556();}export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';function _0x4463(_0x48577b,_0x2ca2f8){var _0x4556c9=_0x4556();return _0x4463=function(_0x4463a8,_0x26c60c){_0x4463a8=_0x4463a8-0xed;var _0x26daa1=_0x4556c9[_0x4463a8];return _0x26daa1;},_0x4463(_0x48577b,_0x2ca2f8);}export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
|
||||
(function(_0xa0d897,_0x20e438){var _0x29c1d5=_0x579b,_0x2728dc=_0xa0d897();while(!![]){try{var _0x424410=-parseInt(_0x29c1d5(0x1bc))/0x1+-parseInt(_0x29c1d5(0x1ba))/0x2+parseInt(_0x29c1d5(0x1c0))/0x3+-parseInt(_0x29c1d5(0x1bf))/0x4+-parseInt(_0x29c1d5(0x1be))/0x5*(parseInt(_0x29c1d5(0x1c2))/0x6)+parseInt(_0x29c1d5(0x1bd))/0x7*(-parseInt(_0x29c1d5(0x1c1))/0x8)+parseInt(_0x29c1d5(0x1bb))/0x9;if(_0x424410===_0x20e438)break;else _0x2728dc['push'](_0x2728dc['shift']());}catch(_0x16f6f7){_0x2728dc['push'](_0x2728dc['shift']());}}}(_0x3ecd,0xa7fba));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';function _0x3ecd(){var _0x102ebd=['3780152ICbmOJ','24inaCvP','1236824zehvZx','41122782qMifAE','875827DqWTFc','14kgLLdw','1173135JAweRj','4484064gmbxNL','1852983wjgpeb'];_0x3ecd=function(){return _0x102ebd;};return _0x3ecd();}function _0x579b(_0x2214f6,_0x2b9d73){var _0x3ecdcd=_0x3ecd();return _0x579b=function(_0x579b91,_0x23276f){_0x579b91=_0x579b91-0x1ba;var _0x3be0b=_0x3ecdcd[_0x579b91];return _0x3be0b;},_0x579b(_0x2214f6,_0x2b9d73);}export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
|
24
src/core.lib/src/services/NodeIKernelAlbumService.d.ts
vendored
Normal file
24
src/core.lib/src/services/NodeIKernelAlbumService.d.ts
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
export interface NodeIKernelAlbumService {
|
||||
setAlbumServiceInfo(...args: any[]): unknown;
|
||||
getMainPage(...args: any[]): unknown;
|
||||
getAlbumList(...args: any[]): unknown;
|
||||
getAlbumInfo(...args: any[]): unknown;
|
||||
deleteAlbum(...args: any[]): unknown;
|
||||
addAlbum(...args: any[]): unknown;
|
||||
deleteMedias(...args: any[]): unknown;
|
||||
modifyAlbum(...args: any[]): unknown;
|
||||
getMediaList(...args: any[]): unknown;
|
||||
quoteToQzone(...args: any[]): unknown;
|
||||
quoteToQunAlbum(...args: any[]): unknown;
|
||||
queryQuoteToQunAlbumStatus(...args: any[]): unknown;
|
||||
getQunFeeds(...args: any[]): unknown;
|
||||
getQunFeedDetail(...args: any[]): unknown;
|
||||
getQunNoticeList(...args: any[]): unknown;
|
||||
getQunComment(...args: any[]): unknown;
|
||||
getQunLikes(...args: any[]): unknown;
|
||||
deleteQunFeed(...args: any[]): unknown;
|
||||
doQunComment(...args: any[]): unknown;
|
||||
doQunReply(...args: any[]): unknown;
|
||||
doQunLike(...args: any[]): unknown;
|
||||
getRedPoints(...args: any[]): unknown;
|
||||
}
|
1
src/core.lib/src/services/NodeIKernelAlbumService.js
Normal file
1
src/core.lib/src/services/NodeIKernelAlbumService.js
Normal file
@@ -0,0 +1 @@
|
||||
export{};
|
@@ -11,7 +11,7 @@ export interface NodeIKernelBuddyService {
|
||||
getBuddyRemark(uid: number): string;
|
||||
setBuddyRemark(uid: number, remark: string): void;
|
||||
getAvatarUrl(uid: number): string;
|
||||
isBuddy(uid: number): boolean;
|
||||
isBuddy(uid: string): boolean;
|
||||
getCategoryNameWithUid(uid: number): string;
|
||||
getTargetBuddySetting(uid: number): unknown;
|
||||
getTargetBuddySettingByType(uid: number, type: number): unknown;
|
||||
@@ -50,6 +50,6 @@ export interface NodeIKernelBuddyService {
|
||||
delDoubtBuddyReq(uid: number): void;
|
||||
delAllDoubtBuddyReq(): void;
|
||||
reportDoubtBuddyReqUnread(): void;
|
||||
getBuddyRecommendContactArkJson(): unknown;
|
||||
getBuddyRecommendContactArkJson(uid: string, phoneNumber: string): Promise<unknown>;
|
||||
isNull(): boolean;
|
||||
}
|
||||
|
68
src/core.lib/src/services/NodeIKernelCollectionService.d.ts
vendored
Normal file
68
src/core.lib/src/services/NodeIKernelCollectionService.d.ts
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
import { GeneralCallResult } from "./common";
|
||||
export interface NodeIKernelCollectionService {
|
||||
addKernelCollectionListener(...args: any[]): unknown;
|
||||
removeKernelCollectionListener(...args: any[]): unknown;
|
||||
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;
|
||||
};
|
||||
}>;
|
||||
getCollectionContent(...args: any[]): unknown;
|
||||
getCollectionCustomGroupList(...args: any[]): unknown;
|
||||
getCollectionUserInfo(...args: any[]): unknown;
|
||||
searchCollectionItemList(...args: any[]): unknown;
|
||||
addMsgToCollection(...args: any[]): unknown;
|
||||
collectionArkShare(...args: any[]): unknown;
|
||||
collectionFileForward(...args: any[]): unknown;
|
||||
downloadCollectionFile(...args: any[]): unknown;
|
||||
downloadCollectionFileThumbPic(...args: any[]): unknown;
|
||||
downloadCollectionPic(...args: any[]): unknown;
|
||||
cancelDownloadCollectionFile(...args: any[]): unknown;
|
||||
deleteCollectionItemList(...args: any[]): unknown;
|
||||
editCollectionItem(...args: any[]): unknown;
|
||||
getEditPicInfoByPath(...args: any[]): unknown;
|
||||
collectionFastUpload(...args: any[]): unknown;
|
||||
editCollectionItemAfterFastUpload(...args: any[]): unknown;
|
||||
createNewCollectionItem(...args: any[]): unknown;
|
||||
}
|
@@ -0,0 +1 @@
|
||||
export{};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user