mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
Compare commits
218 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
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 | ||
![]() |
68af73970e | ||
![]() |
b6ed8d4975 | ||
![]() |
d07d3645ce | ||
![]() |
123759ab17 | ||
![]() |
f2f1f893d8 | ||
![]() |
db93a8eed2 | ||
![]() |
12ab6d4a7d | ||
![]() |
add759e889 | ||
![]() |
f315f7977d | ||
![]() |
f2f6701ebd | ||
![]() |
1a92794d33 | ||
![]() |
7640deb798 | ||
![]() |
f1e8ef1cf6 | ||
![]() |
5e5ac0162e | ||
![]() |
0c013820f0 | ||
![]() |
4b3a9e5847 | ||
![]() |
e4982256a4 | ||
![]() |
babc4927a8 | ||
![]() |
6dd84cf469 | ||
![]() |
a8800e3899 | ||
![]() |
5f03496046 | ||
![]() |
41500c17a2 | ||
![]() |
2dcfde8b9a | ||
![]() |
5c3305d8fa | ||
![]() |
0d1fe99f53 | ||
![]() |
4c03ffeec7 | ||
![]() |
8101d17482 | ||
![]() |
bc7b4dcc2a | ||
![]() |
3db8b9078d | ||
![]() |
943dbbefd3 | ||
![]() |
480abcb853 | ||
![]() |
60aaaff58e | ||
![]() |
e3b889bbe8 | ||
![]() |
ac5506a43b | ||
![]() |
b29f533a3b | ||
![]() |
a8ee86b09e | ||
![]() |
0238c53302 | ||
![]() |
665e3c806f | ||
![]() |
8c96838441 | ||
![]() |
4a722daec6 | ||
![]() |
4e0cdbcb91 | ||
![]() |
08976624cd | ||
![]() |
fdeba94653 | ||
![]() |
d3b100b7e5 | ||
![]() |
1de3e18b08 | ||
![]() |
d5c3c95682 | ||
![]() |
dabe1e29ed | ||
![]() |
203d1c0cfc | ||
![]() |
7edd8601be | ||
![]() |
a4423247f4 | ||
![]() |
4834b203a0 | ||
![]() |
bbabb32d13 | ||
![]() |
95112d6bdf | ||
![]() |
36cdca5a3e | ||
![]() |
6980a9f3fc | ||
![]() |
7b09479cd2 | ||
![]() |
5825fd6f36 | ||
![]() |
2d5b45dd82 | ||
![]() |
52dda1d1fe | ||
![]() |
420624bee4 | ||
![]() |
8abde7b7d0 | ||
![]() |
9e5b1ba28e | ||
![]() |
b9c7d3c18e | ||
![]() |
10aeccbbe5 | ||
![]() |
15d351ebc2 | ||
![]() |
7194f31cb6 | ||
![]() |
84b7e82446 | ||
![]() |
8264423b1a | ||
![]() |
37f897f3bf | ||
![]() |
fe3efac145 | ||
![]() |
9773aebefc | ||
![]() |
06f2b8c371 | ||
![]() |
e8f0bb8350 | ||
![]() |
9bfa6b827b | ||
![]() |
b21bc17a58 | ||
![]() |
f4d5d417d0 | ||
![]() |
91fc83621e | ||
![]() |
461feca0ca | ||
![]() |
5e9afab3f7 | ||
![]() |
2599ca6450 | ||
![]() |
fc99ad3a39 | ||
![]() |
10e1c3e72c | ||
![]() |
af5dedd4d4 | ||
![]() |
3b986c1076 | ||
![]() |
72f77e8b7c | ||
![]() |
e893bf676f | ||
![]() |
80eb34f611 | ||
![]() |
5d01947552 | ||
![]() |
d3a025ef7b | ||
![]() |
c466df841e | ||
![]() |
b3c6e2a0f3 | ||
![]() |
076c9cfed7 | ||
![]() |
c3f3d12f83 | ||
![]() |
44974034ec | ||
![]() |
d6175acd38 | ||
![]() |
62eee5f05c | ||
![]() |
d4e5201913 | ||
![]() |
f4d584765a | ||
![]() |
26e224f852 | ||
![]() |
252358ed66 | ||
![]() |
475afeb7c8 | ||
![]() |
7cbbb846eb | ||
![]() |
25f947968c | ||
![]() |
cad824dcbc | ||
![]() |
e506f50b00 | ||
![]() |
96ec149a98 | ||
![]() |
8c913512f6 | ||
![]() |
4cc307299d | ||
![]() |
407c6b4c5f | ||
![]() |
8f87070434 | ||
![]() |
4a63996ee2 | ||
![]() |
0358fe7620 | ||
![]() |
55e64395ed | ||
![]() |
ff5fb18e14 | ||
![]() |
52dd960857 | ||
![]() |
430221c2de | ||
![]() |
217bdf8f92 | ||
![]() |
38c6c869bf | ||
![]() |
84d46da67e | ||
![]() |
eb9d6240d7 | ||
![]() |
2d44a871b0 | ||
![]() |
3f89f350ff | ||
![]() |
1a8407a782 | ||
![]() |
cf288a3f73 | ||
![]() |
f1f37fb180 | ||
![]() |
fb0dd079fd | ||
![]() |
a6c584c85c | ||
![]() |
77adf35a30 | ||
![]() |
dc6951c2a9 | ||
![]() |
d14ba3f0f7 | ||
![]() |
78ddf36e35 | ||
![]() |
d42734624d | ||
![]() |
b5dbd9d59b | ||
![]() |
bed3e1289b | ||
![]() |
b11ca4e60e | ||
![]() |
4fcf3aa2bd | ||
![]() |
dc39da8ca5 | ||
![]() |
c10c87d28e | ||
![]() |
c6fe6f1cc5 | ||
![]() |
1c2bbeb26d | ||
![]() |
17ed3692d0 | ||
![]() |
966a00f41e | ||
![]() |
fd8d8f89aa | ||
![]() |
305bb74072 | ||
![]() |
7f4dcdd134 | ||
![]() |
aac37dcce1 | ||
![]() |
f539c662a5 | ||
![]() |
c82f346dd0 | ||
![]() |
21b4a87837 | ||
![]() |
ae73bcf24b | ||
![]() |
2a3b56bde1 | ||
![]() |
b8ebededd8 | ||
![]() |
227c4c422c | ||
![]() |
652bfb93cc | ||
![]() |
c2278e3536 | ||
![]() |
caa2fca4e8 | ||
![]() |
745cb0175c | ||
![]() |
e5165a780f | ||
![]() |
b4b91af02b | ||
![]() |
5649ff9c2e | ||
![]() |
5b4bf6c62a | ||
![]() |
93cb662282 | ||
![]() |
00a8715e58 | ||
![]() |
7ecd479b3e | ||
![]() |
8fe7d3aaec | ||
![]() |
f32a693393 | ||
![]() |
17ebc01597 | ||
![]() |
827fb698e1 | ||
![]() |
32bdf10fd2 | ||
![]() |
b795e6c3d2 | ||
![]() |
42ba524e4e | ||
![]() |
317c6d96e3 | ||
![]() |
3692d1499f | ||
![]() |
b21fbad8a3 | ||
![]() |
743334a68a | ||
![]() |
951413eb38 | ||
![]() |
32dcdef853 | ||
![]() |
34c9254d4a | ||
![]() |
14012a4668 | ||
![]() |
575debca63 | ||
![]() |
763cac8532 | ||
![]() |
43faacd7a7 | ||
![]() |
1d4e307e96 |
@@ -5,7 +5,7 @@ root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
end_of_line = lf|crlf
|
||||
insert_final_newline = true
|
||||
|
||||
# Matches multiple files with brace expansion notation
|
||||
@@ -18,4 +18,4 @@ indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Unfortunately, EditorConfig doesn't support space configuration inside import braces directly.
|
||||
# You'll need to rely on your linter/formatter like ESLint or Prettier for that.
|
||||
# You'll need to rely on your linter/formatter like ESLint or Prettier for that.
|
@@ -1 +1 @@
|
||||
VITE_BUILD_TYPE = Production
|
||||
VITE_BUILD_TYPE = Production
|
||||
|
@@ -1,9 +1,10 @@
|
||||
module.exports = {
|
||||
'env': {
|
||||
'browser': true,
|
||||
'es2021': true,
|
||||
'node': true
|
||||
},
|
||||
'ignorePatterns': ['src/core/', 'src/core.lib/'],
|
||||
'ignorePatterns': ['src/core/', 'src/core.lib/','src/proto/'],
|
||||
'extends': [
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended'
|
||||
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -121,7 +121,7 @@ jobs:
|
||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
|
||||
|
||||
- name: Clone Changes Log
|
||||
run: curl -o CHANGELOG.md https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/CHANGELOG.md
|
||||
run: curl -o CHANGELOG.md https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/docs/changelogs/CHANGELOG.v${{ env.VERSION }}.md
|
||||
|
||||
- name: Create Release Draft and Upload Artifacts
|
||||
uses: softprops/action-gh-release@v1
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@@ -4,8 +4,8 @@ package-lock.json
|
||||
pnpm-lock.yaml
|
||||
out/
|
||||
dist/
|
||||
src/core.lib/common/
|
||||
test
|
||||
/src/core.lib/common/
|
||||
/localdebug/
|
||||
|
||||
# Editor
|
||||
.vscode/*
|
||||
@@ -14,4 +14,4 @@ test
|
||||
|
||||
# Build
|
||||
*.db
|
||||
checkVersion.sh
|
||||
checkVersion.sh
|
@@ -1,4 +1,4 @@
|
||||
# v1.3.5
|
||||
# v1.3.3
|
||||
|
||||
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
|
||||
|
18
docs/changelogs/CHANGELOG.v1.3.5.md
Normal file
18
docs/changelogs/CHANGELOG.v1.3.5.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# v1.3.5
|
||||
|
||||
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 优化启动脚本
|
||||
* 修复非管理时群成员减少事件上报 **无法获取操作者与操作类型**
|
||||
* 修复快速重启进程清理问题
|
||||
* 优化配置文件格式 支持自动更新配置 但仍然建议 **备份配置**
|
||||
* 修复正向反向ws多个客户端周期多次心跳问题
|
||||
|
||||
## 新增与调整
|
||||
* 支持WebUi热重载
|
||||
* 新增启动输出WEBUI秘钥
|
||||
* 新增群荣誉信息 /get_group_honor_info
|
||||
* 支持获取群系统消息 /get_group_system_msg
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/CHANGELOG.v1.3.6.md
Normal file
11
docs/changelogs/CHANGELOG.v1.3.6.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.3.6
|
||||
|
||||
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复戳一戳多次上报问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
15
docs/changelogs/CHANGELOG.v1.3.8.md
Normal file
15
docs/changelogs/CHANGELOG.v1.3.8.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# v1.3.8
|
||||
|
||||
QQ Version: Windows 9.9.9-23873 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 优化打包后体积问题
|
||||
* 修复QQ等级获取
|
||||
* 兼容 9.7.x 版本换行符 统一为 \n
|
||||
* 修复处理加群请求 字段异常情况
|
||||
* 修复退群通知问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/CHANGELOG.v1.3.9.md
Normal file
11
docs/changelogs/CHANGELOG.v1.3.9.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.3.9
|
||||
|
||||
QQ Version: Windows 9.9.10-23873 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复QQ等级获取与兼容性问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
12
docs/changelogs/CHANGELOG.v1.4.0.md
Normal file
12
docs/changelogs/CHANGELOG.v1.4.0.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.0
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
|
||||
## 新增与调整
|
||||
* 支持空间Cookies获取
|
||||
* 支持获取在线设备 API /get_online_clients
|
||||
* 支持图片OCR API: /.ocr_image /ocr_image
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
14
docs/changelogs/CHANGELOG.v1.4.1.md
Normal file
14
docs/changelogs/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)
|
131
package.json
131
package.json
@@ -1,65 +1,66 @@
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.3.2",
|
||||
"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-commonjs": "^25.0.7",
|
||||
"@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",
|
||||
"protobufjs-cli": "^1.1.2",
|
||||
"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": {
|
||||
"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",
|
||||
"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.4.1",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +1,42 @@
|
||||
let fs = require("fs");
|
||||
let process = require("process")
|
||||
const fs = require("fs");
|
||||
const process = require("process");
|
||||
|
||||
console.log("[NapCat] [CheckVersion] 开始检测当前仓库版本...");
|
||||
let currentVersion = require("../package.json").version;
|
||||
let targetVersion = process.env.VERSION;
|
||||
console.log("[NapCat] [CheckVersion] currentVersion:", currentVersion, " targetVersion:", targetVersion);
|
||||
// fs.mkdirSync("./dist");
|
||||
if (currentVersion === targetVersion) {
|
||||
fs.writeFileSync("./checkVersion.sh", "#!/bin/bashe\necho \"CheckVersion Is Done\"")
|
||||
} else {
|
||||
let runscript = "sed -i 's/\"version\": \"" + currentVersion + "\"/\"version\": \"" + targetVersion + "\"/g' package.json";
|
||||
fs.writeFileSync("./checkVersion.sh", "#!/bin/bashe\ngit config --global user.email \"bot@test.wumiao.wang\"\n git config --global user.name \"Version\"\n" + runscript + "\ngit add .\n git commit -m \"chore:version change\"\n git push -u origin main")
|
||||
}
|
||||
try {
|
||||
const packageJson = require("../package.json");
|
||||
const currentVersion = packageJson.version;
|
||||
const targetVersion = process.env.VERSION;
|
||||
|
||||
console.log("[NapCat] [CheckVersion] currentVersion:", currentVersion, "targetVersion:", targetVersion);
|
||||
|
||||
// 验证 targetVersion 格式
|
||||
if (!targetVersion || typeof targetVersion !== 'string') {
|
||||
console.error("[NapCat] [CheckVersion] 目标版本格式不正确或未设置!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 写入脚本文件的统一函数
|
||||
const writeScriptToFile = (content) => {
|
||||
fs.writeFileSync("./checkVersion.sh", content, { flag: 'w' });
|
||||
console.log("[NapCat] [CheckVersion] checkVersion.sh 文件已更新。");
|
||||
};
|
||||
|
||||
if (currentVersion === targetVersion) {
|
||||
// 不需要更新版本,写入一个简单的脚本
|
||||
const simpleScript = "#!/bin/bash\necho \"CheckVersion Is Done\"";
|
||||
writeScriptToFile(simpleScript);
|
||||
} else {
|
||||
// 更新版本,构建安全的sed命令
|
||||
const safeScriptContent = `
|
||||
#!/bin/bash
|
||||
git config --global user.email "bot@test.wumiao.wang"
|
||||
git config --global user.name "Version"
|
||||
sed -i "s/\\\"version\\\": \\\"${currentVersion}\\\"/\\\"version\\\": \\\"${targetVersion}\\\"/g" package.json
|
||||
git add .
|
||||
git commit -m "chore:version change"
|
||||
git push -u origin main`;
|
||||
writeScriptToFile(safeScriptContent);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[NapCat] [CheckVersion] 检测过程中发生错误:", error);
|
||||
}
|
@@ -15,4 +15,4 @@ for %%a in ("!RetString!") do (
|
||||
set "QQPath=!pathWithoutUninstall!QQ.exe"
|
||||
set ELECTRON_RUN_AS_NODE=1
|
||||
echo !QQPath!
|
||||
"!QQPath!" ./napcat.cjs %*
|
||||
"!QQPath!" ./napcat.mjs %*
|
||||
|
@@ -5,11 +5,39 @@ function Get-QQpath {
|
||||
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
|
||||
}
|
||||
catch {
|
||||
return "D:\QQ.exe"
|
||||
throw "get QQ path error: $_"
|
||||
}
|
||||
}
|
||||
function Select-QQPath {
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
[System.Windows.Forms.Application]::EnableVisualStyles()
|
||||
|
||||
$dialogTitle = "Select QQ.exe"
|
||||
|
||||
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
|
||||
$filePicker.Title = $dialogTitle
|
||||
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
|
||||
$filePicker.FilterIndex = 1
|
||||
$null = $filePicker.ShowDialog()
|
||||
if (-not ($filePicker.FileName)) {
|
||||
throw "User did not select an .exe file."
|
||||
}
|
||||
return $filePicker.FileName
|
||||
}
|
||||
|
||||
$params = $args -join " "
|
||||
$QQpath = Get-QQpath
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
|
||||
Try {
|
||||
$QQpath = Get-QQpath
|
||||
}
|
||||
Catch {
|
||||
$QQpath = Select-QQPath
|
||||
}
|
||||
|
||||
if (!(Test-Path $QQpath)) {
|
||||
throw "provided QQ path is invalid: $QQpath"
|
||||
}
|
||||
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
|
||||
$env:ELECTRON_RUN_AS_NODE = 1
|
||||
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& chcp 65001;& '$QQpath' $Bootfile $params}"
|
||||
$commandInfo = Get-Command $QQpath -ErrorAction Stop
|
||||
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& chcp 65001;& '$($commandInfo.Path)' $Bootfile $params}"
|
@@ -14,4 +14,4 @@ for %%a in ("!RetString!") do (
|
||||
set "QQPath=!pathWithoutUninstall!QQ.exe"
|
||||
set ELECTRON_RUN_AS_NODE=1
|
||||
echo !QQPath!
|
||||
"!QQPath!" ./napcat.cjs %*
|
||||
"!QQPath!" ./napcat.mjs %*
|
||||
|
@@ -5,11 +5,39 @@ function Get-QQpath {
|
||||
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
|
||||
}
|
||||
catch {
|
||||
return "D:\QQ.exe"
|
||||
throw "get QQ path error: $_"
|
||||
}
|
||||
}
|
||||
function Select-QQPath {
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
[System.Windows.Forms.Application]::EnableVisualStyles()
|
||||
|
||||
$dialogTitle = "Select QQ.exe"
|
||||
|
||||
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
|
||||
$filePicker.Title = $dialogTitle
|
||||
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
|
||||
$filePicker.FilterIndex = 1
|
||||
$null = $filePicker.ShowDialog()
|
||||
if (-not ($filePicker.FileName)) {
|
||||
throw "User did not select an .exe file."
|
||||
}
|
||||
return $filePicker.FileName
|
||||
}
|
||||
|
||||
$params = $args -join " "
|
||||
$QQpath = Get-QQpath
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
|
||||
Try {
|
||||
$QQpath = Get-QQpath
|
||||
}
|
||||
Catch {
|
||||
$QQpath = Select-QQPath
|
||||
}
|
||||
|
||||
if (!(Test-Path $QQpath)) {
|
||||
throw "provided QQ path is invalid: $QQpath"
|
||||
}
|
||||
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
|
||||
$env:ELECTRON_RUN_AS_NODE = 1
|
||||
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$QQpath' $Bootfile $params}"
|
||||
$commandInfo = Get-Command $QQpath -ErrorAction Stop
|
||||
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$($commandInfo.Path)' $Bootfile $params}"
|
@@ -1,4 +1,21 @@
|
||||
#!/bin/bash
|
||||
SCRIPT_DIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))
|
||||
|
||||
get_script_dir() {
|
||||
local script_path="${1:-$0}"
|
||||
local script_dir
|
||||
script_path=$(readlink -f "$script_path")
|
||||
script_dir=$(dirname "$script_path")
|
||||
|
||||
echo "$script_dir"
|
||||
}
|
||||
|
||||
SCRIPT_DIR=$(get_script_dir)
|
||||
|
||||
export ELECTRON_RUN_AS_NODE=1
|
||||
/opt/QQ/qq ${SCRIPT_DIR}/napcat.cjs $@
|
||||
|
||||
if ! [ -x /opt/QQ/qq ]; then
|
||||
echo "Error: /opt/QQ/qq is not executable or does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
/opt/QQ/qq "${SCRIPT_DIR}/napcat.mjs" "$@"
|
||||
|
@@ -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) {
|
||||
@@ -114,8 +114,10 @@ export abstract class HttpServerBase {
|
||||
this.server = this.expressAPP.listen(port, host, () => {
|
||||
const info = `${this.name} started ${host}:${port}`;
|
||||
log(info);
|
||||
}).on('error', (err) => {
|
||||
logError('HTTP服务启动失败', err.toString());
|
||||
});
|
||||
}catch (e: any) {
|
||||
} catch (e: any) {
|
||||
logError('HTTP服务启动失败, 请检查监听的ip地址和端口', e.stack.toString());
|
||||
}
|
||||
}
|
||||
|
@@ -30,9 +30,10 @@ export class WebsocketServerBase {
|
||||
start(port: number, host: string = '') {
|
||||
try {
|
||||
this.ws = new WebSocketServer({
|
||||
port ,
|
||||
port,
|
||||
host: '',
|
||||
maxPayload: 1024 * 1024 * 1024
|
||||
}).on('error', () => {
|
||||
});
|
||||
log(`ws服务启动成功, ${host}:${port}`);
|
||||
} catch (e: any) {
|
||||
|
@@ -1,6 +1,12 @@
|
||||
import path from 'node:path';
|
||||
import fs from 'node:fs';
|
||||
import { log, logDebug, logError } from '@/common/utils/log';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
const configDir = path.resolve(__dirname, 'config');
|
||||
fs.mkdirSync(configDir, { recursive: true });
|
||||
|
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;
|
@@ -55,7 +55,7 @@ if (fs.existsSync(configVersionInfoPath)) {
|
||||
|
||||
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
|
||||
|
||||
export const qqPkgInfo: QQPkgInfo = require(pkgInfoPath);
|
||||
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
|
||||
// platform_type: 3,
|
||||
// app_type: 4,
|
||||
// app_version: '9.9.9-23159',
|
||||
|
@@ -1,7 +1,12 @@
|
||||
import * as os from 'os';
|
||||
import path from 'node:path';
|
||||
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) {
|
||||
const systemPlatform = os.platform();
|
||||
const cpuArch = os.arch();
|
||||
@@ -14,6 +19,6 @@ export function cpModule(moduleName: string) {
|
||||
try {
|
||||
fs.copyFileSync(path.join(currentDir, fileName), path.join(currentDir, `${moduleName}.node`));
|
||||
} catch (e) {
|
||||
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
509
src/common/utils/db.ts
Normal file
509
src/common/utils/db.ts
Normal file
@@ -0,0 +1,509 @@
|
||||
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);
|
||||
}
|
||||
});
|
||||
|
||||
// 接收到的临时会话消息uid
|
||||
const createTempUinTableSQL = `
|
||||
CREATE TABLE IF NOT EXISTS temp_uins (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
uid TEXT,
|
||||
uin TEXT
|
||||
)`;
|
||||
this.db!.run(createTempUinTableSQL, function (err) {
|
||||
if (err) {
|
||||
logError('Could not create table temp_uins', 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);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 被动收到的临时会话消息uin->uid
|
||||
async getReceivedTempUinMap() {
|
||||
const stmt = 'SELECT * FROM temp_uins';
|
||||
return new Promise<Record<string, string>>((resolve, reject) => {
|
||||
this.db!.all(stmt, (err, rows: { uin: string, uid: string }[]) => {
|
||||
if (err) {
|
||||
logError('db could not get temp uin map', err);
|
||||
reject(err);
|
||||
}
|
||||
const map: Record<string, string> = {};
|
||||
rows.forEach(row => {
|
||||
map[row.uin] = row.uid;
|
||||
});
|
||||
resolve(map);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 通过uin获取临时会话消息uid
|
||||
async getUidByTempUin(uid: string) {
|
||||
const stmt = 'SELECT * FROM temp_uins WHERE uin = ?';
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
this.db!.get(stmt, [uid], (err, row: { uin: string, uid: string }) => {
|
||||
if (err) {
|
||||
logError('db could not get temp uin map', err);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row?.uid);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async addTempUin(uin: string, uid: string) {
|
||||
const existUid = await this.getUidByTempUin(uin);
|
||||
if (!existUid) {
|
||||
const stmt = this.db!.prepare('INSERT INTO temp_uins (uin, uid) VALUES (?, ?)');
|
||||
return new Promise((resolve, reject) => {
|
||||
stmt.run(uin, uid, function (err: any) {
|
||||
if (err) {
|
||||
logError('db could not add temp uin', 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(),
|
||||
console.log("插入入群时间失败", userId, groupId);
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const dbUtil = new DBUtil();
|
@@ -4,7 +4,7 @@ import crypto from 'crypto';
|
||||
import util from 'util';
|
||||
import path from 'node:path';
|
||||
import { log } from './log';
|
||||
import { dbUtil } from '@/core/utils/db';
|
||||
import { dbUtil } from '@/common/utils/db';
|
||||
import * as fileType from 'file-type';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { napCatCore } from '@/core';
|
||||
|
@@ -1,5 +1,13 @@
|
||||
import crypto from 'node:crypto';
|
||||
import path from 'node:path';
|
||||
import fs from 'fs/promises';
|
||||
import { log, logDebug } from './log';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
export function sleep(ms: number): Promise<void> {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
@@ -35,3 +43,142 @@ export function truncateString(obj: any, maxLength = 500) {
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 函数缓存装饰器,根据方法名、参数、自定义key生成缓存键,在一定时间内返回缓存结果
|
||||
* @param ttl 超时时间,单位毫秒
|
||||
* @param customKey 自定义缓存键前缀,可为空,防止方法名参数名一致时导致缓存键冲突
|
||||
* @returns 处理后缓存或调用原方法的结果
|
||||
*/
|
||||
export function cacheFunc(ttl: number, customKey: string = '') {
|
||||
const cache = new Map<string, { expiry: number; value: any }>();
|
||||
|
||||
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor {
|
||||
const originalMethod = descriptor.value;
|
||||
const className = target.constructor.name; // 获取类名
|
||||
const methodName = propertyKey; // 获取方法名
|
||||
descriptor.value = async function (...args: any[]) {
|
||||
const cacheKey = `${customKey}${className}.${methodName}:${JSON.stringify(args)}`;
|
||||
const cached = cache.get(cacheKey);
|
||||
if (cached && cached.expiry > Date.now()) {
|
||||
return cached.value;
|
||||
} else {
|
||||
const result = await originalMethod.apply(this, args);
|
||||
cache.set(cacheKey, { value: result, expiry: Date.now() + ttl });
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
return descriptor;
|
||||
};
|
||||
}
|
||||
export function isValidOldConfig(config: any) {
|
||||
if (typeof config !== 'object') {
|
||||
return false;
|
||||
}
|
||||
const requiredKeys = [
|
||||
'httpHost', 'httpPort', 'httpPostUrls', 'httpSecret',
|
||||
'wsHost', 'wsPort', 'wsReverseUrls', 'enableHttp',
|
||||
'enableHttpHeart', 'enableHttpPost', 'enableWs', 'enableWsReverse',
|
||||
'messagePostFormat', 'reportSelfMessage', 'enableLocalFile2Url',
|
||||
'debug', 'heartInterval', 'token', 'musicSignUrl'
|
||||
];
|
||||
for (const key of requiredKeys) {
|
||||
if (!(key in config)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!Array.isArray(config.httpPostUrls) || !Array.isArray(config.wsReverseUrls)) {
|
||||
return false;
|
||||
}
|
||||
if (config.httpPostUrls.some((url: any) => typeof url !== 'string')) {
|
||||
return false;
|
||||
}
|
||||
if (config.wsReverseUrls.some((url: any) => typeof url !== 'string')) {
|
||||
return false;
|
||||
}
|
||||
if (typeof config.httpPort !== 'number' || typeof config.wsPort !== 'number' || typeof config.heartInterval !== 'number') {
|
||||
return false;
|
||||
}
|
||||
if (
|
||||
typeof config.enableHttp !== 'boolean' ||
|
||||
typeof config.enableHttpHeart !== 'boolean' ||
|
||||
typeof config.enableHttpPost !== 'boolean' ||
|
||||
typeof config.enableWs !== 'boolean' ||
|
||||
typeof config.enableWsReverse !== 'boolean' ||
|
||||
typeof config.enableLocalFile2Url !== 'boolean' ||
|
||||
typeof config.reportSelfMessage !== 'boolean'
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
if (config.messagePostFormat !== 'array' && config.messagePostFormat !== 'string') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
export function migrateConfig(oldConfig: any) {
|
||||
const newConfig = {
|
||||
http: {
|
||||
enable: oldConfig.enableHttp,
|
||||
host: oldConfig.httpHost,
|
||||
port: oldConfig.httpPort,
|
||||
secret: oldConfig.httpSecret,
|
||||
enableHeart: oldConfig.enableHttpHeart,
|
||||
enablePost: oldConfig.enableHttpPost,
|
||||
postUrls: oldConfig.httpPostUrls,
|
||||
},
|
||||
ws: {
|
||||
enable: oldConfig.enableWs,
|
||||
host: oldConfig.wsHost,
|
||||
port: oldConfig.wsPort,
|
||||
},
|
||||
reverseWs: {
|
||||
enable: oldConfig.enableWsReverse,
|
||||
urls: oldConfig.wsReverseUrls,
|
||||
},
|
||||
GroupLocalTime: {
|
||||
Record: false,
|
||||
RecordList: []
|
||||
},
|
||||
debug: oldConfig.debug,
|
||||
heartInterval: oldConfig.heartInterval,
|
||||
messagePostFormat: oldConfig.messagePostFormat,
|
||||
enableLocalFile2Url: oldConfig.enableLocalFile2Url,
|
||||
musicSignUrl: oldConfig.musicSignUrl,
|
||||
reportSelfMessage: oldConfig.reportSelfMessage,
|
||||
token: oldConfig.token,
|
||||
|
||||
};
|
||||
return newConfig;
|
||||
}
|
||||
// 升级旧的配置到新的
|
||||
export async function UpdateConfig() {
|
||||
const configFiles = await fs.readdir(path.join(__dirname, 'config'));
|
||||
for (const file of configFiles) {
|
||||
if (file.match(/^onebot11_\d+.json$/)) {
|
||||
const CurrentConfig = JSON.parse(await fs.readFile(path.join(__dirname, 'config', file), 'utf8'));
|
||||
if (isValidOldConfig(CurrentConfig)) {
|
||||
log('正在迁移旧配置到新配置 File:', file);
|
||||
const NewConfig = migrateConfig(CurrentConfig);
|
||||
await fs.writeFile(path.join(__dirname, 'config', file), JSON.stringify(NewConfig, null, 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
export function isEqual(obj1: any, obj2: any) {
|
||||
if (obj1 === obj2) return true;
|
||||
if (obj1 == null || obj2 == null) return false;
|
||||
if (typeof obj1 !== 'object' || typeof obj2 !== 'object') return obj1 === obj2;
|
||||
|
||||
const keys1 = Object.keys(obj1);
|
||||
const keys2 = Object.keys(obj2);
|
||||
|
||||
if (keys1.length !== keys2.length) return false;
|
||||
|
||||
for (const key of keys1) {
|
||||
if (!isEqual(obj1[key], obj2[key])) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
@@ -2,6 +2,12 @@ import log4js, { Configuration } from 'log4js';
|
||||
import { truncateString } from '@/common/utils/helper';
|
||||
import path from 'node:path';
|
||||
import { SelfInfo } from '@/core';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
export enum LogLevel {
|
||||
DEBUG = 'debug',
|
||||
|
@@ -1,30 +1,44 @@
|
||||
import { exit } from "process";
|
||||
import { resolve } from "path";
|
||||
import { spawn } from "node:child_process";
|
||||
import { sleep } from "./helper";
|
||||
import { resolve } from 'node:path';
|
||||
import { spawn } from 'node:child_process';
|
||||
import { pid, ppid, exit } from 'node:process';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
export async function rebootWithQuickLogin(uin: string) {
|
||||
let batScript = resolve(__dirname, './napcat.bat');
|
||||
let batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
|
||||
let bashScript = resolve(__dirname, './napcat.sh');
|
||||
if (process.platform === 'win32') {
|
||||
let subProcess = spawn(`start ${batUtf8Script} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore'});
|
||||
subProcess.unref();
|
||||
} else if (process.platform === 'linux') {
|
||||
let subProcess = spawn(`${bashScript} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
|
||||
subProcess.unref();
|
||||
}
|
||||
const batScript = resolve(__dirname, './napcat.bat');
|
||||
const batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
|
||||
const bashScript = resolve(__dirname, './napcat.sh');
|
||||
if (process.platform === 'win32') {
|
||||
const subProcess = spawn(`start ${batUtf8Script} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
|
||||
subProcess.unref();
|
||||
// 子父进程一起送走 有点效果
|
||||
spawn('cmd /c taskkill /t /f /pid ' + pid.toString(), { detached: true, shell: true, stdio: 'ignore' });
|
||||
spawn('cmd /c taskkill /t /f /pid ' + ppid.toString(), { detached: true, shell: true, stdio: 'ignore' });
|
||||
} else if (process.platform === 'linux') {
|
||||
const subProcess = spawn(`${bashScript} -q ${uin}`, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
|
||||
//还没兼容
|
||||
subProcess.unref();
|
||||
exit(0);
|
||||
}
|
||||
//exit(0);
|
||||
}
|
||||
export async function rebootWithNormolLogin() {
|
||||
let batScript = resolve(__dirname, './napcat.bat');
|
||||
let batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
|
||||
let bashScript = resolve(__dirname, './napcat.sh');
|
||||
if (process.platform === 'win32') {
|
||||
spawn(`start ${batUtf8Script}`, { detached: true, windowsHide: false, env: process.env, shell: true });
|
||||
} else if (process.platform === 'linux') {
|
||||
spawn(`${bashScript}`, { detached: true, windowsHide: false, env: process.env, shell: true });
|
||||
}
|
||||
await sleep(500);
|
||||
const batScript = resolve(__dirname, './napcat.bat');
|
||||
const batUtf8Script = resolve(__dirname, './napcat-utf8.bat');
|
||||
const bashScript = resolve(__dirname, './napcat.sh');
|
||||
if (process.platform === 'win32') {
|
||||
const subProcess = spawn(`start ${batUtf8Script} `, { detached: true, windowsHide: false, env: process.env, shell: true, stdio: 'ignore' });
|
||||
subProcess.unref();
|
||||
// 子父进程一起送走 有点效果
|
||||
spawn('cmd /c taskkill /t /f /pid ' + pid.toString(), { detached: true, shell: true, stdio: 'ignore' });
|
||||
spawn('cmd /c taskkill /t /f /pid ' + ppid.toString(), { detached: true, shell: true, stdio: 'ignore' });
|
||||
} else if (process.platform === 'linux') {
|
||||
const subProcess = spawn(`${bashScript}`, { detached: true, windowsHide: false, env: process.env, shell: true });
|
||||
subProcess.unref();
|
||||
exit(0);
|
||||
}
|
||||
}
|
@@ -1,57 +1,106 @@
|
||||
const https = require('node:https');
|
||||
export async function HttpGetCookies(url: string): Promise<Map<string, string>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const result: Map<string, string> = new Map<string, string>();
|
||||
const req = https.get(url, (res: any) => {
|
||||
res.on('data', (data: any) => {
|
||||
});
|
||||
res.on('end', () => {
|
||||
try {
|
||||
const responseCookies = res.headers['set-cookie'];
|
||||
for (const line of responseCookies) {
|
||||
const parts = line.split(';');
|
||||
const [key, value] = parts[0].split('=');
|
||||
result.set(key, value);
|
||||
import https from 'node:https';
|
||||
import http from 'node:http';
|
||||
|
||||
export class RequestUtil {
|
||||
// 适用于获取服务器下发cookies时获取,仅GET
|
||||
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
|
||||
const client = url.startsWith('https') ? https : http;
|
||||
return new Promise((resolve, reject) => {
|
||||
client.get(url, (res) => {
|
||||
let cookies: { [key: string]: string } = {};
|
||||
const handleRedirect = (res: http.IncomingMessage) => {
|
||||
//console.log(res.headers.location);
|
||||
if (res.statusCode === 301 || res.statusCode === 302) {
|
||||
if (res.headers.location) {
|
||||
const redirectUrl = new URL(res.headers.location, url);
|
||||
RequestUtil.HttpsGetCookies(redirectUrl.href).then((redirectCookies) => {
|
||||
// 合并重定向过程中的cookies
|
||||
cookies = { ...cookies, ...redirectCookies };
|
||||
resolve(cookies);
|
||||
});
|
||||
} else {
|
||||
resolve(cookies);
|
||||
}
|
||||
} else {
|
||||
resolve(cookies);
|
||||
}
|
||||
} catch (e) {
|
||||
};
|
||||
res.on('data', () => { }); // Necessary to consume the stream
|
||||
res.on('end', () => {
|
||||
handleRedirect(res);
|
||||
});
|
||||
if (res.headers['set-cookie']) {
|
||||
//console.log(res.headers['set-cookie']);
|
||||
res.headers['set-cookie'].forEach((cookie) => {
|
||||
const parts = cookie.split(';')[0].split('=');
|
||||
const key = parts[0];
|
||||
const value = parts[1];
|
||||
if (key && value && key.length > 0 && value.length > 0) {
|
||||
cookies[key] = value;
|
||||
}
|
||||
});
|
||||
}
|
||||
resolve(result);
|
||||
|
||||
}).on('error', (err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
req.on('error', (error: any) => {
|
||||
resolve(result);
|
||||
// console.log(error)
|
||||
});
|
||||
req.end();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
export async function HttpPostCookies(url: string): Promise<Map<string, string>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const result: Map<string, string> = new Map<string, string>();
|
||||
const req = https.get(url, (res: any) => {
|
||||
res.on('data', (data: any) => {
|
||||
});
|
||||
res.on('end', () => {
|
||||
try {
|
||||
const responseCookies = res.headers['set-cookie'];
|
||||
for (const line of responseCookies) {
|
||||
const parts = line.split(';');
|
||||
const [key, value] = parts[0].split('=');
|
||||
result.set(key, value);
|
||||
|
||||
|
||||
// 请求和回复都是JSON data传原始内容 自动编码json
|
||||
static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
|
||||
const option = new URL(url);
|
||||
const protocol = url.startsWith('https://') ? https : http;
|
||||
const options = {
|
||||
hostname: option.hostname,
|
||||
port: option.port,
|
||||
path: option.href,
|
||||
method: method,
|
||||
headers: headers
|
||||
};
|
||||
return new Promise((resolve, reject) => {
|
||||
const req = protocol.request(options, (res: any) => {
|
||||
let responseBody = '';
|
||||
res.on('data', (chunk: string | Buffer) => {
|
||||
responseBody += chunk.toString();
|
||||
});
|
||||
|
||||
res.on('end', () => {
|
||||
try {
|
||||
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
||||
if (isJsonRet) {
|
||||
const responseJson = JSON.parse(responseBody);
|
||||
resolve(responseJson as T);
|
||||
} else {
|
||||
resolve(responseBody as T);
|
||||
}
|
||||
} else {
|
||||
reject(new Error(`Unexpected status code: ${res.statusCode}`));
|
||||
}
|
||||
} catch (parseError) {
|
||||
reject(parseError);
|
||||
}
|
||||
} catch (e) {
|
||||
}
|
||||
resolve(result);
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
req.on('error', (error: any) => {
|
||||
resolve(result);
|
||||
// console.log(error)
|
||||
});
|
||||
req.end();
|
||||
});
|
||||
|
||||
req.on('error', (error: any) => {
|
||||
reject(error);
|
||||
});
|
||||
if (method === 'POST' || method === 'PUT' || method === 'PATCH') {
|
||||
if (isArgJson) {
|
||||
req.write(JSON.stringify(data));
|
||||
} else {
|
||||
req.write(data);
|
||||
}
|
||||
|
||||
}
|
||||
req.end();
|
||||
});
|
||||
}
|
||||
|
||||
// 请求返回都是原始内容
|
||||
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}) {
|
||||
return this.HttpGetJson<string>(url, method, data, headers, false, false);
|
||||
}
|
||||
}
|
31
src/common/utils/type.ts
Normal file
31
src/common/utils/type.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* 运行时类型转换与检查类
|
||||
*/
|
||||
export class TypeCheck {
|
||||
static isEmpty(value: any): boolean {
|
||||
return value === null || value === undefined || value === '' ||
|
||||
(Array.isArray(value) && value.length === 0) || (typeof value === 'object' && Object.keys(value).length === 0);
|
||||
}
|
||||
}
|
||||
|
||||
export class TypeConvert {
|
||||
static toNumber(value: any): number {
|
||||
const num = Number(value);
|
||||
if (isNaN(num)) {
|
||||
throw new Error(`无法将输入转换为数字: ${value}`);
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
static toString(value: any): string {
|
||||
return String(value);
|
||||
}
|
||||
|
||||
static toBoolean(value: any): boolean {
|
||||
return Boolean(value);
|
||||
}
|
||||
|
||||
static toArray(value: any): any[] {
|
||||
return Array.isArray(value) ? value : [value];
|
||||
}
|
||||
}
|
@@ -1,44 +0,0 @@
|
||||
import { request } from 'node:https';
|
||||
export function postLoginStatus() {
|
||||
const req = request(
|
||||
{
|
||||
hostname: 'napcat.wumiao.wang',
|
||||
path: '/api/send',
|
||||
port: 443,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0'
|
||||
}
|
||||
},
|
||||
(res) => {
|
||||
//let data = '';
|
||||
res.on('data', (chunk) => {
|
||||
//data += chunk;
|
||||
});
|
||||
res.on('error', (err) => {
|
||||
});
|
||||
res.on('end', () => {
|
||||
//console.log('Response:', data);
|
||||
});
|
||||
}
|
||||
);
|
||||
req.on('error', (e) => {
|
||||
// console.error('Request error:', e);
|
||||
});
|
||||
const StatesData = {
|
||||
type: 'event',
|
||||
payload: {
|
||||
'website': '952bf82f-8f49-4456-aec5-e17db5f27f7e',
|
||||
'hostname': 'napcat.demo.cn',
|
||||
'screen': '1920x1080',
|
||||
'language': 'zh-CN',
|
||||
'title': 'OneBot.Login',
|
||||
'url': '/login/onebot11/1.3.2',
|
||||
'referrer': 'https://napcat.demo.cn/login?type=onebot11'
|
||||
}
|
||||
};
|
||||
req.write(JSON.stringify(StatesData));
|
||||
|
||||
req.end();
|
||||
}
|
@@ -1,40 +1,21 @@
|
||||
import { get as httpsGet } from 'node:https';
|
||||
function requestMirror(url: string): Promise<string | undefined> {
|
||||
return new Promise((resolve, reject) => {
|
||||
httpsGet(url, (response) => {
|
||||
let data = '';
|
||||
response.on('data', (chunk) => {
|
||||
data += chunk;
|
||||
});
|
||||
|
||||
response.on('end', () => {
|
||||
try {
|
||||
const parsedData = JSON.parse(data);
|
||||
const version = parsedData.version;
|
||||
resolve(version);
|
||||
} catch (error) {
|
||||
// 解析失败或无法访问域名,跳过
|
||||
resolve(undefined);
|
||||
}
|
||||
});
|
||||
}).on('error', (error) => {
|
||||
// 请求失败,跳过
|
||||
resolve(undefined);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
import { logDebug } from './log';
|
||||
import { RequestUtil } from './request';
|
||||
export async function checkVersion(): Promise<string> {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const MirrorList =
|
||||
[
|
||||
'https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://gcore.jsdelivr.net/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://cdn.jsdelivr.us/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://jsd.cdn.zzko.cn/gh/NapNeko/NapCatQQ@main/package.json'
|
||||
];
|
||||
[
|
||||
'https://fastly.jsdelivr.net/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://gcore.jsdelivr.net/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://cdn.jsdelivr.us/gh/NapNeko/NapCatQQ@main/package.json',
|
||||
'https://jsd.cdn.zzko.cn/gh/NapNeko/NapCatQQ@main/package.json'
|
||||
];
|
||||
let version = undefined;
|
||||
for (const url of MirrorList) {
|
||||
const version = await requestMirror(url);
|
||||
try {
|
||||
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
|
||||
} catch (e) {
|
||||
logDebug("检测更新异常",e);
|
||||
}
|
||||
if (version) {
|
||||
resolve(version);
|
||||
}
|
||||
|
2
src/core
2
src/core
Submodule src/core updated: ca47eb4754...845f6d2a15
@@ -1 +1 @@
|
||||
var _0x4a2dd5=_0x12f4;function _0x12f4(_0x4f7dce,_0x480131){var _0x547d83=_0x547d();return _0x12f4=function(_0x12f42f,_0x334fdd){_0x12f42f=_0x12f42f-0x1cb;var _0x3310f6=_0x547d83[_0x12f42f];return _0x3310f6;},_0x12f4(_0x4f7dce,_0x480131);}(function(_0x9627ef,_0x2bdc4c){var _0x3f5c0b=_0x12f4,_0x5bc9a4=_0x9627ef();while(!![]){try{var _0x556f14=parseInt(_0x3f5c0b(0x1d4))/0x1*(-parseInt(_0x3f5c0b(0x1d3))/0x2)+parseInt(_0x3f5c0b(0x1d2))/0x3*(parseInt(_0x3f5c0b(0x1d7))/0x4)+-parseInt(_0x3f5c0b(0x1cc))/0x5*(-parseInt(_0x3f5c0b(0x1d1))/0x6)+parseInt(_0x3f5c0b(0x1d0))/0x7+-parseInt(_0x3f5c0b(0x1d5))/0x8*(parseInt(_0x3f5c0b(0x1cd))/0x9)+-parseInt(_0x3f5c0b(0x1d9))/0xa*(-parseInt(_0x3f5c0b(0x1ce))/0xb)+-parseInt(_0x3f5c0b(0x1d8))/0xc;if(_0x556f14===_0x2bdc4c)break;else _0x5bc9a4['push'](_0x5bc9a4['shift']());}catch(_0x559019){_0x5bc9a4['push'](_0x5bc9a4['shift']());}}}(_0x547d,0x4b59c));export class DependsAdapter{[_0x4a2dd5(0x1d6)](_0x2e3fe8,_0x39c8a2){}[_0x4a2dd5(0x1cf)](_0x34d16e){}[_0x4a2dd5(0x1cb)](_0x104a00){}}function _0x547d(){var _0x4e70b8=['15198348kbkZdd','4618720hiFSGe','getGroupCode','10RIIEqo','963hJDrHe','11cuwaTr','onMSFSsoError','1973643mhShYL','1295832JrGnte','67674WuMgex','20992AJscdr','16mTDfYR','3120SgHmrF','onMSFStatusChange','108mHyias'];_0x547d=function(){return _0x4e70b8;};return _0x547d();}
|
||||
var _0x53ad75=_0x4803;function _0xe478(){var _0x5596f4=['onMSFStatusChange','8478DSeblD','120CBHLmq','getGroupCode','8142540ClqKUq','12034690uHLFGZ','428571uSIPMn','338876izjvuv','233PrhtpI','18JfPLcz','4504910cOvOVi','onMSFSsoError','2284698NHCKkY'];_0xe478=function(){return _0x5596f4;};return _0xe478();}function _0x4803(_0x455fa5,_0x3374cc){var _0xe478fc=_0xe478();return _0x4803=function(_0x4803d1,_0x5c7d64){_0x4803d1=_0x4803d1-0x166;var _0x407b69=_0xe478fc[_0x4803d1];return _0x407b69;},_0x4803(_0x455fa5,_0x3374cc);}(function(_0xd52527,_0x276b3b){var _0x29e235=_0x4803,_0x318582=_0xd52527();while(!![]){try{var _0x4398a7=parseInt(_0x29e235(0x16d))/0x1*(-parseInt(_0x29e235(0x166))/0x2)+parseInt(_0x29e235(0x16e))/0x3*(parseInt(_0x29e235(0x16c))/0x4)+-parseInt(_0x29e235(0x16f))/0x5+parseInt(_0x29e235(0x171))/0x6+parseInt(_0x29e235(0x169))/0x7+parseInt(_0x29e235(0x167))/0x8*(-parseInt(_0x29e235(0x16b))/0x9)+parseInt(_0x29e235(0x16a))/0xa;if(_0x4398a7===_0x276b3b)break;else _0x318582['push'](_0x318582['shift']());}catch(_0x35cc58){_0x318582['push'](_0x318582['shift']());}}}(_0xe478,0x9f620));export class DependsAdapter{[_0x53ad75(0x172)](_0x5352ea,_0x25f40e){}[_0x53ad75(0x170)](_0x522fec){}[_0x53ad75(0x168)](_0x247a93){}}
|
@@ -1 +1 @@
|
||||
var _0x407b46=_0x1833;(function(_0x516f63,_0x1b3b0a){var _0x381bfc=_0x1833,_0x409fe0=_0x516f63();while(!![]){try{var _0x2be90d=-parseInt(_0x381bfc(0x100))/0x1+parseInt(_0x381bfc(0x10a))/0x2+parseInt(_0x381bfc(0x101))/0x3+-parseInt(_0x381bfc(0x109))/0x4*(parseInt(_0x381bfc(0x107))/0x5)+-parseInt(_0x381bfc(0x10b))/0x6*(-parseInt(_0x381bfc(0x106))/0x7)+-parseInt(_0x381bfc(0x102))/0x8*(-parseInt(_0x381bfc(0x104))/0x9)+parseInt(_0x381bfc(0x108))/0xa;if(_0x2be90d===_0x1b3b0a)break;else _0x409fe0['push'](_0x409fe0['shift']());}catch(_0x183fce){_0x409fe0['push'](_0x409fe0['shift']());}}}(_0x178b,0xc80ab));function _0x1833(_0x5c0970,_0xcbb3e5){var _0x178b71=_0x178b();return _0x1833=function(_0x1833c5,_0x16a140){_0x1833c5=_0x1833c5-0x100;var _0x5532ca=_0x178b71[_0x1833c5];return _0x5532ca;},_0x1833(_0x5c0970,_0xcbb3e5);}function _0x178b(){var _0x41b0ba=['2419212dHjiqm','10220fMGzmm','5351982NsIIKA','616177BJJVgt','3230223FFvyuy','16ugrmhE','dispatchRequest','420291ULsxBx','dispatchCall','7NlPUBY','10csQijM','5779080KhWrhV'];_0x178b=function(){return _0x41b0ba;};return _0x178b();}export class DispatcherAdapter{[_0x407b46(0x103)](_0x4c3547){}[_0x407b46(0x105)](_0x3b0236){}['dispatchCallWithJson'](_0x52049a){}}
|
||||
function _0x158b(){var _0x40fbd5=['3062871vunmFV','3zYOYxk','844044tpZmIc','749852nrnXeE','dispatchRequest','1290RHPCdr','10woqzDv','18728BYyKUV','dispatchCallWithJson','2442069YPAYtZ','dispatchCall','15945sSktrD','5819128TvdfDs'];_0x158b=function(){return _0x40fbd5;};return _0x158b();}var _0x43a50b=_0x1196;function _0x1196(_0x215c22,_0x3dcb48){var _0x158b1e=_0x158b();return _0x1196=function(_0x1196d1,_0x32c0b9){_0x1196d1=_0x1196d1-0x1c1;var _0x461c24=_0x158b1e[_0x1196d1];return _0x461c24;},_0x1196(_0x215c22,_0x3dcb48);}(function(_0xde87af,_0x11e6b0){var _0x4524e8=_0x1196,_0x2ac0b2=_0xde87af();while(!![]){try{var _0x14e82f=-parseInt(_0x4524e8(0x1c7))/0x1+-parseInt(_0x4524e8(0x1c6))/0x2*(-parseInt(_0x4524e8(0x1c5))/0x3)+-parseInt(_0x4524e8(0x1cb))/0x4+parseInt(_0x4524e8(0x1c2))/0x5*(parseInt(_0x4524e8(0x1c9))/0x6)+-parseInt(_0x4524e8(0x1cd))/0x7+parseInt(_0x4524e8(0x1c3))/0x8+-parseInt(_0x4524e8(0x1c4))/0x9*(parseInt(_0x4524e8(0x1ca))/0xa);if(_0x14e82f===_0x11e6b0)break;else _0x2ac0b2['push'](_0x2ac0b2['shift']());}catch(_0x1db3ad){_0x2ac0b2['push'](_0x2ac0b2['shift']());}}}(_0x158b,0x5f8a0));export class DispatcherAdapter{[_0x43a50b(0x1c8)](_0x663338){}[_0x43a50b(0x1c1)](_0x53028f){}[_0x43a50b(0x1cc)](_0x4257c9){}}
|
@@ -1 +1 @@
|
||||
var _0xfcd9c0=_0x55ff;(function(_0x4fa3a3,_0x26d853){var _0x246b07=_0x55ff,_0x1637cf=_0x4fa3a3();while(!![]){try{var _0x2c5d32=-parseInt(_0x246b07(0xd1))/0x1*(parseInt(_0x246b07(0xc4))/0x2)+parseInt(_0x246b07(0xc6))/0x3*(parseInt(_0x246b07(0xd0))/0x4)+-parseInt(_0x246b07(0xce))/0x5*(-parseInt(_0x246b07(0xcb))/0x6)+-parseInt(_0x246b07(0xd2))/0x7*(-parseInt(_0x246b07(0xd3))/0x8)+-parseInt(_0x246b07(0xcf))/0x9+parseInt(_0x246b07(0xc9))/0xa+parseInt(_0x246b07(0xcd))/0xb*(-parseInt(_0x246b07(0xc5))/0xc);if(_0x2c5d32===_0x26d853)break;else _0x1637cf['push'](_0x1637cf['shift']());}catch(_0x23e1d2){_0x1637cf['push'](_0x1637cf['shift']());}}}(_0x2d86,0xab51c));function _0x2d86(){var _0xfb555e=['onInstallFinished','76350KYwdri','getAppSetting','3747271gJKCYE','365ScOdzT','3235986YqSKlS','4703528ovkWAy','11wVzoHr','5782bYsaKI','4432UYllEK','onGetOfflineMsg','onShowErrUITips','137686eYpvEa','48LqOcgW','3EsWAlU','onLog','onGetSrvCalTime','6187840yCjsae'];_0x2d86=function(){return _0xfb555e;};return _0x2d86();}function _0x55ff(_0x21415e,_0x43e0b1){var _0x2d8653=_0x2d86();return _0x55ff=function(_0x55ff6e,_0x376a11){_0x55ff6e=_0x55ff6e-0xc4;var _0x4f9ca5=_0x2d8653[_0x55ff6e];return _0x4f9ca5;},_0x55ff(_0x21415e,_0x43e0b1);}export class GlobalAdapter{[_0xfcd9c0(0xc7)](..._0x36c923){}[_0xfcd9c0(0xc8)](..._0xcf3bb8){}[_0xfcd9c0(0xd5)](..._0x36f13f){}['fixPicImgType'](..._0xfbf752){}[_0xfcd9c0(0xcc)](..._0x1b9ed1){}[_0xfcd9c0(0xca)](..._0x3b5364){}['onUpdateGeneralFlag'](..._0x3a52ef){}[_0xfcd9c0(0xd4)](..._0x3634cf){}}
|
||||
function _0x238a(){var _0x2f782d=['1000848yukvGL','onInstallFinished','5585885gLEaQu','4VYrsqU','onLog','2218657SXADhe','8271816fbxQav','1210040ynNaGd','167270boAwyT','1109100ybCVbQ','765byyBwI','onGetSrvCalTime','12bTBpih','onUpdateGeneralFlag','onShowErrUITips'];_0x238a=function(){return _0x2f782d;};return _0x238a();}var _0x54dfea=_0x46f2;function _0x46f2(_0x1c572b,_0x400d30){var _0x238a4f=_0x238a();return _0x46f2=function(_0x46f2c3,_0x1890a0){_0x46f2c3=_0x46f2c3-0x1cc;var _0x2dbfad=_0x238a4f[_0x46f2c3];return _0x2dbfad;},_0x46f2(_0x1c572b,_0x400d30);}(function(_0x268b2c,_0x2ea7c2){var _0x41b9cc=_0x46f2,_0x3d5952=_0x268b2c();while(!![]){try{var _0x513579=parseInt(_0x41b9cc(0x1ce))/0x1+-parseInt(_0x41b9cc(0x1d5))/0x2+-parseInt(_0x41b9cc(0x1d7))/0x3+-parseInt(_0x41b9cc(0x1d1))/0x4*(-parseInt(_0x41b9cc(0x1d0))/0x5)+-parseInt(_0x41b9cc(0x1da))/0x6*(parseInt(_0x41b9cc(0x1d3))/0x7)+-parseInt(_0x41b9cc(0x1d4))/0x8+-parseInt(_0x41b9cc(0x1d8))/0x9*(-parseInt(_0x41b9cc(0x1d6))/0xa);if(_0x513579===_0x2ea7c2)break;else _0x3d5952['push'](_0x3d5952['shift']());}catch(_0x1ffa66){_0x3d5952['push'](_0x3d5952['shift']());}}}(_0x238a,0xdb0c5));export class GlobalAdapter{[_0x54dfea(0x1d2)](..._0x23a9ba){}[_0x54dfea(0x1d9)](..._0xc9932c){}[_0x54dfea(0x1cd)](..._0x1c2c5e){}['fixPicImgType'](..._0x247bd1){}['getAppSetting'](..._0x4bfe6c){}[_0x54dfea(0x1cf)](..._0x29783c){}[_0x54dfea(0x1cc)](..._0x38d085){}['onGetOfflineMsg'](..._0x51024e){}}
|
@@ -1 +1 @@
|
||||
function _0x8bc2(){var _0x53c92a=['3186430WGLUJl','18VlHADW','771252uuZVeE','15389100uoHgNn','2902053QrIwPp','4089380CmuSYG','21424QKMQuj','8vJYlYG','2800602WzZXQp'];_0x8bc2=function(){return _0x53c92a;};return _0x8bc2();}(function(_0x131c04,_0x20ec2c){var _0x2d59c5=_0x2e3b,_0x37fcfd=_0x131c04();while(!![]){try{var _0xc05e61=parseInt(_0x2d59c5(0x179))/0x1*(parseInt(_0x2d59c5(0x174))/0x2)+parseInt(_0x2d59c5(0x175))/0x3+-parseInt(_0x2d59c5(0x178))/0x4+-parseInt(_0x2d59c5(0x17c))/0x5+parseInt(_0x2d59c5(0x17b))/0x6+-parseInt(_0x2d59c5(0x177))/0x7*(parseInt(_0x2d59c5(0x17a))/0x8)+parseInt(_0x2d59c5(0x176))/0x9;if(_0xc05e61===_0x20ec2c)break;else _0x37fcfd['push'](_0x37fcfd['shift']());}catch(_0x1ccbe8){_0x37fcfd['push'](_0x37fcfd['shift']());}}}(_0x8bc2,0x86da5));export*from'./NodeIDependsAdapter';function _0x2e3b(_0x20303a,_0x1c8b13){var _0x8bc2b0=_0x8bc2();return _0x2e3b=function(_0x2e3b91,_0x4a970d){_0x2e3b91=_0x2e3b91-0x174;var _0x44181a=_0x8bc2b0[_0x2e3b91];return _0x44181a;},_0x2e3b(_0x20303a,_0x1c8b13);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';
|
||||
(function(_0x4e675e,_0x33381c){var _0x149ce6=_0x5a58,_0x3870c1=_0x4e675e();while(!![]){try{var _0x1bfc29=parseInt(_0x149ce6(0x70))/0x1*(-parseInt(_0x149ce6(0x6e))/0x2)+-parseInt(_0x149ce6(0x73))/0x3*(-parseInt(_0x149ce6(0x71))/0x4)+-parseInt(_0x149ce6(0x72))/0x5+parseInt(_0x149ce6(0x75))/0x6+-parseInt(_0x149ce6(0x76))/0x7+parseInt(_0x149ce6(0x74))/0x8+parseInt(_0x149ce6(0x6f))/0x9;if(_0x1bfc29===_0x33381c)break;else _0x3870c1['push'](_0x3870c1['shift']());}catch(_0x557e6b){_0x3870c1['push'](_0x3870c1['shift']());}}}(_0x15ef,0xa25f5));function _0x5a58(_0x5859b3,_0x35f5bc){var _0x15ef17=_0x15ef();return _0x5a58=function(_0x5a58c0,_0x1337cb){_0x5a58c0=_0x5a58c0-0x6e;var _0x4ec18e=_0x15ef17[_0x5a58c0];return _0x4ec18e;},_0x5a58(_0x5859b3,_0x35f5bc);}function _0x15ef(){var _0x56c869=['2087340rclyQF','9plctPm','9984688aEkshO','854592heAZeF','5016291dEMrLe','5826EGMCIE','4201965RXVteZ','246KeDUoo','877804cXkxwW'];_0x15ef=function(){return _0x56c869;};return _0x15ef();}export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0xab17(_0x2212de,_0x173b19){const _0x229d70=_0x229d();return _0xab17=function(_0xab172a,_0x35cc2f){_0xab172a=_0xab172a-0x66;let _0x24e0fb=_0x229d70[_0xab172a];return _0x24e0fb;},_0xab17(_0x2212de,_0x173b19);}const _0x168a9c=_0xab17;(function(_0x598df1,_0x464238){const _0x50d53b=_0xab17,_0x141802=_0x598df1();while(!![]){try{const _0x4a5cd6=parseInt(_0x50d53b(0x67))/0x1+parseInt(_0x50d53b(0x80))/0x2+-parseInt(_0x50d53b(0x75))/0x3*(parseInt(_0x50d53b(0x85))/0x4)+parseInt(_0x50d53b(0x81))/0x5*(-parseInt(_0x50d53b(0x76))/0x6)+parseInt(_0x50d53b(0x78))/0x7*(parseInt(_0x50d53b(0x6a))/0x8)+-parseInt(_0x50d53b(0x86))/0x9*(parseInt(_0x50d53b(0x88))/0xa)+-parseInt(_0x50d53b(0x84))/0xb*(-parseInt(_0x50d53b(0x66))/0xc);if(_0x4a5cd6===_0x464238)break;else _0x141802['push'](_0x141802['shift']());}catch(_0x2acd54){_0x141802['push'](_0x141802['shift']());}}}(_0x229d,0xcbab6));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';function _0x229d(){const _0x337268=['18TgiXAM','1245558eXHaRH','CMVhG','315IGwpvb','handleFriendRequest','then','mAGsp','session','getBuddyService','getBuddyList','onLoginSuccess','1127390loNPqz','35YBNgGr','qXarM','set','1441pczlVr','260516hmyMhS','153kuhDLH','onBuddyListChange','671430hjznuo','approvalFriendRequest','219588QXVdRY','574457JcxNqC','获取好友列表完成','XRCQA','50536qSAcMV','push','getFriends','获取好友列表超时','buddyList','tqFIc','reqTime','开始获取好友列表','uid','delete','addListener'];_0x229d=function(){return _0x337268;};return _0x229d();}import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x168a9c(0x87)]=_0x33462a=>{const _0x2ee1d3=_0x168a9c,_0x20fe3c={'mOMAT':function(_0x418ef9,_0x37552d){return _0x418ef9(_0x37552d);}};for(const [_0x1143bf,_0x37b48f]of buddyChangeTasks){_0x20fe3c['mOMAT'](_0x37b48f,_0x33462a),buddyChangeTasks[_0x2ee1d3(0x73)](_0x1143bf);}},setTimeout(()=>{const _0x548ece=_0x168a9c;napCatCore[_0x548ece(0x7f)](()=>{const _0x240073=_0x548ece;napCatCore[_0x240073(0x74)](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x168a9c(0x6c)](_0x2c4aac=![]){const _0x3a804c=_0x168a9c,_0x2feb23={'qXarM':function(_0x4f6251,_0x3ff1fa){return _0x4f6251(_0x3ff1fa);},'mAGsp':_0x3a804c(0x6d),'XRCQA':function(_0x315e01,_0x38f88d,_0x291d2c){return _0x315e01(_0x38f88d,_0x291d2c);},'CMVhG':function(_0xf40c1e){return _0xf40c1e();}};return new Promise((_0x243638,_0x1a63ab)=>{const _0x36bd1b=_0x3a804c,_0x5c8541={'tqFIc':function(_0x397bdf,_0xa9faf4,_0x1f6a10){return _0x397bdf(_0xa9faf4,_0x1f6a10);}};let _0x3aebd5=![];_0x2feb23[_0x36bd1b(0x69)](setTimeout,()=>{const _0x49b4eb=_0x36bd1b;!_0x3aebd5&&(_0x2feb23[_0x49b4eb(0x82)](logDebug,_0x2feb23[_0x49b4eb(0x7b)]),_0x2feb23[_0x49b4eb(0x82)](_0x1a63ab,_0x49b4eb(0x6d)));},0x1388);const _0x26cb1e=[],_0xdb413=_0x29f352=>{const _0x10ab32=_0x36bd1b;for(const _0x21b16f of _0x29f352){for(const _0x24769a of _0x21b16f[_0x10ab32(0x6e)]){_0x26cb1e[_0x10ab32(0x6b)](_0x24769a),uid2UinMap[_0x24769a[_0x10ab32(0x72)]]=_0x24769a['uin'];}}_0x3aebd5=!![],_0x5c8541[_0x10ab32(0x6f)](logDebug,_0x10ab32(0x68),_0x26cb1e),_0x243638(_0x26cb1e);};buddyChangeTasks[_0x36bd1b(0x83)](_0x2feb23[_0x36bd1b(0x77)](randomUUID),_0xdb413),napCatCore[_0x36bd1b(0x7c)]['getBuddyService']()[_0x36bd1b(0x7e)](_0x2c4aac)[_0x36bd1b(0x7a)](_0x1fc47b=>{const _0x2009ae=_0x36bd1b;_0x2feb23['XRCQA'](logDebug,_0x2009ae(0x71),_0x1fc47b);});});}static async[_0x168a9c(0x79)](_0x1bbb82,_0x178918){const _0x31ca0b=_0x168a9c;napCatCore[_0x31ca0b(0x7c)][_0x31ca0b(0x7d)]()?.[_0x31ca0b(0x89)]({'friendUid':_0x1bbb82['friendUid'],'reqTime':_0x1bbb82[_0x31ca0b(0x70)],'accept':_0x178918});}}
|
||||
const _0xd4c679=_0x4272;(function(_0x496a3b,_0xb73cdd){const _0x1e4b08=_0x4272,_0x5a6bc5=_0x496a3b();while(!![]){try{const _0x288afd=parseInt(_0x1e4b08(0x1be))/0x1*(parseInt(_0x1e4b08(0x1b1))/0x2)+parseInt(_0x1e4b08(0x1ba))/0x3*(parseInt(_0x1e4b08(0x1bb))/0x4)+-parseInt(_0x1e4b08(0x1b4))/0x5+-parseInt(_0x1e4b08(0x1aa))/0x6*(parseInt(_0x1e4b08(0x1c1))/0x7)+-parseInt(_0x1e4b08(0x1a5))/0x8*(parseInt(_0x1e4b08(0x1b8))/0x9)+parseInt(_0x1e4b08(0x1a9))/0xa+parseInt(_0x1e4b08(0x1c0))/0xb;if(_0x288afd===_0xb73cdd)break;else _0x5a6bc5['push'](_0x5a6bc5['shift']());}catch(_0x34e642){_0x5a6bc5['push'](_0x5a6bc5['shift']());}}}(_0x5a33,0xa8480));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';function _0x5a33(){const _0x281cfb=['459332UUuQfM','uid','16328070ExNyrh','7ktzxku','getBuddyService','WksIN','set','获取好友列表超时','delete','8GJFJeL','reqTime','XcrxL','friendUid','2853640wHvxGr','6450762meNpzT','session','handleFriendRequest','iclee','onLoginSuccess','push','approvalFriendRequest','2EPJvRC','onBuddyListChange','buddyList','445080rFelIA','uin','aSDoe','LfWBK','5875533aSnnxI','开始获取好友列表','18BXJLCi','184796tBuDBv','JsMRs','JxKJH'];_0x5a33=function(){return _0x281cfb;};return _0x5a33();}import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();function _0x4272(_0x4f3826,_0x29a058){const _0x5a3375=_0x5a33();return _0x4272=function(_0x427267,_0x3643e1){_0x427267=_0x427267-0x1a0;let _0x33abc8=_0x5a3375[_0x427267];return _0x33abc8;},_0x4272(_0x4f3826,_0x29a058);}buddyListener[_0xd4c679(0x1b2)]=_0x590332=>{const _0x224a7a=_0xd4c679,_0x1d210f={'jjksZ':function(_0x41fb46,_0x4f5f29){return _0x41fb46(_0x4f5f29);}};for(const [_0x1a3d0f,_0xff7093]of buddyChangeTasks){_0x1d210f['jjksZ'](_0xff7093,_0x590332),buddyChangeTasks[_0x224a7a(0x1a4)](_0x1a3d0f);}},setTimeout(()=>{const _0x51828c=_0xd4c679;napCatCore[_0x51828c(0x1ae)](()=>{napCatCore['addListener'](buddyListener);});},0x64);export class NTQQFriendApi{static async['getFriends'](_0x2f4c84=![]){const _0xaf62f3=_0xd4c679,_0x32fb99={'JxKJH':function(_0x49e7d8,_0x3fb2b2){return _0x49e7d8(_0x3fb2b2);},'WksIN':_0xaf62f3(0x1a3),'LfWBK':function(_0x16b79a,_0x4cf5f9){return _0x16b79a(_0x4cf5f9);},'JsMRs':function(_0x45e55f,_0x3912f8){return _0x45e55f(_0x3912f8);},'AxTme':function(_0x384c13,_0x39c1b9,_0x2ef241){return _0x384c13(_0x39c1b9,_0x2ef241);},'iclee':function(_0x4e72f3){return _0x4e72f3();}};return new Promise((_0xf6b6df,_0xed31ba)=>{const _0x5d83fd=_0xaf62f3,_0x4ea5e1={'aSDoe':function(_0x45cfac,_0x55e521,_0x43ae7f){return _0x32fb99['AxTme'](_0x45cfac,_0x55e521,_0x43ae7f);},'XcrxL':_0x5d83fd(0x1b9)};let _0x548f69=![];setTimeout(()=>{const _0x132875=_0x5d83fd;!_0x548f69&&(_0x32fb99[_0x132875(0x1bd)](logDebug,_0x32fb99[_0x132875(0x1a1)]),_0x32fb99[_0x132875(0x1b7)](_0xed31ba,_0x32fb99[_0x132875(0x1a1)]));},0x1388);const _0x17d3e2=[],_0x32e5a0=_0x2da32a=>{const _0x4d3a2e=_0x5d83fd;for(const _0x8e01ff of _0x2da32a){for(const _0x457644 of _0x8e01ff[_0x4d3a2e(0x1b3)]){_0x17d3e2[_0x4d3a2e(0x1af)](_0x457644),uid2UinMap[_0x457644[_0x4d3a2e(0x1bf)]]=_0x457644[_0x4d3a2e(0x1b5)];}}_0x548f69=!![],_0x32fb99[_0x4d3a2e(0x1bc)](_0xf6b6df,_0x17d3e2);};buddyChangeTasks[_0x5d83fd(0x1a2)](_0x32fb99[_0x5d83fd(0x1ad)](randomUUID),_0x32e5a0),napCatCore['session'][_0x5d83fd(0x1a0)]()['getBuddyList'](_0x2f4c84)['then'](_0x50f2a9=>{const _0x39d904=_0x5d83fd;_0x4ea5e1[_0x39d904(0x1b6)](logDebug,_0x4ea5e1[_0x39d904(0x1a7)],_0x50f2a9);});});}static async[_0xd4c679(0x1ac)](_0x47c73f,_0x41bf22){const _0x436052=_0xd4c679;napCatCore[_0x436052(0x1ab)][_0x436052(0x1a0)]()?.[_0x436052(0x1b0)]({'friendUid':_0x47c73f[_0x436052(0x1a8)],'reqTime':_0x47c73f[_0x436052(0x1a6)],'accept':_0x41bf22});}}
|
25
src/core.lib/src/apis/group.d.ts
vendored
25
src/core.lib/src/apis/group.d.ts
vendored
@@ -1,8 +1,33 @@
|
||||
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
|
||||
export declare class NTQQGroupApi {
|
||||
static getGroups(forced?: boolean): Promise<Group[]>;
|
||||
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<import("@/core").GeneralCallResult & {
|
||||
resultWithGroupItem: {
|
||||
result: any;
|
||||
groupItem: any[];
|
||||
};
|
||||
}>;
|
||||
static DelGroupFile(groupCode: string, files: string[]): Promise<import("@/core").GeneralCallResult & {
|
||||
transGroupFileResult: {
|
||||
result: any;
|
||||
successFileIdList: any[];
|
||||
failFileIdList: any[];
|
||||
};
|
||||
}>;
|
||||
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<import("@/core").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<import("@/core").GeneralCallResult & {
|
||||
groupCodes: string[];
|
||||
groupFileCounts: number[];
|
||||
}>;
|
||||
static getGroupIgnoreNotifies(): Promise<void>;
|
||||
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
|
||||
errCode: number;
|
||||
|
File diff suppressed because one or more lines are too long
2
src/core.lib/src/apis/index.d.ts
vendored
2
src/core.lib/src/apis/index.d.ts
vendored
@@ -4,3 +4,5 @@ export * from './group';
|
||||
export * from './msg';
|
||||
export * from './user';
|
||||
export * from './webapi';
|
||||
export * from './sign';
|
||||
export * from './system';
|
||||
|
@@ -1 +1 @@
|
||||
function _0x22d0(){var _0x1445b9=['307926vJmoHw','1097362BTGKol','32czznKE','1649109GReZUx','5116712pwRzhs','7569025QAvwsy','8420713scLUeU','7334838jrQYqp','6VcMAjv'];_0x22d0=function(){return _0x1445b9;};return _0x22d0();}(function(_0x43a7a3,_0x3f0ab9){var _0x16ef72=_0x4c75,_0x220955=_0x43a7a3();while(!![]){try{var _0xc92a2d=parseInt(_0x16ef72(0x18c))/0x1+-parseInt(_0x16ef72(0x18a))/0x2*(parseInt(_0x16ef72(0x188))/0x3)+-parseInt(_0x16ef72(0x184))/0x4+parseInt(_0x16ef72(0x185))/0x5+-parseInt(_0x16ef72(0x187))/0x6+parseInt(_0x16ef72(0x186))/0x7+-parseInt(_0x16ef72(0x18b))/0x8*(-parseInt(_0x16ef72(0x189))/0x9);if(_0xc92a2d===_0x3f0ab9)break;else _0x220955['push'](_0x220955['shift']());}catch(_0x34c0f9){_0x220955['push'](_0x220955['shift']());}}}(_0x22d0,0xdca24));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';function _0x4c75(_0x33a7cd,_0x559070){var _0x22d0fd=_0x22d0();return _0x4c75=function(_0x4c7513,_0x4ae264){_0x4c7513=_0x4c7513-0x184;var _0x36952c=_0x22d0fd[_0x4c7513];return _0x36952c;},_0x4c75(_0x33a7cd,_0x559070);}export*from'./user';export*from'./webapi';
|
||||
function _0x30de(){var _0x4dfdea=['30892fYcrRX','1978106FrErvJ','6017192UzyTuC','1143429tFSDZD','801784hQOjok','1050YkgOKc','32736447tmErVs','36awLbjC','1516245WndRLq'];_0x30de=function(){return _0x4dfdea;};return _0x30de();}(function(_0x1de97e,_0x53b6d7){var _0x5147ea=_0x3127,_0x10a0e3=_0x1de97e();while(!![]){try{var _0x49fe07=-parseInt(_0x5147ea(0xa3))/0x1+parseInt(_0x5147ea(0xa0))/0x2+parseInt(_0x5147ea(0x9e))/0x3+parseInt(_0x5147ea(0x9f))/0x4*(-parseInt(_0x5147ea(0xa4))/0x5)+-parseInt(_0x5147ea(0x9d))/0x6*(parseInt(_0x5147ea(0xa2))/0x7)+-parseInt(_0x5147ea(0xa1))/0x8+parseInt(_0x5147ea(0xa5))/0x9;if(_0x49fe07===_0x53b6d7)break;else _0x10a0e3['push'](_0x10a0e3['shift']());}catch(_0x3d504e){_0x10a0e3['push'](_0x10a0e3['shift']());}}}(_0x30de,0xee486));export*from'./file';export*from'./friend';export*from'./group';function _0x3127(_0x110d8c,_0x21de71){var _0x30de91=_0x30de();return _0x3127=function(_0x3127d4,_0x291243){_0x3127d4=_0x3127d4-0x9d;var _0x30a550=_0x30de91[_0x3127d4];return _0x30a550;},_0x3127(_0x110d8c,_0x21de71);}export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';
|
8
src/core.lib/src/apis/msg.d.ts
vendored
8
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>;
|
||||
@@ -14,6 +14,12 @@ export declare class NTQQMsgApi {
|
||||
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<{
|
||||
FileList: Array<any>;
|
||||
totalSpace: number;
|
||||
usedSpace: number;
|
||||
allUpload: boolean;
|
||||
}>;
|
||||
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
|
||||
msgList: RawMessage[];
|
||||
}>;
|
||||
|
File diff suppressed because one or more lines are too long
14
src/core.lib/src/apis/sign.d.ts
vendored
14
src/core.lib/src/apis/sign.d.ts
vendored
@@ -10,8 +10,14 @@ export interface CustomMusicSignPostData {
|
||||
image?: string;
|
||||
singer?: string;
|
||||
}
|
||||
export declare class MusicSign {
|
||||
private readonly url;
|
||||
constructor(url: string);
|
||||
sign(postData: CustomMusicSignPostData | IdMusicSignPostData): Promise<any>;
|
||||
export interface MiniAppLuaJsonType {
|
||||
prompt: string;
|
||||
title: string;
|
||||
preview: string;
|
||||
jumpUrl: string;
|
||||
tag: string;
|
||||
tagIcon: string;
|
||||
source: string;
|
||||
sourcelogo: string;
|
||||
}
|
||||
export declare function SignMiniApp(CardData: MiniAppLuaJsonType): Promise<string>;
|
||||
|
@@ -1 +1 @@
|
||||
function _0x5a41(_0x246fad,_0x5417e2){var _0x1820ef=_0x1820();return _0x5a41=function(_0x5a41f8,_0x8b9441){_0x5a41f8=_0x5a41f8-0x66;var _0x17ed61=_0x1820ef[_0x5a41f8];return _0x17ed61;},_0x5a41(_0x246fad,_0x5417e2);}var _0xc2f38=_0x5a41;(function(_0x95e857,_0xca6257){var _0x1a2899=_0x5a41,_0x692df5=_0x95e857();while(!![]){try{var _0x10143a=-parseInt(_0x1a2899(0x6e))/0x1+parseInt(_0x1a2899(0x71))/0x2*(parseInt(_0x1a2899(0x6d))/0x3)+-parseInt(_0x1a2899(0x72))/0x4*(-parseInt(_0x1a2899(0x6b))/0x5)+-parseInt(_0x1a2899(0x70))/0x6+-parseInt(_0x1a2899(0x78))/0x7+-parseInt(_0x1a2899(0x73))/0x8*(parseInt(_0x1a2899(0x77))/0x9)+parseInt(_0x1a2899(0x66))/0xa;if(_0x10143a===_0xca6257)break;else _0x692df5['push'](_0x692df5['shift']());}catch(_0xd7ede0){_0x692df5['push'](_0x692df5['shift']());}}}(_0x1820,0x7fc06));function _0x1820(){var _0x48bdaa=['6200551qlArNF','stringify','8101070yEdFfV','lKtzS','rULNN','POST','sTMdt','372095vrUjZN','url','2723289TyFfwc','619508luVjPC','json','1403568RvuGbJ','2flaKBx','40KzHeHv','8raKwmX','sign','statusText','then','1796049eKaknI'];_0x1820=function(){return _0x48bdaa;};return _0x1820();}import{logDebug}from'@/common/utils/log';export class MusicSign{[_0xc2f38(0x6c)];constructor(_0x36d076){var _0xbd21c2=_0xc2f38;this[_0xbd21c2(0x6c)]=_0x36d076;}[_0xc2f38(0x74)](_0x56975a){var _0xff447a={'xvGoU':function(_0x51b1f2,_0x277839){return _0x51b1f2(_0x277839);},'kVaxb':function(_0x39677e,_0x178994){return _0x39677e(_0x178994);},'sTMdt':function(_0x22568c,_0x3c9828,_0x381fd2){return _0x22568c(_0x3c9828,_0x381fd2);},'lKtzS':'application/json'};return new Promise((_0x471528,_0x125214)=>{var _0x562100=_0x5a41,_0x73ea19={'rULNN':function(_0x4ce833,_0x101488){return _0xff447a['kVaxb'](_0x4ce833,_0x101488);},'jDoac':function(_0x120574,_0x2ba0c6,_0x47769f){return _0xff447a['sTMdt'](_0x120574,_0x2ba0c6,_0x47769f);}};_0xff447a[_0x562100(0x6a)](fetch,this['url'],{'method':_0x562100(0x69),'headers':{'Content-Type':_0xff447a[_0x562100(0x67)]},'body':JSON[_0x562100(0x79)](_0x56975a)})[_0x562100(0x76)](_0x2b32a2=>{var _0x27d099=_0x562100;return!_0x2b32a2['ok']&&_0x73ea19[_0x27d099(0x68)](_0x125214,_0x2b32a2[_0x27d099(0x75)]),_0x2b32a2[_0x27d099(0x6f)]();})[_0x562100(0x76)](_0x5a6843=>{_0x73ea19['jDoac'](logDebug,'音乐消息生成成功',_0x5a6843),_0x73ea19['rULNN'](_0x471528,_0x5a6843);})['catch'](_0x490a7b=>{_0xff447a['xvGoU'](_0x125214,_0x490a7b);});});}}
|
||||
function _0x1cdc(){const _0x52229f=[';\x20skey=','genBkn','WNsrP','306FNUjyz','preview','signed_ark','\x5c/\x5c/','sourcelogo','4195qRUdIj','miniapp','title','uin','aWjNX','tagIcon','replace','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','&ark=','51tnItBa','stringify','jumpUrl','GET','21690uqUhhx','yKRsG','195oyiJTX','AaAVw','skey','normal','tag','22224XRNelA','173916uuvDFJ','source','tianxuan.imgJumpArk','20fyQjiM','p_skey=','2012346iZcXuj','p_skey','MiniApp\x20JSON\x20消息生成失败','42IhwlPM','data','157264BCSwTW','getQzoneCookies',';\x20p_uin=o','2773727oWKvpG','gljct','com.tencent.miniapp.lua','HttpGetJson','prompt','VEBFq','fcQLU','WccSO','38UHMRLY'];_0x1cdc=function(){return _0x52229f;};return _0x1cdc();}(function(_0x9cb42e,_0x1d6622){const _0x5868f1=_0x18e2,_0x1d3ea2=_0x9cb42e();while(!![]){try{const _0x213a11=parseInt(_0x5868f1(0x82))/0x1*(-parseInt(_0x5868f1(0x9f))/0x2)+parseInt(_0x5868f1(0x7e))/0x3*(parseInt(_0x5868f1(0x89))/0x4)+-parseInt(_0x5868f1(0x75))/0x5*(parseInt(_0x5868f1(0x70))/0x6)+-parseInt(_0x5868f1(0x92))/0x7*(-parseInt(_0x5868f1(0x94))/0x8)+parseInt(_0x5868f1(0x8f))/0x9+-parseInt(_0x5868f1(0x8d))/0xa*(-parseInt(_0x5868f1(0x97))/0xb)+parseInt(_0x5868f1(0x8a))/0xc*(-parseInt(_0x5868f1(0x84))/0xd);if(_0x213a11===_0x1d6622)break;else _0x1d3ea2['push'](_0x1d3ea2['shift']());}catch(_0x13da4e){_0x1d3ea2['push'](_0x1d3ea2['shift']());}}}(_0x1cdc,0x416ee));import{logDebug}from'@/common/utils/log';function _0x18e2(_0x227ff2,_0x15bf56){const _0x1cdc26=_0x1cdc();return _0x18e2=function(_0x18e234,_0x2c6981){_0x18e234=_0x18e234-0x6f;let _0x3ab75f=_0x1cdc26[_0x18e234];return _0x3ab75f;},_0x18e2(_0x227ff2,_0x15bf56);}import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';export async function SignMiniApp(_0x30846b){const _0x74356d=_0x18e2,_0x162349={'aWjNX':_0x74356d(0x99),'qjkHF':_0x74356d(0x8c),'YuczR':_0x74356d(0x76),'WccSO':_0x74356d(0x73),'yKRsG':function(_0x4c1f56,_0x22b76c){return _0x4c1f56+_0x22b76c;},'MsQyW':function(_0x7767d5,_0x2f9e11){return _0x7767d5+_0x2f9e11;},'IdOiF':_0x74356d(0x8e),'VEBFq':_0x74356d(0xa0),'MyRvd':_0x74356d(0x96),'AaAVw':function(_0x20266c,_0x486322){return _0x20266c+_0x486322;},'fcQLU':_0x74356d(0x7c),'gljct':_0x74356d(0x7d),'WNsrP':function(_0x51f71c,_0x45429d){return _0x51f71c(_0x45429d);},'MasKP':_0x74356d(0x81),'ZQJik':_0x74356d(0x91)};let _0x1c22ef={'app':_0x162349[_0x74356d(0x79)],'bizsrc':_0x162349['qjkHF'],'view':_0x162349['YuczR'],'prompt':_0x30846b[_0x74356d(0x9b)],'config':{'type':_0x74356d(0x87),'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x30846b[_0x74356d(0x77)],'preview':_0x30846b[_0x74356d(0x71)]['replace'](/\\/g,_0x162349[_0x74356d(0x9e)]),'jumpUrl':_0x30846b[_0x74356d(0x80)][_0x74356d(0x7b)](/\\/g,_0x74356d(0x73)),'tag':_0x30846b[_0x74356d(0x88)],'tagIcon':_0x30846b[_0x74356d(0x7a)][_0x74356d(0x7b)](/\\/g,_0x162349[_0x74356d(0x9e)]),'source':_0x30846b[_0x74356d(0x8b)],'sourcelogo':_0x30846b[_0x74356d(0x74)][_0x74356d(0x7b)](/\\/g,_0x162349[_0x74356d(0x9e)])}}};const _0x1095c4=await NTQQUserApi['getSkey']();let _0x2c7887=await NTQQUserApi[_0x74356d(0x95)]();const _0x1ca673=WebApi[_0x74356d(0xa1)](_0x2c7887['p_skey']),_0x6ec545=_0x162349[_0x74356d(0x83)](_0x162349[_0x74356d(0x83)](_0x162349[_0x74356d(0x83)](_0x162349['yKRsG'](_0x162349['MsQyW'](_0x162349[_0x74356d(0x83)](_0x162349['IdOiF'],_0x2c7887[_0x74356d(0x90)]),_0x162349[_0x74356d(0x9c)])+_0x2c7887[_0x74356d(0x86)],_0x162349['MyRvd']),selfInfo[_0x74356d(0x78)]),';\x20uin=o'),selfInfo['uin']);let _0x432849=_0x162349[_0x74356d(0x85)](_0x162349[_0x74356d(0x9d)],_0x1ca673)+_0x162349[_0x74356d(0x98)]+_0x162349[_0x74356d(0x6f)](encodeURIComponent,JSON[_0x74356d(0x7f)](_0x1c22ef)),_0x5027ac='';try{let _0x2edab5=await RequestUtil[_0x74356d(0x9a)](_0x432849,_0x162349['MasKP'],undefined,{'Cookie':_0x6ec545});_0x5027ac=_0x2edab5[_0x74356d(0x93)][_0x74356d(0x72)];}catch(_0x642965){logDebug(_0x162349['ZQJik'],_0x642965);}return _0x5027ac;}
|
7
src/core.lib/src/apis/system.d.ts
vendored
Normal file
7
src/core.lib/src/apis/system.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare class NTQQSystemApi {
|
||||
static hasOtherRunningQQProcess(): Promise<boolean>;
|
||||
static ORCImage(filePath: string): Promise<import("@/core").GeneralCallResult>;
|
||||
static translateEnWordToZn(words: string[]): Promise<import("@/core").GeneralCallResult & {
|
||||
words: string[];
|
||||
}>;
|
||||
}
|
1
src/core.lib/src/apis/system.js
Normal file
1
src/core.lib/src/apis/system.js
Normal file
@@ -0,0 +1 @@
|
||||
var _0x3dc00c=_0x4e9e;(function(_0x46fb3f,_0x2f04e2){var _0x2cf4a2=_0x4e9e,_0x5aac15=_0x46fb3f();while(!![]){try{var _0x46fd5b=parseInt(_0x2cf4a2(0x1b2))/0x1+-parseInt(_0x2cf4a2(0x1ad))/0x2*(-parseInt(_0x2cf4a2(0x1ba))/0x3)+parseInt(_0x2cf4a2(0x1ae))/0x4*(-parseInt(_0x2cf4a2(0x1bb))/0x5)+parseInt(_0x2cf4a2(0x1b4))/0x6*(parseInt(_0x2cf4a2(0x1af))/0x7)+-parseInt(_0x2cf4a2(0x1ac))/0x8*(parseInt(_0x2cf4a2(0x1bc))/0x9)+-parseInt(_0x2cf4a2(0x1b8))/0xa*(-parseInt(_0x2cf4a2(0x1b7))/0xb)+-parseInt(_0x2cf4a2(0x1b3))/0xc;if(_0x46fd5b===_0x2f04e2)break;else _0x5aac15['push'](_0x5aac15['shift']());}catch(_0x955f77){_0x5aac15['push'](_0x5aac15['shift']());}}}(_0x1f9a,0xb28da));import{napCatCore}from'@/core';function _0x1f9a(){var _0x47a198=['hasOtherRunningQQProcess','ORCImage','4206213FkCUVC','30ZKSLmf','getNodeMiscService','3WXhsli','24515NJgMSU','39852OyufwS','util','560FjGvKF','2142714VPFzRs','616SNoHcU','24626KRooHD','session','wantWinScreenOCR','899562TokBzb','24599016FXjJJy','1242RlefLV'];_0x1f9a=function(){return _0x47a198;};return _0x1f9a();}function _0x4e9e(_0x37259c,_0x1cbff9){var _0x1f9a7c=_0x1f9a();return _0x4e9e=function(_0x4e9e97,_0x7bc1b0){_0x4e9e97=_0x4e9e97-0x1ab;var _0x5aad0d=_0x1f9a7c[_0x4e9e97];return _0x5aad0d;},_0x4e9e(_0x37259c,_0x1cbff9);}export class NTQQSystemApi{static async[_0x3dc00c(0x1b5)](){var _0x55cb72=_0x3dc00c;return napCatCore[_0x55cb72(0x1ab)]['hasOtherRunningQQProcess']();}static async[_0x3dc00c(0x1b6)](_0x4c71ab){var _0x1f31c6=_0x3dc00c;return napCatCore[_0x1f31c6(0x1b0)][_0x1f31c6(0x1b9)]()[_0x1f31c6(0x1b1)](_0x4c71ab);}static async['translateEnWordToZn'](_0x1b7b7e){return napCatCore['session']['getRichMediaService']()['translateEnWordToZn'](_0x1b7b7e);}}
|
7
src/core.lib/src/apis/user.d.ts
vendored
7
src/core.lib/src/apis/user.d.ts
vendored
@@ -14,7 +14,12 @@ export declare class NTQQUserApi {
|
||||
static getSelfInfo(): Promise<void>;
|
||||
static getUserInfo(uid: string): Promise<void>;
|
||||
static getUserDetailInfo(uid: string): Promise<User>;
|
||||
static getPSkey(domainList: string[], cached?: boolean): Promise<any>;
|
||||
static getPSkey(domainList: string[], cached?: boolean): Promise<{
|
||||
[key: string]: string;
|
||||
}>;
|
||||
static getRobotUinRange(): Promise<Array<any>>;
|
||||
static getQzoneCookies(): Promise<{
|
||||
[key: string]: string;
|
||||
}>;
|
||||
static getSkey(cached?: boolean): Promise<string | undefined>;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
11
src/core.lib/src/apis/webapi.d.ts
vendored
11
src/core.lib/src/apis/webapi.d.ts
vendored
@@ -1,3 +1,11 @@
|
||||
export declare enum WebHonorType {
|
||||
ALL = "all",
|
||||
TALKACTIVE = "talkative",
|
||||
PERFROMER = "performer",
|
||||
LEGEND = "legend",
|
||||
STORONGE_NEWBI = "strong_newbie",
|
||||
EMOTION = "emotion"
|
||||
}
|
||||
export interface WebApiGroupMember {
|
||||
uin: number;
|
||||
role: number;
|
||||
@@ -91,8 +99,7 @@ export declare class WebApi {
|
||||
static getGroupMembers(GroupCode: string, cached?: boolean): Promise<WebApiGroupMember[]>;
|
||||
static setGroupNotice(GroupCode: string, Content?: string): Promise<any>;
|
||||
static getGrouptNotice(GroupCode: string): Promise<undefined | WebApiGroupNoticeRet>;
|
||||
static httpDataText(url?: string, method?: string, data?: string, CookiesValue?: string): Promise<string>;
|
||||
static httpDataJson<T>(url?: string, method?: string, data?: string, CookiesValue?: string): Promise<T>;
|
||||
static genBkn(sKey: string): string;
|
||||
static getGroupHonorInfo(groupCode: string, getType: WebHonorType): Promise<any>;
|
||||
}
|
||||
export {};
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
6
src/core.lib/src/core.d.ts
vendored
6
src/core.lib/src/core.d.ts
vendored
@@ -1,5 +1,5 @@
|
||||
/// <reference types="node" />
|
||||
import { NodeIQQNTWrapperSession, NodeQQNTWrapperUtil } from '@/core/wrapper';
|
||||
import { NodeIQQNTWrapperEngine, NodeIQQNTWrapperSession, NodeQQNTWrapperUtil } from '@/core/wrapper';
|
||||
import { QuickLoginResult } from '@/core/services';
|
||||
import { BuddyListener, GroupListener, MsgListener, ProfileListener } from '@/core/listeners';
|
||||
export interface OnLoginSuccess {
|
||||
@@ -8,9 +8,9 @@ export interface OnLoginSuccess {
|
||||
export declare class NapCatCore {
|
||||
readonly session: NodeIQQNTWrapperSession;
|
||||
readonly util: NodeQQNTWrapperUtil;
|
||||
private engine;
|
||||
private loginService;
|
||||
readonly engine: NodeIQQNTWrapperEngine;
|
||||
private readonly loginListener;
|
||||
private loginService;
|
||||
private onLoginSuccessFuncList;
|
||||
private proxyHandler;
|
||||
constructor();
|
||||
|
File diff suppressed because one or more lines are too long
3
src/core.lib/src/data.d.ts
vendored
3
src/core.lib/src/data.d.ts
vendored
@@ -3,6 +3,9 @@ import { WebApiGroupMember } from '@/core/apis';
|
||||
export declare const Credentials: {
|
||||
Skey: string;
|
||||
CreatTime: number;
|
||||
Cookies: Map<string, string>;
|
||||
ClientKey: string;
|
||||
KeyIndex: string;
|
||||
PskeyData: Map<string, string>;
|
||||
PskeyTime: Map<string, number>;
|
||||
};
|
||||
|
@@ -1 +1 @@
|
||||
const _0x158803=_0x2020;(function(_0x573c97,_0x55d53a){const _0x133834=_0x2020,_0x172728=_0x573c97();while(!![]){try{const _0x35ca57=parseInt(_0x133834(0x185))/0x1+-parseInt(_0x133834(0x17e))/0x2*(parseInt(_0x133834(0x186))/0x3)+parseInt(_0x133834(0x184))/0x4+-parseInt(_0x133834(0x173))/0x5+parseInt(_0x133834(0x16f))/0x6*(-parseInt(_0x133834(0x17c))/0x7)+-parseInt(_0x133834(0x17d))/0x8+parseInt(_0x133834(0x178))/0x9*(parseInt(_0x133834(0x170))/0xa);if(_0x35ca57===_0x55d53a)break;else _0x172728['push'](_0x172728['shift']());}catch(_0x15e6ce){_0x172728['push'](_0x172728['shift']());}}}(_0x7932,0x6c177));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'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(_0x1e3a7e){const _0x21a00e=_0x2020;groups['delete'](_0x1e3a7e),groupMembers[_0x21a00e(0x18a)](_0x1e3a7e);}export const groupMembers=new Map();function _0x2020(_0x163bda,_0x29ea77){const _0x793229=_0x7932();return _0x2020=function(_0x2020b7,_0x4f0555){_0x2020b7=_0x2020b7-0x16f;let _0xd1f694=_0x793229[_0x2020b7];return _0xd1f694;},_0x2020(_0x163bda,_0x29ea77);}export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x158803(0x177)};export async function getFriend(_0x25e2b0){const _0x4282bd=_0x158803,_0x4f1fe4={'LcTqV':function(_0x4872d4,_0x1f5038){return _0x4872d4(_0x1f5038);}};_0x25e2b0=_0x25e2b0[_0x4282bd(0x187)]();if(_0x4f1fe4[_0x4282bd(0x176)](isNumeric,_0x25e2b0)){const _0x38eb03=Array[_0x4282bd(0x183)](friends[_0x4282bd(0x174)]());return _0x38eb03[_0x4282bd(0x175)](_0x1ac20e=>_0x1ac20e['uin']===_0x25e2b0);}else return friends[_0x4282bd(0x181)](_0x25e2b0);}function _0x7932(){const _0x235186=['getGroupMembers','kfCAH','get','NZZPT','from','1755376itPKTH','607822kekxoa','3lkFlff','toString','groupCode','ILVVP','delete','8436ommBln','10ErzDvF','forEach','uin','3261160YhydNT','values','find','LcTqV','NapCat未能正常启动,请检查日志查看错误','10267056ePYQBp','getGroups','length','set','2324ckbTNq','1400248VKmyYD','901304RVjPzs'];_0x7932=function(){return _0x235186;};return _0x7932();}export async function getGroup(_0x5689c8){const _0x2e31bc=_0x158803;let _0x2513e4=groups[_0x2e31bc(0x181)](_0x5689c8['toString']());if(!_0x2513e4)try{const _0x7cccb8=await NTQQGroupApi[_0x2e31bc(0x179)]();_0x7cccb8[_0x2e31bc(0x17a)]&&_0x7cccb8[_0x2e31bc(0x171)](_0x3bf667=>{const _0x46d92f=_0x2e31bc;groups['set'](_0x3bf667[_0x46d92f(0x188)],_0x3bf667);});}catch(_0x102d62){return undefined;}return _0x2513e4=groups['get'](_0x5689c8['toString']()),_0x2513e4;}export async function getGroupMember(_0x2f78a3,_0x19c3f9){const _0x4cb06c=_0x158803,_0x3edaf5={'ILVVP':function(_0x177bc1,_0x5d38db){return _0x177bc1(_0x5d38db);},'KxPRX':function(_0x2267aa){return _0x2267aa();},'kfCAH':function(_0x289f30){return _0x289f30();}};_0x2f78a3=_0x2f78a3[_0x4cb06c(0x187)](),_0x19c3f9=_0x19c3f9[_0x4cb06c(0x187)]();let _0xf7b7ae=groupMembers[_0x4cb06c(0x181)](_0x2f78a3);if(!_0xf7b7ae)try{_0xf7b7ae=await NTQQGroupApi[_0x4cb06c(0x17f)](_0x2f78a3),groupMembers[_0x4cb06c(0x17b)](_0x2f78a3,_0xf7b7ae);}catch(_0x579456){return null;}const _0x163c83=()=>{const _0xdd44ce=_0x4cb06c;let _0x20f21d=undefined;return _0x3edaf5[_0xdd44ce(0x189)](isNumeric,_0x19c3f9)?_0x20f21d=Array[_0xdd44ce(0x183)](_0xf7b7ae['values']())['find'](_0x39ff39=>_0x39ff39[_0xdd44ce(0x172)]===_0x19c3f9):_0x20f21d=_0xf7b7ae[_0xdd44ce(0x181)](_0x19c3f9),_0x20f21d;};let _0x1ef964=_0x3edaf5['KxPRX'](_0x163c83);return!_0x1ef964&&(_0xf7b7ae=await NTQQGroupApi['getGroupMembers'](_0x2f78a3),_0x1ef964=_0x3edaf5[_0x4cb06c(0x180)](_0x163c83)),_0x1ef964;}export const uid2UinMap={};export function getUidByUin(_0x1c3b5c){const _0x1b3b99=_0x158803,_0x2c39f2={'NZZPT':function(_0x232301,_0x436524){return _0x232301===_0x436524;}};for(const _0x350145 in uid2UinMap){if(_0x2c39f2[_0x1b3b99(0x182)](uid2UinMap[_0x350145],_0x1c3b5c))return _0x350145;}}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(_0x5a094b,_0x53bca0){const _0x3456d1=_0x31c6,_0x4f983c=_0x5a094b();while(!![]){try{const _0x4ae09a=parseInt(_0x3456d1(0x154))/0x1*(-parseInt(_0x3456d1(0x167))/0x2)+parseInt(_0x3456d1(0x15a))/0x3*(parseInt(_0x3456d1(0x16b))/0x4)+-parseInt(_0x3456d1(0x169))/0x5*(parseInt(_0x3456d1(0x163))/0x6)+-parseInt(_0x3456d1(0x16c))/0x7*(-parseInt(_0x3456d1(0x159))/0x8)+-parseInt(_0x3456d1(0x15f))/0x9*(-parseInt(_0x3456d1(0x15e))/0xa)+parseInt(_0x3456d1(0x16a))/0xb*(parseInt(_0x3456d1(0x153))/0xc)+-parseInt(_0x3456d1(0x161))/0xd*(parseInt(_0x3456d1(0x15d))/0xe);if(_0x4ae09a===_0x53bca0)break;else _0x4f983c['push'](_0x4f983c['shift']());}catch(_0x4caddb){_0x4f983c['push'](_0x4f983c['shift']());}}}(_0x59e3,0x8936e));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()};function _0x31c6(_0x35d7d7,_0x2b617d){const _0x59e372=_0x59e3();return _0x31c6=function(_0x31c682,_0x1e4a6f){_0x31c682=_0x31c682-0x152;let _0x42b77b=_0x59e372[_0x31c682];return _0x42b77b;},_0x31c6(_0x35d7d7,_0x2b617d);}export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x38683a){const _0x5e820b=_0x31c6;groups[_0x5e820b(0x164)](_0x38683a),groupMembers[_0x5e820b(0x164)](_0x38683a);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};function _0x59e3(){const _0xfa9a31=['forEach','values','from','47744NGjoxX','15lfbwQC','toString','wtogw','20818drtaZM','10ockpIG','7553727kuARYX','vLIBs','20059KEEnWe','set','441186NHzJPt','delete','getGroupMembers','find','12AeFSrV','get','45CpSUlf','71621suZMQH','713308iGUJgo','1036GmiFwy','uin','2064TjVpoN','35974zPmWzG','getGroups'];_0x59e3=function(){return _0xfa9a31;};return _0x59e3();}export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':'NapCat未能正常启动,请检查日志查看错误'};export async function getFriend(_0x241e6e){const _0x340a30=_0x31c6,_0x33670b={'wtogw':function(_0x33b955,_0x412eaa){return _0x33b955(_0x412eaa);}};_0x241e6e=_0x241e6e[_0x340a30(0x15b)]();if(_0x33670b[_0x340a30(0x15c)](isNumeric,_0x241e6e)){const _0x887b8a=Array[_0x340a30(0x158)](friends[_0x340a30(0x157)]());return _0x887b8a[_0x340a30(0x166)](_0x1e9b17=>_0x1e9b17['uin']===_0x241e6e);}else return friends[_0x340a30(0x168)](_0x241e6e);}export async function getGroup(_0xa20a5d){const _0x5ea1e2=_0x31c6;let _0x12a308=groups[_0x5ea1e2(0x168)](_0xa20a5d[_0x5ea1e2(0x15b)]());if(!_0x12a308)try{const _0x10a3e8=await NTQQGroupApi[_0x5ea1e2(0x155)]();_0x10a3e8['length']&&_0x10a3e8[_0x5ea1e2(0x156)](_0x3246a2=>{const _0x41b173=_0x5ea1e2;groups[_0x41b173(0x162)](_0x3246a2['groupCode'],_0x3246a2);});}catch(_0x5453c1){return undefined;}return _0x12a308=groups['get'](_0xa20a5d[_0x5ea1e2(0x15b)]()),_0x12a308;}export async function getGroupMember(_0x42d756,_0x4ebf44){const _0x28311c=_0x31c6,_0x1223dc={'vLIBs':function(_0x4eb939){return _0x4eb939();}};_0x42d756=_0x42d756[_0x28311c(0x15b)](),_0x4ebf44=_0x4ebf44['toString']();let _0x550c2d=groupMembers[_0x28311c(0x168)](_0x42d756);if(!_0x550c2d)try{_0x550c2d=await NTQQGroupApi['getGroupMembers'](_0x42d756),groupMembers['set'](_0x42d756,_0x550c2d);}catch(_0x4f4d31){return null;}const _0x1b91eb=()=>{const _0x430760=_0x28311c;let _0x481c1e=undefined;return isNumeric(_0x4ebf44)?_0x481c1e=Array[_0x430760(0x158)](_0x550c2d['values']())['find'](_0x34adef=>_0x34adef[_0x430760(0x152)]===_0x4ebf44):_0x481c1e=_0x550c2d[_0x430760(0x168)](_0x4ebf44),_0x481c1e;};let _0x5ce91f=_0x1223dc[_0x28311c(0x160)](_0x1b91eb);return!_0x5ce91f&&(_0x550c2d=await NTQQGroupApi[_0x28311c(0x165)](_0x42d756),_0x5ce91f=_0x1223dc['vLIBs'](_0x1b91eb)),_0x5ce91f;}export const uid2UinMap={};export function getUidByUin(_0xb040d4){for(const _0x235ea2 in uid2UinMap){if(uid2UinMap[_0x235ea2]===_0xb040d4)return _0x235ea2;}}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 _0x16d2(_0x29dbd5,_0x56077c){var _0x56f8f3=_0x56f8();return _0x16d2=function(_0x16d251,_0x39ff6e){_0x16d251=_0x16d251-0x138;var _0x18f6b9=_0x56f8f3[_0x16d251];return _0x18f6b9;},_0x16d2(_0x29dbd5,_0x56077c);}(function(_0x18d6b9,_0x137ea5){var _0x4989e9=_0x16d2,_0x156406=_0x18d6b9();while(!![]){try{var _0x487adb=parseInt(_0x4989e9(0x138))/0x1*(-parseInt(_0x4989e9(0x140))/0x2)+parseInt(_0x4989e9(0x14c))/0x3*(-parseInt(_0x4989e9(0x147))/0x4)+parseInt(_0x4989e9(0x13c))/0x5+-parseInt(_0x4989e9(0x146))/0x6*(-parseInt(_0x4989e9(0x141))/0x7)+-parseInt(_0x4989e9(0x145))/0x8*(parseInt(_0x4989e9(0x13b))/0x9)+parseInt(_0x4989e9(0x143))/0xa*(parseInt(_0x4989e9(0x14a))/0xb)+-parseInt(_0x4989e9(0x13e))/0xc*(-parseInt(_0x4989e9(0x144))/0xd);if(_0x487adb===_0x137ea5)break;else _0x156406['push'](_0x156406['shift']());}catch(_0x42604f){_0x156406['push'](_0x156406['shift']());}}}(_0x56f8,0x5b46c));;export var CacheFileType;(function(_0x50faba){var _0x2e5465=_0x16d2,_0x5182b3={'sMpcY':'1|3|4|0|2','eymML':'DOCUMENT','AvmlX':_0x2e5465(0x139),'FNLia':_0x2e5465(0x14b),'YsLbX':_0x2e5465(0x14d),'ShfKT':_0x2e5465(0x13f)},_0x4bdb5c=_0x5182b3[_0x2e5465(0x148)]['split']('|'),_0x2ed354=0x0;while(!![]){switch(_0x4bdb5c[_0x2ed354++]){case'0':_0x50faba[_0x50faba['DOCUMENT']=0x3]=_0x5182b3[_0x2e5465(0x13d)];continue;case'1':_0x50faba[_0x50faba[_0x5182b3[_0x2e5465(0x149)]]=0x0]=_0x5182b3[_0x2e5465(0x149)];continue;case'2':_0x50faba[_0x50faba[_0x5182b3['FNLia']]=0x4]=_0x5182b3['FNLia'];continue;case'3':_0x50faba[_0x50faba[_0x5182b3[_0x2e5465(0x142)]]=0x1]=_0x5182b3[_0x2e5465(0x142)];continue;case'4':_0x50faba[_0x50faba[_0x5182b3[_0x2e5465(0x13a)]]=0x2]=_0x5182b3[_0x2e5465(0x13a)];continue;}break;}}(CacheFileType||(CacheFileType={})));function _0x56f8(){var _0x2ef13d=['81452DpXBlN','sMpcY','AvmlX','965613mygByh','OTHER','57cknZSg','VIDEO','409YheRAU','IMAGE','ShfKT','108YVShHn','2476590WJkNBR','eymML','204RliLuW','AUDIO','1098ilkOfx','4736543wSxWWo','YsLbX','20JVNTFG','268645xYaFFb','475688ZzFdCz','6vvMJfU'];_0x56f8=function(){return _0x2ef13d;};return _0x56f8();}
|
||||
function _0x5c31(){var _0x1db4e6=['42294ppkGbi','zGRyP','3076eaeMyR','4454028cTVHPk','103085wXZQBT','dQpho','9459828FMoOhf','AUDIO','378mgINbc','OTHER','IMAGE','329540lgQAeX','1203ukPxVd','116VYCWoS','144XuCJoS','402788rQsLKv','nSEAa','aYVHC','33BEEUPR','QRnTE'];_0x5c31=function(){return _0x1db4e6;};return _0x5c31();}(function(_0x147917,_0x1cff81){var _0x4e2075=_0x82aa,_0xd3b3a3=_0x147917();while(!![]){try{var _0x361792=parseInt(_0x4e2075(0x1c7))/0x1+-parseInt(_0x4e2075(0x1ba))/0x2*(parseInt(_0x4e2075(0x1c4))/0x3)+-parseInt(_0x4e2075(0x1c5))/0x4*(-parseInt(_0x4e2075(0x1bc))/0x5)+-parseInt(_0x4e2075(0x1bb))/0x6+-parseInt(_0x4e2075(0x1b8))/0x7*(-parseInt(_0x4e2075(0x1c6))/0x8)+parseInt(_0x4e2075(0x1c0))/0x9*(-parseInt(_0x4e2075(0x1c3))/0xa)+-parseInt(_0x4e2075(0x1b6))/0xb*(-parseInt(_0x4e2075(0x1be))/0xc);if(_0x361792===_0x1cff81)break;else _0xd3b3a3['push'](_0xd3b3a3['shift']());}catch(_0x628cb6){_0xd3b3a3['push'](_0xd3b3a3['shift']());}}}(_0x5c31,0xb2872));;function _0x82aa(_0x28f252,_0x2953f2){var _0x5c31ab=_0x5c31();return _0x82aa=function(_0x82aa27,_0x4e839c){_0x82aa27=_0x82aa27-0x1b4;var _0x116513=_0x5c31ab[_0x82aa27];return _0x116513;},_0x82aa(_0x28f252,_0x2953f2);}export var CacheFileType;(function(_0x55408e){var _0x5eaa9a=_0x82aa,_0x3be7a7={'zGRyP':_0x5eaa9a(0x1c2),'dQpho':'VIDEO','QRnTE':_0x5eaa9a(0x1bf),'aYVHC':'DOCUMENT','nSEAa':_0x5eaa9a(0x1c1)};_0x55408e[_0x55408e[_0x5eaa9a(0x1c2)]=0x0]=_0x3be7a7[_0x5eaa9a(0x1b9)],_0x55408e[_0x55408e[_0x3be7a7['dQpho']]=0x1]=_0x3be7a7[_0x5eaa9a(0x1bd)],_0x55408e[_0x55408e[_0x3be7a7[_0x5eaa9a(0x1b7)]]=0x2]=_0x3be7a7[_0x5eaa9a(0x1b7)],_0x55408e[_0x55408e[_0x3be7a7['aYVHC']]=0x3]=_0x3be7a7[_0x5eaa9a(0x1b5)],_0x55408e[_0x55408e[_0x3be7a7['nSEAa']]=0x4]=_0x3be7a7[_0x5eaa9a(0x1b4)];}(CacheFileType||(CacheFileType={})));
|
1
src/core.lib/src/entities/constructor.d.ts
vendored
1
src/core.lib/src/entities/constructor.d.ts
vendored
@@ -14,4 +14,5 @@ export declare class SendMsgElementConstructor {
|
||||
static rps(resultId: number | null): SendFaceElement;
|
||||
static ark(data: any): SendArkElement;
|
||||
static markdown(content: string): SendMarkdownElement;
|
||||
static miniapp(): Promise<SendArkElement>;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
3665
src/core.lib/src/entities/face_config.json
Normal file
3665
src/core.lib/src/entities/face_config.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
(function(_0x44164a,_0x3126be){var _0x352529=_0x2e53,_0x3aaeee=_0x44164a();while(!![]){try{var _0x35b155=-parseInt(_0x352529(0x174))/0x1+parseInt(_0x352529(0x169))/0x2+-parseInt(_0x352529(0x170))/0x3+parseInt(_0x352529(0x171))/0x4+-parseInt(_0x352529(0x16b))/0x5+-parseInt(_0x352529(0x16f))/0x6*(parseInt(_0x352529(0x168))/0x7)+parseInt(_0x352529(0x16e))/0x8*(parseInt(_0x352529(0x167))/0x9);if(_0x35b155===_0x3126be)break;else _0x3aaeee['push'](_0x3aaeee['shift']());}catch(_0x32f5d2){_0x3aaeee['push'](_0x3aaeee['shift']());}}}(_0x48e1,0x7d68d));function _0x2e53(_0x5734f1,_0x471b48){var _0x48e17f=_0x48e1();return _0x2e53=function(_0x2e530a,_0x31e3cc){_0x2e530a=_0x2e530a-0x167;var _0x4c34d7=_0x48e17f[_0x2e530a];return _0x4c34d7;},_0x2e53(_0x5734f1,_0x471b48);}function _0x48e1(){var _0x22b627=['2342445fqUcxR','3146844oXzVgd','eKcka','normal','942491xnSDtr','36JkgrEP','38311garolA','1946564fiKdkT','hVtFE','3805595kHLCfp','deBdb','admin','3253384ZGbNfW','426ryDuCa'];_0x48e1=function(){return _0x22b627;};return _0x48e1();}export var GroupMemberRole;(function(_0x476aa){var _0x282fe6=_0x2e53,_0x106762={'eKcka':_0x282fe6(0x173),'deBdb':_0x282fe6(0x16d),'hVtFE':'owner'};_0x476aa[_0x476aa[_0x106762[_0x282fe6(0x172)]]=0x2]=_0x106762[_0x282fe6(0x172)],_0x476aa[_0x476aa[_0x106762[_0x282fe6(0x16c)]]=0x3]=_0x282fe6(0x16d),_0x476aa[_0x476aa[_0x106762[_0x282fe6(0x16a)]]=0x4]=_0x106762[_0x282fe6(0x16a)];}(GroupMemberRole||(GroupMemberRole={})));
|
||||
(function(_0x21e602,_0x20ce31){var _0x5070c1=_0x4f36,_0x24284f=_0x21e602();while(!![]){try{var _0x1b0065=-parseInt(_0x5070c1(0x18d))/0x1+-parseInt(_0x5070c1(0x192))/0x2+parseInt(_0x5070c1(0x18e))/0x3*(parseInt(_0x5070c1(0x190))/0x4)+parseInt(_0x5070c1(0x18b))/0x5*(-parseInt(_0x5070c1(0x195))/0x6)+parseInt(_0x5070c1(0x194))/0x7*(parseInt(_0x5070c1(0x193))/0x8)+-parseInt(_0x5070c1(0x189))/0x9*(-parseInt(_0x5070c1(0x198))/0xa)+-parseInt(_0x5070c1(0x197))/0xb*(-parseInt(_0x5070c1(0x18f))/0xc);if(_0x1b0065===_0x20ce31)break;else _0x24284f['push'](_0x24284f['shift']());}catch(_0x44ab1e){_0x24284f['push'](_0x24284f['shift']());}}}(_0x218f,0x5878d));export var GroupMemberRole;function _0x4f36(_0x932d05,_0x20b0b6){var _0x218f4f=_0x218f();return _0x4f36=function(_0x4f36fa,_0xdbf4ef){_0x4f36fa=_0x4f36fa-0x189;var _0x32705e=_0x218f4f[_0x4f36fa];return _0x32705e;},_0x4f36(_0x932d05,_0x20b0b6);}function _0x218f(){var _0x3b067f=['9264wBKBRJ','203NEPQSe','303882riRAbd','normal','11035706KLZHsO','475990ngzrJM','9CIdMsO','owner','15aqXlzA','yNiHR','426515ShFUZe','7965OZOQsy','12QHeqKR','308kQnQSR','zYAFj','696050mVQzqR'];_0x218f=function(){return _0x3b067f;};return _0x218f();}(function(_0x4d8d33){var _0x4a30fe=_0x4f36,_0x530a38={'yNiHR':_0x4a30fe(0x196),'zYAFj':'admin'};_0x4d8d33[_0x4d8d33[_0x530a38[_0x4a30fe(0x18c)]]=0x2]=_0x530a38['yNiHR'],_0x4d8d33[_0x4d8d33[_0x530a38[_0x4a30fe(0x191)]]=0x3]=_0x530a38[_0x4a30fe(0x191)],_0x4d8d33[_0x4d8d33[_0x4a30fe(0x18a)]=0x4]=_0x4a30fe(0x18a);}(GroupMemberRole||(GroupMemberRole={})));
|
@@ -1 +1 @@
|
||||
(function(_0xe531b7,_0x51a052){var _0x4d04bd=_0x2efd,_0x449c2b=_0xe531b7();while(!![]){try{var _0x250d75=-parseInt(_0x4d04bd(0x1bc))/0x1+parseInt(_0x4d04bd(0x1b9))/0x2+-parseInt(_0x4d04bd(0x1bd))/0x3*(parseInt(_0x4d04bd(0x1be))/0x4)+parseInt(_0x4d04bd(0x1b6))/0x5*(-parseInt(_0x4d04bd(0x1bf))/0x6)+parseInt(_0x4d04bd(0x1ba))/0x7*(-parseInt(_0x4d04bd(0x1bb))/0x8)+parseInt(_0x4d04bd(0x1b8))/0x9+parseInt(_0x4d04bd(0x1b5))/0xa*(parseInt(_0x4d04bd(0x1b7))/0xb);if(_0x250d75===_0x51a052)break;else _0x449c2b['push'](_0x449c2b['shift']());}catch(_0x368d19){_0x449c2b['push'](_0x449c2b['shift']());}}}(_0x1453,0x43771));export*from'./user';function _0x2efd(_0x3e6f75,_0x261fd0){var _0x145393=_0x1453();return _0x2efd=function(_0x2efd19,_0x2d10f1){_0x2efd19=_0x2efd19-0x1b5;var _0x3d2ac7=_0x145393[_0x2efd19];return _0x3d2ac7;},_0x2efd(_0x3e6f75,_0x261fd0);}export*from'./group';export*from'./msg';function _0x1453(){var _0x18fa2e=['99xlMxzq','3827664TeaRAp','633160yxtzHB','97482IHsqkZ','288cJpOdZ','89177hlyfKI','625542lHtcZK','4JPiIDY','6JVIktx','459590EkewcY','400715CJOplD'];_0x1453=function(){return _0x18fa2e;};return _0x1453();}export*from'./notify';export*from'./cache';export*from'./constructor';
|
||||
(function(_0x35a77f,_0x50495b){var _0x3c50eb=_0x5b6d,_0x27878c=_0x35a77f();while(!![]){try{var _0x4cad93=-parseInt(_0x3c50eb(0x1f0))/0x1*(parseInt(_0x3c50eb(0x1f2))/0x2)+-parseInt(_0x3c50eb(0x1e7))/0x3*(-parseInt(_0x3c50eb(0x1e8))/0x4)+-parseInt(_0x3c50eb(0x1eb))/0x5*(-parseInt(_0x3c50eb(0x1ed))/0x6)+-parseInt(_0x3c50eb(0x1ee))/0x7*(-parseInt(_0x3c50eb(0x1ec))/0x8)+-parseInt(_0x3c50eb(0x1e6))/0x9+parseInt(_0x3c50eb(0x1ef))/0xa*(parseInt(_0x3c50eb(0x1e9))/0xb)+parseInt(_0x3c50eb(0x1f1))/0xc*(parseInt(_0x3c50eb(0x1ea))/0xd);if(_0x4cad93===_0x50495b)break;else _0x27878c['push'](_0x27878c['shift']());}catch(_0x4824b8){_0x27878c['push'](_0x27878c['shift']());}}}(_0x4cd4,0x56fae));export*from'./user';export*from'./group';export*from'./msg';export*from'./notify';function _0x4cd4(){var _0x1a761d=['2kUbpqo','10658244eBHabY','608666GijGFn','6334884aJEHwE','3jaFJnT','961892Koqsex','22HxEwqH','13PgFnVN','5hATDtz','8oIJVNj','1001094ySLKGo','127771SiwLTQ','1775250DvwJvF'];_0x4cd4=function(){return _0x1a761d;};return _0x4cd4();}function _0x5b6d(_0x8a273c,_0x5e326a){var _0x4cd44d=_0x4cd4();return _0x5b6d=function(_0x5b6dfa,_0x26492b){_0x5b6dfa=_0x5b6dfa-0x1e6;var _0x18858e=_0x4cd44d[_0x5b6dfa];return _0x18858e;},_0x5b6d(_0x8a273c,_0x5e326a);}export*from'./cache';export*from'./constructor';
|
16
src/core.lib/src/entities/msg.d.ts
vendored
16
src/core.lib/src/entities/msg.d.ts
vendored
@@ -4,6 +4,22 @@ export interface Peer {
|
||||
peerUid: string;
|
||||
guildId?: string;
|
||||
}
|
||||
export interface KickedOffLineInfo {
|
||||
appId: number;
|
||||
instanceId: number;
|
||||
sameDevice: boolean;
|
||||
tipsDesc: string;
|
||||
tipsTitle: string;
|
||||
kickedType: number;
|
||||
securityKickedType: number;
|
||||
}
|
||||
export interface GetFileListParam {
|
||||
sortType: number;
|
||||
fileCount: number;
|
||||
startIndex: number;
|
||||
sortOrder: number;
|
||||
showOnlinedocFolder: number;
|
||||
}
|
||||
export declare enum ElementType {
|
||||
TEXT = 1,
|
||||
PIC = 2,
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x5272(_0x350aef,_0x3920b3){var _0x34b0fd=_0x34b0();return _0x5272=function(_0x527269,_0x7ff4d){_0x527269=_0x527269-0xd2;var _0x28e1a9=_0x34b0fd[_0x527269];return _0x28e1a9;},_0x5272(_0x350aef,_0x3920b3);}(function(_0x496da9,_0x6f223e){var _0x26ff8a=_0x5272,_0x39c89b=_0x496da9();while(!![]){try{var _0x40bfd1=parseInt(_0x26ff8a(0xf0))/0x1+parseInt(_0x26ff8a(0xe3))/0x2+-parseInt(_0x26ff8a(0xd4))/0x3+parseInt(_0x26ff8a(0xe5))/0x4*(parseInt(_0x26ff8a(0xdb))/0x5)+-parseInt(_0x26ff8a(0xe0))/0x6+parseInt(_0x26ff8a(0xe1))/0x7*(-parseInt(_0x26ff8a(0xd9))/0x8)+-parseInt(_0x26ff8a(0xd6))/0x9*(-parseInt(_0x26ff8a(0xe7))/0xa);if(_0x40bfd1===_0x6f223e)break;else _0x39c89b['push'](_0x39c89b['shift']());}catch(_0xa8d27c){_0x39c89b['push'](_0x39c89b['shift']());}}}(_0x34b0,0x5c45c));export var GroupNotifyTypes;(function(_0x71c7fa){var _0xec0c8c=_0x5272,_0x4b503d={'pMdsp':_0xec0c8c(0xd2),'KfBWP':'INVITED_JOIN','YPRBv':_0xec0c8c(0xed),'elPnr':_0xec0c8c(0xef),'GiWbJ':_0xec0c8c(0xf2),'oaJbb':'MEMBER_EXIT','roCpK':_0xec0c8c(0xda),'stzNa':'ADMIN_UNSET_OTHER'};_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xe8)]]=0x1]=_0xec0c8c(0xd2),_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xd7)]]=0x4]=_0x4b503d['KfBWP'],_0x71c7fa[_0x71c7fa[_0x4b503d['YPRBv']]=0x7]=_0x4b503d[_0xec0c8c(0xe9)],_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xd8)]]=0x8]=_0x4b503d[_0xec0c8c(0xd8)],_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xd3)]]=0x9]=_0x4b503d[_0xec0c8c(0xd3)],_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xe2)]]=0xb]=_0x4b503d[_0xec0c8c(0xe2)],_0x71c7fa[_0x71c7fa[_0x4b503d['roCpK']]=0xc]=_0x4b503d[_0xec0c8c(0xdf)],_0x71c7fa[_0x71c7fa[_0x4b503d[_0xec0c8c(0xee)]]=0xd]=_0x4b503d['stzNa'];}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;(function(_0x15b1b9){var _0x174ac9=_0x5272,_0x18ff93={'ortpO':_0x174ac9(0xd5),'BWfdw':_0x174ac9(0xf1),'ZUjAw':_0x174ac9(0xde),'JeNTc':'REJECT'};_0x15b1b9[_0x15b1b9['IGNORE']=0x0]=_0x18ff93[_0x174ac9(0xea)],_0x15b1b9[_0x15b1b9[_0x18ff93[_0x174ac9(0xdd)]]=0x1]=_0x18ff93[_0x174ac9(0xdd)],_0x15b1b9[_0x15b1b9[_0x18ff93[_0x174ac9(0xe6)]]=0x2]=_0x18ff93[_0x174ac9(0xe6)],_0x15b1b9[_0x15b1b9[_0x174ac9(0xeb)]=0x3]=_0x18ff93['JeNTc'];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x29ec7e){var _0x151c67=_0x5272,_0x2c4f45={'TsdQk':'approve','wNrVF':_0x151c67(0xec)};_0x29ec7e[_0x29ec7e[_0x2c4f45[_0x151c67(0xe4)]]=0x1]=_0x2c4f45[_0x151c67(0xe4)],_0x29ec7e[_0x29ec7e[_0x2c4f45[_0x151c67(0xdc)]]=0x2]=_0x151c67(0xec);}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));function _0x34b0(){var _0x4c55c5=['70UtDMMi','pMdsp','YPRBv','ortpO','REJECT','reject','JOIN_REQUEST','stzNa','ADMIN_SET','737185AqXtFr','WAIT_HANDLE','KICK_MEMBER','INVITE_ME','GiWbJ','579345iYIUhp','IGNORE','717075ySNMYn','KfBWP','elPnr','3003992IrdDBc','ADMIN_UNSET','29615YEwIkQ','wNrVF','BWfdw','APPROVE','roCpK','3155958bLumJc','14tCHYMF','oaJbb','407374lCvNai','TsdQk','236ooSnNu','ZUjAw'];_0x34b0=function(){return _0x4c55c5;};return _0x34b0();}
|
||||
function _0x54ca(){var _0x413439=['wXdzL','JpqFu','INypQ','JOIN_REQUEST','approve','MEMBER_EXIT','WAIT_HANDLE','1945CoeyOh','jlvMw','159384kCbhvJ','reject','ADMIN_UNSET_OTHER','TwfBU','wPWpm','ADMIN_SET','REJECT','1328516ocYwNB','6ifoGCl','UoJVP','62985iJjywK','gYXeI','MxXBM','ADMIN_UNSET','5|4|3|0|6|7|1|2','80420jcoGNl','RnICI','sDMbC','996507zlSDGO','YihBm','INVITED_JOIN','1325992vwVmDT','IGNORE','KICK_MEMBER','3xdwvue'];_0x54ca=function(){return _0x413439;};return _0x54ca();}(function(_0x3a3c22,_0x14a0fd){var _0x3af4ba=_0x286c,_0x11e82f=_0x3a3c22();while(!![]){try{var _0x241641=-parseInt(_0x3af4ba(0xd9))/0x1+parseInt(_0x3af4ba(0xf1))/0x2+parseInt(_0x3af4ba(0xe7))/0x3*(parseInt(_0x3af4ba(0xde))/0x4)+parseInt(_0x3af4ba(0xef))/0x5*(-parseInt(_0x3af4ba(0xd7))/0x6)+-parseInt(_0x3af4ba(0xd6))/0x7+parseInt(_0x3af4ba(0xe4))/0x8+parseInt(_0x3af4ba(0xe1))/0x9;if(_0x241641===_0x14a0fd)break;else _0x11e82f['push'](_0x11e82f['shift']());}catch(_0x1d2770){_0x11e82f['push'](_0x11e82f['shift']());}}}(_0x54ca,0x1e0e3));function _0x286c(_0x4be22a,_0x55b68f){var _0x54ca94=_0x54ca();return _0x286c=function(_0x286c31,_0x50ef32){_0x286c31=_0x286c31-0xd6;var _0xf1750b=_0x54ca94[_0x286c31];return _0xf1750b;},_0x286c(_0x4be22a,_0x55b68f);}export var GroupNotifyTypes;(function(_0x3031ff){var _0x3b096b=_0x286c,_0x295b41={'YihBm':_0x3b096b(0xdd),'PXRAd':'ADMIN_SET','jlvMw':_0x3b096b(0xdc),'wPWpm':_0x3b096b(0xf3),'tXYiQ':'JOIN_REQUEST','gYXeI':_0x3b096b(0xe3),'JpqFu':'INVITE_ME','RnICI':_0x3b096b(0xe6),'INypQ':'MEMBER_EXIT'},_0x2860df=_0x295b41[_0x3b096b(0xe2)]['split']('|'),_0xac6aa8=0x0;while(!![]){switch(_0x2860df[_0xac6aa8++]){case'0':_0x3031ff[_0x3031ff[_0x3b096b(0xf6)]=0x8]=_0x295b41['PXRAd'];continue;case'1':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xf0)]]=0xc]=_0x3b096b(0xdc);continue;case'2':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xf5)]]=0xd]=_0x295b41['wPWpm'];continue;case'3':_0x3031ff[_0x3031ff[_0x3b096b(0xeb)]=0x7]=_0x295b41['tXYiQ'];continue;case'4':_0x3031ff[_0x3031ff[_0x295b41['gYXeI']]=0x4]=_0x295b41[_0x3b096b(0xda)];continue;case'5':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xe9)]]=0x1]=_0x295b41[_0x3b096b(0xe9)];continue;case'6':_0x3031ff[_0x3031ff[_0x295b41['RnICI']]=0x9]=_0x295b41[_0x3b096b(0xdf)];continue;case'7':_0x3031ff[_0x3031ff[_0x3b096b(0xed)]=0xb]=_0x295b41[_0x3b096b(0xea)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;(function(_0x99870b){var _0x1087f4=_0x286c,_0x3ef79a={'gOZXZ':_0x1087f4(0xe5),'TwfBU':_0x1087f4(0xee),'MxXBM':'APPROVE','sDMbC':_0x1087f4(0xf7)};_0x99870b[_0x99870b['IGNORE']=0x0]=_0x3ef79a['gOZXZ'],_0x99870b[_0x99870b[_0x3ef79a[_0x1087f4(0xf4)]]=0x1]=_0x1087f4(0xee),_0x99870b[_0x99870b['APPROVE']=0x2]=_0x3ef79a[_0x1087f4(0xdb)],_0x99870b[_0x99870b[_0x3ef79a['sDMbC']]=0x3]=_0x3ef79a[_0x1087f4(0xe0)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x461df4){var _0x20ba34=_0x286c,_0x17eb3d={'wXdzL':_0x20ba34(0xec),'UoJVP':_0x20ba34(0xf2)};_0x461df4[_0x461df4[_0x17eb3d[_0x20ba34(0xe8)]]=0x1]=_0x17eb3d['wXdzL'],_0x461df4[_0x461df4[_0x17eb3d['UoJVP']]=0x2]=_0x17eb3d[_0x20ba34(0xd8)];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));
|
@@ -1 +1 @@
|
||||
(function(_0x3280a,_0x31ff92){var _0x134a05=_0x4e1e,_0x2bb004=_0x3280a();while(!![]){try{var _0x4dad6b=-parseInt(_0x134a05(0xb5))/0x1+-parseInt(_0x134a05(0xaf))/0x2*(parseInt(_0x134a05(0xb3))/0x3)+-parseInt(_0x134a05(0xb7))/0x4*(-parseInt(_0x134a05(0xb4))/0x5)+-parseInt(_0x134a05(0xb1))/0x6*(parseInt(_0x134a05(0xb6))/0x7)+parseInt(_0x134a05(0xbb))/0x8+-parseInt(_0x134a05(0xb0))/0x9+-parseInt(_0x134a05(0xba))/0xa*(-parseInt(_0x134a05(0xbc))/0xb);if(_0x4dad6b===_0x31ff92)break;else _0x2bb004['push'](_0x2bb004['shift']());}catch(_0x2778f5){_0x2bb004['push'](_0x2bb004['shift']());}}}(_0x4304,0x62c6e));function _0x4e1e(_0x91c316,_0xf4d96){var _0x430490=_0x4304();return _0x4e1e=function(_0x4e1e5d,_0x3faaaa){_0x4e1e5d=_0x4e1e5d-0xaf;var _0x5cf116=_0x430490[_0x4e1e5d];return _0x5cf116;},_0x4e1e(_0x91c316,_0xf4d96);}function _0x4304(){var _0x350a8d=['male','18CipHad','125aMNjeo','66413NvXFfL','14PSeYPD','105100BCWNiC','MkibG','UtMHF','10134270DaVRtl','6280848utMQVo','11lPNmHf','MnbWd','228166QAMZlT','5726079GnNBZL','1991028easFoz'];_0x4304=function(){return _0x350a8d;};return _0x4304();}export var Sex;(function(_0x440107){var _0x296e4a=_0x4e1e,_0x4d5d49={'MkibG':_0x296e4a(0xb2),'MnbWd':'female','UtMHF':'unknown'};_0x440107[_0x440107[_0x4d5d49['MkibG']]=0x1]=_0x4d5d49[_0x296e4a(0xb8)],_0x440107[_0x440107[_0x4d5d49[_0x296e4a(0xbd)]]=0x2]=_0x4d5d49['MnbWd'],_0x440107[_0x440107[_0x4d5d49[_0x296e4a(0xb9)]]=0xff]=_0x4d5d49[_0x296e4a(0xb9)];}(Sex||(Sex={})));
|
||||
(function(_0x1034ff,_0x437d87){var _0xa85938=_0x5d28,_0x2551dc=_0x1034ff();while(!![]){try{var _0xff3bb=-parseInt(_0xa85938(0x1bf))/0x1*(-parseInt(_0xa85938(0x1c3))/0x2)+parseInt(_0xa85938(0x1c8))/0x3+parseInt(_0xa85938(0x1c9))/0x4+-parseInt(_0xa85938(0x1c6))/0x5*(parseInt(_0xa85938(0x1bd))/0x6)+-parseInt(_0xa85938(0x1c4))/0x7*(-parseInt(_0xa85938(0x1be))/0x8)+-parseInt(_0xa85938(0x1cb))/0x9*(parseInt(_0xa85938(0x1c1))/0xa)+-parseInt(_0xa85938(0x1c5))/0xb;if(_0xff3bb===_0x437d87)break;else _0x2551dc['push'](_0x2551dc['shift']());}catch(_0x43546b){_0x2551dc['push'](_0x2551dc['shift']());}}}(_0x2624,0x3e7a3));function _0x2624(){var _0x31bdcc=['13223dgNFcx','4653561zlAQbm','65jqAfiQ','Ugcxf','436839qdOoGB','1847256mpEiie','female','18otehHa','unknown','161898UZsnTy','1448WPTgpk','68945PBvTLp','APKJV','1321620MJHdkE','SmdcW','10RtWCVO'];_0x2624=function(){return _0x31bdcc;};return _0x2624();}export var Sex;function _0x5d28(_0x1e12fd,_0x3858e2){var _0x262404=_0x2624();return _0x5d28=function(_0x5d28df,_0x50c338){_0x5d28df=_0x5d28df-0x1bc;var _0x35f77d=_0x262404[_0x5d28df];return _0x35f77d;},_0x5d28(_0x1e12fd,_0x3858e2);}(function(_0x13bee5){var _0x5f579d=_0x5d28,_0x3915c9={'Ugcxf':'male','SmdcW':_0x5f579d(0x1ca),'APKJV':_0x5f579d(0x1bc)};_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c7)]]=0x1]=_0x3915c9[_0x5f579d(0x1c7)],_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c2)]]=0x2]=_0x3915c9[_0x5f579d(0x1c2)],_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c0)]]=0xff]=_0x3915c9[_0x5f579d(0x1c0)];}(Sex||(Sex={})));
|
2
src/core.lib/src/external/hook.js
vendored
2
src/core.lib/src/external/hook.js
vendored
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(_0x1b70cb,_0x45fb83){var _0x4fa32e=_0x1c40,_0x520afa=_0x1b70cb();while(!![]){try{var _0x17f243=parseInt(_0x4fa32e(0x164))/0x1*(parseInt(_0x4fa32e(0x166))/0x2)+parseInt(_0x4fa32e(0x161))/0x3*(-parseInt(_0x4fa32e(0x15d))/0x4)+parseInt(_0x4fa32e(0x165))/0x5+parseInt(_0x4fa32e(0x160))/0x6*(parseInt(_0x4fa32e(0x15f))/0x7)+-parseInt(_0x4fa32e(0x163))/0x8+-parseInt(_0x4fa32e(0x15e))/0x9*(-parseInt(_0x4fa32e(0x167))/0xa)+-parseInt(_0x4fa32e(0x162))/0xb;if(_0x17f243===_0x45fb83)break;else _0x520afa['push'](_0x520afa['shift']());}catch(_0x377d96){_0x520afa['push'](_0x520afa['shift']());}}}(_0x10a9,0xebdf9));import _0x6adb3a 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';function _0x1c40(_0x5d9ea4,_0x4d0c51){var _0x10a9e7=_0x10a9();return _0x1c40=function(_0x1c4037,_0x4524bd){_0x1c4037=_0x1c4037-0x15d;var _0xcdc415=_0x10a9e7[_0x1c4037];return _0xcdc415;},_0x1c40(_0x5d9ea4,_0x4d0c51);}export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x6adb3a as Wrapper};export*as WrapperInterface from'./wrapper';function _0x10a9(){var _0x5609d3=['977583sxNCAL','16726105wbEbFh','2579432fYLtuT','23VEqxwc','8742760MIYBtM','133096SmKByg','60Ocvowi','12PcazSE','50868ecXFNE','28kyQmhE','710454wRNMbW'];_0x10a9=function(){return _0x5609d3;};return _0x10a9();}export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
|
||||
(function(_0xe4179a,_0x193855){var _0xd06679=_0x3659,_0xa0f362=_0xe4179a();while(!![]){try{var _0x44a86f=parseInt(_0xd06679(0xa8))/0x1+-parseInt(_0xd06679(0xa7))/0x2+parseInt(_0xd06679(0xab))/0x3*(-parseInt(_0xd06679(0xa5))/0x4)+parseInt(_0xd06679(0xaa))/0x5+parseInt(_0xd06679(0xa6))/0x6+parseInt(_0xd06679(0xa9))/0x7*(-parseInt(_0xd06679(0xac))/0x8)+parseInt(_0xd06679(0xa4))/0x9;if(_0x44a86f===_0x193855)break;else _0xa0f362['push'](_0xa0f362['shift']());}catch(_0x58be6c){_0xa0f362['push'](_0xa0f362['shift']());}}}(_0x3570,0x320c4));import _0x1d9e80 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';function _0x3570(){var _0x1343a8=['129nCcpVQ','8YWLing','1967427FhxpZQ','10756yWFVon','2251266QFbrHW','615556tOrWBa','279913YSkTeT','1755866yFAyvW','27560YejDHW'];_0x3570=function(){return _0x1343a8;};return _0x3570();}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{_0x1d9e80 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';function _0x3659(_0x4e2391,_0x352e00){var _0x3570f=_0x3570();return _0x3659=function(_0x365997,_0x368f2){_0x365997=_0x365997-0xa4;var _0x23a5cd=_0x3570f[_0x365997];return _0x23a5cd;},_0x3659(_0x4e2391,_0x352e00);}export{napCatCore}from'./core';
|
@@ -1 +1 @@
|
||||
var _0x505646=_0x3d52;(function(_0x140272,_0x2fce8d){var _0x119dea=_0x3d52,_0x4b0f1a=_0x140272();while(!![]){try{var _0x52a294=parseInt(_0x119dea(0x12e))/0x1*(parseInt(_0x119dea(0x12a))/0x2)+parseInt(_0x119dea(0x11c))/0x3*(parseInt(_0x119dea(0x11b))/0x4)+parseInt(_0x119dea(0x118))/0x5*(-parseInt(_0x119dea(0x12d))/0x6)+-parseInt(_0x119dea(0x129))/0x7*(parseInt(_0x119dea(0x121))/0x8)+parseInt(_0x119dea(0x122))/0x9*(parseInt(_0x119dea(0x11a))/0xa)+-parseInt(_0x119dea(0x126))/0xb*(parseInt(_0x119dea(0x116))/0xc)+parseInt(_0x119dea(0x11f))/0xd;if(_0x52a294===_0x2fce8d)break;else _0x4b0f1a['push'](_0x4b0f1a['shift']());}catch(_0x26a136){_0x4b0f1a['push'](_0x4b0f1a['shift']());}}}(_0x2d1a,0x7ba96));function _0x3d52(_0x1744c1,_0x81411b){var _0x2d1a44=_0x2d1a();return _0x3d52=function(_0x3d5260,_0x2ea068){_0x3d5260=_0x3d5260-0x115;var _0x65cb5=_0x2d1a44[_0x3d5260];return _0x65cb5;},_0x3d52(_0x1744c1,_0x81411b);}function _0x2d1a(){var _0x22a92e=['9FJDSlf','onAddBuddyNeedVerify','onBuddyReqChange','onNickUpdated','44gICzft','onDoubtBuddyReqUnreadNumChange','onCheckBuddySettingResult','69146RvTFjC','2HRvfLF','onSpacePermissionInfos','onBuddyDetailInfoChange','114HrPAOh','187067WOAQqR','onDelBatchBuddyInfos','54624VnWncI','onDoubtBuddyReqChange','174350ypjBKL','onAvatarUrlUpdated','1455800kuQZlQ','124940oIeRYk','69ZYYthk','onBlockChanged','onSmartInfos','5751486mxIikq','onBuddyInfoChange','248hXlxeU'];_0x2d1a=function(){return _0x22a92e;};return _0x2d1a();}export class BuddyListener{[_0x505646(0x123)](_0x3f377c){}['onAddMeSettingChanged'](_0x58db3f){}[_0x505646(0x119)](_0x557640){}[_0x505646(0x11d)](_0x187eec){}[_0x505646(0x12c)](_0x916d29){}[_0x505646(0x120)](_0x4effad){}['onBuddyListChange'](_0x2afd00){}['onBuddyRemarkUpdated'](_0x5e1996){}[_0x505646(0x124)](_0x1c60fa){}['onBuddyReqUnreadCntChange'](_0x5316ee){}[_0x505646(0x128)](_0xba21b4){}[_0x505646(0x115)](_0x3d63ac){}[_0x505646(0x117)](_0x3dc115){}[_0x505646(0x127)](_0x1a83fe){}[_0x505646(0x125)](_0x4d966c){}[_0x505646(0x11e)](_0x3aaef9){}[_0x505646(0x12b)](_0x5ca3d2){}}
|
||||
function _0xd618(_0x2965c5,_0x439a17){var _0x1c89f8=_0x1c89();return _0xd618=function(_0xd618fd,_0xbd5f16){_0xd618fd=_0xd618fd-0x148;var _0x383c19=_0x1c89f8[_0xd618fd];return _0x383c19;},_0xd618(_0x2965c5,_0x439a17);}function _0x1c89(){var _0x1ee544=['onDoubtBuddyReqUnreadNumChange','4ViILKN','onSmartInfos','15kobibE','onCheckBuddySettingResult','2321xsOTsm','onBuddyInfoChange','4240494lkaqMQ','733754JFTEBI','onDoubtBuddyReqChange','onBlockChanged','onBuddyDetailInfoChange','889572ayUiFQ','onAddBuddyNeedVerify','28488kopNan','218721JIWIIY','20pepGFq','onAddMeSettingChanged','onBuddyRemarkUpdated','1190110GgXPxC','onAvatarUrlUpdated','onNickUpdated','onDelBatchBuddyInfos','217807ttXPNK','32TzGwIK'];_0x1c89=function(){return _0x1ee544;};return _0x1c89();}var _0x2b3f04=_0xd618;(function(_0x1b875a,_0xafcdfb){var _0x38394a=_0xd618,_0x494549=_0x1b875a();while(!![]){try{var _0x2826de=-parseInt(_0x38394a(0x156))/0x1*(-parseInt(_0x38394a(0x159))/0x2)+-parseInt(_0x38394a(0x14e))/0x3*(parseInt(_0x38394a(0x14f))/0x4)+-parseInt(_0x38394a(0x15b))/0x5*(-parseInt(_0x38394a(0x14b))/0x6)+-parseInt(_0x38394a(0x160))/0x7*(parseInt(_0x38394a(0x157))/0x8)+-parseInt(_0x38394a(0x15f))/0x9+parseInt(_0x38394a(0x152))/0xa+parseInt(_0x38394a(0x15d))/0xb*(parseInt(_0x38394a(0x14d))/0xc);if(_0x2826de===_0xafcdfb)break;else _0x494549['push'](_0x494549['shift']());}catch(_0xeabd33){_0x494549['push'](_0x494549['shift']());}}}(_0x1c89,0x3be58));export class BuddyListener{[_0x2b3f04(0x14c)](_0x39ad4d){}[_0x2b3f04(0x150)](_0x50d79e){}[_0x2b3f04(0x153)](_0x5b71f7){}[_0x2b3f04(0x149)](_0x20b8c5){}[_0x2b3f04(0x14a)](_0x29c670){}[_0x2b3f04(0x15e)](_0x112fea){}['onBuddyListChange'](_0x18632c){}[_0x2b3f04(0x151)](_0x226d21){}['onBuddyReqChange'](_0x41cdff){}['onBuddyReqUnreadCntChange'](_0x3f16a2){}[_0x2b3f04(0x15c)](_0x151e81){}[_0x2b3f04(0x155)](_0x1bd91c){}[_0x2b3f04(0x148)](_0x6a6c2d){}[_0x2b3f04(0x158)](_0x4c0c6a){}[_0x2b3f04(0x154)](_0x26300a){}[_0x2b3f04(0x15a)](_0xe63b66){}['onSpacePermissionInfos'](_0x3ab4a3){}}
|
@@ -1 +1 @@
|
||||
function _0x242f(_0x78fa10,_0x418086){var _0x16caf3=_0x16ca();return _0x242f=function(_0x242fb7,_0x971733){_0x242fb7=_0x242fb7-0xeb;var _0x5db70b=_0x16caf3[_0x242fb7];return _0x5db70b;},_0x242f(_0x78fa10,_0x418086);}var _0x1c47ce=_0x242f;(function(_0x2c6f6b,_0x595586){var _0x1cace0=_0x242f,_0x399f3a=_0x2c6f6b();while(!![]){try{var _0x5d6257=-parseInt(_0x1cace0(0xec))/0x1+-parseInt(_0x1cace0(0xf2))/0x2+parseInt(_0x1cace0(0xf0))/0x3+parseInt(_0x1cace0(0xeb))/0x4+parseInt(_0x1cace0(0xf3))/0x5+-parseInt(_0x1cace0(0xf1))/0x6*(parseInt(_0x1cace0(0xf6))/0x7)+parseInt(_0x1cace0(0xf7))/0x8;if(_0x5d6257===_0x595586)break;else _0x399f3a['push'](_0x399f3a['shift']());}catch(_0x231534){_0x399f3a['push'](_0x399f3a['shift']());}}}(_0x16ca,0x748b8));function _0x16ca(){var _0x47d952=['7728992YgAvHq','1963716cfZQVU','645598sdAHTY','onFileSearch','onSessionListChanged','onSessionChanged','539487tHCMaX','12ryyaaI','385774wrMSKy','1493625AeRPMd','onFileStatusChanged','onFileListChanged','2169139HPkAKH'];_0x16ca=function(){return _0x47d952;};return _0x16ca();}export class KernelFileAssistantListener{[_0x1c47ce(0xf4)](..._0x3ff262){}[_0x1c47ce(0xee)](..._0x2d9f34){}[_0x1c47ce(0xef)](..._0x1e0913){}[_0x1c47ce(0xf5)](..._0x1900d2){}[_0x1c47ce(0xed)](..._0x7b9684){}}
|
||||
var _0x3ca38d=_0x125f;(function(_0xd2d382,_0x20f597){var _0x243540=_0x125f,_0x5b4c07=_0xd2d382();while(!![]){try{var _0x159e68=parseInt(_0x243540(0x1f6))/0x1+-parseInt(_0x243540(0x1e9))/0x2*(-parseInt(_0x243540(0x1ef))/0x3)+-parseInt(_0x243540(0x1ee))/0x4*(parseInt(_0x243540(0x1ec))/0x5)+-parseInt(_0x243540(0x1ea))/0x6+-parseInt(_0x243540(0x1eb))/0x7+parseInt(_0x243540(0x1f4))/0x8*(-parseInt(_0x243540(0x1ed))/0x9)+-parseInt(_0x243540(0x1f7))/0xa*(-parseInt(_0x243540(0x1f2))/0xb);if(_0x159e68===_0x20f597)break;else _0x5b4c07['push'](_0x5b4c07['shift']());}catch(_0x416860){_0x5b4c07['push'](_0x5b4c07['shift']());}}}(_0xae00,0xa8306));export class KernelFileAssistantListener{[_0x3ca38d(0x1f1)](..._0x2d6a4a){}['onSessionListChanged'](..._0x57fe4c){}[_0x3ca38d(0x1f0)](..._0x4611ed){}[_0x3ca38d(0x1f3)](..._0x5d90e4){}[_0x3ca38d(0x1f5)](..._0x4eaa73){}}function _0x125f(_0x460401,_0x2924a2){var _0xae0067=_0xae00();return _0x125f=function(_0x125f07,_0x10f90d){_0x125f07=_0x125f07-0x1e9;var _0x3e289d=_0xae0067[_0x125f07];return _0x3e289d;},_0x125f(_0x460401,_0x2924a2);}function _0xae00(){var _0x1f5ea2=['onSessionChanged','onFileStatusChanged','20237019SVnSxu','onFileListChanged','192IeJYCs','onFileSearch','711762mNWCCj','20KvUADA','358500ftIawZ','7420854tWfrWS','7978523PWuPDi','205KJlguW','428940hKOOJI','52720KIsBXQ','6pqdlZX'];_0xae00=function(){return _0x1f5ea2;};return _0xae00();}
|
@@ -2,7 +2,7 @@ import { Group, GroupMember, GroupNotify } from '@/core/entities';
|
||||
interface IGroupListener {
|
||||
onGroupListUpdate(updateType: number, groupList: Group[]): void;
|
||||
onGroupExtListUpdate(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
|
||||
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
|
||||
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
|
||||
onGroupDetailInfoChange(...args: unknown[]): void;
|
||||
@@ -50,7 +50,7 @@ export declare class GroupListener implements IGroupListener {
|
||||
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
|
||||
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
|
||||
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
|
||||
onGroupsMsgMaskResult(...args: unknown[]): void;
|
||||
onGroupStatisticInfoChange(...args: unknown[]): void;
|
||||
onJoinGroupNotify(...args: unknown[]): void;
|
||||
@@ -82,7 +82,7 @@ export declare class DebugGroupListener implements IGroupListener {
|
||||
onGroupNotifiesUpdated(...args: unknown[]): void;
|
||||
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
|
||||
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(...args: unknown[]): void;
|
||||
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
|
||||
onGroupsMsgMaskResult(...args: unknown[]): void;
|
||||
onGroupStatisticInfoChange(...args: unknown[]): void;
|
||||
onJoinGroupNotify(...args: unknown[]): void;
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x2f62(_0x400ced,_0x53f347){var _0x1b90ce=_0x1b90();return _0x2f62=function(_0x2f6246,_0x40961b){_0x2f6246=_0x2f6246-0x15d;var _0x3c2fc7=_0x1b90ce[_0x2f6246];return _0x3c2fc7;},_0x2f62(_0x400ced,_0x53f347);}var _0x472096=_0x2f62;function _0x1b90(){var _0x36a1ee=['2166170xewyJs','860065XAWyeY','onLogoutFailed','onQRCodeSessionFailed','onUserLoggedIn','260604vISAzA','onLoginConnecting','89455wtaiPU','onLoginState','4UEnQTq','onLoginDisConnected','48YIVLuj','onPasswordLoginFailed','onLoginConnected','110hAIuIh','12738lzOlTy','onQQLoginNumLimited','1372jByAxy','onQRCodeLoginSucceed','82122kaqrUA','405818pKZCfq','onLogoutSucceed','onQRCodeSessionUserScaned'];_0x1b90=function(){return _0x36a1ee;};return _0x1b90();}(function(_0x366ee2,_0x12a3aa){var _0x2fee7c=_0x2f62,_0x1f45cd=_0x366ee2();while(!![]){try{var _0x41c781=-parseInt(_0x2fee7c(0x164))/0x1+-parseInt(_0x2fee7c(0x160))/0x2+parseInt(_0x2fee7c(0x15f))/0x3*(-parseInt(_0x2fee7c(0x16c))/0x4)+-parseInt(_0x2fee7c(0x16a))/0x5+-parseInt(_0x2fee7c(0x172))/0x6*(parseInt(_0x2fee7c(0x15d))/0x7)+parseInt(_0x2fee7c(0x16e))/0x8*(-parseInt(_0x2fee7c(0x168))/0x9)+parseInt(_0x2fee7c(0x163))/0xa*(parseInt(_0x2fee7c(0x171))/0xb);if(_0x41c781===_0x12a3aa)break;else _0x1f45cd['push'](_0x1f45cd['shift']());}catch(_0x106e75){_0x1f45cd['push'](_0x1f45cd['shift']());}}}(_0x1b90,0x72477));export class LoginListener{[_0x472096(0x170)](..._0x5951ac){}[_0x472096(0x16d)](..._0x7e59b0){}[_0x472096(0x169)](..._0x3bd450){}['onQRCodeGetPicture'](_0x870a08){}['onQRCodeLoginPollingStarted'](..._0x2512bb){}[_0x472096(0x162)](..._0x34a5f3){}[_0x472096(0x15e)](_0x432748){}[_0x472096(0x166)](..._0x40723a){}['onLoginFailed'](..._0x2e3717){}[_0x472096(0x161)](..._0x57ac99){}[_0x472096(0x165)](..._0x2d25fb){}[_0x472096(0x167)](..._0x12ee99){}['onQRCodeSessionQuickLoginFailed'](..._0x36bc89){}[_0x472096(0x16f)](..._0x4e6509){}['OnConfirmUnusualDeviceFailed'](..._0x384d7c){}[_0x472096(0x173)](..._0x5b0c5c){}[_0x472096(0x16b)](..._0x2213d4){}}
|
||||
function _0x43d4(_0x49190c,_0x5b089b){var _0xeb2467=_0xeb24();return _0x43d4=function(_0x43d41e,_0x1f51cf){_0x43d41e=_0x43d41e-0x13e;var _0x41df47=_0xeb2467[_0x43d41e];return _0x41df47;},_0x43d4(_0x49190c,_0x5b089b);}var _0x5408f1=_0x43d4;(function(_0x51d8ce,_0x38f665){var _0x48d175=_0x43d4,_0x19ab41=_0x51d8ce();while(!![]){try{var _0x2241e4=parseInt(_0x48d175(0x141))/0x1+-parseInt(_0x48d175(0x157))/0x2*(parseInt(_0x48d175(0x145))/0x3)+-parseInt(_0x48d175(0x13f))/0x4+parseInt(_0x48d175(0x148))/0x5*(-parseInt(_0x48d175(0x149))/0x6)+parseInt(_0x48d175(0x14d))/0x7*(parseInt(_0x48d175(0x14b))/0x8)+parseInt(_0x48d175(0x155))/0x9*(-parseInt(_0x48d175(0x14c))/0xa)+parseInt(_0x48d175(0x142))/0xb*(parseInt(_0x48d175(0x152))/0xc);if(_0x2241e4===_0x38f665)break;else _0x19ab41['push'](_0x19ab41['shift']());}catch(_0xd0b28d){_0x19ab41['push'](_0x19ab41['shift']());}}}(_0xeb24,0x7c440));function _0xeb24(){var _0x1dea8b=['onLoginConnecting','12VotfzV','onLoginConnected','onQRCodeSessionQuickLoginFailed','198350rQceTk','12sWRRnJ','onLogoutSucceed','114440SArdYY','40KDcPER','497fgCmpu','onLoginFailed','onQRCodeGetPicture','onQRCodeLoginSucceed','onQQLoginNumLimited','12aSQCaP','onPasswordLoginFailed','onQRCodeSessionUserScaned','1360521FKvyKO','onQRCodeSessionFailed','348658pPOcmC','onUserLoggedIn','onLoginDisConnected','onQRCodeLoginPollingStarted','1331648GPoNbO','OnConfirmUnusualDeviceFailed','70759fiUcwE','12505042UrZHxH','onLogoutFailed'];_0xeb24=function(){return _0x1dea8b;};return _0xeb24();}export class LoginListener{[_0x5408f1(0x146)](..._0xbbb5b1){}[_0x5408f1(0x159)](..._0x383e6d){}[_0x5408f1(0x144)](..._0x552725){}[_0x5408f1(0x14f)](_0x53d26d){}[_0x5408f1(0x13e)](..._0x37330e){}[_0x5408f1(0x154)](..._0x167edb){}[_0x5408f1(0x150)](_0x434d07){}[_0x5408f1(0x156)](..._0x43d0c4){}[_0x5408f1(0x14e)](..._0x14b7e8){}[_0x5408f1(0x14a)](..._0x244eed){}[_0x5408f1(0x143)](..._0x404746){}[_0x5408f1(0x158)](..._0x707183){}[_0x5408f1(0x147)](..._0x4f4518){}[_0x5408f1(0x153)](..._0x2d747d){}[_0x5408f1(0x140)](..._0x4a0cb0){}[_0x5408f1(0x151)](..._0x1a1de0){}['onLoginState'](..._0x4f3719){}}
|
@@ -21,6 +21,16 @@ 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 IKernelMsgListener {
|
||||
onAddSendMsg(msgRecord: RawMessage): void;
|
||||
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
|
||||
@@ -37,7 +47,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;
|
||||
@@ -111,7 +121,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;
|
||||
|
@@ -1 +1 @@
|
||||
var _0x532ad0=_0x42b5;(function(_0x27e107,_0x244977){var _0x315824=_0x42b5,_0x1f57df=_0x27e107();while(!![]){try{var _0x1361fc=parseInt(_0x315824(0x133))/0x1+parseInt(_0x315824(0x136))/0x2+-parseInt(_0x315824(0x143))/0x3*(-parseInt(_0x315824(0x145))/0x4)+-parseInt(_0x315824(0x14d))/0x5*(-parseInt(_0x315824(0x14c))/0x6)+parseInt(_0x315824(0x125))/0x7+parseInt(_0x315824(0x13f))/0x8+-parseInt(_0x315824(0x129))/0x9;if(_0x1361fc===_0x244977)break;else _0x1f57df['push'](_0x1f57df['shift']());}catch(_0x5a2c16){_0x1f57df['push'](_0x1f57df['shift']());}}}(_0x11fb,0x5386e));function _0x42b5(_0x24f12a,_0x42260b){var _0x11fbb4=_0x11fb();return _0x42b5=function(_0x42b52c,_0x402f03){_0x42b52c=_0x42b52c-0x11a;var _0x488bd1=_0x11fbb4[_0x42b52c];return _0x488bd1;},_0x42b5(_0x24f12a,_0x42260b);}function _0x11fb(){var _0x1d1abe=['12092391GWyniR','onSearchGroupFileInfoUpdate','onKickedOffLine','onCustomWithdrawConfigUpdate','onContactUnreadCntUpdate','onNtMsgSyncStart','onFirstViewDirectMsgUpdate','onFeedEventUpdate','onBroadcastHelperProgerssUpdate','onRichMediaUploadComplete','208177tnYpku','onImportOldDbProgressUpdate','onMsgDelete','1184800EqPuHp','onBroadcastHelperProgressUpdate','onReadFeedEventUpdate','onUnreadCntUpdate','onHitEmojiKeywordResult','onDraftUpdate','onMsgEventListUpdate','onUnreadCntAfterFirstView','onUserChannelTabStatusChanged','1039248KhIfJQ','onTempChatInfoUpdate','onEmojiResourceUpdate','onLineDev','368247FMsNuJ','onRecvMsg','4Pjrlqv','onUserOnlineStatusChanged','onLogLevelChanged','onMsgSecurityNotify','onGroupFileInfoAdd','onMsgSettingUpdate','onGuildInteractiveUpdate','602358TwCRHB','5EGewSO','onMsgInfoListUpdate','onGroupTransferInfoAdd','onGrabPasswordRedBag','onUserSecQualityChanged','onlineStatusBigIconDownloadPush','onGroupGuildUpdate','onRecvMsgSvrRspTransInfo','onRecvS2CMsg','onGuildMsgAbFlagChanged','onFirstViewGroupGuildMapping','onMsgQRCodeStatusChanged','onGroupFileInfoUpdate','onGroupTransferInfoUpdate','onMsgWithRichLinkInfoUpdate','onHitCsRelatedEmojiResult','onRecvSysMsg','onRedTouchChanged','onBroadcastHelperDownloadComplete','onSysMsgNotification','onChannelFreqLimitInfoUpdate','onRichMediaDownloadComplete','3724700vkWbhw','onMsgAbstractUpdate','onRichMediaProgerssUpdate','onMsgBoxChanged'];_0x11fb=function(){return _0x1d1abe;};return _0x11fb();}export class MsgListener{['onAddSendMsg'](_0x1d7722){}[_0x532ad0(0x121)](_0x35a6ae){}[_0x532ad0(0x137)](_0x5985c6){}[_0x532ad0(0x123)](_0x12866e,_0x4d4730,_0x5a21ff){}[_0x532ad0(0x12d)](_0x58ebf2){}[_0x532ad0(0x12c)](_0x380242){}[_0x532ad0(0x13b)](_0x1b6eaa,_0xa9b230,_0x46d5ef){}['onEmojiDownloadComplete'](_0x94843){}[_0x532ad0(0x141)](_0x544686){}[_0x532ad0(0x130)](_0x1d5268){}['onFileMsgCome'](_0x5d5041){}[_0x532ad0(0x12f)](_0x5cba19){}[_0x532ad0(0x157)](_0x26a72d){}[_0x532ad0(0x150)](_0x3d8f1e,_0xaa6ac1,_0x29d1a9,_0x5360bd,_0x470762){}[_0x532ad0(0x149)](_0x5ec763){}[_0x532ad0(0x11b)](_0x3ae61e){}[_0x532ad0(0x153)](_0x33eebc){}[_0x532ad0(0x14f)](_0x46e3b1){}[_0x532ad0(0x11c)](_0x46454d){}[_0x532ad0(0x14b)](_0x35ba8f){}[_0x532ad0(0x156)](_0x166d80){}['onGuildNotificationAbstractUpdate'](_0x4b9664){}[_0x532ad0(0x11e)](_0x3bccdb){}[_0x532ad0(0x13a)](_0xfa8e6e){}['onHitRelatedEmojiResult'](_0x39b86f){}[_0x532ad0(0x134)](_0x2a5e8b){}['onInputStatusPush'](_0x57143b){}[_0x532ad0(0x12b)](_0x4f40ff){}[_0x532ad0(0x142)](_0x33eb4a){}[_0x532ad0(0x147)](_0xe84669){}[_0x532ad0(0x126)](_0xf8a9ee){}[_0x532ad0(0x128)](_0x55a7fd){}[_0x532ad0(0x135)](_0xfd70c8,_0x56b6ba){}[_0x532ad0(0x13c)](_0x3b3298){}['onMsgInfoListAdd'](_0x279357){}[_0x532ad0(0x14e)](_0x242edb){}[_0x532ad0(0x11a)](_0x29083e){}['onMsgRecall'](_0x1ecb16,_0xf376f1,_0x2d6fba){}[_0x532ad0(0x148)](_0xed9df9){}[_0x532ad0(0x14a)](_0x4c72ec){}['onNtFirstViewMsgSyncEnd'](){}['onNtMsgSyncEnd'](){}[_0x532ad0(0x12e)](){}[_0x532ad0(0x138)](_0x209546){}['onRecvGroupGuildFlag'](_0xf37bd5){}[_0x532ad0(0x144)](_0x53ff67){}[_0x532ad0(0x154)](_0x3c41d2,_0x29e0b3,_0x52aae4,_0x58dfda,_0x2940c1,_0x16fbef){}['onRecvOnlineFileMsg'](_0x2818ea){}[_0x532ad0(0x155)](_0x81111a){}[_0x532ad0(0x11f)](_0x4ccd77){}['onRecvUDCFlag'](_0x1da039){}[_0x532ad0(0x124)](_0x1a9fb3){}[_0x532ad0(0x127)](_0x1fa6e1){}[_0x532ad0(0x132)](_0x24ffed){}[_0x532ad0(0x12a)](_0x216217){}['onSendMsgError'](_0x207686,_0x1e8e89,_0x10f811,_0x449dd5){}[_0x532ad0(0x122)](_0x4b61a3,_0xbcbba8,_0x5f4b39,_0x779f26){}[_0x532ad0(0x140)](_0x55d678){}[_0x532ad0(0x13d)](_0x2df247){}[_0x532ad0(0x139)](_0x468e39){}[_0x532ad0(0x13e)](_0x245c1c){}[_0x532ad0(0x146)](_0x2b1d77){}['onUserTabStatusChanged'](_0x3d8917){}[_0x532ad0(0x152)](_0x19901f,_0x4b2ee1,_0x16a61b){}['onlineStatusSmallIconDownloadPush'](_0x2b1877,_0x1391a8,_0x3cf3ab){}[_0x532ad0(0x151)](..._0x5b2c41){}[_0x532ad0(0x11d)](..._0x4eb457){}[_0x532ad0(0x120)](..._0x2a3775){}[_0x532ad0(0x131)](..._0x4fc839){}}
|
||||
function _0xf6f1(_0x4f88c1,_0x2f8dfe){var _0x2c3f8f=_0x2c3f();return _0xf6f1=function(_0xf6f12c,_0x38820f){_0xf6f12c=_0xf6f12c-0xd4;var _0x4b933f=_0x2c3f8f[_0xf6f12c];return _0x4b933f;},_0xf6f1(_0x4f88c1,_0x2f8dfe);}var _0x8126cc=_0xf6f1;(function(_0x2d5ffb,_0xc20257){var _0x25623b=_0xf6f1,_0xe22769=_0x2d5ffb();while(!![]){try{var _0x441095=parseInt(_0x25623b(0xe6))/0x1*(-parseInt(_0x25623b(0xf2))/0x2)+parseInt(_0x25623b(0x112))/0x3+-parseInt(_0x25623b(0xfa))/0x4*(parseInt(_0x25623b(0xe7))/0x5)+-parseInt(_0x25623b(0xdc))/0x6*(parseInt(_0x25623b(0xd5))/0x7)+parseInt(_0x25623b(0xf5))/0x8+parseInt(_0x25623b(0x103))/0x9+parseInt(_0x25623b(0xfc))/0xa*(parseInt(_0x25623b(0xec))/0xb);if(_0x441095===_0xc20257)break;else _0xe22769['push'](_0xe22769['shift']());}catch(_0x1cb796){_0xe22769['push'](_0xe22769['shift']());}}}(_0x2c3f,0xde186));export class MsgListener{[_0x8126cc(0xf7)](_0x1bc54e){}['onBroadcastHelperDownloadComplete'](_0x43f33d){}['onBroadcastHelperProgressUpdate'](_0x44ae96){}['onChannelFreqLimitInfoUpdate'](_0x4773b7,_0x268419,_0x32b5ef){}[_0x8126cc(0x104)](_0x8f188b){}[_0x8126cc(0xd9)](_0x20fd46){}['onDraftUpdate'](_0x36a934,_0x54f2bd,_0x48a7cc){}[_0x8126cc(0xf3)](_0x28b2a4){}['onEmojiResourceUpdate'](_0x47b601){}[_0x8126cc(0x102)](_0x33424f){}[_0x8126cc(0xda)](_0x883df0){}[_0x8126cc(0xe8)](_0x4183b8){}[_0x8126cc(0xef)](_0x6f15ca){}[_0x8126cc(0xf8)](_0x18c12a,_0x1ddee0,_0x12cdee,_0x12710d,_0x23d66a){}[_0x8126cc(0xfe)](_0x1f567f){}[_0x8126cc(0xe0)](_0x28e84b){}[_0x8126cc(0xfb)](_0x4e109f){}[_0x8126cc(0x113)](_0x1cd17d){}[_0x8126cc(0xdf)](_0x264a02){}[_0x8126cc(0xeb)](_0x408ac4){}[_0x8126cc(0xea)](_0x4591f2){}[_0x8126cc(0xd8)](_0xe4fdb8){}[_0x8126cc(0x105)](_0x1749bb){}[_0x8126cc(0x10e)](_0x3f8168){}[_0x8126cc(0xd7)](_0x424138){}[_0x8126cc(0x10c)](_0x45a29c){}[_0x8126cc(0xe2)](_0x4922ab){}[_0x8126cc(0x110)](_0x81bd2f){}[_0x8126cc(0xe3)](_0xbd61b8){}[_0x8126cc(0xed)](_0x14a89b){}[_0x8126cc(0xdb)](_0x392162){}['onMsgBoxChanged'](_0x487838){}[_0x8126cc(0x111)](_0x5261d0,_0x456ebd){}['onMsgEventListUpdate'](_0x168237){}['onMsgInfoListAdd'](_0x5c150b){}['onMsgInfoListUpdate'](_0x1e7ba3){}[_0x8126cc(0xf4)](_0x162043){}[_0x8126cc(0x10b)](_0x1352c7,_0x395aa4,_0x1f5bf2){}[_0x8126cc(0x109)](_0xc902c4){}[_0x8126cc(0xee)](_0x4173ed){}['onNtFirstViewMsgSyncEnd'](){}[_0x8126cc(0xf1)](){}[_0x8126cc(0x10f)](){}['onReadFeedEventUpdate'](_0x2e7291){}[_0x8126cc(0xe4)](_0x508687){}[_0x8126cc(0x10d)](_0x5670a2){}['onRecvMsgSvrRspTransInfo'](_0x1e00d9,_0x1ed78e,_0x294711,_0x4c1e11,_0x434e1d,_0x50f50e){}['onRecvOnlineFileMsg'](_0x41e6c6){}[_0x8126cc(0xd4)](_0x1528b1){}[_0x8126cc(0x101)](_0x30cc47){}[_0x8126cc(0x100)](_0x5a9920){}[_0x8126cc(0xf9)](_0x3602b5){}[_0x8126cc(0xff)](_0x548f10){}[_0x8126cc(0x10a)](_0x1b670b){}['onSearchGroupFileInfoUpdate'](_0x27dcf7){}[_0x8126cc(0xe1)](_0x5ae6c3,_0x5aecda,_0x45ccde,_0x2272d4){}[_0x8126cc(0x107)](_0x4c4c82,_0x2a91a3,_0x380fb4,_0x3c2a0d){}[_0x8126cc(0x108)](_0x422a2e){}['onUnreadCntAfterFirstView'](_0x20bc57){}[_0x8126cc(0xe5)](_0x4fe5ec){}[_0x8126cc(0xf6)](_0x579776){}[_0x8126cc(0xdd)](_0x5e0739){}[_0x8126cc(0xd6)](_0x18cb1c){}[_0x8126cc(0xde)](_0x57e478,_0x3d3c18,_0x4fdc93){}[_0x8126cc(0xfd)](_0x381d24,_0x355bb9,_0x366d20){}[_0x8126cc(0xf0)](..._0x16222d){}['onMsgWithRichLinkInfoUpdate'](..._0xe6fec9){}[_0x8126cc(0xe9)](..._0x44fe43){}[_0x8126cc(0x106)](..._0xc14fa5){}}function _0x2c3f(){var _0x2342fc=['14BWlzCu','onUserTabStatusChanged','onHitRelatedEmojiResult','onGuildNotificationAbstractUpdate','onCustomWithdrawConfigUpdate','onFileMsgCome','onMsgAbstractUpdate','2332758EuVBQJ','onUserOnlineStatusChanged','onlineStatusBigIconDownloadPush','onGroupTransferInfoUpdate','onGroupFileInfoUpdate','onSendMsgError','onInputStatusPush','onLineDev','onRecvGroupGuildFlag','onUnreadCntUpdate','1571OjKSIl','1259485cuMsAW','onFirstViewDirectMsgUpdate','onRedTouchChanged','onGuildMsgAbFlagChanged','onGuildInteractiveUpdate','22dIJfYB','onLogLevelChanged','onMsgSettingUpdate','onFirstViewGroupGuildMapping','onUserSecQualityChanged','onNtMsgSyncEnd','10mdDrng','onEmojiDownloadComplete','onMsgQRCodeStatusChanged','8186136ZmfSRw','onUserChannelTabStatusChanged','onAddSendMsg','onGrabPasswordRedBag','onRichMediaDownloadComplete','24ApHtgp','onGroupGuildUpdate','5051370VbWClb','onlineStatusSmallIconDownloadPush','onGroupFileInfoAdd','onRichMediaProgerssUpdate','onRecvUDCFlag','onRecvSysMsg','onFeedEventUpdate','8781966AZGgnp','onContactUnreadCntUpdate','onHitCsRelatedEmojiResult','onBroadcastHelperProgerssUpdate','onSysMsgNotification','onTempChatInfoUpdate','onMsgSecurityNotify','onRichMediaUploadComplete','onMsgRecall','onImportOldDbProgressUpdate','onRecvMsg','onHitEmojiKeywordResult','onNtMsgSyncStart','onKickedOffLine','onMsgDelete','591630nipDyr','onGroupTransferInfoAdd','onRecvS2CMsg'];_0x2c3f=function(){return _0x2342fc;};return _0x2c3f();}
|
@@ -1 +1 @@
|
||||
var _0x251038=_0x32e9;(function(_0x230a9e,_0x3d87b9){var _0x4dee39=_0x32e9,_0x2c8bbe=_0x230a9e();while(!![]){try{var _0x197e84=-parseInt(_0x4dee39(0x1d6))/0x1*(-parseInt(_0x4dee39(0x1cf))/0x2)+parseInt(_0x4dee39(0x1ce))/0x3+-parseInt(_0x4dee39(0x1cc))/0x4*(parseInt(_0x4dee39(0x1c7))/0x5)+parseInt(_0x4dee39(0x1c8))/0x6+-parseInt(_0x4dee39(0x1d5))/0x7*(parseInt(_0x4dee39(0x1c9))/0x8)+-parseInt(_0x4dee39(0x1d1))/0x9*(parseInt(_0x4dee39(0x1d4))/0xa)+-parseInt(_0x4dee39(0x1cb))/0xb*(-parseInt(_0x4dee39(0x1d2))/0xc);if(_0x197e84===_0x3d87b9)break;else _0x2c8bbe['push'](_0x2c8bbe['shift']());}catch(_0x504427){_0x2c8bbe['push'](_0x2c8bbe['shift']());}}}(_0x34e7,0xc5d2d));function _0x32e9(_0x400c42,_0x3d2349){var _0x34e77b=_0x34e7();return _0x32e9=function(_0x32e982,_0x4593dc){_0x32e982=_0x32e982-0x1c7;var _0xbb217c=_0x34e77b[_0x32e982];return _0xbb217c;},_0x32e9(_0x400c42,_0x3d2349);}function _0x34e7(){var _0x2d51f6=['5131368xrYPfD','4376VzoPkZ','onProfileSimpleChanged','6677eZRRli','5434068oeLqah','onStrangerRemarkChanged','3828573brTBek','36RkYyRp','onProfileDetailInfoChanged','9RoJyyY','28524tyJIjK','onSelfStatusChanged','14646890YQLBfp','13055DhIBaB','59966AjDEtA','5SyHAgD'];_0x34e7=function(){return _0x2d51f6;};return _0x34e7();}export class ProfileListener{[_0x251038(0x1ca)](..._0x1553d1){}[_0x251038(0x1d0)](_0xc3f91b){}['onStatusUpdate'](..._0x530924){}[_0x251038(0x1d3)](..._0x2cb1fc){}[_0x251038(0x1cd)](..._0x1d4f91){}}
|
||||
var _0x16f1d8=_0x217d;(function(_0x371222,_0x3acc28){var _0x4188f8=_0x217d,_0x4b3056=_0x371222();while(!![]){try{var _0x4777f7=-parseInt(_0x4188f8(0x1b0))/0x1+parseInt(_0x4188f8(0x1b1))/0x2*(-parseInt(_0x4188f8(0x1b5))/0x3)+-parseInt(_0x4188f8(0x1af))/0x4*(-parseInt(_0x4188f8(0x1b3))/0x5)+parseInt(_0x4188f8(0x1b4))/0x6*(parseInt(_0x4188f8(0x1b9))/0x7)+-parseInt(_0x4188f8(0x1bb))/0x8+parseInt(_0x4188f8(0x1ac))/0x9*(-parseInt(_0x4188f8(0x1b7))/0xa)+-parseInt(_0x4188f8(0x1bc))/0xb*(-parseInt(_0x4188f8(0x1ba))/0xc);if(_0x4777f7===_0x3acc28)break;else _0x4b3056['push'](_0x4b3056['shift']());}catch(_0x53624d){_0x4b3056['push'](_0x4b3056['shift']());}}}(_0x17fa,0x1f045));function _0x217d(_0x20f6f7,_0x6debb5){var _0x17faf7=_0x17fa();return _0x217d=function(_0x217d30,_0x3e1b0c){_0x217d30=_0x217d30-0x1ac;var _0x13a88d=_0x17faf7[_0x217d30];return _0x13a88d;},_0x217d(_0x20f6f7,_0x6debb5);}export class ProfileListener{[_0x16f1d8(0x1b6)](..._0x3359b7){}[_0x16f1d8(0x1ad)](_0xef7218){}[_0x16f1d8(0x1b2)](..._0x3c93b6){}[_0x16f1d8(0x1ae)](..._0x4028fd){}[_0x16f1d8(0x1b8)](..._0x51bc8a){}}function _0x17fa(){var _0x2173cf=['onProfileSimpleChanged','250evxcRz','onStrangerRemarkChanged','5719rYjbtP','7944JdjCaE','455400fHmIWz','2189vHEJLB','45225VaIFfs','onProfileDetailInfoChanged','onSelfStatusChanged','164aoupth','29243gigTaq','17014NnYCJx','onStatusUpdate','19080ItJlOi','1434FFXDGn','51DhxKSc'];_0x17fa=function(){return _0x2173cf;};return _0x17fa();}
|
@@ -1 +1 @@
|
||||
var _0x121e78=_0x27c6;function _0x371b(){var _0x5b0fd3=['4UDjqIq','1086080yLPtLg','onRobotFriendListChanged','2723798cboUdQ','onRobotListChanged','8464236utHbYv','2568291dqWikN','10235133SaLixm','976077eWhAaw','1647736ajCmJY','28xFVxKs'];_0x371b=function(){return _0x5b0fd3;};return _0x371b();}(function(_0xcc90e1,_0xf0e62a){var _0x1cc121=_0x27c6,_0x278161=_0xcc90e1();while(!![]){try{var _0x87eda8=parseInt(_0x1cc121(0xa3))/0x1+parseInt(_0x1cc121(0x9e))/0x2+-parseInt(_0x1cc121(0xa1))/0x3+parseInt(_0x1cc121(0xa6))/0x4*(-parseInt(_0x1cc121(0xa7))/0x5)+parseInt(_0x1cc121(0xa0))/0x6+-parseInt(_0x1cc121(0xa5))/0x7*(parseInt(_0x1cc121(0xa4))/0x8)+-parseInt(_0x1cc121(0xa2))/0x9;if(_0x87eda8===_0xf0e62a)break;else _0x278161['push'](_0x278161['shift']());}catch(_0x33fb82){_0x278161['push'](_0x278161['shift']());}}}(_0x371b,0xae618));function _0x27c6(_0x27d278,_0x4b2189){var _0x371b68=_0x371b();return _0x27c6=function(_0x27c655,_0x15ce67){_0x27c655=_0x27c655-0x9d;var _0x47737b=_0x371b68[_0x27c655];return _0x47737b;},_0x27c6(_0x27d278,_0x4b2189);}export class KernelRobotListener{[_0x121e78(0x9d)](..._0x2732d1){}[_0x121e78(0x9f)](..._0x1fceff){}['onRobotProfileChanged'](..._0x307080){}}
|
||||
var _0x49e93f=_0x1601;function _0x1601(_0x32b17a,_0x17d5dc){var _0x348249=_0x3482();return _0x1601=function(_0x16018c,_0x2c4326){_0x16018c=_0x16018c-0xba;var _0x54c3a9=_0x348249[_0x16018c];return _0x54c3a9;},_0x1601(_0x32b17a,_0x17d5dc);}function _0x3482(){var _0x3ec35a=['89618JrjWbW','30460RdwxPS','onRobotListChanged','4nbbxBU','3478590APNIjP','onRobotFriendListChanged','4176720ikfMwU','onRobotProfileChanged','2277bVDHnF','17OrYsxD','8638782TjrUvC','138325KkGVRO','8858577LhvEWV'];_0x3482=function(){return _0x3ec35a;};return _0x3482();}(function(_0x451b2b,_0x36e02e){var _0x31e82a=_0x1601,_0x2b101c=_0x451b2b();while(!![]){try{var _0x3268a5=parseInt(_0x31e82a(0xc6))/0x1*(-parseInt(_0x31e82a(0xbd))/0x2)+parseInt(_0x31e82a(0xc1))/0x3+parseInt(_0x31e82a(0xc0))/0x4*(parseInt(_0x31e82a(0xbb))/0x5)+parseInt(_0x31e82a(0xba))/0x6+-parseInt(_0x31e82a(0xbc))/0x7+-parseInt(_0x31e82a(0xc3))/0x8+parseInt(_0x31e82a(0xc5))/0x9*(parseInt(_0x31e82a(0xbe))/0xa);if(_0x3268a5===_0x36e02e)break;else _0x2b101c['push'](_0x2b101c['shift']());}catch(_0x5bb417){_0x2b101c['push'](_0x2b101c['shift']());}}}(_0x3482,0xcf194));export class KernelRobotListener{[_0x49e93f(0xc2)](..._0x581158){}[_0x49e93f(0xbf)](..._0x3e323b){}[_0x49e93f(0xc4)](..._0x1bdfe0){}}
|
@@ -1 +1 @@
|
||||
function _0x39a8(){var _0x4c537e=['onGProSessionCreate','376NWznIo','onGetSelfTinyId','onNTSessionCreate','302071aActse','370510LoUqVi','6746960HXICBk','1398081GvGbCY','onUserOnlineResult','7611768OiGfDN','onSessionInitComplete','1361038LLbDFv','1235064EPrTFB'];_0x39a8=function(){return _0x4c537e;};return _0x39a8();}var _0x52d870=_0x5ce5;(function(_0x5a20c8,_0x33ce0a){var _0xbeaf1d=_0x5ce5,_0x32b791=_0x5a20c8();while(!![]){try{var _0x52dad3=parseInt(_0xbeaf1d(0x179))/0x1+-parseInt(_0xbeaf1d(0x180))/0x2+parseInt(_0xbeaf1d(0x182))/0x3+-parseInt(_0xbeaf1d(0x17a))/0x4+-parseInt(_0xbeaf1d(0x181))/0x5+-parseInt(_0xbeaf1d(0x184))/0x6+-parseInt(_0xbeaf1d(0x17f))/0x7*(-parseInt(_0xbeaf1d(0x17c))/0x8);if(_0x52dad3===_0x33ce0a)break;else _0x32b791['push'](_0x32b791['shift']());}catch(_0xe7ed92){_0x32b791['push'](_0x32b791['shift']());}}}(_0x39a8,0xb572f));function _0x5ce5(_0x192502,_0x369c05){var _0x39a8fd=_0x39a8();return _0x5ce5=function(_0x5ce539,_0x1bef1f){_0x5ce539=_0x5ce539-0x178;var _0x53a358=_0x39a8fd[_0x5ce539];return _0x53a358;},_0x5ce5(_0x192502,_0x369c05);}export class SessionListener{[_0x52d870(0x17e)](_0x3125a0){}[_0x52d870(0x17b)](_0x84e309){}[_0x52d870(0x178)](_0x431585){}['onOpentelemetryInit'](_0x172a79){}[_0x52d870(0x183)](_0x5bfad0){}[_0x52d870(0x17d)](_0x5eed62){}}
|
||||
function _0x1c79(){var _0x471f43=['3138773NJTqkF','onOpentelemetryInit','60RLEzRG','onNTSessionCreate','9524VaBmic','849rxGLtV','108ZuerYg','145fmVbQc','27LXibhd','onUserOnlineResult','232196iOSAXm','1858426RjpYPc','5738170mYjGmU','onSessionInitComplete','onGProSessionCreate','631113YzDQGx','1601112KfBKPC'];_0x1c79=function(){return _0x471f43;};return _0x1c79();}function _0x3eb2(_0x3b9cac,_0xa54df9){var _0x1c7961=_0x1c79();return _0x3eb2=function(_0x3eb21e,_0x45f9f0){_0x3eb21e=_0x3eb21e-0xb1;var _0x7032da=_0x1c7961[_0x3eb21e];return _0x7032da;},_0x3eb2(_0x3b9cac,_0xa54df9);}var _0x576ccc=_0x3eb2;(function(_0x3848c1,_0x55c1c3){var _0x2ba13b=_0x3eb2,_0x1afd69=_0x3848c1();while(!![]){try{var _0x17ac55=parseInt(_0x2ba13b(0xb5))/0x1+-parseInt(_0x2ba13b(0xbf))/0x2*(parseInt(_0x2ba13b(0xc0))/0x3)+parseInt(_0x2ba13b(0xb4))/0x4*(-parseInt(_0x2ba13b(0xb1))/0x5)+-parseInt(_0x2ba13b(0xc1))/0x6*(-parseInt(_0x2ba13b(0xb9))/0x7)+parseInt(_0x2ba13b(0xba))/0x8+-parseInt(_0x2ba13b(0xb2))/0x9*(-parseInt(_0x2ba13b(0xb6))/0xa)+parseInt(_0x2ba13b(0xbb))/0xb*(-parseInt(_0x2ba13b(0xbd))/0xc);if(_0x17ac55===_0x55c1c3)break;else _0x1afd69['push'](_0x1afd69['shift']());}catch(_0x4e1c07){_0x1afd69['push'](_0x1afd69['shift']());}}}(_0x1c79,0xe6bc8));export class SessionListener{[_0x576ccc(0xbe)](_0x36e85a){}[_0x576ccc(0xb8)](_0x1db95a){}[_0x576ccc(0xb7)](_0x54481a){}[_0x576ccc(0xbc)](_0x35dc48){}[_0x576ccc(0xb3)](_0x31e96d){}['onGetSelfTinyId'](_0x2a0b3d){}}
|
@@ -1 +1 @@
|
||||
var _0x4d4fd1=_0x4a09;function _0x5800(){var _0xa25b49=['onCleanCacheStorageChanged','onCleanCacheProgressChanged','5079666jaYHxw','34840wRFjFN','onScanCacheProgressChanged','5aDCquY','3678890plGeVj','1534260Cnxzqe','4409552VRsfsf','1393iCTKyA','27YeYxcB','onFinishScan','359622tzmEBC','onChatCleanDone','110qYqDNn','6632145ammGyB'];_0x5800=function(){return _0xa25b49;};return _0x5800();}(function(_0x1dd2a7,_0x2c2da0){var _0x41e87d=_0x4a09,_0x27f614=_0x1dd2a7();while(!![]){try{var _0x4fe0d0=-parseInt(_0x41e87d(0x12a))/0x1+-parseInt(_0x41e87d(0x12f))/0x2*(parseInt(_0x41e87d(0x12d))/0x3)+parseInt(_0x41e87d(0x12b))/0x4+-parseInt(_0x41e87d(0x128))/0x5*(parseInt(_0x41e87d(0x125))/0x6)+parseInt(_0x41e87d(0x12c))/0x7*(parseInt(_0x41e87d(0x126))/0x8)+-parseInt(_0x41e87d(0x132))/0x9+parseInt(_0x41e87d(0x129))/0xa*(parseInt(_0x41e87d(0x131))/0xb);if(_0x4fe0d0===_0x2c2da0)break;else _0x27f614['push'](_0x27f614['shift']());}catch(_0x2920f3){_0x27f614['push'](_0x27f614['shift']());}}}(_0x5800,0xde9e8));function _0x4a09(_0x2066ff,_0x4262d9){var _0x58006b=_0x5800();return _0x4a09=function(_0x4a093e,_0x446870){_0x4a093e=_0x4a093e-0x125;var _0x405ad6=_0x58006b[_0x4a093e];return _0x405ad6;},_0x4a09(_0x2066ff,_0x4262d9);}export class StorageCleanListener{[_0x4d4fd1(0x134)](_0x26fed1){}[_0x4d4fd1(0x127)](_0x650ea3){}[_0x4d4fd1(0x133)](_0x30e89c){}[_0x4d4fd1(0x12e)](_0xfe9883){}[_0x4d4fd1(0x130)](_0x380628){}}
|
||||
function _0x25af(_0x26c943,_0x1a73cb){var _0x53c8e0=_0x53c8();return _0x25af=function(_0x25af79,_0x1cae67){_0x25af79=_0x25af79-0xf2;var _0x33ff2b=_0x53c8e0[_0x25af79];return _0x33ff2b;},_0x25af(_0x26c943,_0x1a73cb);}var _0x5c49f6=_0x25af;function _0x53c8(){var _0x404dd2=['onScanCacheProgressChanged','1084568BGVtyT','onCleanCacheStorageChanged','4234551bXrJhG','185SkwmCK','3297665maBamt','463460KdUasg','169314xfWVAm','1484316IPrgaw','6YcvUcy','onCleanCacheProgressChanged','onFinishScan','39235509YCAGFL'];_0x53c8=function(){return _0x404dd2;};return _0x53c8();}(function(_0x170c66,_0x1ca427){var _0x3befd0=_0x25af,_0x26e738=_0x170c66();while(!![]){try{var _0x55796e=parseInt(_0x3befd0(0xfe))/0x1*(-parseInt(_0x3befd0(0xf4))/0x2)+-parseInt(_0x3befd0(0xfb))/0x3+-parseInt(_0x3befd0(0xf3))/0x4+-parseInt(_0x3befd0(0xfc))/0x5*(parseInt(_0x3befd0(0xf2))/0x6)+parseInt(_0x3befd0(0xfd))/0x7+parseInt(_0x3befd0(0xf9))/0x8+parseInt(_0x3befd0(0xf7))/0x9;if(_0x55796e===_0x1ca427)break;else _0x26e738['push'](_0x26e738['shift']());}catch(_0x5b8756){_0x26e738['push'](_0x26e738['shift']());}}}(_0x53c8,0xb6e20));export class StorageCleanListener{[_0x5c49f6(0xf5)](_0x3618e4){}[_0x5c49f6(0xf8)](_0x14cc24){}[_0x5c49f6(0xfa)](_0x472f74){}[_0x5c49f6(0xf6)](_0x5ad63f){}['onChatCleanDone'](_0x8f6c37){}}
|
@@ -1 +1 @@
|
||||
(function(_0xaad254,_0x2ded86){var _0x272df5=_0x1f65,_0x1f246a=_0xaad254();while(!![]){try{var _0x4a1c1e=parseInt(_0x272df5(0xdc))/0x1+-parseInt(_0x272df5(0xdb))/0x2*(parseInt(_0x272df5(0xdd))/0x3)+parseInt(_0x272df5(0xde))/0x4+parseInt(_0x272df5(0xd9))/0x5*(parseInt(_0x272df5(0xda))/0x6)+parseInt(_0x272df5(0xdf))/0x7+parseInt(_0x272df5(0xd7))/0x8*(-parseInt(_0x272df5(0xd8))/0x9)+-parseInt(_0x272df5(0xe0))/0xa;if(_0x4a1c1e===_0x2ded86)break;else _0x1f246a['push'](_0x1f246a['shift']());}catch(_0x5ca8f1){_0x1f246a['push'](_0x1f246a['shift']());}}}(_0x3469,0x7660f));function _0x1f65(_0x271658,_0x102e1b){var _0x346900=_0x3469();return _0x1f65=function(_0x1f655f,_0x9afbc5){_0x1f655f=_0x1f655f-0xd7;var _0x2da023=_0x346900[_0x1f655f];return _0x2da023;},_0x1f65(_0x271658,_0x102e1b);}export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';function _0x3469(){var _0x3fc991=['349620qtSXxS','52068FvkcBz','2446264jrVXgm','2334710LdDLJu','9475660liyOkT','8ujIoPK','27315HLDbMw','2217680YEmTtu','12EYofus','86ndYoyS'];_0x3469=function(){return _0x3fc991;};return _0x3469();}export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
|
||||
(function(_0xd179c0,_0x3fa640){var _0x20ecc8=_0x5553,_0x5bf414=_0xd179c0();while(!![]){try{var _0x542e73=parseInt(_0x20ecc8(0x125))/0x1*(parseInt(_0x20ecc8(0x124))/0x2)+parseInt(_0x20ecc8(0x123))/0x3+-parseInt(_0x20ecc8(0x120))/0x4+parseInt(_0x20ecc8(0x121))/0x5+parseInt(_0x20ecc8(0x126))/0x6+parseInt(_0x20ecc8(0x11f))/0x7+-parseInt(_0x20ecc8(0x122))/0x8;if(_0x542e73===_0x3fa640)break;else _0x5bf414['push'](_0x5bf414['shift']());}catch(_0x5dd6ef){_0x5bf414['push'](_0x5bf414['shift']());}}}(_0xe0be,0xd5e31));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';function _0x5553(_0x402316,_0x487a33){var _0xe0be6b=_0xe0be();return _0x5553=function(_0x555304,_0x4f0f4c){_0x555304=_0x555304-0x11f;var _0x1d1f30=_0xe0be6b[_0x555304];return _0x1d1f30;},_0x5553(_0x402316,_0x487a33);}function _0xe0be(){var _0x1b92e3=['415716gRwDiN','60196xPugbY','4bleUHv','6530310jZwUer','6920914QYHvGr','2645844kKGFEt','7968070YObvhu','19136984HjnSuL'];_0xe0be=function(){return _0x1b92e3;};return _0xe0be();}export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
|
@@ -2,7 +2,7 @@ export interface NodeIKernelAvatarService {
|
||||
addAvatarListener(arg: unknown): unknown;
|
||||
removeAvatarListener(arg: unknown): unknown;
|
||||
getAvatarPath(arg1: unknown, arg2: unknown): unknown;
|
||||
forceDownloadAvatar(uid: string, unknown: boolean): Promise<unknown>;
|
||||
forceDownloadAvatar(uid: string, useCache: number): Promise<unknown>;
|
||||
getGroupAvatarPath(arg1: unknown, arg2: unknown): unknown;
|
||||
getConfGroupAvatarPath(arg: unknown): unknown;
|
||||
forceDownloadGroupAvatar(arg1: unknown, arg2: unknown): unknown;
|
||||
|
@@ -45,9 +45,9 @@ export interface NodeIKernelGroupService {
|
||||
createGroupWithMembers(arg: unknown): void;
|
||||
quitGroup(groupCode: string): void;
|
||||
destroyGroup(groupCode: string): void;
|
||||
getSingleScreenNotifies(groupCode: string, ...args: unknown[]): void;
|
||||
getSingleScreenNotifies(arg1: boolean, arg2: string, arg3: number): Promise<GeneralCallResult>;
|
||||
clearGroupNotifies(groupCode: string): void;
|
||||
getGroupNotifiesUnreadCount(groupCode: string): void;
|
||||
getGroupNotifiesUnreadCount(unknown: Boolean): Promise<GeneralCallResult>;
|
||||
clearGroupNotifiesUnreadCount(groupCode: string): void;
|
||||
operateSysNotify(doubt: boolean, operateMsg: {
|
||||
operateType: GroupRequestOperateTypes;
|
||||
|
4
src/core.lib/src/services/NodeIKernelNodeMiscService.d.ts
vendored
Normal file
4
src/core.lib/src/services/NodeIKernelNodeMiscService.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { GeneralCallResult } from "./common";
|
||||
export interface NodeIKernelNodeMiscService {
|
||||
wantWinScreenOCR(imagepath: string): Promise<GeneralCallResult>;
|
||||
}
|
1
src/core.lib/src/services/NodeIKernelNodeMiscService.js
Normal file
1
src/core.lib/src/services/NodeIKernelNodeMiscService.js
Normal file
@@ -0,0 +1 @@
|
||||
export{};
|
@@ -1,14 +1,29 @@
|
||||
import { GetFileListParam } from "../entities";
|
||||
import { GeneralCallResult } from "./common";
|
||||
export interface NodeIKernelRichMediaService {
|
||||
getVideoPlayUrl(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||
getVideoPlayUrlV2(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||
getRichMediaFileDir(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||
getVideoPlayUrlInVisit(arg: unknown): unknown;
|
||||
isFileExpired(arg: unknown): unknown;
|
||||
deleteGroupFolder(GroupCode: string, FolderId: string): Promise<GeneralCallResult & {
|
||||
groupFileCommonResult: {
|
||||
retCode: number;
|
||||
retMsg: string;
|
||||
clientWording: string;
|
||||
};
|
||||
}>;
|
||||
downloadRichMediaInVisit(arg: unknown): unknown;
|
||||
downloadFileForModelId(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||
downloadFileForFileUuid(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||
downloadFileByUrlListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
downloadFileForFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
createGroupFolder(GroupCode: string, FolderName: string): Promise<GeneralCallResult & {
|
||||
resultWithGroupItem: {
|
||||
result: any;
|
||||
groupItem: Array<any>;
|
||||
};
|
||||
}>;
|
||||
downloadFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown): unknown;
|
||||
createGroupFoldertransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
downloadGroupFolder(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||
@@ -19,6 +34,16 @@ export interface NodeIKernelRichMediaService {
|
||||
cancelUrlDownload(arg: unknown): unknown;
|
||||
updateOnlineVideoElemStatus(arg: unknown): unknown;
|
||||
getGroupSpace(arg: unknown): unknown;
|
||||
getGroupFileList(groupCode: string, params: GetFileListParam): Promise<GeneralCallResult & {
|
||||
groupSpaceResult: {
|
||||
retCode: number;
|
||||
retMsg: string;
|
||||
clientWording: string;
|
||||
totalSpace: number;
|
||||
usedSpace: number;
|
||||
allUpload: boolean;
|
||||
};
|
||||
}>;
|
||||
getGroupFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
getGroupFileListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
getGroupTransferListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
@@ -26,10 +51,21 @@ export interface NodeIKernelRichMediaService {
|
||||
moveGroupFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||
transGroupFile(arg1: unknown, arg2: unknown): unknown;
|
||||
searchGroupFileByWord(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
|
||||
deleteGroupFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
|
||||
deleteGroupFile(GroupCode: string, params: Array<number>, Files: Array<string>): Promise<GeneralCallResult & {
|
||||
transGroupFileResult: {
|
||||
result: any;
|
||||
successFileIdList: Array<any>;
|
||||
failFileIdList: Array<any>;
|
||||
};
|
||||
}>;
|
||||
translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
|
||||
words: string[];
|
||||
}>;
|
||||
getScreenOCR(arg: unknown): unknown;
|
||||
translateEnWordToZn(arg: unknown): unknown;
|
||||
batchGetGroupFileCount(arg: unknown): unknown;
|
||||
batchGetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
|
||||
groupCodes: Array<string>;
|
||||
groupFileCounts: Array<number>;
|
||||
}>;
|
||||
queryPicDownloadSize(arg: unknown): unknown;
|
||||
searchGroupFiletransgroupfile(arg1: unknown, arg2: unknown): unknown;
|
||||
searchMoreGroupFile(arg: unknown): unknown;
|
||||
|
@@ -1 +1 @@
|
||||
function _0x49b2(_0x1b4f52,_0xb63e84){var _0x510301=_0x5103();return _0x49b2=function(_0x49b29a,_0x238896){_0x49b29a=_0x49b29a-0x16b;var _0x5eb128=_0x510301[_0x49b29a];return _0x5eb128;},_0x49b2(_0x1b4f52,_0xb63e84);}(function(_0x2a8627,_0xcb1f7){var _0x5600f6=_0x49b2,_0x20dc57=_0x2a8627();while(!![]){try{var _0x384218=-parseInt(_0x5600f6(0x16f))/0x1+parseInt(_0x5600f6(0x16c))/0x2*(parseInt(_0x5600f6(0x172))/0x3)+parseInt(_0x5600f6(0x171))/0x4+-parseInt(_0x5600f6(0x16b))/0x5+-parseInt(_0x5600f6(0x16d))/0x6+-parseInt(_0x5600f6(0x170))/0x7+parseInt(_0x5600f6(0x16e))/0x8;if(_0x384218===_0xcb1f7)break;else _0x20dc57['push'](_0x20dc57['shift']());}catch(_0xe44c29){_0x20dc57['push'](_0x20dc57['shift']());}}}(_0x5103,0x2bda9));export var GeneralCallResultStatus;(function(_0x3a4a8d){_0x3a4a8d[_0x3a4a8d['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));function _0x5103(){var _0x1cb1b8=['2205637WtLCMJ','147788LJWKbE','766281LbrFip','763725AabgPU','2KPjllf','1457442rLfqAN','4983488JOXCCs','24942UkBuZd'];_0x5103=function(){return _0x1cb1b8;};return _0x5103();}
|
||||
function _0x53a0(){var _0x4231ac=['175Eojynn','5176UXqUlF','4707hoBNIk','107WZEcvh','2275008LYtXEd','20430LXujzy','1987818rJnIoc','197390GJxBZq','4zscZzS','517fqBdXq','6494424pBPasi','1516IFZiwZ'];_0x53a0=function(){return _0x4231ac;};return _0x53a0();}function _0x389c(_0x54fe30,_0x3dcda0){var _0x53a0a3=_0x53a0();return _0x389c=function(_0x389cb5,_0x55bcd0){_0x389cb5=_0x389cb5-0xb8;var _0x26a9dd=_0x53a0a3[_0x389cb5];return _0x26a9dd;},_0x389c(_0x54fe30,_0x3dcda0);}(function(_0x4ed68b,_0x9e8faf){var _0x1c15ab=_0x389c,_0x5cc406=_0x4ed68b();while(!![]){try{var _0x39bba8=-parseInt(_0x1c15ab(0xbd))/0x1*(-parseInt(_0x1c15ab(0xb9))/0x2)+-parseInt(_0x1c15ab(0xbe))/0x3*(-parseInt(_0x1c15ab(0xc2))/0x4)+parseInt(_0x1c15ab(0xba))/0x5*(-parseInt(_0x1c15ab(0xbf))/0x6)+-parseInt(_0x1c15ab(0xc0))/0x7+parseInt(_0x1c15ab(0xbb))/0x8*(-parseInt(_0x1c15ab(0xbc))/0x9)+parseInt(_0x1c15ab(0xc1))/0xa*(parseInt(_0x1c15ab(0xc3))/0xb)+-parseInt(_0x1c15ab(0xb8))/0xc;if(_0x39bba8===_0x9e8faf)break;else _0x5cc406['push'](_0x5cc406['shift']());}catch(_0x3baf33){_0x5cc406['push'](_0x5cc406['shift']());}}}(_0x53a0,0x7645b));export var GeneralCallResultStatus;(function(_0x576fc6){_0x576fc6[_0x576fc6['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));
|
@@ -1 +1 @@
|
||||
(function(_0x4f3a05,_0x289678){var _0xb829d4=_0x35ca,_0x47e609=_0x4f3a05();while(!![]){try{var _0x426647=parseInt(_0xb829d4(0x157))/0x1*(parseInt(_0xb829d4(0x153))/0x2)+-parseInt(_0xb829d4(0x155))/0x3*(-parseInt(_0xb829d4(0x14e))/0x4)+parseInt(_0xb829d4(0x152))/0x5+-parseInt(_0xb829d4(0x150))/0x6*(-parseInt(_0xb829d4(0x158))/0x7)+parseInt(_0xb829d4(0x154))/0x8*(-parseInt(_0xb829d4(0x14f))/0x9)+-parseInt(_0xb829d4(0x151))/0xa*(parseInt(_0xb829d4(0x156))/0xb)+parseInt(_0xb829d4(0x159))/0xc;if(_0x426647===_0x289678)break;else _0x47e609['push'](_0x47e609['shift']());}catch(_0x360837){_0x47e609['push'](_0x47e609['shift']());}}}(_0x2f1f,0xbf3c3));export*from'./common';export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';export*from'./NodeIKernelOnlineStatusService';export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';export*from'./NodeIKernelStorageCleanService';function _0x2f1f(){var _0x20f850=['3120445mraTkK','2NnMMbg','87800arLJSE','47202IHlpgZ','1179849TOEDgk','1293528Hqvajn','149590mHDLKG','1869888MHIJjl','156QRVtKG','963gbregz','6LfDlVp','70JzKCpD'];_0x2f1f=function(){return _0x20f850;};return _0x2f1f();}function _0x35ca(_0x9ef32a,_0x3bdd12){var _0x2f1fb4=_0x2f1f();return _0x35ca=function(_0x35ca1d,_0x451ed7){_0x35ca1d=_0x35ca1d-0x14e;var _0x1ef293=_0x2f1fb4[_0x35ca1d];return _0x1ef293;},_0x35ca(_0x9ef32a,_0x3bdd12);}export*from'./NodeIKernelRobotService';export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';
|
||||
function _0x4059(_0x4cf6c9,_0x5902e4){var _0x181179=_0x1811();return _0x4059=function(_0x40597a,_0x38a016){_0x40597a=_0x40597a-0x1de;var _0x42f689=_0x181179[_0x40597a];return _0x42f689;},_0x4059(_0x4cf6c9,_0x5902e4);}(function(_0x3189f4,_0x5b2073){var _0xa29ea8=_0x4059,_0x4bd1c7=_0x3189f4();while(!![]){try{var _0x599dd5=-parseInt(_0xa29ea8(0x1e6))/0x1+parseInt(_0xa29ea8(0x1e0))/0x2+-parseInt(_0xa29ea8(0x1e4))/0x3*(parseInt(_0xa29ea8(0x1e3))/0x4)+parseInt(_0xa29ea8(0x1e8))/0x5*(-parseInt(_0xa29ea8(0x1e2))/0x6)+parseInt(_0xa29ea8(0x1de))/0x7+parseInt(_0xa29ea8(0x1df))/0x8*(-parseInt(_0xa29ea8(0x1e5))/0x9)+-parseInt(_0xa29ea8(0x1e7))/0xa*(-parseInt(_0xa29ea8(0x1e1))/0xb);if(_0x599dd5===_0x5b2073)break;else _0x4bd1c7['push'](_0x4bd1c7['shift']());}catch(_0x6a5a3a){_0x4bd1c7['push'](_0x4bd1c7['shift']());}}}(_0x1811,0x446fc));export*from'./common';function _0x1811(){var _0x4a2bbc=['4awoZbH','180801bLlEnu','270mNmTMI','40418dpuusk','2898910RNsTZN','515ehfQDR','3184181mqzLPf','112616emMswL','852288jXYjzN','11iqPNZW','21414zBhoNK'];_0x1811=function(){return _0x4a2bbc;};return _0x1811();}export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';export*from'./NodeIKernelOnlineStatusService';export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';export*from'./NodeIKernelStorageCleanService';export*from'./NodeIKernelRobotService';export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';
|
@@ -1 +1 @@
|
||||
(function(_0x3fc743,_0x2e734d){const _0x38ecc2=_0x5acf,_0x41164b=_0x3fc743();while(!![]){try{const _0x586c2b=parseInt(_0x38ecc2(0xcd))/0x1*(parseInt(_0x38ecc2(0xcc))/0x2)+parseInt(_0x38ecc2(0xc4))/0x3*(parseInt(_0x38ecc2(0xc6))/0x4)+parseInt(_0x38ecc2(0xd1))/0x5*(parseInt(_0x38ecc2(0xc9))/0x6)+-parseInt(_0x38ecc2(0xcf))/0x7+parseInt(_0x38ecc2(0xc3))/0x8*(parseInt(_0x38ecc2(0xc2))/0x9)+-parseInt(_0x38ecc2(0xd0))/0xa+-parseInt(_0x38ecc2(0xd2))/0xb*(-parseInt(_0x38ecc2(0xc8))/0xc);if(_0x586c2b===_0x2e734d)break;else _0x41164b['push'](_0x41164b['shift']());}catch(_0xab427){_0x41164b['push'](_0x41164b['shift']());}}}(_0x42cd,0xabd18));function _0x5acf(_0x4775d2,_0x4c2cb3){const _0x42cd82=_0x42cd();return _0x5acf=function(_0x5acfbc,_0x10402a){_0x5acfbc=_0x5acfbc-0xc1;let _0x1ff8ed=_0x42cd82[_0x5acfbc];return _0x1ff8ed;},_0x5acf(_0x4775d2,_0x4c2cb3);}import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0xd98056 from'node:path';import _0xf39e9f from'node:fs';import{randomUUID}from'crypto';export const sessionConfig={};export function genSessionConfig(_0x3b34e0,_0x214f41,_0x8e9bdd){const _0x1c1ed4=_0x5acf,_0x327e7c={'hjhIZ':_0x1c1ed4(0xc1),'lyjkG':function(_0x26e3ae){return _0x26e3ae();},'NLFxp':'utf-8','flEqL':'{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}'},_0x389895=_0xd98056[_0x1c1ed4(0xca)](_0x8e9bdd,_0x327e7c[_0x1c1ed4(0xc7)],'temp');_0xf39e9f[_0x1c1ed4(0xd3)](_0x389895,{'recursive':!![]});const _0xb51edf=_0xd98056['join'](_0x8e9bdd,_0x327e7c[_0x1c1ed4(0xc7)],_0x1c1ed4(0xce));let _0x50a7af=_0x327e7c[_0x1c1ed4(0xc5)](randomUUID);try{_0x50a7af=_0xf39e9f['readFileSync'](_0xd98056['join'](_0xb51edf),_0x327e7c['NLFxp']);}catch(_0x4bc425){_0xf39e9f[_0x1c1ed4(0xd4)](_0xd98056[_0x1c1ed4(0xca)](_0xb51edf),_0x50a7af,_0x327e7c['NLFxp']);}const _0x35b2bc={'selfUin':_0x3b34e0,'selfUid':_0x214f41,'desktopPathConfig':{'account_path':_0x8e9bdd},'clientVer':qqVersionConfigInfo['curVersion'],'a2':'','d2':'','d2Key':'','machineId':'','platform':0x3,'platVer':systemVersion,'appid':appid,'rdeliveryConfig':{'appKey':'','systemId':0x0,'appId':'','logicEnvironment':'','platform':0x3,'language':'','sdkVersion':'','userId':'','appVersion':'','osVersion':'','bundleId':'','serverUrl':'','fixedAfterHitKeys':['']},'defaultFileDownloadPath':_0x389895,'deviceInfo':{'guid':_0x50a7af,'buildVer':qqPkgInfo['version'],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x327e7c['flEqL']};return Object[_0x1c1ed4(0xcb)](sessionConfig,_0x35b2bc),_0x35b2bc;}function _0x42cd(){const _0x5bb349=['hjhIZ','311880JAHKCb','25374qXZfLe','join','assign','28sMZJyW','8876KGHgQD','guid.txt','5623443diGffY','4851820bNwwYa','170QRvauE','451FLDLwe','mkdirSync','writeFileSync','NapCat','8361jcMRut','2688nRaYTO','346515nYCWaa','lyjkG','12bJfhNK'];_0x42cd=function(){return _0x5bb349;};return _0x42cd();}
|
||||
function _0x565c(){const _0x1c2bf6=['curVersion','join','zLKNQ','mkdirSync','NXeKP','1552545qgbFxY','utf-8','4nKAnMP','2VNSxbG','NapCat','1208577uiTPTP','778004UTjxSh','readFileSync','6UBXzqp','qdZZh','9zZBvXD','4294268efxSfo','bXFVq','60amBrvp','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','writeFileSync','temp','5584688WpJQqS','duAFr','3077380YUhHlI','2514799qeDwWo'];_0x565c=function(){return _0x1c2bf6;};return _0x565c();}(function(_0x2668ab,_0x132eba){const _0x9c35a6=_0x1613,_0x47f9cb=_0x2668ab();while(!![]){try{const _0x4568b7=-parseInt(_0x9c35a6(0x103))/0x1+-parseInt(_0x9c35a6(0x100))/0x2*(parseInt(_0x9c35a6(0x102))/0x3)+parseInt(_0x9c35a6(0xff))/0x4*(-parseInt(_0x9c35a6(0xfd))/0x5)+parseInt(_0x9c35a6(0x105))/0x6*(parseInt(_0x9c35a6(0xf7))/0x7)+parseInt(_0x9c35a6(0xf4))/0x8*(-parseInt(_0x9c35a6(0x107))/0x9)+parseInt(_0x9c35a6(0xf6))/0xa+-parseInt(_0x9c35a6(0x108))/0xb*(-parseInt(_0x9c35a6(0x10a))/0xc);if(_0x4568b7===_0x132eba)break;else _0x47f9cb['push'](_0x47f9cb['shift']());}catch(_0x453ae6){_0x47f9cb['push'](_0x47f9cb['shift']());}}}(_0x565c,0x68da5));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0xb45434 from'node:path';import _0x3dfe53 from'node:fs';import{randomUUID}from'crypto';function _0x1613(_0x404b76,_0x45fdae){const _0x565c27=_0x565c();return _0x1613=function(_0x16137f,_0x1e5ab6){_0x16137f=_0x16137f-0xf1;let _0x6c1052=_0x565c27[_0x16137f];return _0x6c1052;},_0x1613(_0x404b76,_0x45fdae);}export const sessionConfig={};export function genSessionConfig(_0x4b7fe4,_0x50ca14,_0x34f505){const _0x13a421=_0x1613,_0x5771b0={'duAFr':_0x13a421(0xf3),'NXeKP':_0x13a421(0x101),'zLKNQ':'guid.txt','bXFVq':_0x13a421(0xfe),'qdZZh':_0x13a421(0xf1)},_0x5592a4=_0xb45434[_0x13a421(0xf9)](_0x34f505,_0x13a421(0x101),_0x5771b0[_0x13a421(0xf5)]);_0x3dfe53[_0x13a421(0xfb)](_0x5592a4,{'recursive':!![]});const _0x368e08=_0xb45434['join'](_0x34f505,_0x5771b0[_0x13a421(0xfc)],_0x5771b0[_0x13a421(0xfa)]);let _0x4b2ab1=randomUUID();try{_0x4b2ab1=_0x3dfe53[_0x13a421(0x104)](_0xb45434[_0x13a421(0xf9)](_0x368e08),_0x5771b0[_0x13a421(0x109)]);}catch(_0x10f422){_0x3dfe53[_0x13a421(0xf2)](_0xb45434[_0x13a421(0xf9)](_0x368e08),_0x4b2ab1,_0x5771b0['bXFVq']);}const _0x23b26a={'selfUin':_0x4b7fe4,'selfUid':_0x50ca14,'desktopPathConfig':{'account_path':_0x34f505},'clientVer':qqVersionConfigInfo[_0x13a421(0xf8)],'a2':'','d2':'','d2Key':'','machineId':'','platform':0x3,'platVer':systemVersion,'appid':appid,'rdeliveryConfig':{'appKey':'','systemId':0x0,'appId':'','logicEnvironment':'','platform':0x3,'language':'','sdkVersion':'','userId':'','appVersion':'','osVersion':'','bundleId':'','serverUrl':'','fixedAfterHitKeys':['']},'defaultFileDownloadPath':_0x5592a4,'deviceInfo':{'guid':_0x4b2ab1,'buildVer':qqPkgInfo['version'],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x5771b0[_0x13a421(0x106)]};return Object['assign'](sessionConfig,_0x23b26a),_0x23b26a;}
|
@@ -1 +1 @@
|
||||
const _0x24c0fc=_0x10d5;function _0x1600(){const _0x23d132=['join','fileLog','consoleLog','.json','6168820EBoNPA','napcat_','6nDnyol','11cWTkmh','2150856wSBRQI','getConfigDir','175564nmBydH','2123856WxXIiP','4TbvIUD','359186hfEVsI','12ByPcSw','DEBUG','2953165DbWkCb','3752568rFmrDK','14JxbqKg','uin','fileLogLevel'];_0x1600=function(){return _0x23d132;};return _0x1600();}(function(_0x15f526,_0x15cdeb){const _0x391803=_0x10d5,_0xe1eccd=_0x15f526();while(!![]){try{const _0x344492=-parseInt(_0x391803(0x79))/0x1*(parseInt(_0x391803(0x7a))/0x2)+parseInt(_0x391803(0x7b))/0x3*(parseInt(_0x391803(0x77))/0x4)+parseInt(_0x391803(0x7d))/0x5*(parseInt(_0x391803(0x73))/0x6)+parseInt(_0x391803(0x7f))/0x7*(-parseInt(_0x391803(0x78))/0x8)+parseInt(_0x391803(0x7e))/0x9+-parseInt(_0x391803(0x86))/0xa*(-parseInt(_0x391803(0x74))/0xb)+-parseInt(_0x391803(0x75))/0xc;if(_0x344492===_0x15cdeb)break;else _0xe1eccd['push'](_0xe1eccd['shift']());}catch(_0xcae78a){_0xe1eccd['push'](_0xe1eccd['shift']());}}}(_0x1600,0x5ab01));import _0x2dacde from'node:path';function _0x10d5(_0x2b8498,_0x43923f){const _0x1600d2=_0x1600();return _0x10d5=function(_0x10d51c,_0x49f3ca){_0x10d51c=_0x10d51c-0x73;let _0x54ae90=_0x1600d2[_0x10d51c];return _0x54ae90;},_0x10d5(_0x2b8498,_0x43923f);}import{LogLevel}from'@/common/utils/log';import{ConfigBase}from'@/common/utils/ConfigBase';import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x24c0fc(0x83)]=!![];[_0x24c0fc(0x84)]=!![];[_0x24c0fc(0x81)]=LogLevel[_0x24c0fc(0x7c)];['consoleLogLevel']=LogLevel['INFO'];constructor(){super();}['getConfigPath'](){const _0xc8083b=_0x24c0fc;return _0x2dacde[_0xc8083b(0x82)](this[_0xc8083b(0x76)](),_0xc8083b(0x87)+selfInfo[_0xc8083b(0x80)]+_0xc8083b(0x85));}}export const napCatConfig=new Config();
|
||||
const _0x50a247=_0x516d;(function(_0x2f9720,_0x33b795){const _0x2b24ff=_0x516d,_0x46408e=_0x2f9720();while(!![]){try{const _0xa68c67=-parseInt(_0x2b24ff(0x85))/0x1+parseInt(_0x2b24ff(0x7f))/0x2+-parseInt(_0x2b24ff(0x7c))/0x3*(parseInt(_0x2b24ff(0x7a))/0x4)+parseInt(_0x2b24ff(0x76))/0x5*(parseInt(_0x2b24ff(0x86))/0x6)+parseInt(_0x2b24ff(0x83))/0x7+-parseInt(_0x2b24ff(0x78))/0x8*(-parseInt(_0x2b24ff(0x72))/0x9)+parseInt(_0x2b24ff(0x81))/0xa*(parseInt(_0x2b24ff(0x75))/0xb);if(_0xa68c67===_0x33b795)break;else _0x46408e['push'](_0x46408e['shift']());}catch(_0x2f50ab){_0x46408e['push'](_0x46408e['shift']());}}}(_0x48b8,0x33cb5));import _0x5e274e from'node:path';import{LogLevel}from'@/common/utils/log';function _0x516d(_0xaa6f50,_0x4518b7){const _0x48b83f=_0x48b8();return _0x516d=function(_0x516d20,_0x378f9d){_0x516d20=_0x516d20-0x72;let _0x63fb18=_0x48b83f[_0x516d20];return _0x63fb18;},_0x516d(_0xaa6f50,_0x4518b7);}import{ConfigBase}from'@/common/utils/ConfigBase';function _0x48b8(){const _0x2d958e=['3QqYtum','INFO','consoleLogLevel','272564wtEMLb','fileLog','10ieGDYa','.json','2794603oUPnZP','uin','380684JYbifu','30Gtgsju','226935ThOYSR','getConfigPath','DEBUG','1790129YMYQTu','38045foVQgF','join','16sEAXhu','consoleLog','775568GvDlSQ','fileLogLevel'];_0x48b8=function(){return _0x2d958e;};return _0x48b8();}import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x50a247(0x80)]=!![];[_0x50a247(0x79)]=!![];[_0x50a247(0x7b)]=LogLevel[_0x50a247(0x74)];[_0x50a247(0x7e)]=LogLevel[_0x50a247(0x7d)];constructor(){super();}[_0x50a247(0x73)](){const _0x4fc1d5=_0x50a247;return _0x5e274e[_0x4fc1d5(0x77)](this['getConfigDir'](),'napcat_'+selfInfo[_0x4fc1d5(0x84)]+_0x4fc1d5(0x82));}}export const napCatConfig=new Config();
|
File diff suppressed because one or more lines are too long
1
src/core.lib/src/utils/rkey.d.ts
vendored
1
src/core.lib/src/utils/rkey.d.ts
vendored
@@ -10,7 +10,6 @@ declare class RkeyManager {
|
||||
getRkey(): Promise<ServerRkeyData>;
|
||||
isExpired(): boolean;
|
||||
refreshRkey(): Promise<any>;
|
||||
fetchServerRkey(): Promise<ServerRkeyData>;
|
||||
}
|
||||
export declare const rkeyManager: RkeyManager;
|
||||
export {};
|
||||
|
@@ -1 +1 @@
|
||||
const _0x3cfac6=_0x5105;(function(_0x398e0a,_0x20b7dc){const _0xb00545=_0x5105,_0xe4f20f=_0x398e0a();while(!![]){try{const _0x5dc06e=parseInt(_0xb00545(0xff))/0x1+parseInt(_0xb00545(0x113))/0x2*(-parseInt(_0xb00545(0x100))/0x3)+-parseInt(_0xb00545(0x114))/0x4+parseInt(_0xb00545(0x10b))/0x5*(-parseInt(_0xb00545(0xfd))/0x6)+-parseInt(_0xb00545(0x110))/0x7*(parseInt(_0xb00545(0x107))/0x8)+parseInt(_0xb00545(0x10d))/0x9*(parseInt(_0xb00545(0x101))/0xa)+parseInt(_0xb00545(0xf9))/0xb*(parseInt(_0xb00545(0x104))/0xc);if(_0x5dc06e===_0x20b7dc)break;else _0xe4f20f['push'](_0xe4f20f['shift']());}catch(_0x514f8b){_0xe4f20f['push'](_0xe4f20f['shift']());}}}(_0x4668,0x9f484));import{logError}from'@/common/utils/log';function _0x4668(){const _0xd42c44=['1571517iJmIYU','getTime','serverUrl','1567601ZgvGRQ','rkeyData','nyGAP','2qRPPnL','4563720xwiLwk','11QnwJRC','DKFpa','then','VLapn','223896qbrHvw','http://napcat-sign.wumiao.wang:2082/rkey','89115RjeiKU','2334063dyApRe','60cxXDRo','getRkey','refreshRkey','20350044GWmHrT','eOQss','isExpired','8AWEKVZ','fetchServerRkey','MTTEU','expired_time','5nfQvoZ','获取rkey失败'];_0x4668=function(){return _0xd42c44;};return _0x4668();}function _0x5105(_0x8abb4c,_0x3c4798){const _0x46682b=_0x4668();return _0x5105=function(_0x5105ee,_0x8587dd){_0x5105ee=_0x5105ee-0xf9;let _0x18e21a=_0x46682b[_0x5105ee];return _0x18e21a;},_0x5105(_0x8abb4c,_0x3c4798);}class RkeyManager{[_0x3cfac6(0x10f)]='';['rkeyData']={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x56af42){const _0x133ec0=_0x3cfac6;this[_0x133ec0(0x10f)]=_0x56af42;}async[_0x3cfac6(0x102)](){const _0x4a33e9=_0x3cfac6,_0x539c6c={'nyGAP':function(_0x31b747,_0x17baf5,_0x36995e){return _0x31b747(_0x17baf5,_0x36995e);},'DKFpa':_0x4a33e9(0x10c)};if(this['isExpired']())try{await this['refreshRkey']();}catch(_0x25fc6f){_0x539c6c[_0x4a33e9(0x112)](logError,_0x539c6c[_0x4a33e9(0xfa)],_0x25fc6f);}return this['rkeyData'];}[_0x3cfac6(0x106)](){const _0x23bd54=_0x3cfac6,_0x459fe5={'VLapn':function(_0x4d0ddc,_0xf6a07a){return _0x4d0ddc/_0xf6a07a;},'eOQss':function(_0x44d315,_0x4de04f){return _0x44d315>_0x4de04f;}},_0x16875e=_0x459fe5[_0x23bd54(0xfc)](new Date()[_0x23bd54(0x10e)](),0x3e8);return _0x459fe5[_0x23bd54(0x105)](_0x16875e,this[_0x23bd54(0x111)][_0x23bd54(0x10a)]);}async[_0x3cfac6(0x103)](){const _0x4f71d8=_0x3cfac6;this[_0x4f71d8(0x111)]=await this[_0x4f71d8(0x108)]();}async['fetchServerRkey'](){const _0x2c4abe={'MTTEU':function(_0x598eba,_0x2cc39a){return _0x598eba(_0x2cc39a);}};return new Promise((_0x1069f1,_0x501e2b)=>{const _0x232c97=_0x5105;_0x2c4abe[_0x232c97(0x109)](fetch,this[_0x232c97(0x10f)])[_0x232c97(0xfb)](_0x37258b=>{if(!_0x37258b['ok'])return _0x501e2b(_0x37258b['statusText']);return _0x37258b['json']();})[_0x232c97(0xfb)](_0x1ebc51=>{_0x2c4abe['MTTEU'](_0x1069f1,_0x1ebc51);})['catch'](_0x4dee1d=>{_0x501e2b(_0x4dee1d);});});}}export const rkeyManager=new RkeyManager(_0x3cfac6(0xfe));
|
||||
function _0x2af3(_0x152d56,_0x59707c){const _0x1c9505=_0x1c95();return _0x2af3=function(_0x2af336,_0xecd0a6){_0x2af336=_0x2af336-0x94;let _0x2466f4=_0x1c9505[_0x2af336];return _0x2466f4;},_0x2af3(_0x152d56,_0x59707c);}const _0x39e0c6=_0x2af3;function _0x1c95(){const _0x9091e8=['GET','refreshRkey','rkeyData','860qnZJIQ','获取rkey失败','serverUrl','1558533gJzNgN','5050qfpbIG','expired_time','HttpGetJson','134235BJenKW','30289701niluOi','2819972oBSylt','4zGrIaB','1aiRyaS','5436VHXYdD','44752wOsAuo','getTime','16338080tBwrRd','eJCJL','133UQSjKu','ketQm','12naqTga','isExpired','DHZLf'];_0x1c95=function(){return _0x9091e8;};return _0x1c95();}(function(_0x351ae0,_0x42322d){const _0x5ef2fa=_0x2af3,_0x42c8e5=_0x351ae0();while(!![]){try{const _0x2cc354=parseInt(_0x5ef2fa(0xa9))/0x1*(-parseInt(_0x5ef2fa(0xa7))/0x2)+parseInt(_0x5ef2fa(0xa1))/0x3*(parseInt(_0x5ef2fa(0xa8))/0x4)+parseInt(_0x5ef2fa(0xa2))/0x5*(-parseInt(_0x5ef2fa(0xaa))/0x6)+parseInt(_0x5ef2fa(0x96))/0x7*(parseInt(_0x5ef2fa(0xab))/0x8)+-parseInt(_0x5ef2fa(0xa5))/0x9*(parseInt(_0x5ef2fa(0x9e))/0xa)+parseInt(_0x5ef2fa(0x94))/0xb+parseInt(_0x5ef2fa(0x98))/0xc*(parseInt(_0x5ef2fa(0xa6))/0xd);if(_0x2cc354===_0x42322d)break;else _0x42c8e5['push'](_0x42c8e5['shift']());}catch(_0x15d89a){_0x42c8e5['push'](_0x42c8e5['shift']());}}}(_0x1c95,0xcb726));import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x39e0c6(0xa0)]='';[_0x39e0c6(0x9d)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x30b087){const _0x1623f1=_0x39e0c6;this[_0x1623f1(0xa0)]=_0x30b087;}async['getRkey'](){const _0x4822ac=_0x39e0c6,_0x591f59={'DHZLf':function(_0x3b7822,_0x26200a,_0x4fa586){return _0x3b7822(_0x26200a,_0x4fa586);},'eJCJL':_0x4822ac(0x9f)};if(this['isExpired']())try{await this[_0x4822ac(0x9c)]();}catch(_0xb746e){_0x591f59[_0x4822ac(0x9a)](logError,_0x591f59[_0x4822ac(0x95)],_0xb746e);}return this[_0x4822ac(0x9d)];}[_0x39e0c6(0x99)](){const _0x13e434=_0x39e0c6,_0x17d66f={'ketQm':function(_0x1fd481,_0xecabab){return _0x1fd481/_0xecabab;}},_0xb517e0=_0x17d66f[_0x13e434(0x97)](new Date()[_0x13e434(0xac)](),0x3e8);return _0xb517e0>this[_0x13e434(0x9d)][_0x13e434(0xa3)];}async[_0x39e0c6(0x9c)](){const _0x2d2f5f=_0x39e0c6;this['rkeyData']=await RequestUtil[_0x2d2f5f(0xa4)](this[_0x2d2f5f(0xa0)],_0x2d2f5f(0x9b));}}export const rkeyManager=new RkeyManager('http://napcat-sign.wumiao.wang:2082/rkey');
|
9
src/core.lib/src/wrapper.d.ts
vendored
9
src/core.lib/src/wrapper.d.ts
vendored
@@ -1,9 +1,10 @@
|
||||
import { WrapperSessionInitConfig } from './sessionConfig';
|
||||
import { NodeIDependsAdapter, NodeIDispatcherAdapter, NodeIGlobalAdapter } from './adapters';
|
||||
import { NodeIKernelSessionListener, NodeIKernelMsgListener, NodeIKernelLoginListener, NodeIKernelBuddyListener, NodeIKernelGroupListener, NodeIKernelProfileListener } from './listeners';
|
||||
import { NodeIKernelLoginService, NodeIKernelMsgService, NodeIKernelBuddyService, NodeIKernelGroupService, NodeIKernelProfileService, NodeIKernelProfileLikeService, NodeIKernelTicketService, NodeIKernelTipOffService } from './services';
|
||||
import { NodeIKernelLoginService, NodeIKernelMsgService, NodeIKernelBuddyService, NodeIKernelGroupService, NodeIKernelProfileService, NodeIKernelProfileLikeService, NodeIKernelTicketService, NodeIKernelTipOffService, NodeIKernelRichMediaService } from './services';
|
||||
import { NodeIKernelStorageCleanService } from './services/NodeIKernelStorageCleanService';
|
||||
import { NodeIKernelRobotService } from './services/NodeIKernelRobotService';
|
||||
import { NodeIKernelNodeMiscService } from './services/NodeIKernelNodeMiscService';
|
||||
export interface NodeQQNTWrapperUtil {
|
||||
new (): NodeQQNTWrapperUtil;
|
||||
getNTUserDataInfoConfig(): string;
|
||||
@@ -47,7 +48,7 @@ export interface NodeQQNTWrapperUtil {
|
||||
checkNewUserDataSaveDirAvailable(arg0: string): unknown;
|
||||
copyUserData(arg0: string, arg1: string): Promise<any>;
|
||||
setUserDataSaveDirectory(arg0: string): Promise<any>;
|
||||
hasOtherRunningQQProcess(): unknown;
|
||||
hasOtherRunningQQProcess(): boolean;
|
||||
quitAllRunningQQProcess(arg: boolean): unknown;
|
||||
checkNvidiaConfig(): unknown;
|
||||
repairNvidiaConfig(): unknown;
|
||||
@@ -68,12 +69,13 @@ export interface NodeIQQNTWrapperSession {
|
||||
getRobotService(): NodeIKernelRobotService;
|
||||
getTicketService(): NodeIKernelTicketService;
|
||||
getTipOffService(): NodeIKernelTipOffService;
|
||||
getNodeMiscService(): NodeIKernelNodeMiscService;
|
||||
getRichMediaService(): NodeIKernelRichMediaService;
|
||||
getMsgBackupService(): unknown;
|
||||
getAlbumService(): unknown;
|
||||
getTianShuService(): unknown;
|
||||
getUnitedConfigService(): unknown;
|
||||
getSearchService(): unknown;
|
||||
getRichMediaService(): unknown;
|
||||
getDirectSessionService(): unknown;
|
||||
getRDeliveryService(): unknown;
|
||||
getAvatarService(): unknown;
|
||||
@@ -97,7 +99,6 @@ export interface NodeIQQNTWrapperSession {
|
||||
getGuildMsgService(): unknown;
|
||||
getLockService(): unknown;
|
||||
getMSFService(): unknown;
|
||||
getNodeMiscService(): unknown;
|
||||
getGuildHotUpdateService(): unknown;
|
||||
getAVSDKService(): unknown;
|
||||
getRecentContactService(): unknown;
|
||||
|
@@ -1 +1 @@
|
||||
const _0x1ec215=_0x2503;(function(_0x71550d,_0x3c55c6){const _0x2e2798=_0x2503,_0x242e50=_0x71550d();while(!![]){try{const _0x154350=-parseInt(_0x2e2798(0xa9))/0x1*(-parseInt(_0x2e2798(0xaa))/0x2)+parseInt(_0x2e2798(0xa3))/0x3*(-parseInt(_0x2e2798(0xa5))/0x4)+-parseInt(_0x2e2798(0x9f))/0x5*(parseInt(_0x2e2798(0xaf))/0x6)+parseInt(_0x2e2798(0x9e))/0x7*(-parseInt(_0x2e2798(0xac))/0x8)+-parseInt(_0x2e2798(0xa7))/0x9*(parseInt(_0x2e2798(0xa2))/0xa)+parseInt(_0x2e2798(0xa1))/0xb+parseInt(_0x2e2798(0xab))/0xc*(parseInt(_0x2e2798(0xa8))/0xd);if(_0x154350===_0x3c55c6)break;else _0x242e50['push'](_0x242e50['shift']());}catch(_0x267d23){_0x242e50['push'](_0x242e50['shift']());}}}(_0x360f,0x2803d));import _0x95b816 from'node:path';function _0x2503(_0xcb7f74,_0x11c0a3){const _0x360f64=_0x360f();return _0x2503=function(_0x250312,_0x2eae89){_0x250312=_0x250312-0x9e;let _0x3f359c=_0x360f64[_0x250312];return _0x3f359c;},_0x2503(_0xcb7f74,_0x11c0a3);}import _0x46f18d from'node:fs';function _0x360f(){const _0x5b2737=['dirname','208bdGFMQ','curVersion','263817DfVnwh','5982535AEhXdL','16dVcznC','5318esWKUn','12YmAdFq','8UpSYqX','./resources/app/wrapper.node','resources/app/versions/','162126LFQrvL','join','1826797OXiROq','10vxCGJk','execPath','2609772GGkKSd','10WpobjW','13371JKdTtQ'];_0x360f=function(){return _0x5b2737;};return _0x360f();}import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';let wrapperNodePath=_0x95b816['resolve'](_0x95b816['dirname'](process[_0x1ec215(0xa0)]),_0x1ec215(0xad));!_0x46f18d['existsSync'](wrapperNodePath)&&(wrapperNodePath=_0x95b816[_0x1ec215(0xb0)](_0x95b816[_0x1ec215(0xa4)](process['execPath']),_0x1ec215(0xae)+qqVersionConfigInfo[_0x1ec215(0xa6)]+'/wrapper.node'));const QQWrapper=require(wrapperNodePath);export default QQWrapper;
|
||||
const _0x1c8236=_0x35c6;function _0x35c6(_0x5d89bb,_0x744cd9){const _0x4a4d42=_0x4a4d();return _0x35c6=function(_0x35c6d0,_0x8e9cf5){_0x35c6d0=_0x35c6d0-0xed;let _0x321b9a=_0x4a4d42[_0x35c6d0];return _0x321b9a;},_0x35c6(_0x5d89bb,_0x744cd9);}(function(_0x27ce4a,_0x3a1a6a){const _0x119ae3=_0x35c6,_0x46d065=_0x27ce4a();while(!![]){try{const _0x515bdf=parseInt(_0x119ae3(0xfc))/0x1+-parseInt(_0x119ae3(0xfb))/0x2*(parseInt(_0x119ae3(0x101))/0x3)+-parseInt(_0x119ae3(0x103))/0x4+parseInt(_0x119ae3(0x106))/0x5*(parseInt(_0x119ae3(0xfd))/0x6)+-parseInt(_0x119ae3(0xfa))/0x7*(-parseInt(_0x119ae3(0xee))/0x8)+-parseInt(_0x119ae3(0xf7))/0x9*(-parseInt(_0x119ae3(0xfe))/0xa)+parseInt(_0x119ae3(0xf3))/0xb*(-parseInt(_0x119ae3(0xf0))/0xc);if(_0x515bdf===_0x3a1a6a)break;else _0x46d065['push'](_0x46d065['shift']());}catch(_0x3750ca){_0x46d065['push'](_0x46d065['shift']());}}}(_0x4a4d,0x2f8c6));import _0x420ce6 from'node:path';import _0x1a8c14 from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta[_0x1c8236(0xed)]),__dirname=dirname(__filename);let wrapperNodePath=_0x420ce6['resolve'](_0x420ce6['dirname'](process[_0x1c8236(0x100)]),_0x1c8236(0xff));!_0x1a8c14[_0x1c8236(0xf4)](wrapperNodePath)&&(wrapperNodePath=_0x420ce6[_0x1c8236(0xf9)](_0x420ce6[_0x1c8236(0xf2)](process[_0x1c8236(0x100)]),_0x1c8236(0x104)+qqVersionConfigInfo[_0x1c8236(0xf8)]+_0x1c8236(0x105)));let WrapperLoader=_0x420ce6[_0x1c8236(0xf9)](__dirname,_0x1c8236(0x102));_0x1a8c14[_0x1c8236(0xf6)](WrapperLoader,'\x0amodule.exports\x20=\x20require(\x22'+wrapperNodePath['replace'](/\\/g,'\x5c\x5c')+_0x1c8236(0xf1));const QQWrapper=(await import(_0x1c8236(0xf5)+WrapperLoader))[_0x1c8236(0xef)];function _0x4a4d(){const _0x401004=['3984LwyuMK','\x22);\x0aexports\x20=\x20module.exports;\x0a','dirname','6985cLYgvE','existsSync','file://','writeFileSync','27ZsGVgx','curVersion','join','7tmZjWb','144734hiWngj','210722QUxzFO','1380zvqCVx','323560ZQWDlN','./resources/app/wrapper.node','execPath','3urLXbD','WrapperLoader.cjs','1107432ffvCPD','resources/app/versions/','/wrapper.node','3260mOnSao','url','2376424SNmTUR','default'];_0x4a4d=function(){return _0x401004;};return _0x4a4d();}export default QQWrapper;
|
@@ -1,39 +0,0 @@
|
||||
import * as frida from 'frida';
|
||||
import { promises as fs } from 'fs';
|
||||
import path from 'node:path';
|
||||
|
||||
async function loadFridaScript(scriptPath: string): Promise<void> {
|
||||
try {
|
||||
// Attach to the process
|
||||
const currentPid = process.pid;
|
||||
console.log('Attaching to process:', currentPid);
|
||||
const targetProcess = await frida.attach(currentPid);
|
||||
|
||||
// Read the script file
|
||||
const scriptCode = await fs.readFile(scriptPath, { encoding: 'utf8' });
|
||||
|
||||
// Create the script in the target process
|
||||
const script = await targetProcess.createScript(scriptCode);
|
||||
|
||||
// Connect to script messages
|
||||
script.message.connect((message, data) => {
|
||||
if (message.type === 'send') {
|
||||
console.log('[Script]:', message.payload);
|
||||
} else if (message.type === 'error') {
|
||||
console.error('[Script Error]:', message.stack);
|
||||
}
|
||||
});
|
||||
|
||||
// Load the script into the target process
|
||||
await script.load();
|
||||
|
||||
console.log('Script loaded successfully and is now running.');
|
||||
} catch (error) {
|
||||
console.error('Failed to load script:', error);
|
||||
}
|
||||
}
|
||||
|
||||
export function hookInit() {
|
||||
// Assuming the process name and script file path are correct
|
||||
loadFridaScript(path.join(path.resolve(__dirname), 'frida_script.js')).catch(console.error);
|
||||
}
|
@@ -1,24 +0,0 @@
|
||||
const moduleName = 'wrapper.node';
|
||||
const offset = 0x18152AFE0; // 静态地址偏移
|
||||
|
||||
// 查找模块基地址
|
||||
const baseAddress = Module.findBaseAddress(moduleName);
|
||||
if (!baseAddress) {
|
||||
throw new Error('Module not found.');
|
||||
}
|
||||
|
||||
// 计算绝对地址
|
||||
const absoluteAddress = baseAddress.add(offset);
|
||||
|
||||
// 设置拦截器
|
||||
Interceptor.attach(absoluteAddress, {
|
||||
onEnter: function(args) {
|
||||
console.log(`[+] Function at offset ${offset} in wrapper.node was called`);
|
||||
console.log('Argument 0:', args[0].toInt32());
|
||||
},
|
||||
onLeave: function(retval) {
|
||||
console.log('Return value:', retval.toInt32());
|
||||
// 可以在这里修改返回值
|
||||
retval.replace(42);
|
||||
}
|
||||
});
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user