mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
Compare commits
109 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
389695a0d6 | ||
![]() |
07f1afb312 | ||
![]() |
ae91e61304 | ||
![]() |
6248991b01 | ||
![]() |
7f2d57ef62 | ||
![]() |
31f8f884f1 | ||
![]() |
4f4af5985a | ||
![]() |
a716fdf6d4 | ||
![]() |
9717f64abd | ||
![]() |
adf239183a | ||
![]() |
6cf209c79c | ||
![]() |
decc5fb3c0 | ||
![]() |
1e0820d613 | ||
![]() |
70124d5177 | ||
![]() |
269de65201 | ||
![]() |
1d11abbfb6 | ||
![]() |
700f308d6e | ||
![]() |
21b6928ca6 | ||
![]() |
998c67a649 | ||
![]() |
fb99e878b0 | ||
![]() |
1619adfc27 | ||
![]() |
5510fb473f | ||
![]() |
be1878cb2b | ||
![]() |
15ab121cbd | ||
![]() |
aa79b0e861 | ||
![]() |
b80e550bcd | ||
![]() |
dbc40b5814 | ||
![]() |
0d5696a644 | ||
![]() |
ceffa05802 | ||
![]() |
d5668920b6 | ||
![]() |
516f2da144 | ||
![]() |
33c94e1888 | ||
![]() |
51ab58cd91 | ||
![]() |
aa7798d1d1 | ||
![]() |
9067a1fc92 | ||
![]() |
4024b6c564 | ||
![]() |
d39730928b | ||
![]() |
e1f049229c | ||
![]() |
8f2676ec19 | ||
![]() |
32d26248dc | ||
![]() |
16f926401b | ||
![]() |
66d60d3599 | ||
![]() |
5a35ab6c34 | ||
![]() |
ba1542bd31 | ||
![]() |
453060945a | ||
![]() |
c8351be461 | ||
![]() |
9954da22a6 | ||
![]() |
907b5611eb | ||
![]() |
5f075de212 | ||
![]() |
8fcf3c5079 | ||
![]() |
07cee90c7a | ||
![]() |
75ad495b98 | ||
![]() |
0bb7288ad2 | ||
![]() |
ad72415532 | ||
![]() |
0ad0353fc0 | ||
![]() |
9fa0dcd7aa | ||
![]() |
1f2e80cd39 | ||
![]() |
6cb6034d43 | ||
![]() |
25134c6ac6 | ||
![]() |
92bf42878a | ||
![]() |
9f4582d158 | ||
![]() |
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 |
@@ -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
.gitignore
vendored
2
.gitignore
vendored
@@ -14,4 +14,4 @@ dist/
|
||||
|
||||
# Build
|
||||
*.db
|
||||
checkVersion.sh
|
||||
checkVersion.sh
|
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)
|
@@ -1,11 +1,12 @@
|
||||
# v1.4.0
|
||||
|
||||
QQ Version: Windows 9.9.9-23424 / Linux 3.2.7-23361
|
||||
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)
|
12
docs/changelogs/CHANGELOG.v1.4.2.md
Normal file
12
docs/changelogs/CHANGELOG.v1.4.2.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.2
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复获取群文件列表Api
|
||||
* 修复退群通知问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
11
docs/changelogs/CHANGELOG.v1.4.3.md
Normal file
11
docs/changelogs/CHANGELOG.v1.4.3.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# v1.4.3
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 修复名片通知
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
10
docs/changelogs/CHANGELOG.v1.4.4.md
Normal file
10
docs/changelogs/CHANGELOG.v1.4.4.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# v1.4.4
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 更新
|
||||
* **重大更新:**更新了版本号
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
||||
|
12
docs/changelogs/CHANGELOG.v1.4.5.md
Normal file
12
docs/changelogs/CHANGELOG.v1.4.5.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# v1.4.5
|
||||
|
||||
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
|
||||
|
||||
## 修复与优化
|
||||
* 紧急修复二维扫码问题
|
||||
|
||||
## 新增与调整
|
||||
|
||||
|
||||
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)
|
||||
|
133
package.json
133
package.json
@@ -1,67 +1,66 @@
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.3.5",
|
||||
"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",
|
||||
"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": {
|
||||
"@protobuf-ts/plugin": "^2.9.4",
|
||||
"ajv": "^8.13.0",
|
||||
"commander": "^12.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^5.0.0-beta.2",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"file-type": "^19.0.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"image-size": "^1.1.1",
|
||||
"json-schema-to-ts": "^3.1.0",
|
||||
"log4js": "^6.9.1",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"silk-wasm": "^3.3.4",
|
||||
"sqlite3": "^5.1.7",
|
||||
"uuid": "^9.0.1",
|
||||
"ws": "^8.16.0"
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.4.5",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
@@ -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 %*
|
||||
|
@@ -37,7 +37,7 @@ if (!(Test-Path $QQpath)) {
|
||||
throw "provided QQ path is invalid: $QQpath"
|
||||
}
|
||||
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
|
||||
$env:ELECTRON_RUN_AS_NODE = 1
|
||||
$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 %*
|
||||
|
@@ -37,7 +37,7 @@ if (!(Test-Path $QQpath)) {
|
||||
throw "provided QQ path is invalid: $QQpath"
|
||||
}
|
||||
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.cjs"
|
||||
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
|
||||
$env:ELECTRON_RUN_AS_NODE = 1
|
||||
$commandInfo = Get-Command $QQpath -ErrorAction Stop
|
||||
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$($commandInfo.Path)' $Bootfile $params}"
|
@@ -18,4 +18,4 @@ if ! [ -x /opt/QQ/qq ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
/opt/QQ/qq "${SCRIPT_DIR}/napcat.cjs" "$@"
|
||||
/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) {
|
||||
|
@@ -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 });
|
||||
|
165
src/common/utils/EventTask.ts
Normal file
165
src/common/utils/EventTask.ts
Normal file
@@ -0,0 +1,165 @@
|
||||
import { NodeIKernelMsgListener } from "@/core";
|
||||
import { NodeIQQNTWrapperSession } from "@/core/wrapper";
|
||||
|
||||
import { randomUUID } from "crypto";
|
||||
|
||||
interface Internal_MapKey {
|
||||
timeout: number,
|
||||
createtime: number,
|
||||
func: Function
|
||||
}
|
||||
|
||||
export class ListenerClassBase {
|
||||
[key: string]: string;
|
||||
}
|
||||
|
||||
export class NTEventWrapper {
|
||||
private ListenerMap: Map<string, typeof ListenerClassBase> | undefined;//ListenerName-Unique -> Listener构造函数
|
||||
private WrapperSession: NodeIQQNTWrapperSession | undefined;//WrapperSession
|
||||
private ListenerManger: Map<string, ListenerClassBase> = new Map<string, ListenerClassBase>(); //ListenerName-Unique -> Listener实例
|
||||
private EventTask: Map<string, Map<string, Internal_MapKey>> = new Map<string, Map<string, Internal_MapKey>>();//tasks ListenerName -> uuid -> {timeout,createtime,func}
|
||||
private ListenerInit: Map<string, boolean> = new Map<string, boolean>();
|
||||
constructor() {
|
||||
|
||||
}
|
||||
init({ ListenerMap, WrapperSession }: { ListenerMap: Map<string, typeof ListenerClassBase>, WrapperSession: NodeIQQNTWrapperSession }) {
|
||||
this.ListenerMap = ListenerMap;
|
||||
this.WrapperSession = WrapperSession;
|
||||
}
|
||||
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
|
||||
let eventNameArr = eventName.split('/');
|
||||
type eventType = {
|
||||
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
|
||||
}
|
||||
if (eventNameArr.length > 1) {
|
||||
let serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
|
||||
let eventName = eventNameArr[1];
|
||||
let services = (this.WrapperSession as unknown as eventType)[serviceName]();
|
||||
let event = services[eventName];
|
||||
//重新绑定this
|
||||
event = event.bind(services);
|
||||
if (event) {
|
||||
return event as T;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
}
|
||||
// 获取某个Listener 存在返回 不存在创建
|
||||
CreatListenerFunction<T>(listenerName: string, uniqueCode: string = ""): T {
|
||||
let ListenerType = this.ListenerMap!.get(listenerName);
|
||||
let Listener = this.ListenerManger.get(listenerName + uniqueCode);
|
||||
if (!Listener && ListenerType) {
|
||||
Listener = new ListenerType();
|
||||
let ServiceSubName = listenerName.match(/^NodeIKernel(.*?)Listener$/);
|
||||
let Service = "NodeIKernel" + ServiceSubName + "Service/addKernel" + ServiceSubName + "Listener";
|
||||
let addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
|
||||
addfunc!(Listener as T);
|
||||
this.ListenerManger.set(listenerName + uniqueCode, Listener);
|
||||
}
|
||||
return Listener as T;
|
||||
}
|
||||
// 如果存在覆盖注册 不存在则创建Listener
|
||||
RigisterListener<T extends { [key: string]: (...args: any) => any }>(listenerName: string, uniqueCode: string = "NTEvent", cb: (...args: any) => any) {
|
||||
let ListenerNameList = listenerName.split('/');
|
||||
let ListenerMain = ListenerNameList[0];
|
||||
let ListenerMethod = ListenerNameList[1];
|
||||
let Listener = this.CreatListenerFunction<T>(ListenerMain, uniqueCode); //uniqueCode NTEvent
|
||||
(Listener[ListenerMethod] as any) = cb;
|
||||
}
|
||||
//初始化Listener回调
|
||||
initNTListener(ListenerName: string) {
|
||||
if (this.ListenerInit.get(ListenerName)) {
|
||||
return;
|
||||
}
|
||||
this.RigisterListener(ListenerName, "NTEvent", (...args) => {
|
||||
console.log('wait... DispatcherListener');
|
||||
this.DispatcherListener(ListenerName, ...args).then().catch();
|
||||
})
|
||||
this.ListenerInit.set(ListenerName, true);
|
||||
}
|
||||
//统一回调清理事件
|
||||
async DispatcherListener(ListenerName: string, ...args: any[]) {
|
||||
this.EventTask.get(ListenerName)?.forEach((task, uuid) => {
|
||||
if (task.createtime + task.timeout > Date.now()) {
|
||||
this.EventTask.get(ListenerName)?.delete(uuid);
|
||||
return;
|
||||
}
|
||||
task.func(...args);
|
||||
})
|
||||
}
|
||||
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
|
||||
return new Promise<ReturnType<EventType>>(async (resolve, reject) => {
|
||||
let EventFunc = this.CreatEventFunction<EventType>(EventName);
|
||||
let complete = false;
|
||||
let Timeouter = setTimeout(() => {
|
||||
if (!complete) {
|
||||
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
|
||||
}
|
||||
}, timeout);
|
||||
let retData = await EventFunc!(...args);
|
||||
complete = true;
|
||||
resolve(retData);
|
||||
});
|
||||
}
|
||||
async CallNormalEvent<EventType extends (...args: any[]) => Promise<any>, ListenerType extends (...args: any[]) => void>(EventName = '', ListenerName = '', waitTimes = 1, timeout: number = 3000, ...args: Parameters<EventType>) {
|
||||
return new Promise<ArrayLike<Parameters<ListenerType>>>(async (resolve, reject) => {
|
||||
const id = randomUUID();
|
||||
let complete = 0;
|
||||
let retData: ArrayLike<Parameters<ListenerType>> | undefined = undefined;
|
||||
let databack = () => {
|
||||
if (complete < waitTimes) {
|
||||
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
|
||||
} else {
|
||||
resolve(retData as ArrayLike<Parameters<ListenerType>>);
|
||||
}
|
||||
}
|
||||
this.initNTListener(ListenerName);
|
||||
let Timeouter = setTimeout(databack, timeout);
|
||||
let ListenerNameList = ListenerName.split('/');
|
||||
let ListenerMain = ListenerNameList[0];
|
||||
let ListenerMethod = ListenerNameList[1];
|
||||
|
||||
this.EventTask.get(ListenerMain)?.set(id, {
|
||||
timeout: timeout,
|
||||
createtime: Date.now(),
|
||||
func: (...args: any[]) => {
|
||||
complete++;
|
||||
retData = args as ArrayLike<Parameters<ListenerType>>;
|
||||
if (complete == waitTimes) {
|
||||
clearTimeout(Timeouter);
|
||||
databack();
|
||||
}
|
||||
}
|
||||
});
|
||||
let EventFunc = this.CreatEventFunction<EventType>(EventName);
|
||||
await EventFunc!(...args);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
// 示例代码 快速创建事件
|
||||
//let NTEvent = new NTEventWrapper();
|
||||
// let TestEvent = NTEvent.CreatEventFunction<(force: boolean) => Promise<Number>>('NodeIKernelProfileLikeService/GetTest');
|
||||
// if (TestEvent) {
|
||||
// TestEvent(true);
|
||||
// }
|
||||
|
||||
// 示例代码 快速创建监听Listener类
|
||||
// let NTEvent = new NTEventWrapper();
|
||||
// NTEvent.CreatListenerFunction<NodeIKernelMsgListener>('NodeIKernelMsgListener', 'core')
|
||||
|
||||
|
||||
// 调用接口
|
||||
//let NTEvent = new NTEventWrapper();
|
||||
//let ret = await NTEvent.CallNormalEvent<(force: boolean) => Promise<Number>, (data1: string, data2: number) => void>('NodeIKernelProfileLikeService/GetTest', 'NodeIKernelMsgListener/onAddSendMsg', 1, 3000, true);
|
||||
|
||||
// 注册监听 解除监听
|
||||
// NTEventDispatch.RigisterListener('NodeIKernelMsgListener/onAddSendMsg','core',cb);
|
||||
// NTEventDispatch.UnRigisterListener('NodeIKernelMsgListener/onAddSendMsg','core');
|
||||
|
||||
// let GetTest = NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode);
|
||||
// GetTest('test');
|
||||
|
||||
// always模式
|
||||
// NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode,(...args:any[])=>{ console.log(args) });
|
145
src/common/utils/LRUCache.ts
Normal file
145
src/common/utils/LRUCache.ts
Normal file
@@ -0,0 +1,145 @@
|
||||
import { logError, logDebug } from "@/common/utils/log";
|
||||
|
||||
type group_id = number;
|
||||
type user_id = number;
|
||||
|
||||
class cacheNode<T> {
|
||||
value: T;
|
||||
groupId: group_id;
|
||||
userId: user_id;
|
||||
prev: cacheNode<T> | null;
|
||||
next: cacheNode<T> | null;
|
||||
timestamp: number;
|
||||
|
||||
constructor(groupId: group_id, userId: user_id, value: T) {
|
||||
this.groupId = groupId;
|
||||
this.userId = userId;
|
||||
this.value = value;
|
||||
this.prev = null;
|
||||
this.next = null;
|
||||
this.timestamp = Date.now();
|
||||
}
|
||||
}
|
||||
|
||||
type cache<T> = { [key: group_id]: { [key: user_id]: cacheNode<T> } };
|
||||
class LRU<T> {
|
||||
private maxAge: number;
|
||||
private maxSize: number;
|
||||
private currentSize: number;
|
||||
private cache: cache<T>;
|
||||
private head: cacheNode<T> | null = null;
|
||||
private tail: cacheNode<T> | null = null;
|
||||
private onFuncs: ((node: cacheNode<T>) => void)[] = [];
|
||||
|
||||
constructor(maxAge: number = 2e4, maxSize: number = 5e3) {
|
||||
this.maxAge = maxAge;
|
||||
this.maxSize = maxSize;
|
||||
this.cache = Object.create(null);
|
||||
this.currentSize = 0;
|
||||
|
||||
if (maxSize == 0) return;
|
||||
setInterval(() => this.removeExpired(), this.maxAge);
|
||||
}
|
||||
|
||||
// 移除LRU节点
|
||||
private removeLRUNode(node: cacheNode<T>) {
|
||||
logDebug(
|
||||
"removeLRUNode",
|
||||
node.groupId,
|
||||
node.userId,
|
||||
node.value,
|
||||
this.currentSize
|
||||
);
|
||||
node.prev = node.next = null;
|
||||
delete this.cache[node.groupId][node.userId];
|
||||
this.removeNode(node);
|
||||
this.onFuncs.forEach((func) => func(node));
|
||||
this.currentSize--;
|
||||
}
|
||||
|
||||
public on(func: (node: cacheNode<T>) => void) {
|
||||
this.onFuncs.push(func);
|
||||
}
|
||||
|
||||
private removeExpired() {
|
||||
const now = Date.now();
|
||||
let current = this.tail;
|
||||
const nodesToRemove: cacheNode<T>[] = [];
|
||||
let removedCount = 0;
|
||||
|
||||
// 收集需要删除的节点
|
||||
while (current && now - current.timestamp > this.maxAge) {
|
||||
nodesToRemove.push(current);
|
||||
current = current.prev;
|
||||
removedCount++;
|
||||
if (removedCount >= 100) break;
|
||||
}
|
||||
|
||||
// 更新链表指向
|
||||
if (nodesToRemove.length > 0) {
|
||||
const newTail = nodesToRemove[nodesToRemove.length - 1].prev;
|
||||
if (newTail) {
|
||||
newTail.next = null;
|
||||
} else {
|
||||
this.head = null;
|
||||
}
|
||||
this.tail = newTail;
|
||||
}
|
||||
|
||||
nodesToRemove.forEach((node) => {
|
||||
node.prev = node.next = null;
|
||||
delete this.cache[node.groupId][node.userId];
|
||||
|
||||
this.currentSize--;
|
||||
this.onFuncs.forEach((func) => func(node));
|
||||
});
|
||||
}
|
||||
|
||||
private addNode(node: cacheNode<T>) {
|
||||
node.next = this.head;
|
||||
if (this.head) this.head.prev = node;
|
||||
if (!this.tail) this.tail = node;
|
||||
this.head = node;
|
||||
}
|
||||
|
||||
private removeNode(node: cacheNode<T>) {
|
||||
if (node.prev) node.prev.next = node.next;
|
||||
if (node.next) node.next.prev = node.prev;
|
||||
if (node === this.head) this.head = node.next;
|
||||
if (node === this.tail) this.tail = node.prev;
|
||||
}
|
||||
|
||||
private moveToHead(node: cacheNode<T>) {
|
||||
if (this.head === node) return;
|
||||
|
||||
this.removeNode(node);
|
||||
this.addNode(node);
|
||||
node.prev = null;
|
||||
}
|
||||
|
||||
public set(groupId: group_id, userId: user_id, value: T) {
|
||||
if (!this.cache[groupId]) {
|
||||
this.cache[groupId] = Object.create(null);
|
||||
}
|
||||
|
||||
const groupObject = this.cache[groupId];
|
||||
|
||||
if (groupObject[userId]) {
|
||||
const node = groupObject[userId];
|
||||
node.value = value;
|
||||
node.timestamp = Date.now();
|
||||
this.moveToHead(node);
|
||||
} else {
|
||||
const node = new cacheNode(groupId, userId, value);
|
||||
groupObject[userId] = node;
|
||||
this.currentSize++;
|
||||
this.addNode(node);
|
||||
if (this.currentSize > this.maxSize) {
|
||||
const tail = this.tail!;
|
||||
this.removeLRUNode(tail);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default LRU;
|
@@ -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';
|
||||
|
@@ -2,6 +2,12 @@ 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));
|
||||
}
|
||||
@@ -132,6 +138,10 @@ export function migrateConfig(oldConfig: any) {
|
||||
enable: oldConfig.enableWsReverse,
|
||||
urls: oldConfig.wsReverseUrls,
|
||||
},
|
||||
GroupLocalTime: {
|
||||
Record: false,
|
||||
RecordList: []
|
||||
},
|
||||
debug: oldConfig.debug,
|
||||
heartInterval: oldConfig.heartInterval,
|
||||
messagePostFormat: oldConfig.messagePostFormat,
|
||||
@@ -139,6 +149,7 @@ export function migrateConfig(oldConfig: any) {
|
||||
musicSignUrl: oldConfig.musicSignUrl,
|
||||
reportSelfMessage: oldConfig.reportSelfMessage,
|
||||
token: oldConfig.token,
|
||||
|
||||
};
|
||||
return newConfig;
|
||||
}
|
||||
@@ -147,12 +158,27 @@ export async function UpdateConfig() {
|
||||
const configFiles = await fs.readdir(path.join(__dirname, 'config'));
|
||||
for (const file of configFiles) {
|
||||
if (file.match(/^onebot11_\d+.json$/)) {
|
||||
let CurrentConfig = JSON.parse(await fs.readFile(path.join(__dirname, 'config', file), 'utf8'));
|
||||
const CurrentConfig = JSON.parse(await fs.readFile(path.join(__dirname, 'config', file), 'utf8'));
|
||||
if (isValidOldConfig(CurrentConfig)) {
|
||||
log("正在迁移旧配置到新配置 File:", file);
|
||||
let NewConfig = migrateConfig(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,37 +1,44 @@
|
||||
import { resolve } from "node:path";
|
||||
import { spawn } from "node:child_process";
|
||||
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') {
|
||||
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);
|
||||
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') {
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
@@ -3,35 +3,54 @@ import http from 'node:http';
|
||||
|
||||
export class RequestUtil {
|
||||
// 适用于获取服务器下发cookies时获取,仅GET
|
||||
static async HttpsGetCookies(url: string): Promise<Map<string, string>> {
|
||||
return new Promise<Map<string, string>>((resolve, reject) => {
|
||||
const protocol = url.startsWith('https://') ? https : http;
|
||||
protocol.get(url, (res) => {
|
||||
const cookiesHeader = res.headers['set-cookie'];
|
||||
if (!cookiesHeader) {
|
||||
resolve(new Map<string, string>());
|
||||
} else {
|
||||
const cookiesMap = new Map<string, string>();
|
||||
cookiesHeader.forEach((cookieStr) => {
|
||||
cookieStr.split(';').forEach((cookiePart) => {
|
||||
const trimmedPart = cookiePart.trim();
|
||||
if (trimmedPart.includes('=')) {
|
||||
const [key, value] = trimmedPart.split('=').map(part => part.trim());
|
||||
cookiesMap.set(key, decodeURIComponent(value)); // 解码cookie值
|
||||
}
|
||||
});
|
||||
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);
|
||||
}
|
||||
};
|
||||
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(cookiesMap);
|
||||
}
|
||||
}).on('error', (error) => {
|
||||
reject(error);
|
||||
}).on('error', (err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 请求和回复都是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> {
|
||||
let option = new URL(url);
|
||||
const option = new URL(url);
|
||||
const protocol = url.startsWith('https://') ? https : http;
|
||||
const options = {
|
||||
hostname: option.hostname,
|
||||
|
@@ -2,30 +2,30 @@
|
||||
* 运行时类型转换与检查类
|
||||
*/
|
||||
export class TypeCheck {
|
||||
static isEmpty(value: any): boolean {
|
||||
return value === null || value === undefined || value === '' ||
|
||||
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 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 toString(value: any): string {
|
||||
return String(value);
|
||||
}
|
||||
|
||||
static toBoolean(value: any): boolean {
|
||||
return Boolean(value);
|
||||
}
|
||||
static toBoolean(value: any): boolean {
|
||||
return Boolean(value);
|
||||
}
|
||||
|
||||
static toArray(value: any): any[] {
|
||||
return Array.isArray(value) ? value : [value];
|
||||
}
|
||||
static toArray(value: any): any[] {
|
||||
return Array.isArray(value) ? value : [value];
|
||||
}
|
||||
}
|
@@ -14,7 +14,7 @@ export async function checkVersion(): Promise<string> {
|
||||
try {
|
||||
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
|
||||
} catch (e) {
|
||||
logDebug(e);
|
||||
logDebug("检测更新异常",e);
|
||||
}
|
||||
if (version) {
|
||||
resolve(version);
|
||||
|
2
src/core
2
src/core
Submodule src/core updated: 00d059a88e...300270c2f7
@@ -1 +1 @@
|
||||
var _0x312801=_0x226a;(function(_0x2467bd,_0x1ea46c){var _0x55b3b9=_0x226a,_0xc5a225=_0x2467bd();while(!![]){try{var _0x37ca7d=-parseInt(_0x55b3b9(0xb8))/0x1*(-parseInt(_0x55b3b9(0xb7))/0x2)+parseInt(_0x55b3b9(0xbe))/0x3*(-parseInt(_0x55b3b9(0xb6))/0x4)+-parseInt(_0x55b3b9(0xba))/0x5*(parseInt(_0x55b3b9(0xbd))/0x6)+parseInt(_0x55b3b9(0xbf))/0x7+-parseInt(_0x55b3b9(0xbb))/0x8+-parseInt(_0x55b3b9(0xc0))/0x9+-parseInt(_0x55b3b9(0xbc))/0xa*(-parseInt(_0x55b3b9(0xb9))/0xb);if(_0x37ca7d===_0x1ea46c)break;else _0xc5a225['push'](_0xc5a225['shift']());}catch(_0x37c00a){_0xc5a225['push'](_0xc5a225['shift']());}}}(_0x3f33,0xa7262));function _0x226a(_0x147607,_0x4d8036){var _0x3f3311=_0x3f33();return _0x226a=function(_0x226afb,_0x3c304e){_0x226afb=_0x226afb-0xb5;var _0x4481fe=_0x3f3311[_0x226afb];return _0x4481fe;},_0x226a(_0x147607,_0x4d8036);}function _0x3f33(){var _0x49480f=['109615yGGBGb','417840uZphAj','6916336dArrkB','3280WaNFfO','84tMzoBS','2219037UDDDKL','8472464uELZIr','11638368bueewF','onMSFStatusChange','getGroupCode','4vhGRRP','546190CcHtON','1ZYSbWg'];_0x3f33=function(){return _0x49480f;};return _0x3f33();}export class DependsAdapter{[_0x312801(0xc1)](_0x1bb24c,_0x487012){}['onMSFSsoError'](_0x41a22e){}[_0x312801(0xb5)](_0x487b3b){}}
|
||||
var _0x4f8b54=_0x4f34;function _0x4f34(_0xbaed04,_0x4b53ad){var _0x4cc022=_0x4cc0();return _0x4f34=function(_0x4f349c,_0x9083e2){_0x4f349c=_0x4f349c-0x131;var _0x33410f=_0x4cc022[_0x4f349c];return _0x33410f;},_0x4f34(_0xbaed04,_0x4b53ad);}function _0x4cc0(){var _0x1d4b13=['477EyYLON','54UTQVQP','6vywxEB','326856HoPiQr','1859ZKXyOj','onMSFSsoError','250QjfjnE','139784xWKKzW','onMSFStatusChange','60qLkvMG','442211Jauitq','194770TWLKuK','97079vRHCFb','getGroupCode'];_0x4cc0=function(){return _0x1d4b13;};return _0x4cc0();}(function(_0x38fc1a,_0x101f93){var _0xb96e1c=_0x4f34,_0x35d74e=_0x38fc1a();while(!![]){try{var _0x468126=parseInt(_0xb96e1c(0x134))/0x1+-parseInt(_0xb96e1c(0x13c))/0x2*(-parseInt(_0xb96e1c(0x136))/0x3)+parseInt(_0xb96e1c(0x139))/0x4+-parseInt(_0xb96e1c(0x133))/0x5+-parseInt(_0xb96e1c(0x138))/0x6*(-parseInt(_0xb96e1c(0x132))/0x7)+parseInt(_0xb96e1c(0x13d))/0x8*(-parseInt(_0xb96e1c(0x137))/0x9)+-parseInt(_0xb96e1c(0x131))/0xa*(-parseInt(_0xb96e1c(0x13a))/0xb);if(_0x468126===_0x101f93)break;else _0x35d74e['push'](_0x35d74e['shift']());}catch(_0x46afc8){_0x35d74e['push'](_0x35d74e['shift']());}}}(_0x4cc0,0x1d117));export class DependsAdapter{[_0x4f8b54(0x13e)](_0x375bc6,_0x4931a2){}[_0x4f8b54(0x13b)](_0xdb7883){}[_0x4f8b54(0x135)](_0x4f0da6){}}
|
@@ -1 +1 @@
|
||||
function _0xd918(_0x41483d,_0x889907){var _0x58bf19=_0x58bf();return _0xd918=function(_0xd918d8,_0x1ca855){_0xd918d8=_0xd918d8-0x1a8;var _0x922fac=_0x58bf19[_0xd918d8];return _0x922fac;},_0xd918(_0x41483d,_0x889907);}var _0x2ff274=_0xd918;(function(_0x4e51bb,_0x3ea197){var _0x37f53a=_0xd918,_0x443375=_0x4e51bb();while(!![]){try{var _0x1e5344=-parseInt(_0x37f53a(0x1ad))/0x1+parseInt(_0x37f53a(0x1af))/0x2+parseInt(_0x37f53a(0x1ac))/0x3*(parseInt(_0x37f53a(0x1b0))/0x4)+-parseInt(_0x37f53a(0x1b4))/0x5*(parseInt(_0x37f53a(0x1ae))/0x6)+parseInt(_0x37f53a(0x1a9))/0x7*(-parseInt(_0x37f53a(0x1ab))/0x8)+-parseInt(_0x37f53a(0x1aa))/0x9+parseInt(_0x37f53a(0x1b2))/0xa;if(_0x1e5344===_0x3ea197)break;else _0x443375['push'](_0x443375['shift']());}catch(_0x35dc93){_0x443375['push'](_0x443375['shift']());}}}(_0x58bf,0x469fd));export class DispatcherAdapter{[_0x2ff274(0x1b3)](_0x1d95f2){}[_0x2ff274(0x1a8)](_0x3ea26c){}[_0x2ff274(0x1b1)](_0x10acdf){}}function _0x58bf(){var _0x4f3322=['dispatchRequest','2046670cXvFGX','dispatchCall','21STBWCf','2445264sDyRrR','2408lpMgBD','294726nxCwLq','374542jqZJvb','6PeQMDn','1135130cwIbEO','8xmGioW','dispatchCallWithJson','5817030ZXbzaz'];_0x58bf=function(){return _0x4f3322;};return _0x58bf();}
|
||||
function _0x1311(){var _0x21c10c=['759EwMYVJ','7649917vyYsAY','18AJNhUO','19844rnwfOz','7LYYXWh','2850560Hdzetk','855832KOoAHx','6094430aJQOfM','1188106kodgkd','1243134TqstUS','dispatchCall','dispatchRequest','3YGNuNP'];_0x1311=function(){return _0x21c10c;};return _0x1311();}function _0x9613(_0x124e1f,_0x5ca3b2){var _0x13111e=_0x1311();return _0x9613=function(_0x961396,_0x45cbb4){_0x961396=_0x961396-0x19f;var _0x589d0b=_0x13111e[_0x961396];return _0x589d0b;},_0x9613(_0x124e1f,_0x5ca3b2);}var _0x1cf984=_0x9613;(function(_0x424440,_0x3ba584){var _0x5949c9=_0x9613,_0x43e09f=_0x424440();while(!![]){try{var _0x4162c0=-parseInt(_0x5949c9(0x1a1))/0x1*(parseInt(_0x5949c9(0x1aa))/0x2)+parseInt(_0x5949c9(0x1a2))/0x3*(parseInt(_0x5949c9(0x1a5))/0x4)+-parseInt(_0x5949c9(0x1a7))/0x5+parseInt(_0x5949c9(0x1ab))/0x6+parseInt(_0x5949c9(0x1a6))/0x7*(-parseInt(_0x5949c9(0x1a8))/0x8)+parseInt(_0x5949c9(0x1a4))/0x9*(parseInt(_0x5949c9(0x1a9))/0xa)+parseInt(_0x5949c9(0x1a3))/0xb;if(_0x4162c0===_0x3ba584)break;else _0x43e09f['push'](_0x43e09f['shift']());}catch(_0x5a2141){_0x43e09f['push'](_0x43e09f['shift']());}}}(_0x1311,0xdff9d));export class DispatcherAdapter{[_0x1cf984(0x1a0)](_0x4e9185){}[_0x1cf984(0x19f)](_0xed1775){}['dispatchCallWithJson'](_0x4ff1ee){}}
|
@@ -1 +1 @@
|
||||
function _0x542e(_0x24d725,_0x626b2e){var _0x560aad=_0x560a();return _0x542e=function(_0x542ed4,_0x34edc1){_0x542ed4=_0x542ed4-0x76;var _0x635f00=_0x560aad[_0x542ed4];return _0x635f00;},_0x542e(_0x24d725,_0x626b2e);}var _0x12c22c=_0x542e;(function(_0x5f520f,_0x2af615){var _0x261cf6=_0x542e,_0x19e611=_0x5f520f();while(!![]){try{var _0x4f968b=parseInt(_0x261cf6(0x7c))/0x1+-parseInt(_0x261cf6(0x78))/0x2+parseInt(_0x261cf6(0x82))/0x3+parseInt(_0x261cf6(0x7e))/0x4+-parseInt(_0x261cf6(0x7b))/0x5*(-parseInt(_0x261cf6(0x7d))/0x6)+parseInt(_0x261cf6(0x7a))/0x7+parseInt(_0x261cf6(0x84))/0x8*(-parseInt(_0x261cf6(0x80))/0x9);if(_0x4f968b===_0x2af615)break;else _0x19e611['push'](_0x19e611['shift']());}catch(_0x364fba){_0x19e611['push'](_0x19e611['shift']());}}}(_0x560a,0x219d4));export class GlobalAdapter{[_0x12c22c(0x76)](..._0x2596f6){}[_0x12c22c(0x85)](..._0x5aa245){}['onShowErrUITips'](..._0x30bb0b){}[_0x12c22c(0x81)](..._0x526a26){}[_0x12c22c(0x7f)](..._0xda6e56){}[_0x12c22c(0x83)](..._0x24f600){}[_0x12c22c(0x79)](..._0x4642b6){}[_0x12c22c(0x77)](..._0x4dc1b2){}}function _0x560a(){var _0x8b3fc=['15ChtyeH','20320Tkwggx','310938UySqVX','724892uXQoPU','getAppSetting','7299JGoYfC','fixPicImgType','78327jdPzcS','onInstallFinished','3488ttTWCp','onGetSrvCalTime','onLog','onGetOfflineMsg','82140zEVtjW','onUpdateGeneralFlag','1044603ksIwqi'];_0x560a=function(){return _0x8b3fc;};return _0x560a();}
|
||||
function _0x29b3(){var _0x50a1ac=['227dappVx','onLog','3ezeneX','82146BRNYZc','onGetOfflineMsg','13966LCzWGd','onGetSrvCalTime','4190520tddJqr','12542238Ejzuyc','42214070tGrJfU','fixPicImgType','497Rwzcci','1773784nMIZhG','4684616Ljokuo'];_0x29b3=function(){return _0x50a1ac;};return _0x29b3();}function _0x26ad(_0x210152,_0xd58e76){var _0x29b3c2=_0x29b3();return _0x26ad=function(_0x26ad07,_0xc58895){_0x26ad07=_0x26ad07-0x1b9;var _0x36b970=_0x29b3c2[_0x26ad07];return _0x36b970;},_0x26ad(_0x210152,_0xd58e76);}var _0x1738d3=_0x26ad;(function(_0x20c8f1,_0x517180){var _0x244916=_0x26ad,_0x32b58e=_0x20c8f1();while(!![]){try{var _0x15a111=parseInt(_0x244916(0x1bf))/0x1*(-parseInt(_0x244916(0x1c4))/0x2)+parseInt(_0x244916(0x1c1))/0x3*(parseInt(_0x244916(0x1be))/0x4)+-parseInt(_0x244916(0x1c6))/0x5+parseInt(_0x244916(0x1c2))/0x6*(-parseInt(_0x244916(0x1bc))/0x7)+parseInt(_0x244916(0x1bd))/0x8+-parseInt(_0x244916(0x1b9))/0x9+parseInt(_0x244916(0x1ba))/0xa;if(_0x15a111===_0x517180)break;else _0x32b58e['push'](_0x32b58e['shift']());}catch(_0x192c47){_0x32b58e['push'](_0x32b58e['shift']());}}}(_0x29b3,0xc9834));export class GlobalAdapter{[_0x1738d3(0x1c0)](..._0x3d1936){}[_0x1738d3(0x1c5)](..._0x4c8dae){}['onShowErrUITips'](..._0x5bf5a2){}[_0x1738d3(0x1bb)](..._0x2ef0dd){}['getAppSetting'](..._0x5b6467){}['onInstallFinished'](..._0x11433e){}['onUpdateGeneralFlag'](..._0x36e7ff){}[_0x1738d3(0x1c3)](..._0x302955){}}
|
@@ -1 +1 @@
|
||||
function _0x3c69(_0x3bcbf7,_0x5062f6){var _0x18dfde=_0x18df();return _0x3c69=function(_0x3c698a,_0x2be4a1){_0x3c698a=_0x3c698a-0x18d;var _0x4fa004=_0x18dfde[_0x3c698a];return _0x4fa004;},_0x3c69(_0x3bcbf7,_0x5062f6);}(function(_0x10db25,_0x5cfed7){var _0x503822=_0x3c69,_0x22f0ac=_0x10db25();while(!![]){try{var _0x4c1fac=parseInt(_0x503822(0x192))/0x1+-parseInt(_0x503822(0x191))/0x2*(-parseInt(_0x503822(0x18d))/0x3)+-parseInt(_0x503822(0x18e))/0x4+-parseInt(_0x503822(0x18f))/0x5+parseInt(_0x503822(0x195))/0x6*(parseInt(_0x503822(0x190))/0x7)+-parseInt(_0x503822(0x193))/0x8*(-parseInt(_0x503822(0x196))/0x9)+-parseInt(_0x503822(0x194))/0xa;if(_0x4c1fac===_0x5cfed7)break;else _0x22f0ac['push'](_0x22f0ac['shift']());}catch(_0x1ef1d6){_0x22f0ac['push'](_0x22f0ac['shift']());}}}(_0x18df,0x6ee29));function _0x18df(){var _0x306bf8=['85099McqKSS','446612gfPezC','628119vRfteW','16UHyByL','9280230MKmgnk','312AXqpyn','1833957mTigZj','6zFIsSs','244244XMOWDt','3355860pyDEWQ'];_0x18df=function(){return _0x306bf8;};return _0x18df();}export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';
|
||||
(function(_0x3bdc0a,_0x2b28d2){var _0x4f262f=_0x5807,_0x2cdc54=_0x3bdc0a();while(!![]){try{var _0x24155b=parseInt(_0x4f262f(0xf2))/0x1*(-parseInt(_0x4f262f(0xf3))/0x2)+-parseInt(_0x4f262f(0xf1))/0x3+-parseInt(_0x4f262f(0xf5))/0x4*(parseInt(_0x4f262f(0xf8))/0x5)+-parseInt(_0x4f262f(0xf4))/0x6+-parseInt(_0x4f262f(0xf7))/0x7*(-parseInt(_0x4f262f(0xf6))/0x8)+parseInt(_0x4f262f(0xf9))/0x9+-parseInt(_0x4f262f(0xef))/0xa*(-parseInt(_0x4f262f(0xf0))/0xb);if(_0x24155b===_0x2b28d2)break;else _0x2cdc54['push'](_0x2cdc54['shift']());}catch(_0x3e3eaf){_0x2cdc54['push'](_0x2cdc54['shift']());}}}(_0x40f5,0x1dc0b));function _0x5807(_0x1a67af,_0x167d9c){var _0x40f51e=_0x40f5();return _0x5807=function(_0x580701,_0xa71bda){_0x580701=_0x580701-0xef;var _0x8b501a=_0x40f51e[_0x580701];return _0x8b501a;},_0x5807(_0x1a67af,_0x167d9c);}export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x40f5(){var _0x516c0a=['20XtOAIT','2219195TpiCHh','432918TfuxVG','166613tJaCyR','2uEjykt','1290828cCTXnB','7348QUxezJ','1336PUrnLr','7147WruUXt','160AGXJYr','1194399FtRLXu'];_0x40f5=function(){return _0x516c0a;};return _0x40f5();}export*from'./NodeIGlobalAdapter';
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
const _0x200bce=_0x521e;function _0xbabf(){const _0x211bb5=['addListener','2865738XvhlRl','set','66454YjOygA','uid','获取好友列表完成','reqTime','829616gfjVgA','push','3355675vCCGpI','getBuddyService','QypPz','handleFriendRequest','117iGJzXo','onBuddyListChange','delete','buddyList','获取好友列表超时','gJDqR','getFriends','friendUid','uin','onLoginSuccess','70828vHbuOz','getBuddyList','EHncv','approvalFriendRequest','session','iWgub','qlebO','开始获取好友列表','19828488yGaGlA','3392438TVQZNU'];_0xbabf=function(){return _0x211bb5;};return _0xbabf();}(function(_0x2df1dc,_0x19f282){const _0x6bf846=_0x521e,_0x80a8c=_0x2df1dc();while(!![]){try{const _0x44b977=-parseInt(_0x6bf846(0x16a))/0x1+parseInt(_0x6bf846(0x14d))/0x2+parseInt(_0x6bf846(0x153))/0x3*(-parseInt(_0x6bf846(0x15d))/0x4)+-parseInt(_0x6bf846(0x14f))/0x5+-parseInt(_0x6bf846(0x168))/0x6+-parseInt(_0x6bf846(0x166))/0x7+parseInt(_0x6bf846(0x165))/0x8;if(_0x44b977===_0x19f282)break;else _0x80a8c['push'](_0x80a8c['shift']());}catch(_0x59682b){_0x80a8c['push'](_0x80a8c['shift']());}}}(_0xbabf,0x7aca6));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();function _0x521e(_0x32b35a,_0x4316c1){const _0xbabf17=_0xbabf();return _0x521e=function(_0x521e87,_0x464bc2){_0x521e87=_0x521e87-0x14a;let _0x4e917c=_0xbabf17[_0x521e87];return _0x4e917c;},_0x521e(_0x32b35a,_0x4316c1);}buddyListener[_0x200bce(0x154)]=_0xf2c49a=>{const _0x4a6b60=_0x200bce;for(const [_0x58ff70,_0x533778]of buddyChangeTasks){_0x533778(_0xf2c49a),buddyChangeTasks[_0x4a6b60(0x155)](_0x58ff70);}},setTimeout(()=>{const _0x331f78=_0x200bce;napCatCore[_0x331f78(0x15c)](()=>{const _0x148e1d=_0x331f78;napCatCore[_0x148e1d(0x167)](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x200bce(0x159)](_0x29cefa=![]){const _0x2c974d=_0x200bce,_0x1fd5d8={'qlebO':_0x2c974d(0x157),'gJDqR':function(_0x43b2bf,_0x49881f,_0x2b7903){return _0x43b2bf(_0x49881f,_0x2b7903);},'yvXxm':function(_0x10044e,_0x44494e){return _0x10044e(_0x44494e);},'EHncv':function(_0x577260,_0x33e923,_0x293431){return _0x577260(_0x33e923,_0x293431);},'iWgub':function(_0x43c87a){return _0x43c87a();}};return new Promise((_0x17a917,_0x2dd79f)=>{const _0x533a8b=_0x2c974d,_0x301724={'QypPz':function(_0x3f9258,_0x1fa332,_0x32a466){const _0x3a40f2=_0x521e;return _0x1fd5d8[_0x3a40f2(0x15f)](_0x3f9258,_0x1fa332,_0x32a466);}};let _0x3f2664=![];_0x1fd5d8[_0x533a8b(0x158)](setTimeout,()=>{const _0x51eb22=_0x533a8b;!_0x3f2664&&(logDebug(_0x1fd5d8['qlebO']),_0x2dd79f(_0x1fd5d8[_0x51eb22(0x163)]));},0x1388);const _0x21371c=[],_0x4d537d=_0x2686ce=>{const _0x258077=_0x533a8b;for(const _0x1a06c1 of _0x2686ce){for(const _0x2da3ba of _0x1a06c1[_0x258077(0x156)]){_0x21371c[_0x258077(0x14e)](_0x2da3ba),uid2UinMap[_0x2da3ba[_0x258077(0x14a)]]=_0x2da3ba[_0x258077(0x15b)];}}_0x3f2664=!![],_0x1fd5d8[_0x258077(0x158)](logDebug,_0x258077(0x14b),_0x21371c),_0x1fd5d8['yvXxm'](_0x17a917,_0x21371c);};buddyChangeTasks[_0x533a8b(0x169)](_0x1fd5d8[_0x533a8b(0x162)](randomUUID),_0x4d537d),napCatCore[_0x533a8b(0x161)]['getBuddyService']()[_0x533a8b(0x15e)](_0x29cefa)['then'](_0x1e52f8=>{const _0x1724cc=_0x533a8b;_0x301724[_0x1724cc(0x151)](logDebug,_0x1724cc(0x164),_0x1e52f8);});});}static async[_0x200bce(0x152)](_0x5c339a,_0x2b7159){const _0x223df1=_0x200bce;napCatCore[_0x223df1(0x161)][_0x223df1(0x150)]()?.[_0x223df1(0x160)]({'friendUid':_0x5c339a[_0x223df1(0x15a)],'reqTime':_0x5c339a[_0x223df1(0x14c)],'accept':_0x2b7159});}}
|
||||
const _0x3757d1=_0x17b2;(function(_0x2f62ad,_0x5963b4){const _0x5f29cb=_0x17b2,_0x543a5b=_0x2f62ad();while(!![]){try{const _0x3aa014=-parseInt(_0x5f29cb(0x206))/0x1*(-parseInt(_0x5f29cb(0x1f4))/0x2)+parseInt(_0x5f29cb(0x208))/0x3*(parseInt(_0x5f29cb(0x200))/0x4)+-parseInt(_0x5f29cb(0x207))/0x5+parseInt(_0x5f29cb(0x201))/0x6*(parseInt(_0x5f29cb(0x1fc))/0x7)+parseInt(_0x5f29cb(0x205))/0x8*(-parseInt(_0x5f29cb(0x1f5))/0x9)+parseInt(_0x5f29cb(0x1fd))/0xa+-parseInt(_0x5f29cb(0x1f7))/0xb*(parseInt(_0x5f29cb(0x1f9))/0xc);if(_0x3aa014===_0x5963b4)break;else _0x543a5b['push'](_0x543a5b['shift']());}catch(_0x1b0839){_0x543a5b['push'](_0x543a5b['shift']());}}}(_0x1b8f,0xbb9ab));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();function _0x17b2(_0x43434d,_0x30087a){const _0x1b8f1b=_0x1b8f();return _0x17b2=function(_0x17b27d,_0x34d322){_0x17b27d=_0x17b27d-0x1ee;let _0x432272=_0x1b8f1b[_0x17b27d];return _0x432272;},_0x17b2(_0x43434d,_0x30087a);}buddyListener['onBuddyListChange']=_0x25d05e=>{const _0x25cb4a=_0x17b2,_0x19c9d1={'qxpAE':function(_0x28d79a,_0x38af37){return _0x28d79a(_0x38af37);}};for(const [_0x3051c4,_0x348caa]of buddyChangeTasks){_0x19c9d1['qxpAE'](_0x348caa,_0x25d05e),buddyChangeTasks[_0x25cb4a(0x1f8)](_0x3051c4);}},setTimeout(()=>{const _0x17a999=_0x17b2;napCatCore[_0x17a999(0x203)](()=>{napCatCore['addListener'](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x3757d1(0x1f2)](_0x305132=![]){const _0x5e7a03=_0x3757d1,_0x55ec4f={'NXjGr':function(_0x3e934d,_0x93a49f,_0x144231){return _0x3e934d(_0x93a49f,_0x144231);},'DOMfK':_0x5e7a03(0x1f3),'pKUBU':function(_0xee9953,_0x2699d3){return _0xee9953(_0x2699d3);},'cdXPY':function(_0x2b95b8){return _0x2b95b8();}};return new Promise((_0x206f8e,_0x3d0ad9)=>{const _0x55c62f=_0x5e7a03,_0x31fed7={'wsrxw':_0x55c62f(0x1fb),'biKTl':function(_0x13b8de,_0x1600d2){const _0x3dda39=_0x55c62f;return _0x55ec4f[_0x3dda39(0x204)](_0x13b8de,_0x1600d2);}};let _0x50930b=![];_0x55ec4f[_0x55c62f(0x1f1)](setTimeout,()=>{const _0x29e19a=_0x55c62f;!_0x50930b&&(logDebug(_0x31fed7[_0x29e19a(0x1f0)]),_0x31fed7['biKTl'](_0x3d0ad9,'获取好友列表超时'));},0x1388);const _0x48e6f9=[],_0x3ef8a3=_0x6a8c50=>{const _0x2f25c0=_0x55c62f;for(const _0x103d42 of _0x6a8c50){for(const _0x71e37d of _0x103d42['buddyList']){_0x48e6f9['push'](_0x71e37d),uid2UinMap[_0x71e37d[_0x2f25c0(0x1fe)]]=_0x71e37d[_0x2f25c0(0x1fa)];}}_0x50930b=!![],_0x206f8e(_0x48e6f9);};buddyChangeTasks['set'](_0x55ec4f[_0x55c62f(0x20b)](randomUUID),_0x3ef8a3),napCatCore[_0x55c62f(0x209)][_0x55c62f(0x1ef)]()[_0x55c62f(0x20a)](_0x305132)[_0x55c62f(0x1ee)](_0xd52f69=>{const _0x4815f5=_0x55c62f;_0x55ec4f[_0x4815f5(0x1f1)](logDebug,_0x55ec4f['DOMfK'],_0xd52f69);});});}static async[_0x3757d1(0x1f6)](_0x44c874,_0x1011f3){const _0x480210=_0x3757d1;napCatCore[_0x480210(0x209)][_0x480210(0x1ef)]()?.['approvalFriendRequest']({'friendUid':_0x44c874[_0x480210(0x1ff)],'reqTime':_0x44c874[_0x480210(0x202)],'accept':_0x1011f3});}}function _0x1b8f(){const _0x287fa9=['2515681RzhBmA','11916620TZDGtc','uid','friendUid','68GAznyh','6bgSrBX','reqTime','onLoginSuccess','pKUBU','16LLgVDZ','4073mrGVbD','2275770jHpktY','170229pUvcbe','session','getBuddyList','cdXPY','then','getBuddyService','wsrxw','NXjGr','getFriends','开始获取好友列表','428jkhBfD','343377JzsWJk','handleFriendRequest','21241MJZZLX','delete','12972VCGNYp','uin','获取好友列表超时'];_0x1b8f=function(){return _0x287fa9;};return _0x1b8f();}
|
26
src/core.lib/src/apis/group.d.ts
vendored
26
src/core.lib/src/apis/group.d.ts
vendored
@@ -1,9 +1,33 @@
|
||||
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
|
||||
export declare class NTQQGroupApi {
|
||||
static getGroups(forced?: boolean): Promise<Group[]>;
|
||||
static getSingleScreenNotifies(num: number): Promise<unknown>;
|
||||
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
@@ -1 +1 @@
|
||||
(function(_0x42ec9e,_0x3c5d53){var _0x26790a=_0x4120,_0x1cf0b9=_0x42ec9e();while(!![]){try{var _0x12ccdb=parseInt(_0x26790a(0xa1))/0x1*(-parseInt(_0x26790a(0xa8))/0x2)+parseInt(_0x26790a(0xa3))/0x3+-parseInt(_0x26790a(0xa4))/0x4+parseInt(_0x26790a(0x9e))/0x5*(-parseInt(_0x26790a(0xa5))/0x6)+parseInt(_0x26790a(0xa2))/0x7+parseInt(_0x26790a(0xa0))/0x8*(-parseInt(_0x26790a(0xa7))/0x9)+-parseInt(_0x26790a(0xa6))/0xa*(-parseInt(_0x26790a(0x9f))/0xb);if(_0x12ccdb===_0x3c5d53)break;else _0x1cf0b9['push'](_0x1cf0b9['shift']());}catch(_0xbba197){_0x1cf0b9['push'](_0x1cf0b9['shift']());}}}(_0x5bf8,0x5d7c7));export*from'./file';function _0x4120(_0x5e1952,_0x137c1b){var _0x5bf8fe=_0x5bf8();return _0x4120=function(_0x41206d,_0x213e6a){_0x41206d=_0x41206d-0x9e;var _0x9c8c9=_0x5bf8fe[_0x41206d];return _0x9c8c9;},_0x4120(_0x5e1952,_0x137c1b);}export*from'./friend';export*from'./group';function _0x5bf8(){var _0x25fec3=['1084932TAbQsr','5687800qhIJgq','1773ZjlHgT','272378dWjIPd','10DlCeMH','33tXMZNU','25336ZEgeJd','1DQMToq','976647qkfmox','941649ujvmGm','2620372YxyMrf'];_0x5bf8=function(){return _0x25fec3;};return _0x5bf8();}export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';
|
||||
(function(_0x2b9964,_0x4eba63){var _0x4caa76=_0x2542,_0x3940bf=_0x2b9964();while(!![]){try{var _0x1f0dca=-parseInt(_0x4caa76(0x121))/0x1+parseInt(_0x4caa76(0x124))/0x2*(parseInt(_0x4caa76(0x125))/0x3)+-parseInt(_0x4caa76(0x122))/0x4*(parseInt(_0x4caa76(0x11f))/0x5)+-parseInt(_0x4caa76(0x11c))/0x6+-parseInt(_0x4caa76(0x120))/0x7+-parseInt(_0x4caa76(0x123))/0x8*(parseInt(_0x4caa76(0x11d))/0x9)+parseInt(_0x4caa76(0x11e))/0xa;if(_0x1f0dca===_0x4eba63)break;else _0x3940bf['push'](_0x3940bf['shift']());}catch(_0x593be0){_0x3940bf['push'](_0x3940bf['shift']());}}}(_0x10d0,0x77b98));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';function _0x10d0(){var _0x5c19c9=['2688byUJPe','24fNPKLC','1850920DilIYg','3SoExQj','2440320iyYTIh','2246337HtHaCZ','23950550BvRgcD','2175obSxxW','4141102TAvKfE','790718yJjEha'];_0x10d0=function(){return _0x5c19c9;};return _0x10d0();}export*from'./user';export*from'./webapi';export*from'./sign';function _0x2542(_0x1a1a6b,_0x335d30){var _0x10d077=_0x10d0();return _0x2542=function(_0x25429d,_0x6243a6){_0x25429d=_0x25429d-0x11c;var _0x25d3af=_0x10d077[_0x25429d];return _0x25d3af;},_0x2542(_0x1a1a6b,_0x335d30);}export*from'./system';
|
3
src/core.lib/src/apis/msg.d.ts
vendored
3
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,7 @@ 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<any[]>;
|
||||
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
|
||||
msgList: RawMessage[];
|
||||
}>;
|
||||
|
File diff suppressed because one or more lines are too long
11
src/core.lib/src/apis/sign.d.ts
vendored
11
src/core.lib/src/apis/sign.d.ts
vendored
@@ -10,3 +10,14 @@ export interface CustomMusicSignPostData {
|
||||
image?: string;
|
||||
singer?: string;
|
||||
}
|
||||
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 @@
|
||||
export{};
|
||||
(function(_0xf184e2,_0x353f05){const _0x360916=_0x1217,_0x51f1aa=_0xf184e2();while(!![]){try{const _0x1fa391=-parseInt(_0x360916(0x1ae))/0x1*(parseInt(_0x360916(0x1c7))/0x2)+-parseInt(_0x360916(0x1bd))/0x3+parseInt(_0x360916(0x1b4))/0x4+-parseInt(_0x360916(0x1cd))/0x5+-parseInt(_0x360916(0x1a9))/0x6+parseInt(_0x360916(0x1b5))/0x7+parseInt(_0x360916(0x1c9))/0x8*(parseInt(_0x360916(0x1bc))/0x9);if(_0x1fa391===_0x353f05)break;else _0x51f1aa['push'](_0x51f1aa['shift']());}catch(_0x2fb135){_0x51f1aa['push'](_0x51f1aa['shift']());}}}(_0x519b,0xbd901));function _0x1217(_0x243e37,_0x14eece){const _0x519bce=_0x519b();return _0x1217=function(_0x121770,_0x218f39){_0x121770=_0x121770-0x1a2;let _0x1c676b=_0x519bce[_0x121770];return _0x1c676b;},_0x1217(_0x243e37,_0x14eece);}import{logDebug}from'@/common/utils/log';import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';function _0x519b(){const _0x3acfe0=['https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','p_skey','stringify','Fbwln','HttpGetJson','preview','9ohhiLg','572484WVnrNG','hykEb','signed_ark','Etwnn','replace',';\x20uin=o','cWDOP','tIoVo','tianxuan.imgJumpArk','tag','1082FCzudd',';\x20skey=','4267680nAfGHu','trInk','miniapp','MiniApp\x20JSON\x20消息生成失败','2060540eLrksV',';\x20p_uin=o','\x5c/\x5c/','tagIcon','com.tencent.miniapp.lua','rlerq','p_skey=','skey','2568414VIIckq','getQzoneCookies','IFxkW','jumpUrl','uin','1483bLAqSf','iovEi','data','normal','prompt','GET','3147876iymtOz','9025296wVgeQQ'];_0x519b=function(){return _0x3acfe0;};return _0x519b();}export async function SignMiniApp(_0x2e61d0){const _0x5cdd20=_0x1217,_0x3ec84b={'rlerq':_0x5cdd20(0x1cb),'IFxkW':_0x5cdd20(0x1b1),'Fbwln':'\x5c/\x5c/','qthrA':function(_0x38a6e8,_0x141303){return _0x38a6e8+_0x141303;},'Etwnn':function(_0x5b92aa,_0x213e63){return _0x5b92aa+_0x213e63;},'cWDOP':function(_0x1d0dc9,_0x5a06c0){return _0x1d0dc9+_0x5a06c0;},'trInk':_0x5cdd20(0x1a7),'hykEb':_0x5cdd20(0x1c8),'tIoVo':_0x5cdd20(0x1a2),'iovEi':_0x5cdd20(0x1c2),'PvXyV':function(_0x2d534b,_0x441eed){return _0x2d534b+_0x441eed;}};let _0x275de2={'app':_0x5cdd20(0x1a5),'bizsrc':_0x5cdd20(0x1c5),'view':_0x3ec84b[_0x5cdd20(0x1a6)],'prompt':_0x2e61d0[_0x5cdd20(0x1b2)],'config':{'type':_0x3ec84b[_0x5cdd20(0x1ab)],'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x2e61d0['title'],'preview':_0x2e61d0[_0x5cdd20(0x1bb)]['replace'](/\\/g,_0x5cdd20(0x1a3)),'jumpUrl':_0x2e61d0[_0x5cdd20(0x1ac)]['replace'](/\\/g,_0x3ec84b[_0x5cdd20(0x1b9)]),'tag':_0x2e61d0[_0x5cdd20(0x1c6)],'tagIcon':_0x2e61d0[_0x5cdd20(0x1a4)][_0x5cdd20(0x1c1)](/\\/g,_0x3ec84b[_0x5cdd20(0x1b9)]),'source':_0x2e61d0['source'],'sourcelogo':_0x2e61d0['sourcelogo'][_0x5cdd20(0x1c1)](/\\/g,_0x3ec84b['Fbwln'])}}};const _0x590261=await NTQQUserApi['getSkey']();let _0x3697ae=await NTQQUserApi[_0x5cdd20(0x1aa)]();const _0x20bcb8=WebApi['genBkn'](_0x3697ae[_0x5cdd20(0x1b7)]),_0x8c35b5=_0x3ec84b['qthrA'](_0x3ec84b[_0x5cdd20(0x1c0)](_0x3ec84b['cWDOP'](_0x3ec84b[_0x5cdd20(0x1c3)](_0x3ec84b[_0x5cdd20(0x1c0)](_0x3ec84b[_0x5cdd20(0x1ca)],_0x3697ae[_0x5cdd20(0x1b7)])+_0x3ec84b[_0x5cdd20(0x1be)],_0x3697ae[_0x5cdd20(0x1a8)])+_0x3ec84b[_0x5cdd20(0x1c4)],selfInfo[_0x5cdd20(0x1ad)]),_0x3ec84b[_0x5cdd20(0x1af)]),selfInfo[_0x5cdd20(0x1ad)]);let _0x3bbda1=_0x3ec84b['PvXyV'](_0x3ec84b[_0x5cdd20(0x1c0)](_0x3ec84b[_0x5cdd20(0x1c3)](_0x5cdd20(0x1b6),_0x20bcb8),'&ark='),encodeURIComponent(JSON[_0x5cdd20(0x1b8)](_0x275de2))),_0x35a841='';try{let _0x100935=await RequestUtil[_0x5cdd20(0x1ba)](_0x3bbda1,_0x5cdd20(0x1b3),undefined,{'Cookie':_0x8c35b5});_0x35a841=_0x100935[_0x5cdd20(0x1b0)][_0x5cdd20(0x1bf)];}catch(_0x3c6532){logDebug(_0x5cdd20(0x1cc),_0x3c6532);}return _0x35a841;}
|
4
src/core.lib/src/apis/system.d.ts
vendored
4
src/core.lib/src/apis/system.d.ts
vendored
@@ -1,3 +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 +1 @@
|
||||
function _0xe208(_0x239302,_0x48d04f){var _0x34ef9f=_0x34ef();return _0xe208=function(_0xe20843,_0x541c07){_0xe20843=_0xe20843-0x13e;var _0x19a61e=_0x34ef9f[_0xe20843];return _0x19a61e;},_0xe208(_0x239302,_0x48d04f);}var _0x3f60c9=_0xe208;function _0x34ef(){var _0x406d51=['4900240iHNPdG','1370170vDQCth','2972523tLPDlP','4203250HeADmm','908327esyrES','4ZClBmZ','hasOtherRunningQQProcess','5169774BrFFYi','8558163ynHfmc','10JnedOb','7nGjUnb','util'];_0x34ef=function(){return _0x406d51;};return _0x34ef();}(function(_0x1f3083,_0xe1cf2e){var _0xf220e2=_0xe208,_0x6caf01=_0x1f3083();while(!![]){try{var _0x2e3826=-parseInt(_0xf220e2(0x144))/0x1+parseInt(_0xf220e2(0x141))/0x2+-parseInt(_0xf220e2(0x142))/0x3*(-parseInt(_0xf220e2(0x145))/0x4)+-parseInt(_0xf220e2(0x143))/0x5+-parseInt(_0xf220e2(0x147))/0x6*(parseInt(_0xf220e2(0x13e))/0x7)+parseInt(_0xf220e2(0x140))/0x8+-parseInt(_0xf220e2(0x148))/0x9*(-parseInt(_0xf220e2(0x149))/0xa);if(_0x2e3826===_0xe1cf2e)break;else _0x6caf01['push'](_0x6caf01['shift']());}catch(_0x5d654c){_0x6caf01['push'](_0x6caf01['shift']());}}}(_0x34ef,0x99815));import{napCatCore}from'@/core';export class NTQQSystemApi{static async[_0x3f60c9(0x146)](){var _0x1497e8=_0x3f60c9;return napCatCore[_0x1497e8(0x13f)][_0x1497e8(0x146)]();}}
|
||||
var _0x58874f=_0x499f;function _0x5bf6(){var _0x338222=['getRichMediaService','hasOtherRunningQQProcess','translateEnWordToZn','7812650SpaTIF','5IdOQKP','197463EOJGfS','getNodeMiscService','292KwunWF','24707826yYbHNa','1bDqocx','9245007XIPlWy','1503434WQmtZG','819GtruOw','wantWinScreenOCR','96fYPIaM','4578870IcAIKN','ORCImage'];_0x5bf6=function(){return _0x338222;};return _0x5bf6();}(function(_0x3c1b48,_0x4d0fc0){var _0x179f54=_0x499f,_0x240c82=_0x3c1b48();while(!![]){try{var _0x2dcffb=parseInt(_0x179f54(0xed))/0x1*(-parseInt(_0x179f54(0xef))/0x2)+-parseInt(_0x179f54(0xf0))/0x3*(-parseInt(_0x179f54(0xeb))/0x4)+-parseInt(_0x179f54(0xe8))/0x5*(parseInt(_0x179f54(0xf3))/0x6)+-parseInt(_0x179f54(0xe9))/0x7*(parseInt(_0x179f54(0xf2))/0x8)+parseInt(_0x179f54(0xee))/0x9+-parseInt(_0x179f54(0xe7))/0xa+parseInt(_0x179f54(0xec))/0xb;if(_0x2dcffb===_0x4d0fc0)break;else _0x240c82['push'](_0x240c82['shift']());}catch(_0x1ce6ea){_0x240c82['push'](_0x240c82['shift']());}}}(_0x5bf6,0xa0cfb));import{napCatCore}from'@/core';function _0x499f(_0x40b4d5,_0x1dd6b5){var _0x5bf6d3=_0x5bf6();return _0x499f=function(_0x499f35,_0x359f9a){_0x499f35=_0x499f35-0xe6;var _0x210e1c=_0x5bf6d3[_0x499f35];return _0x210e1c;},_0x499f(_0x40b4d5,_0x1dd6b5);}export class NTQQSystemApi{static async[_0x58874f(0xf6)](){var _0x2d3916=_0x58874f;return napCatCore['util'][_0x2d3916(0xf6)]();}static async[_0x58874f(0xf4)](_0x20b49c){var _0x20ca46=_0x58874f;return napCatCore['session'][_0x20ca46(0xea)]()[_0x20ca46(0xf1)](_0x20b49c);}static async['translateEnWordToZn'](_0x441891){var _0x815a7e=_0x58874f;return napCatCore['session'][_0x815a7e(0xf5)]()[_0x815a7e(0xe6)](_0x441891);}}
|
3
src/core.lib/src/apis/user.d.ts
vendored
3
src/core.lib/src/apis/user.d.ts
vendored
@@ -18,5 +18,8 @@ export declare class NTQQUserApi {
|
||||
[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
File diff suppressed because one or more lines are too long
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 @@
|
||||
(function(_0x3ebc58,_0x278ca2){const _0x3a0376=_0x1e30,_0x83a85e=_0x3ebc58();while(!![]){try{const _0x51f1e1=parseInt(_0x3a0376(0x1ef))/0x1*(-parseInt(_0x3a0376(0x1f9))/0x2)+parseInt(_0x3a0376(0x1fe))/0x3+-parseInt(_0x3a0376(0x1fc))/0x4*(-parseInt(_0x3a0376(0x202))/0x5)+parseInt(_0x3a0376(0x200))/0x6+parseInt(_0x3a0376(0x1fd))/0x7*(parseInt(_0x3a0376(0x1fa))/0x8)+parseInt(_0x3a0376(0x1f0))/0x9+-parseInt(_0x3a0376(0x1f1))/0xa;if(_0x51f1e1===_0x278ca2)break;else _0x83a85e['push'](_0x83a85e['shift']());}catch(_0x3fa2ad){_0x83a85e['push'](_0x83a85e['shift']());}}}(_0x6135,0x5b287));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':!![]};function _0x6135(){const _0x218b47=['pLLqI','3612348Oiugmy','hCecN','230445pEsdgN','FcJLn','uin','forEach','set','length','1gjXCGZ','4420674SlOtlx','16691040XGhKNZ','find','toString','delete','from','getGroups','values','getGroupMembers','560130rgiveV','5665448XbQjyg','get','44qFlfFy','7YgvFyk','42444dRbilI'];_0x6135=function(){return _0x218b47;};return _0x6135();}export const groups=new Map();export function deleteGroup(_0x33ed07){const _0x482ae5=_0x1e30;groups['delete'](_0x33ed07),groupMembers[_0x482ae5(0x1f4)](_0x33ed07);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};function _0x1e30(_0x45c4ed,_0x2bf4ae){const _0x6135fc=_0x6135();return _0x1e30=function(_0x1e30df,_0x20883c){_0x1e30df=_0x1e30df-0x1ee;let _0x5a103e=_0x6135fc[_0x1e30df];return _0x5a103e;},_0x1e30(_0x45c4ed,_0x2bf4ae);}export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':'NapCat未能正常启动,请检查日志查看错误'};export async function getFriend(_0xbd6485){const _0x3c07e8=_0x1e30,_0x34bab0={'pLLqI':function(_0x1d9813,_0xaaadf){return _0x1d9813(_0xaaadf);}};_0xbd6485=_0xbd6485[_0x3c07e8(0x1f3)]();if(_0x34bab0[_0x3c07e8(0x1ff)](isNumeric,_0xbd6485)){const _0x439346=Array[_0x3c07e8(0x1f5)](friends[_0x3c07e8(0x1f7)]());return _0x439346[_0x3c07e8(0x1f2)](_0x4b18cb=>_0x4b18cb[_0x3c07e8(0x204)]===_0xbd6485);}else return friends[_0x3c07e8(0x1fb)](_0xbd6485);}export async function getGroup(_0x293a95){const _0x33890d=_0x1e30;let _0xa7774a=groups['get'](_0x293a95[_0x33890d(0x1f3)]());if(!_0xa7774a)try{const _0x4be3f3=await NTQQGroupApi[_0x33890d(0x1f6)]();_0x4be3f3[_0x33890d(0x1ee)]&&_0x4be3f3[_0x33890d(0x205)](_0x92d757=>{const _0xba692b=_0x33890d;groups[_0xba692b(0x206)](_0x92d757['groupCode'],_0x92d757);});}catch(_0x20ea00){return undefined;}return _0xa7774a=groups[_0x33890d(0x1fb)](_0x293a95[_0x33890d(0x1f3)]()),_0xa7774a;}export async function getGroupMember(_0x18480c,_0x2125ec){const _0x471e2e=_0x1e30,_0x223a78={'hCecN':function(_0x331209){return _0x331209();}};_0x18480c=_0x18480c[_0x471e2e(0x1f3)](),_0x2125ec=_0x2125ec[_0x471e2e(0x1f3)]();let _0x452426=groupMembers[_0x471e2e(0x1fb)](_0x18480c);if(!_0x452426)try{_0x452426=await NTQQGroupApi[_0x471e2e(0x1f8)](_0x18480c),groupMembers[_0x471e2e(0x206)](_0x18480c,_0x452426);}catch(_0x1b0ef7){return null;}const _0x216782=()=>{const _0x31689d=_0x471e2e;let _0x14adc1=undefined;return isNumeric(_0x2125ec)?_0x14adc1=Array[_0x31689d(0x1f5)](_0x452426['values']())[_0x31689d(0x1f2)](_0x677c22=>_0x677c22[_0x31689d(0x204)]===_0x2125ec):_0x14adc1=_0x452426['get'](_0x2125ec),_0x14adc1;};let _0x520321=_0x223a78[_0x471e2e(0x201)](_0x216782);return!_0x520321&&(_0x452426=await NTQQGroupApi['getGroupMembers'](_0x18480c),_0x520321=_0x223a78[_0x471e2e(0x201)](_0x216782)),_0x520321;}export const uid2UinMap={};export function getUidByUin(_0x28d7ba){const _0x29d819=_0x1e30,_0x58327d={'FcJLn':function(_0x17f83d,_0x349a01){return _0x17f83d===_0x349a01;}};for(const _0x28ccc4 in uid2UinMap){if(_0x58327d[_0x29d819(0x203)](uid2UinMap[_0x28ccc4],_0x28d7ba))return _0x28ccc4;}}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};
|
||||
const _0x2f143c=_0x4db3;(function(_0x6dcd91,_0x29429b){const _0x4a8a26=_0x4db3,_0x4fb3fa=_0x6dcd91();while(!![]){try{const _0x464690=parseInt(_0x4a8a26(0x180))/0x1*(-parseInt(_0x4a8a26(0x17f))/0x2)+parseInt(_0x4a8a26(0x18f))/0x3+-parseInt(_0x4a8a26(0x196))/0x4+parseInt(_0x4a8a26(0x184))/0x5*(-parseInt(_0x4a8a26(0x19a))/0x6)+-parseInt(_0x4a8a26(0x18d))/0x7+-parseInt(_0x4a8a26(0x190))/0x8*(-parseInt(_0x4a8a26(0x188))/0x9)+parseInt(_0x4a8a26(0x18b))/0xa*(parseInt(_0x4a8a26(0x187))/0xb);if(_0x464690===_0x29429b)break;else _0x4fb3fa['push'](_0x4fb3fa['shift']());}catch(_0x337e37){_0x4fb3fa['push'](_0x4fb3fa['shift']());}}}(_0x5784,0x5eba8));import{isNumeric}from'@/common/utils/helper';function _0x4db3(_0x48cfa0,_0x3a59e5){const _0x578412=_0x5784();return _0x4db3=function(_0x4db31f,_0x27eebd){_0x4db31f=_0x4db31f-0x17f;let _0x4f003c=_0x578412[_0x4db31f];return _0x4f003c;},_0x4db3(_0x48cfa0,_0x3a59e5);}import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};function _0x5784(){const _0x42541c=['getGroups','groupCode','set','15765qlBhPu','get','delete','418RUuFVk','2107962BErqQv','forEach','length','459870rTLZoE','RJZnh','5085563AexJrI','uin','1060161rqBOtm','16ARissP','NapCat未能正常启动,请检查日志查看错误','from','zdmFc','getGroupMembers','find','2468796ZDIKVR','values','BqMqQ','gEpWX','846MopRqQ','toString','9248sSCRwC','85WiAhpP'];_0x5784=function(){return _0x42541c;};return _0x5784();}export const groups=new Map();export function deleteGroup(_0x429f1e){const _0x4ef735=_0x4db3;groups['delete'](_0x429f1e),groupMembers[_0x4ef735(0x186)](_0x429f1e);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x2f143c(0x191)};export async function getFriend(_0x2b2ada){const _0x568b3d=_0x2f143c,_0x376f2c={'BqMqQ':function(_0x29fa15,_0x4472a5){return _0x29fa15(_0x4472a5);}};_0x2b2ada=_0x2b2ada['toString']();if(_0x376f2c[_0x568b3d(0x198)](isNumeric,_0x2b2ada)){const _0x1614c3=Array[_0x568b3d(0x192)](friends[_0x568b3d(0x197)]());return _0x1614c3[_0x568b3d(0x195)](_0x372792=>_0x372792[_0x568b3d(0x18e)]===_0x2b2ada);}else return friends[_0x568b3d(0x185)](_0x2b2ada);}export async function getGroup(_0x308df6){const _0xb82bdc=_0x2f143c;let _0x482e6e=groups[_0xb82bdc(0x185)](_0x308df6[_0xb82bdc(0x19b)]());if(!_0x482e6e)try{const _0x3de901=await NTQQGroupApi[_0xb82bdc(0x181)]();_0x3de901[_0xb82bdc(0x18a)]&&_0x3de901[_0xb82bdc(0x189)](_0x3e0e1c=>{const _0x3933f4=_0xb82bdc;groups[_0x3933f4(0x183)](_0x3e0e1c[_0x3933f4(0x182)],_0x3e0e1c);});}catch(_0x52729b){return undefined;}return _0x482e6e=groups['get'](_0x308df6[_0xb82bdc(0x19b)]()),_0x482e6e;}export async function getGroupMember(_0x5dab24,_0x158535){const _0x33cfc0=_0x2f143c,_0x922ff7={'RJZnh':function(_0x3db2aa,_0x38db5b){return _0x3db2aa(_0x38db5b);},'zdmFc':function(_0x4a96cd){return _0x4a96cd();}};_0x5dab24=_0x5dab24['toString'](),_0x158535=_0x158535[_0x33cfc0(0x19b)]();let _0x34f961=groupMembers[_0x33cfc0(0x185)](_0x5dab24);if(!_0x34f961)try{_0x34f961=await NTQQGroupApi[_0x33cfc0(0x194)](_0x5dab24),groupMembers[_0x33cfc0(0x183)](_0x5dab24,_0x34f961);}catch(_0x4bd608){return null;}const _0x42a152=()=>{const _0x3790ee=_0x33cfc0;let _0x33f1de=undefined;return _0x922ff7[_0x3790ee(0x18c)](isNumeric,_0x158535)?_0x33f1de=Array[_0x3790ee(0x192)](_0x34f961[_0x3790ee(0x197)]())['find'](_0x91b924=>_0x91b924[_0x3790ee(0x18e)]===_0x158535):_0x33f1de=_0x34f961[_0x3790ee(0x185)](_0x158535),_0x33f1de;};let _0x5d9468=_0x42a152();return!_0x5d9468&&(_0x34f961=await NTQQGroupApi['getGroupMembers'](_0x5dab24),_0x5d9468=_0x922ff7[_0x33cfc0(0x193)](_0x42a152)),_0x5d9468;}export const uid2UinMap={};export function getUidByUin(_0x27ee8c){const _0x5cc43c=_0x2f143c,_0x1d3f59={'gEpWX':function(_0x3ceb76,_0xb8a37a){return _0x3ceb76===_0xb8a37a;}};for(const _0x1d348e in uid2UinMap){if(_0x1d3f59[_0x5cc43c(0x199)](uid2UinMap[_0x1d348e],_0x27ee8c))return _0x1d348e;}}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 _0x494d(_0x4d76f4,_0x322ab9){var _0xeb019b=_0xeb01();return _0x494d=function(_0x494df3,_0x3be8f4){_0x494df3=_0x494df3-0x108;var _0xf939f4=_0xeb019b[_0x494df3];return _0xf939f4;},_0x494d(_0x4d76f4,_0x322ab9);}(function(_0x1096ee,_0x502f76){var _0x31a750=_0x494d,_0x3d4a95=_0x1096ee();while(!![]){try{var _0x1c0149=-parseInt(_0x31a750(0x10b))/0x1+parseInt(_0x31a750(0x119))/0x2+parseInt(_0x31a750(0x113))/0x3*(-parseInt(_0x31a750(0x11d))/0x4)+parseInt(_0x31a750(0x11c))/0x5+-parseInt(_0x31a750(0x10c))/0x6*(parseInt(_0x31a750(0x11a))/0x7)+-parseInt(_0x31a750(0x10a))/0x8*(parseInt(_0x31a750(0x117))/0x9)+-parseInt(_0x31a750(0x112))/0xa*(-parseInt(_0x31a750(0x10e))/0xb);if(_0x1c0149===_0x502f76)break;else _0x3d4a95['push'](_0x3d4a95['shift']());}catch(_0x59109d){_0x3d4a95['push'](_0x3d4a95['shift']());}}}(_0xeb01,0x89c6c));;export var CacheFileType;(function(_0x1f9549){var _0x143626=_0x494d,_0x43595b={'Duvec':_0x143626(0x114),'zqthz':_0x143626(0x11e),'IZMwB':_0x143626(0x10d),'KIqaE':_0x143626(0x108),'yibUK':_0x143626(0x115),'vPdgO':_0x143626(0x111)},_0x17a434=_0x43595b['Duvec'][_0x143626(0x116)]('|'),_0x54a2d8=0x0;while(!![]){switch(_0x17a434[_0x54a2d8++]){case'0':_0x1f9549[_0x1f9549[_0x43595b[_0x143626(0x10f)]]=0x2]=_0x43595b['zqthz'];continue;case'1':_0x1f9549[_0x1f9549[_0x143626(0x10d)]=0x0]=_0x43595b[_0x143626(0x109)];continue;case'2':_0x1f9549[_0x1f9549[_0x43595b['KIqaE']]=0x3]=_0x43595b[_0x143626(0x11b)];continue;case'3':_0x1f9549[_0x1f9549[_0x43595b[_0x143626(0x110)]]=0x4]=_0x43595b[_0x143626(0x110)];continue;case'4':_0x1f9549[_0x1f9549[_0x43595b[_0x143626(0x118)]]=0x1]=_0x43595b['vPdgO'];continue;}break;}}(CacheFileType||(CacheFileType={})));function _0xeb01(){var _0x9fa370=['14742aDCGKh','KIqaE','1681495lCHQMn','1831352CCQYHC','AUDIO','DOCUMENT','IZMwB','5567960pFNaKM','561245nvVGFv','1374qTyxIN','IMAGE','4906nOgtqm','zqthz','yibUK','VIDEO','35500mtzNbb','3aFFliJ','1|4|0|2|3','OTHER','split','9JfIniE','vPdgO','1684170vPYujA'];_0xeb01=function(){return _0x9fa370;};return _0xeb01();}
|
||||
(function(_0x4b175e,_0x452713){var _0x404486=_0x35b6,_0x4481cc=_0x4b175e();while(!![]){try{var _0x40b0ac=parseInt(_0x404486(0x1c9))/0x1+-parseInt(_0x404486(0x1ce))/0x2*(parseInt(_0x404486(0x1cb))/0x3)+-parseInt(_0x404486(0x1c5))/0x4+parseInt(_0x404486(0x1c3))/0x5*(parseInt(_0x404486(0x1ca))/0x6)+parseInt(_0x404486(0x1c7))/0x7*(parseInt(_0x404486(0x1bf))/0x8)+parseInt(_0x404486(0x1bb))/0x9*(-parseInt(_0x404486(0x1cf))/0xa)+parseInt(_0x404486(0x1bd))/0xb*(parseInt(_0x404486(0x1cd))/0xc);if(_0x40b0ac===_0x452713)break;else _0x4481cc['push'](_0x4481cc['shift']());}catch(_0x1e1964){_0x4481cc['push'](_0x4481cc['shift']());}}}(_0x1730,0x4cfc6));;function _0x1730(){var _0x386f4a=['27hhgRWY','sITvM','967087wLIDnb','split','8Auensn','qfLgq','AUDIO','VIDEO','10MCZkne','IMAGE','1574844WDzRid','DOCUMENT','349937NbFSsB','OTHER','386302HKiqRN','838368fymGmy','3fwpTnC','RjXbr','132AufSvg','737076fvznmL','2017510uDaNMA'];_0x1730=function(){return _0x386f4a;};return _0x1730();}function _0x35b6(_0x377741,_0x6f7eb5){var _0x1730f1=_0x1730();return _0x35b6=function(_0x35b67e,_0x23361f){_0x35b67e=_0x35b67e-0x1bb;var _0x427dc3=_0x1730f1[_0x35b67e];return _0x427dc3;},_0x35b6(_0x377741,_0x6f7eb5);}export var CacheFileType;(function(_0x4459eb){var _0xc5079e=_0x35b6,_0x1e9f17={'RjXbr':'1|2|4|3|0','qfLgq':_0xc5079e(0x1c8),'VHPiP':_0xc5079e(0x1c4),'sITvM':_0xc5079e(0x1c2),'ioWiG':_0xc5079e(0x1c6),'ytjzY':_0xc5079e(0x1c1)},_0x2549df=_0x1e9f17[_0xc5079e(0x1cc)][_0xc5079e(0x1be)]('|'),_0x5eedeb=0x0;while(!![]){switch(_0x2549df[_0x5eedeb++]){case'0':_0x4459eb[_0x4459eb[_0x1e9f17[_0xc5079e(0x1c0)]]=0x4]=_0x1e9f17['qfLgq'];continue;case'1':_0x4459eb[_0x4459eb[_0xc5079e(0x1c4)]=0x0]=_0x1e9f17['VHPiP'];continue;case'2':_0x4459eb[_0x4459eb[_0x1e9f17[_0xc5079e(0x1bc)]]=0x1]=_0x1e9f17[_0xc5079e(0x1bc)];continue;case'3':_0x4459eb[_0x4459eb[_0x1e9f17['ioWiG']]=0x3]=_0xc5079e(0x1c6);continue;case'4':_0x4459eb[_0x4459eb[_0x1e9f17['ytjzY']]=0x2]=_0x1e9f17['ytjzY'];continue;}break;}}(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
@@ -1 +1 @@
|
||||
function _0x2807(){var _0x4ef20b=['owner','21416CUqYdz','266XXrvJN','6906SRQDUL','admin','1020SLsIQz','787310iZgKPa','52VJDNOy','356IfpTxy','2394297ZFaOgj','150648DakNdJ','lerWW','198ZhjMav','9368YnoGlx','1878kbCktK'];_0x2807=function(){return _0x4ef20b;};return _0x2807();}(function(_0x3ba2fc,_0x196bac){var _0x2bc3ed=_0x54db,_0x437ec3=_0x3ba2fc();while(!![]){try{var _0x1ae6f2=-parseInt(_0x2bc3ed(0xfa))/0x1*(-parseInt(_0x2bc3ed(0x100))/0x2)+-parseInt(_0x2bc3ed(0x105))/0x3*(parseInt(_0x2bc3ed(0xfb))/0x4)+-parseInt(_0x2bc3ed(0xf8))/0x5*(-parseInt(_0x2bc3ed(0x101))/0x6)+-parseInt(_0x2bc3ed(0x104))/0x7*(-parseInt(_0x2bc3ed(0x103))/0x8)+-parseInt(_0x2bc3ed(0xfc))/0x9+parseInt(_0x2bc3ed(0xf9))/0xa+-parseInt(_0x2bc3ed(0xff))/0xb*(-parseInt(_0x2bc3ed(0xfd))/0xc);if(_0x1ae6f2===_0x196bac)break;else _0x437ec3['push'](_0x437ec3['shift']());}catch(_0x3ef279){_0x437ec3['push'](_0x437ec3['shift']());}}}(_0x2807,0x3b4fa));export var GroupMemberRole;function _0x54db(_0x27a480,_0x521d94){var _0x28077e=_0x2807();return _0x54db=function(_0x54dbfd,_0x1f85a7){_0x54dbfd=_0x54dbfd-0xf7;var _0x3d90b3=_0x28077e[_0x54dbfd];return _0x3d90b3;},_0x54db(_0x27a480,_0x521d94);}(function(_0x181feb){var _0x173256=_0x54db,_0x2a759a={'lerWW':'normal','leCkQ':_0x173256(0xf7),'QEoRo':_0x173256(0x102)};_0x181feb[_0x181feb[_0x2a759a[_0x173256(0xfe)]]=0x2]=_0x2a759a[_0x173256(0xfe)],_0x181feb[_0x181feb['admin']=0x3]=_0x2a759a['leCkQ'],_0x181feb[_0x181feb[_0x2a759a['QEoRo']]=0x4]=_0x173256(0x102);}(GroupMemberRole||(GroupMemberRole={})));
|
||||
(function(_0x2629d1,_0x1746d3){var _0x181451=_0x20bc,_0x108b02=_0x2629d1();while(!![]){try{var _0x1681bc=parseInt(_0x181451(0x7f))/0x1*(parseInt(_0x181451(0x85))/0x2)+-parseInt(_0x181451(0x80))/0x3+-parseInt(_0x181451(0x83))/0x4+parseInt(_0x181451(0x7a))/0x5+-parseInt(_0x181451(0x7e))/0x6+parseInt(_0x181451(0x81))/0x7*(parseInt(_0x181451(0x82))/0x8)+parseInt(_0x181451(0x7d))/0x9;if(_0x1681bc===_0x1746d3)break;else _0x108b02['push'](_0x108b02['shift']());}catch(_0x26cca1){_0x108b02['push'](_0x108b02['shift']());}}}(_0x73c7,0x29b06));export var GroupMemberRole;function _0x73c7(){var _0x41f620=['4655214RMHLAw','749034NyxcBU','1zXuUYy','998340vAazLm','28LhXqGW','431272UOyzjL','1123168iPPRvo','owner','6398sMMcyX','wRNWM','eUskL','normal','865440STWwdT','admin','kvlaV'];_0x73c7=function(){return _0x41f620;};return _0x73c7();}function _0x20bc(_0x46f0ba,_0x5d6a8d){var _0x73c76f=_0x73c7();return _0x20bc=function(_0x20bc9f,_0x39efe7){_0x20bc9f=_0x20bc9f-0x79;var _0x385b90=_0x73c76f[_0x20bc9f];return _0x385b90;},_0x20bc(_0x46f0ba,_0x5d6a8d);}(function(_0x1bdbef){var _0x32a4a3=_0x20bc,_0xff7650={'kvlaV':_0x32a4a3(0x79),'wRNWM':'admin','eUskL':_0x32a4a3(0x84)};_0x1bdbef[_0x1bdbef[_0x32a4a3(0x79)]=0x2]=_0xff7650[_0x32a4a3(0x7c)],_0x1bdbef[_0x1bdbef[_0x32a4a3(0x7b)]=0x3]=_0xff7650[_0x32a4a3(0x86)],_0x1bdbef[_0x1bdbef[_0x32a4a3(0x84)]=0x4]=_0xff7650[_0x32a4a3(0x87)];}(GroupMemberRole||(GroupMemberRole={})));
|
@@ -1 +1 @@
|
||||
(function(_0x483221,_0x43ca14){var _0x5d27d8=_0x9e95,_0x41b2bc=_0x483221();while(!![]){try{var _0x25dafa=-parseInt(_0x5d27d8(0xe0))/0x1+-parseInt(_0x5d27d8(0xe2))/0x2*(-parseInt(_0x5d27d8(0xe4))/0x3)+-parseInt(_0x5d27d8(0xe3))/0x4*(-parseInt(_0x5d27d8(0xe8))/0x5)+-parseInt(_0x5d27d8(0xe9))/0x6*(parseInt(_0x5d27d8(0xe1))/0x7)+parseInt(_0x5d27d8(0xe7))/0x8*(-parseInt(_0x5d27d8(0xe6))/0x9)+parseInt(_0x5d27d8(0xe5))/0xa+-parseInt(_0x5d27d8(0xea))/0xb*(-parseInt(_0x5d27d8(0xdf))/0xc);if(_0x25dafa===_0x43ca14)break;else _0x41b2bc['push'](_0x41b2bc['shift']());}catch(_0x222f73){_0x41b2bc['push'](_0x41b2bc['shift']());}}}(_0x222a,0xb7397));export*from'./user';export*from'./group';export*from'./msg';function _0x9e95(_0x189da4,_0x2fda57){var _0x222a1b=_0x222a();return _0x9e95=function(_0x9e959c,_0x316d0b){_0x9e959c=_0x9e959c-0xdf;var _0x3af864=_0x222a1b[_0x9e959c];return _0x3af864;},_0x9e95(_0x189da4,_0x2fda57);}function _0x222a(){var _0x5f0ff9=['16hwytYu','1955105QngILm','4206tcPTFX','810139NYaiaR','276PcAraa','374245pqZHAZ','13601cbIKCi','718424GphXdX','4vCgNYX','6PtVgbD','4454410FaQwMM','3429171Ypsmhg'];_0x222a=function(){return _0x5f0ff9;};return _0x222a();}export*from'./notify';export*from'./cache';export*from'./constructor';
|
||||
(function(_0x3eeb70,_0x20726b){var _0x4e0a62=_0x45ed,_0x5d24d3=_0x3eeb70();while(!![]){try{var _0x24a9a9=-parseInt(_0x4e0a62(0x1d1))/0x1*(-parseInt(_0x4e0a62(0x1d2))/0x2)+parseInt(_0x4e0a62(0x1d8))/0x3*(parseInt(_0x4e0a62(0x1d0))/0x4)+-parseInt(_0x4e0a62(0x1d5))/0x5+parseInt(_0x4e0a62(0x1d3))/0x6+-parseInt(_0x4e0a62(0x1cf))/0x7+-parseInt(_0x4e0a62(0x1d4))/0x8+parseInt(_0x4e0a62(0x1d6))/0x9*(-parseInt(_0x4e0a62(0x1d7))/0xa);if(_0x24a9a9===_0x20726b)break;else _0x5d24d3['push'](_0x5d24d3['shift']());}catch(_0x26adba){_0x5d24d3['push'](_0x5d24d3['shift']());}}}(_0x3535,0x2535d));export*from'./user';export*from'./group';export*from'./msg';export*from'./notify';function _0x3535(){var _0x205547=['1mmqEBQ','344224jhMupL','629478JzYVFn','1819312lOyRbI','339535cdzRkR','478917sgjIAV','10SSmTVa','15ZmGVnF','116291sPfHbC','192428Gfzgwg'];_0x3535=function(){return _0x205547;};return _0x3535();}export*from'./cache';function _0x45ed(_0xd044b6,_0x188143){var _0x3535da=_0x3535();return _0x45ed=function(_0x45ed5d,_0x3ad035){_0x45ed5d=_0x45ed5d-0x1cf;var _0x1a9f0b=_0x3535da[_0x45ed5d];return _0x1a9f0b;},_0x45ed(_0xd044b6,_0x188143);}export*from'./constructor';
|
7
src/core.lib/src/entities/msg.d.ts
vendored
7
src/core.lib/src/entities/msg.d.ts
vendored
@@ -13,6 +13,13 @@ export interface KickedOffLineInfo {
|
||||
kickedType: number;
|
||||
securityKickedType: number;
|
||||
}
|
||||
export interface GetFileListParam {
|
||||
sortType: number;
|
||||
fileCount: number;
|
||||
startIndex: number;
|
||||
sortOrder: number;
|
||||
showOnlinedocFolder: number;
|
||||
}
|
||||
export declare enum ElementType {
|
||||
TEXT = 1,
|
||||
PIC = 2,
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(_0x597755,_0x495d5b){var _0x47ee60=_0x3ba9,_0x53437c=_0x597755();while(!![]){try{var _0x1f8aa0=parseInt(_0x47ee60(0x132))/0x1+parseInt(_0x47ee60(0x11e))/0x2+-parseInt(_0x47ee60(0x126))/0x3+parseInt(_0x47ee60(0x129))/0x4+-parseInt(_0x47ee60(0x121))/0x5*(-parseInt(_0x47ee60(0x134))/0x6)+parseInt(_0x47ee60(0x11d))/0x7+-parseInt(_0x47ee60(0x12f))/0x8;if(_0x1f8aa0===_0x495d5b)break;else _0x53437c['push'](_0x53437c['shift']());}catch(_0x47c442){_0x53437c['push'](_0x53437c['shift']());}}}(_0x4f72,0x36c78));export var GroupNotifyTypes;(function(_0x42092b){var _0x146440=_0x3ba9,_0x2d617d={'WmUTX':'1|0|7|3|2|4|6|5','RshSK':'INVITED_JOIN','FiHVa':'INVITE_ME','PVhaW':_0x146440(0x124),'YYbcU':_0x146440(0x12e),'HBYIM':_0x146440(0x133),'hNtNd':'ADMIN_UNSET_OTHER','XzmFW':_0x146440(0x118),'DPknG':_0x146440(0x12b)},_0x556669=_0x2d617d['WmUTX'][_0x146440(0x136)]('|'),_0x210252=0x0;while(!![]){switch(_0x556669[_0x210252++]){case'0':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x135)]]=0x4]=_0x2d617d[_0x146440(0x135)];continue;case'1':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x12c)]]=0x1]=_0x2d617d[_0x146440(0x12c)];continue;case'2':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x130)]]=0x9]=_0x2d617d['PVhaW'];continue;case'3':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x11a)]]=0x8]=_0x2d617d[_0x146440(0x11a)];continue;case'4':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x131)]]=0xb]=_0x2d617d[_0x146440(0x131)];continue;case'5':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x12a)]]=0xd]=_0x146440(0x127);continue;case'6':_0x42092b[_0x42092b[_0x2d617d[_0x146440(0x117)]]=0xc]=_0x146440(0x118);continue;case'7':_0x42092b[_0x42092b[_0x2d617d['DPknG']]=0x7]=_0x2d617d[_0x146440(0x119)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));function _0x3ba9(_0x363fa6,_0x4a4417){var _0x4f7201=_0x4f72();return _0x3ba9=function(_0x3ba98f,_0x4940ff){_0x3ba98f=_0x3ba98f-0x117;var _0x1598fa=_0x4f7201[_0x3ba98f];return _0x1598fa;},_0x3ba9(_0x363fa6,_0x4a4417);}export var GroupNotifyStatus;(function(_0x2c1a48){var _0x3cd212=_0x3ba9,_0x108bfa={'FFrqV':_0x3cd212(0x11c),'mmKwz':'APPROVE','MdUSB':_0x3cd212(0x122)};_0x2c1a48[_0x2c1a48[_0x3cd212(0x120)]=0x0]=_0x3cd212(0x120),_0x2c1a48[_0x2c1a48[_0x108bfa[_0x3cd212(0x123)]]=0x1]=_0x108bfa[_0x3cd212(0x123)],_0x2c1a48[_0x2c1a48[_0x108bfa[_0x3cd212(0x12d)]]=0x2]=_0x108bfa[_0x3cd212(0x12d)],_0x2c1a48[_0x2c1a48[_0x3cd212(0x122)]=0x3]=_0x108bfa[_0x3cd212(0x11f)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;function _0x4f72(){var _0x477d17=['ADMIN_UNSET_OTHER','approve','1363320mSZoUD','hNtNd','JOIN_REQUEST','FiHVa','mmKwz','ADMIN_SET','8323784ecKLSV','PVhaW','HBYIM','163549FiTSob','MEMBER_EXIT','347946uHQutX','RshSK','split','XzmFW','ADMIN_UNSET','DPknG','YYbcU','reject','WAIT_HANDLE','2885211wbBSFD','598888Pbgtzq','MdUSB','IGNORE','20TIqfla','REJECT','FFrqV','KICK_MEMBER','pNUWl','549333IUIRPO'];_0x4f72=function(){return _0x477d17;};return _0x4f72();}(function(_0x2bd852){var _0x407584=_0x3ba9,_0x316115={'pNUWl':_0x407584(0x128),'fzYUx':_0x407584(0x11b)};_0x2bd852[_0x2bd852[_0x316115[_0x407584(0x125)]]=0x1]=_0x316115[_0x407584(0x125)],_0x2bd852[_0x2bd852[_0x407584(0x11b)]=0x2]=_0x316115['fzYUx'];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));
|
||||
(function(_0x50fc83,_0xa9b6e){var _0x3e9640=_0x5823,_0x4ab2e7=_0x50fc83();while(!![]){try{var _0x34a23a=parseInt(_0x3e9640(0x1fb))/0x1+-parseInt(_0x3e9640(0x1dc))/0x2*(parseInt(_0x3e9640(0x1e8))/0x3)+-parseInt(_0x3e9640(0x1ee))/0x4+-parseInt(_0x3e9640(0x1f6))/0x5*(-parseInt(_0x3e9640(0x1f9))/0x6)+-parseInt(_0x3e9640(0x1f1))/0x7*(parseInt(_0x3e9640(0x1df))/0x8)+-parseInt(_0x3e9640(0x1e0))/0x9*(parseInt(_0x3e9640(0x1f4))/0xa)+parseInt(_0x3e9640(0x1f8))/0xb;if(_0x34a23a===_0xa9b6e)break;else _0x4ab2e7['push'](_0x4ab2e7['shift']());}catch(_0x5f1083){_0x4ab2e7['push'](_0x4ab2e7['shift']());}}}(_0x2b2a,0xf2426));export var GroupNotifyTypes;(function(_0x1bee10){var _0x4d190f=_0x5823,_0x32dacf={'mqfNe':'INVITE_ME','hrtTj':_0x4d190f(0x1eb),'iVCds':_0x4d190f(0x1d9),'Wqqgr':_0x4d190f(0x1e4),'mhFnM':_0x4d190f(0x1ed),'Ohadp':_0x4d190f(0x1f2),'DcOFc':_0x4d190f(0x1e1)};_0x1bee10[_0x1bee10[_0x4d190f(0x1d8)]=0x1]=_0x32dacf['mqfNe'],_0x1bee10[_0x1bee10[_0x32dacf[_0x4d190f(0x1e9)]]=0x4]=_0x4d190f(0x1eb),_0x1bee10[_0x1bee10[_0x4d190f(0x1ef)]=0x7]=_0x4d190f(0x1ef),_0x1bee10[_0x1bee10[_0x32dacf[_0x4d190f(0x1da)]]=0x8]='ADMIN_SET',_0x1bee10[_0x1bee10[_0x32dacf[_0x4d190f(0x1ea)]]=0x9]=_0x32dacf[_0x4d190f(0x1ea)],_0x1bee10[_0x1bee10[_0x32dacf['mhFnM']]=0xb]=_0x32dacf[_0x4d190f(0x1db)],_0x1bee10[_0x1bee10[_0x32dacf[_0x4d190f(0x1dd)]]=0xc]=_0x32dacf[_0x4d190f(0x1dd)],_0x1bee10[_0x1bee10[_0x32dacf[_0x4d190f(0x1e3)]]=0xd]=_0x32dacf[_0x4d190f(0x1e3)];}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;function _0x2b2a(){var _0x3fafab=['mhFnM','4KaQOAO','Ohadp','iKXWS','120KEGoua','5112yEsyum','ADMIN_UNSET_OTHER','WAIT_HANDLE','DcOFc','KICK_MEMBER','REJECT','rMYNO','ORPnf','1507299mNkRyh','hrtTj','Wqqgr','INVITED_JOIN','qOHib','MEMBER_EXIT','2982496DEDNKZ','JOIN_REQUEST','reject','714602kJWEbL','ADMIN_UNSET','approve','21290SOJJGb','WyOZC','5WZHJAI','IGNORE','30060778shJLGT','9564666OkUmOc','TjHiN','1156437LWpZrN','APPROVE','INVITE_ME','ADMIN_SET','iVCds'];_0x2b2a=function(){return _0x3fafab;};return _0x2b2a();}(function(_0x53562f){var _0x5962a2=_0x5823,_0x31bb04={'iKXWS':_0x5962a2(0x1f7),'ORPnf':_0x5962a2(0x1e2),'WyOZC':_0x5962a2(0x1d7),'rMYNO':_0x5962a2(0x1e5)};_0x53562f[_0x53562f[_0x5962a2(0x1f7)]=0x0]=_0x31bb04[_0x5962a2(0x1de)],_0x53562f[_0x53562f[_0x31bb04[_0x5962a2(0x1e7)]]=0x1]=_0x31bb04['ORPnf'],_0x53562f[_0x53562f[_0x31bb04[_0x5962a2(0x1f5)]]=0x2]='APPROVE',_0x53562f[_0x53562f[_0x31bb04[_0x5962a2(0x1e6)]]=0x3]=_0x31bb04[_0x5962a2(0x1e6)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;function _0x5823(_0x8c74bf,_0x107880){var _0x2b2a6b=_0x2b2a();return _0x5823=function(_0x582356,_0x1df26a){_0x582356=_0x582356-0x1d7;var _0x337fab=_0x2b2a6b[_0x582356];return _0x337fab;},_0x5823(_0x8c74bf,_0x107880);}(function(_0x46e652){var _0x1f7680=_0x5823,_0x15fe34={'TjHiN':_0x1f7680(0x1f3),'qOHib':_0x1f7680(0x1f0)};_0x46e652[_0x46e652[_0x15fe34[_0x1f7680(0x1fa)]]=0x1]='approve',_0x46e652[_0x46e652[_0x15fe34['qOHib']]=0x2]=_0x15fe34[_0x1f7680(0x1ec)];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));
|
@@ -1 +1 @@
|
||||
(function(_0x4121c2,_0x3a8bee){var _0x24f3b6=_0x34b7,_0x1faed3=_0x4121c2();while(!![]){try{var _0x5e0c2d=parseInt(_0x24f3b6(0x188))/0x1+parseInt(_0x24f3b6(0x192))/0x2+-parseInt(_0x24f3b6(0x18f))/0x3*(parseInt(_0x24f3b6(0x187))/0x4)+parseInt(_0x24f3b6(0x185))/0x5+-parseInt(_0x24f3b6(0x189))/0x6*(-parseInt(_0x24f3b6(0x186))/0x7)+-parseInt(_0x24f3b6(0x18e))/0x8+parseInt(_0x24f3b6(0x18a))/0x9*(-parseInt(_0x24f3b6(0x190))/0xa);if(_0x5e0c2d===_0x3a8bee)break;else _0x1faed3['push'](_0x1faed3['shift']());}catch(_0x22b0c3){_0x1faed3['push'](_0x1faed3['shift']());}}}(_0x121a,0xe7e53));function _0x34b7(_0x5436d7,_0xb54fe1){var _0x121ac7=_0x121a();return _0x34b7=function(_0x34b7f3,_0x3bc3fc){_0x34b7f3=_0x34b7f3-0x185;var _0xd1cff6=_0x121ac7[_0x34b7f3];return _0xd1cff6;},_0x34b7(_0x5436d7,_0xb54fe1);}export var Sex;function _0x121a(){var _0x14c1fc=['745026OHeVaF','495174cVhLTD','16551QHrdYN','male','VKQTj','female','1297288AiBdRI','4328151mUPdnO','3620XlDDEF','unknown','960396tcgIpt','4199045zncOin','98OUgwUY','4vkINsT'];_0x121a=function(){return _0x14c1fc;};return _0x121a();}(function(_0x447638){var _0x5f25e4=_0x34b7,_0x25373c={'VKQTj':_0x5f25e4(0x18b),'eYdrQ':_0x5f25e4(0x18d)};_0x447638[_0x447638[_0x25373c[_0x5f25e4(0x18c)]]=0x1]=_0x5f25e4(0x18b),_0x447638[_0x447638[_0x25373c['eYdrQ']]=0x2]=_0x25373c['eYdrQ'],_0x447638[_0x447638[_0x5f25e4(0x191)]=0xff]=_0x5f25e4(0x191);}(Sex||(Sex={})));
|
||||
(function(_0x4f031d,_0x410210){var _0x43b4ee=_0x4444,_0x29e1a1=_0x4f031d();while(!![]){try{var _0x5ed45e=parseInt(_0x43b4ee(0xd8))/0x1+parseInt(_0x43b4ee(0xd0))/0x2+parseInt(_0x43b4ee(0xd7))/0x3*(parseInt(_0x43b4ee(0xd1))/0x4)+-parseInt(_0x43b4ee(0xda))/0x5+-parseInt(_0x43b4ee(0xd2))/0x6+parseInt(_0x43b4ee(0xdb))/0x7+parseInt(_0x43b4ee(0xd3))/0x8;if(_0x5ed45e===_0x410210)break;else _0x29e1a1['push'](_0x29e1a1['shift']());}catch(_0x958326){_0x29e1a1['push'](_0x29e1a1['shift']());}}}(_0x400d,0x2b8b3));export var Sex;function _0x4444(_0x7b19c0,_0x172564){var _0x400d85=_0x400d();return _0x4444=function(_0x4444e3,_0x15f9fe){_0x4444e3=_0x4444e3-0xd0;var _0xcb12d2=_0x400d85[_0x4444e3];return _0xcb12d2;},_0x4444(_0x7b19c0,_0x172564);}function _0x400d(){var _0x57a345=['385120dWHWxt','4gekAvI','2099052IEomQh','290712JqydLj','female','VbKQY','male','1009293TZqjns','205863Gxinbe','syKOq','1681840aGoUWU','653604wBMfBz'];_0x400d=function(){return _0x57a345;};return _0x400d();}(function(_0x3effcf){var _0x5a950e=_0x4444,_0xb8a219={'VbKQY':_0x5a950e(0xd6),'mDCFp':'female','syKOq':'unknown'};_0x3effcf[_0x3effcf[_0xb8a219[_0x5a950e(0xd5)]]=0x1]=_0xb8a219['VbKQY'],_0x3effcf[_0x3effcf[_0x5a950e(0xd4)]=0x2]=_0xb8a219['mDCFp'],_0x3effcf[_0x3effcf['unknown']=0xff]=_0xb8a219[_0x5a950e(0xd9)];}(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(_0x13a88e,_0x1944b1){var _0x198dbd=_0x4ffc,_0x5ca256=_0x13a88e();while(!![]){try{var _0x56daeb=parseInt(_0x198dbd(0x83))/0x1+-parseInt(_0x198dbd(0x82))/0x2*(-parseInt(_0x198dbd(0x7f))/0x3)+parseInt(_0x198dbd(0x7e))/0x4*(parseInt(_0x198dbd(0x81))/0x5)+parseInt(_0x198dbd(0x80))/0x6*(-parseInt(_0x198dbd(0x7a))/0x7)+-parseInt(_0x198dbd(0x79))/0x8+-parseInt(_0x198dbd(0x7b))/0x9+-parseInt(_0x198dbd(0x7d))/0xa*(-parseInt(_0x198dbd(0x7c))/0xb);if(_0x56daeb===_0x1944b1)break;else _0x5ca256['push'](_0x5ca256['shift']());}catch(_0xb8e0d2){_0x5ca256['push'](_0x5ca256['shift']());}}}(_0x37eb,0x1eb8b));import _0x1319bf from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';function _0x37eb(){var _0x57c55b=['727617qlMurs','10zDAJgz','103468OhYigi','3951rnfBSz','6114xvnsNO','10LhPIzf','326NRtZQp','135744BMQCqH','1008384rXVXgd','1393xJgdoD','122688LmtMUL'];_0x37eb=function(){return _0x57c55b;};return _0x37eb();}export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x1319bf as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';function _0x4ffc(_0x5d1c44,_0x2e18fb){var _0x37ebf7=_0x37eb();return _0x4ffc=function(_0x4ffc1c,_0x105737){_0x4ffc1c=_0x4ffc1c-0x79;var _0x31e3fb=_0x37ebf7[_0x4ffc1c];return _0x31e3fb;},_0x4ffc(_0x5d1c44,_0x2e18fb);}export{napCatCore}from'./core';
|
||||
(function(_0x4d124c,_0x474f33){var _0x4c62e6=_0x5e05,_0x1eeba3=_0x4d124c();while(!![]){try{var _0x29af9c=parseInt(_0x4c62e6(0x190))/0x1*(-parseInt(_0x4c62e6(0x191))/0x2)+-parseInt(_0x4c62e6(0x199))/0x3+parseInt(_0x4c62e6(0x198))/0x4*(parseInt(_0x4c62e6(0x193))/0x5)+-parseInt(_0x4c62e6(0x196))/0x6+-parseInt(_0x4c62e6(0x194))/0x7+parseInt(_0x4c62e6(0x195))/0x8*(parseInt(_0x4c62e6(0x197))/0x9)+parseInt(_0x4c62e6(0x192))/0xa;if(_0x29af9c===_0x474f33)break;else _0x1eeba3['push'](_0x1eeba3['shift']());}catch(_0x190ba3){_0x1eeba3['push'](_0x1eeba3['shift']());}}}(_0xda19,0x7850c));import _0xfd6550 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';function _0xda19(){var _0x18b492=['1981728UEGHyb','1NoPsPG','514190NPMpxt','20522330LvRRCk','105ljKZlR','2270555EKZSMR','8IMMUsj','4368558LXyEtB','883863ZRQPYH','59524DSYIKB'];_0xda19=function(){return _0x18b492;};return _0xda19();}export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';function _0x5e05(_0xb3d80d,_0x260eac){var _0xda1981=_0xda19();return _0x5e05=function(_0x5e056c,_0x3c5518){_0x5e056c=_0x5e056c-0x190;var _0x2fd7f5=_0xda1981[_0x5e056c];return _0x2fd7f5;},_0x5e05(_0xb3d80d,_0x260eac);}export*as Listeners from'./listeners';export*as Services from'./services';export{_0xfd6550 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
|
@@ -1 +1 @@
|
||||
var _0x5e2e93=_0x448f;function _0x448f(_0x493fe3,_0x2158c3){var _0x4da3dc=_0x4da3();return _0x448f=function(_0x448f39,_0x23216b){_0x448f39=_0x448f39-0xd3;var _0x2e782a=_0x4da3dc[_0x448f39];return _0x2e782a;},_0x448f(_0x493fe3,_0x2158c3);}(function(_0x545901,_0x38fee5){var _0x20c67b=_0x448f,_0x63a21a=_0x545901();while(!![]){try{var _0x5cadd3=-parseInt(_0x20c67b(0xdf))/0x1*(parseInt(_0x20c67b(0xe0))/0x2)+-parseInt(_0x20c67b(0xd5))/0x3*(-parseInt(_0x20c67b(0xe3))/0x4)+parseInt(_0x20c67b(0xe9))/0x5*(-parseInt(_0x20c67b(0xd9))/0x6)+parseInt(_0x20c67b(0xdd))/0x7*(parseInt(_0x20c67b(0xd3))/0x8)+parseInt(_0x20c67b(0xe7))/0x9+-parseInt(_0x20c67b(0xe2))/0xa*(-parseInt(_0x20c67b(0xda))/0xb)+-parseInt(_0x20c67b(0xde))/0xc*(parseInt(_0x20c67b(0xe1))/0xd);if(_0x5cadd3===_0x38fee5)break;else _0x63a21a['push'](_0x63a21a['shift']());}catch(_0x1ff5ce){_0x63a21a['push'](_0x63a21a['shift']());}}}(_0x4da3,0x3bddc));function _0x4da3(){var _0xab4837=['6wiEJYi','11tXxDCE','onAddBuddyNeedVerify','onBuddyReqChange','370132ZvdxgM','154932njpEFz','23SpwXiz','32206wQeyHu','91nMtVLp','1930920ruWvgf','3284Bdtgzo','onBuddyListChange','onAddMeSettingChanged','onBlockChanged','2927817qaYWJQ','onNickUpdated','2241255PDgwLR','48odfIAn','onBuddyRemarkUpdated','1164BDeXzy','onDoubtBuddyReqChange','onDelBatchBuddyInfos','onCheckBuddySettingResult'];_0x4da3=function(){return _0xab4837;};return _0x4da3();}export class BuddyListener{[_0x5e2e93(0xdb)](_0x135116){}[_0x5e2e93(0xe5)](_0x204191){}['onAvatarUrlUpdated'](_0x44c0e9){}[_0x5e2e93(0xe6)](_0x565b23){}['onBuddyDetailInfoChange'](_0x9110f9){}['onBuddyInfoChange'](_0x370f23){}[_0x5e2e93(0xe4)](_0x5e48c9){}[_0x5e2e93(0xd4)](_0x5b2893){}[_0x5e2e93(0xdc)](_0x2d589f){}['onBuddyReqUnreadCntChange'](_0x343d8c){}[_0x5e2e93(0xd8)](_0x16b0c8){}[_0x5e2e93(0xd7)](_0x4bc251){}[_0x5e2e93(0xd6)](_0x47910f){}['onDoubtBuddyReqUnreadNumChange'](_0x52844f){}[_0x5e2e93(0xe8)](_0xf52363){}['onSmartInfos'](_0x5bb423){}['onSpacePermissionInfos'](_0x586f7b){}}
|
||||
function _0x53de(){var _0x5ac79e=['18297PSxiEG','onAddBuddyNeedVerify','onSmartInfos','onBuddyReqUnreadCntChange','onAvatarUrlUpdated','onDoubtBuddyReqUnreadNumChange','2546412FKcrRD','539235CLVuEp','onCheckBuddySettingResult','onDoubtBuddyReqChange','onBuddyDetailInfoChange','6368WCQDyn','469eGHfJe','25086LuRHEu','2488244InAoQq','4814028bSQLxE','onBuddyReqChange','7119820KauiLh','5EtDBSf','onBlockChanged','onDelBatchBuddyInfos'];_0x53de=function(){return _0x5ac79e;};return _0x53de();}var _0x52f379=_0x4b9d;(function(_0xba55a5,_0x13a47f){var _0x5e3cda=_0x4b9d,_0x3394f0=_0xba55a5();while(!![]){try{var _0x267e6f=parseInt(_0x5e3cda(0x1f2))/0x1+parseInt(_0x5e3cda(0x1f9))/0x2+-parseInt(_0x5e3cda(0x1f1))/0x3+-parseInt(_0x5e3cda(0x1fa))/0x4*(parseInt(_0x5e3cda(0x1fd))/0x5)+-parseInt(_0x5e3cda(0x1f8))/0x6*(-parseInt(_0x5e3cda(0x1f7))/0x7)+-parseInt(_0x5e3cda(0x1f6))/0x8*(-parseInt(_0x5e3cda(0x200))/0x9)+-parseInt(_0x5e3cda(0x1fc))/0xa;if(_0x267e6f===_0x13a47f)break;else _0x3394f0['push'](_0x3394f0['shift']());}catch(_0x391563){_0x3394f0['push'](_0x3394f0['shift']());}}}(_0x53de,0xdffd3));function _0x4b9d(_0x56f43d,_0x2ac6ce){var _0x53dec2=_0x53de();return _0x4b9d=function(_0x4b9d44,_0x12993a){_0x4b9d44=_0x4b9d44-0x1ee;var _0x335aa7=_0x53dec2[_0x4b9d44];return _0x335aa7;},_0x4b9d(_0x56f43d,_0x2ac6ce);}export class BuddyListener{[_0x52f379(0x201)](_0x556e4c){}['onAddMeSettingChanged'](_0x20b0b0){}[_0x52f379(0x1ef)](_0x36f5d6){}[_0x52f379(0x1fe)](_0x8942ad){}[_0x52f379(0x1f5)](_0x33ceb4){}['onBuddyInfoChange'](_0xde1189){}['onBuddyListChange'](_0x3e022d){}['onBuddyRemarkUpdated'](_0xfd0f31){}[_0x52f379(0x1fb)](_0x5a5c6e){}[_0x52f379(0x1ee)](_0x38020a){}[_0x52f379(0x1f3)](_0x2da935){}[_0x52f379(0x1ff)](_0x4c02ff){}[_0x52f379(0x1f4)](_0x29e9b7){}[_0x52f379(0x1f0)](_0x117df9){}['onNickUpdated'](_0x1a779d){}[_0x52f379(0x202)](_0x4d0b8e){}['onSpacePermissionInfos'](_0x6a0a33){}}
|
@@ -1 +1 @@
|
||||
var _0x2d54cf=_0x2959;(function(_0x167b23,_0x6f61fd){var _0x1cc876=_0x2959,_0x408d95=_0x167b23();while(!![]){try{var _0x5dfea5=-parseInt(_0x1cc876(0x1dc))/0x1+-parseInt(_0x1cc876(0x1e4))/0x2+parseInt(_0x1cc876(0x1e0))/0x3+parseInt(_0x1cc876(0x1df))/0x4+-parseInt(_0x1cc876(0x1e3))/0x5+-parseInt(_0x1cc876(0x1dd))/0x6+parseInt(_0x1cc876(0x1de))/0x7*(parseInt(_0x1cc876(0x1e6))/0x8);if(_0x5dfea5===_0x6f61fd)break;else _0x408d95['push'](_0x408d95['shift']());}catch(_0x3c571f){_0x408d95['push'](_0x408d95['shift']());}}}(_0x1319,0xc2e14));function _0x2959(_0xb20dd4,_0x52156a){var _0x131976=_0x1319();return _0x2959=function(_0x2959e3,_0x23de0a){_0x2959e3=_0x2959e3-0x1dc;var _0x43ae27=_0x131976[_0x2959e3];return _0x43ae27;},_0x2959(_0xb20dd4,_0x52156a);}export class KernelFileAssistantListener{[_0x2d54cf(0x1e2)](..._0x3ab31e){}['onSessionListChanged'](..._0x5e3fe4){}[_0x2d54cf(0x1e1)](..._0x58a28b){}[_0x2d54cf(0x1e5)](..._0x105507){}['onFileSearch'](..._0x49457d){}}function _0x1319(){var _0x28da1b=['1289285OCwuYk','4177734lSXatx','112fpnEqa','6279188lRgRGj','3238230FViXtW','onSessionChanged','onFileStatusChanged','1542615nIvDiJ','1012036voICmL','onFileListChanged','474568sPSKXC'];_0x1319=function(){return _0x28da1b;};return _0x1319();}
|
||||
function _0x2cfa(_0x440451,_0x195768){var _0x50cd1c=_0x50cd();return _0x2cfa=function(_0x2cfa36,_0x5cb074){_0x2cfa36=_0x2cfa36-0xc8;var _0x293bb5=_0x50cd1c[_0x2cfa36];return _0x293bb5;},_0x2cfa(_0x440451,_0x195768);}var _0x5721de=_0x2cfa;(function(_0x648cbb,_0x2a8a80){var _0x36f25e=_0x2cfa,_0x1333a0=_0x648cbb();while(!![]){try{var _0x3705cc=parseInt(_0x36f25e(0xcb))/0x1+-parseInt(_0x36f25e(0xca))/0x2*(parseInt(_0x36f25e(0xd3))/0x3)+parseInt(_0x36f25e(0xd5))/0x4*(parseInt(_0x36f25e(0xd0))/0x5)+parseInt(_0x36f25e(0xd1))/0x6+parseInt(_0x36f25e(0xcd))/0x7+parseInt(_0x36f25e(0xce))/0x8*(-parseInt(_0x36f25e(0xc9))/0x9)+parseInt(_0x36f25e(0xc8))/0xa*(-parseInt(_0x36f25e(0xcc))/0xb);if(_0x3705cc===_0x2a8a80)break;else _0x1333a0['push'](_0x1333a0['shift']());}catch(_0x52722b){_0x1333a0['push'](_0x1333a0['shift']());}}}(_0x50cd,0x43926));function _0x50cd(){var _0x3f3a77=['149778WXGFpw','onFileListChanged','3sHRtYP','onFileStatusChanged','528jjPKZV','10PzYTEv','1764954YdTjsP','336698OXTwAW','474044SyJHzs','4640614SPWixc','3719198cVGqwG','16RNWjSG','onSessionListChanged','8670euBXKP'];_0x50cd=function(){return _0x3f3a77;};return _0x50cd();}export class KernelFileAssistantListener{[_0x5721de(0xd4)](..._0x177aa8){}[_0x5721de(0xcf)](..._0x5116e5){}['onSessionChanged'](..._0xc58567){}[_0x5721de(0xd2)](..._0x5ea1d8){}['onFileSearch'](..._0x3f8388){}}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
var _0x53d0e4=_0x3888;function _0x3888(_0x248fd0,_0x5426cb){var _0x474825=_0x4748();return _0x3888=function(_0x388829,_0x412e9a){_0x388829=_0x388829-0x1f1;var _0x1886b3=_0x474825[_0x388829];return _0x1886b3;},_0x3888(_0x248fd0,_0x5426cb);}function _0x4748(){var _0x41bf40=['282678SlalCz','OnConfirmUnusualDeviceFailed','59108GqGOcl','onQRCodeSessionQuickLoginFailed','7421904lloxjm','2036065dMeRIK','11707443IlCftj','onUserLoggedIn','4qMvWTc','onQRCodeSessionUserScaned','8bSwjQO','9545774dLByrK','onQQLoginNumLimited','275615uCBCEy','onQRCodeLoginPollingStarted','onQRCodeSessionFailed','820vTzfJY','onLogoutSucceed','156edYQcT','onQRCodeGetPicture','onLoginConnecting','onLogoutFailed'];_0x4748=function(){return _0x41bf40;};return _0x4748();}(function(_0x1de079,_0x413380){var _0x427085=_0x3888,_0x2227f8=_0x1de079();while(!![]){try{var _0x25221e=parseInt(_0x427085(0x206))/0x1+parseInt(_0x427085(0x1fb))/0x2*(-parseInt(_0x427085(0x1f5))/0x3)+-parseInt(_0x427085(0x201))/0x4*(-parseInt(_0x427085(0x1fe))/0x5)+parseInt(_0x427085(0x1fd))/0x6+parseInt(_0x427085(0x204))/0x7+parseInt(_0x427085(0x203))/0x8*(parseInt(_0x427085(0x1ff))/0x9)+-parseInt(_0x427085(0x1f3))/0xa*(parseInt(_0x427085(0x1f9))/0xb);if(_0x25221e===_0x413380)break;else _0x2227f8['push'](_0x2227f8['shift']());}catch(_0x4b52f7){_0x2227f8['push'](_0x2227f8['shift']());}}}(_0x4748,0xe58f5));export class LoginListener{['onLoginConnected'](..._0x255e24){}['onLoginDisConnected'](..._0x424005){}[_0x53d0e4(0x1f7)](..._0x4437a5){}[_0x53d0e4(0x1f6)](_0x1689d3){}[_0x53d0e4(0x1f1)](..._0x3c4b1b){}[_0x53d0e4(0x202)](..._0x29ef4a){}['onQRCodeLoginSucceed'](_0x13c2d0){}[_0x53d0e4(0x1f2)](..._0x1d8f62){}['onLoginFailed'](..._0x6c6359){}[_0x53d0e4(0x1f4)](..._0x2e8fee){}[_0x53d0e4(0x1f8)](..._0x646558){}[_0x53d0e4(0x200)](..._0x2b42e7){}[_0x53d0e4(0x1fc)](..._0x3b3707){}['onPasswordLoginFailed'](..._0x4c7b87){}[_0x53d0e4(0x1fa)](..._0x3a2a91){}[_0x53d0e4(0x205)](..._0x2bd96c){}['onLoginState'](..._0x1cb3bb){}}
|
||||
var _0x4a6d81=_0x53ff;(function(_0x5f3fa2,_0x17c26e){var _0x296af6=_0x53ff,_0x31a5dd=_0x5f3fa2();while(!![]){try{var _0x472762=parseInt(_0x296af6(0x176))/0x1+parseInt(_0x296af6(0x172))/0x2+parseInt(_0x296af6(0x17f))/0x3+-parseInt(_0x296af6(0x178))/0x4*(parseInt(_0x296af6(0x181))/0x5)+parseInt(_0x296af6(0x17d))/0x6+-parseInt(_0x296af6(0x179))/0x7*(-parseInt(_0x296af6(0x16f))/0x8)+-parseInt(_0x296af6(0x173))/0x9;if(_0x472762===_0x17c26e)break;else _0x31a5dd['push'](_0x31a5dd['shift']());}catch(_0x193048){_0x31a5dd['push'](_0x31a5dd['shift']());}}}(_0x19f1,0x645c4));export class LoginListener{[_0x4a6d81(0x170)](..._0x3f44b3){}[_0x4a6d81(0x183)](..._0x45ae18){}[_0x4a6d81(0x185)](..._0x37b15b){}[_0x4a6d81(0x17a)](_0x102a6f){}[_0x4a6d81(0x17b)](..._0x1d5ca5){}[_0x4a6d81(0x174)](..._0x3100fc){}['onQRCodeLoginSucceed'](_0x13b91b){}['onQRCodeSessionFailed'](..._0x63f2a4){}[_0x4a6d81(0x182)](..._0x270c99){}['onLogoutSucceed'](..._0x4598d2){}[_0x4a6d81(0x177)](..._0x1cfddc){}[_0x4a6d81(0x17c)](..._0x294e61){}[_0x4a6d81(0x17e)](..._0x14afc6){}[_0x4a6d81(0x180)](..._0x43c0bd){}[_0x4a6d81(0x175)](..._0x3d672e){}[_0x4a6d81(0x171)](..._0x4af210){}[_0x4a6d81(0x184)](..._0x117afe){}}function _0x53ff(_0x4e82aa,_0x3a80d0){var _0x19f1d8=_0x19f1();return _0x53ff=function(_0x53ff33,_0x46858a){_0x53ff33=_0x53ff33-0x16f;var _0x18ea07=_0x19f1d8[_0x53ff33];return _0x18ea07;},_0x53ff(_0x4e82aa,_0x3a80d0);}function _0x19f1(){var _0x218494=['296877lyfeXc','onQRCodeGetPicture','onQRCodeLoginPollingStarted','onUserLoggedIn','3705726EhwFoW','onQRCodeSessionQuickLoginFailed','2330652HlrcEk','onPasswordLoginFailed','295dddrcI','onLoginFailed','onLoginDisConnected','onLoginState','onLoginConnecting','56IOZfTf','onLoginConnected','onQQLoginNumLimited','1322630EVpCww','16745184ZBMBwp','onQRCodeSessionUserScaned','OnConfirmUnusualDeviceFailed','684421utFiEo','onLogoutFailed','51896PSGELL'];_0x19f1=function(){return _0x218494;};return _0x19f1();}
|
@@ -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 _0x2858fb=_0x149e;function _0x2898(){var _0x4f12fa=['onMsgSecurityNotify','onRedTouchChanged','3603048RSwvIn','onRecvUDCFlag','onFeedEventUpdate','onGuildNotificationAbstractUpdate','onUserSecQualityChanged','onTempChatInfoUpdate','onUserChannelTabStatusChanged','onMsgWithRichLinkInfoUpdate','onMsgInfoListAdd','244612aGGHpF','onRichMediaDownloadComplete','onRichMediaProgerssUpdate','onSendMsgError','onGroupGuildUpdate','onMsgRecall','onNtFirstViewMsgSyncEnd','onMsgSettingUpdate','onlineStatusSmallIconDownloadPush','onMsgQRCodeStatusChanged','onEmojiDownloadComplete','onGroupTransferInfoAdd','onCustomWithdrawConfigUpdate','onRecvSysMsg','onRecvGroupGuildFlag','203067MXOKNQ','onLogLevelChanged','onMsgAbstractUpdate','onKickedOffLine','onGroupTransferInfoUpdate','2NYZuzX','onRecvMsgSvrRspTransInfo','onHitCsRelatedEmojiResult','onSysMsgNotification','onRecvS2CMsg','onInputStatusPush','4817340hCfUbo','onEmojiResourceUpdate','onFirstViewGroupGuildMapping','onRichMediaUploadComplete','onImportOldDbProgressUpdate','onBroadcastHelperDownloadComplete','onLineDev','onBroadcastHelperProgerssUpdate','onContactUnreadCntUpdate','20vkWDrS','onGuildInteractiveUpdate','onGroupFileInfoUpdate','onNtMsgSyncEnd','810TfTEua','onNtMsgSyncStart','onRecvOnlineFileMsg','110889TkRyOP','onGroupFileInfoAdd','onFileMsgCome','onUnreadCntAfterFirstView','onlineStatusBigIconDownloadPush','onDraftUpdate','7469BpvuyL','onHitRelatedEmojiResult','onMsgBoxChanged','onMsgEventListUpdate','6170544mOWlqq'];_0x2898=function(){return _0x4f12fa;};return _0x2898();}function _0x149e(_0x5a357b,_0x483adb){var _0x289839=_0x2898();return _0x149e=function(_0x149eda,_0x1c076e){_0x149eda=_0x149eda-0x144;var _0x5cdacf=_0x289839[_0x149eda];return _0x5cdacf;},_0x149e(_0x5a357b,_0x483adb);}(function(_0x221f65,_0x5d0a85){var _0x41a607=_0x149e,_0x49487b=_0x221f65();while(!![]){try{var _0x150708=parseInt(_0x41a607(0x148))/0x1*(parseInt(_0x41a607(0x15c))/0x2)+parseInt(_0x41a607(0x157))/0x3*(parseInt(_0x41a607(0x16b))/0x4)+-parseInt(_0x41a607(0x162))/0x5+-parseInt(_0x41a607(0x17f))/0x6+-parseInt(_0x41a607(0x178))/0x7+parseInt(_0x41a607(0x17c))/0x8+parseInt(_0x41a607(0x172))/0x9*(parseInt(_0x41a607(0x16f))/0xa);if(_0x150708===_0x5d0a85)break;else _0x49487b['push'](_0x49487b['shift']());}catch(_0x1cb5e9){_0x49487b['push'](_0x49487b['shift']());}}}(_0x2898,0xc0385));export class MsgListener{['onAddSendMsg'](_0x5d0e4d){}[_0x2858fb(0x167)](_0x204799){}['onBroadcastHelperProgressUpdate'](_0x5a89a2){}['onChannelFreqLimitInfoUpdate'](_0xdefa11,_0x2ae40b,_0x2b7fce){}[_0x2858fb(0x16a)](_0x258ae2){}[_0x2858fb(0x154)](_0xf71886){}[_0x2858fb(0x177)](_0x303889,_0x5f48b6,_0x43d78d){}[_0x2858fb(0x152)](_0x8acef1){}[_0x2858fb(0x163)](_0x756a19){}[_0x2858fb(0x181)](_0x3d468c){}[_0x2858fb(0x174)](_0x58b740){}['onFirstViewDirectMsgUpdate'](_0x2ccc78){}[_0x2858fb(0x164)](_0x2889fb){}['onGrabPasswordRedBag'](_0x28c2c6,_0x5df018,_0x2b054a,_0x31bc42,_0x24de34){}[_0x2858fb(0x173)](_0xc4855b){}[_0x2858fb(0x16d)](_0x5c5961){}[_0x2858fb(0x14c)](_0x1fae80){}[_0x2858fb(0x153)](_0x59c877){}[_0x2858fb(0x15b)](_0x1e691d){}[_0x2858fb(0x16c)](_0x454c04){}['onGuildMsgAbFlagChanged'](_0x132d16){}[_0x2858fb(0x182)](_0x2e92d2){}[_0x2858fb(0x15e)](_0x350db7){}['onHitEmojiKeywordResult'](_0x14f394){}[_0x2858fb(0x179)](_0x2dc21a){}[_0x2858fb(0x166)](_0x372ee2){}[_0x2858fb(0x161)](_0x45687f){}[_0x2858fb(0x15a)](_0x5c27f8){}[_0x2858fb(0x168)](_0x55505e){}[_0x2858fb(0x158)](_0x5b6a12){}[_0x2858fb(0x159)](_0x19fe0e){}[_0x2858fb(0x17a)](_0x66adef){}['onMsgDelete'](_0x19292d,_0x307c47){}[_0x2858fb(0x17b)](_0x45da85){}[_0x2858fb(0x147)](_0x580590){}['onMsgInfoListUpdate'](_0x5e7f7c){}[_0x2858fb(0x151)](_0x5d78df){}[_0x2858fb(0x14d)](_0x251d43,_0xb13e27,_0xd59f53){}[_0x2858fb(0x17d)](_0x43760d){}[_0x2858fb(0x14f)](_0x3b18c2){}[_0x2858fb(0x14e)](){}[_0x2858fb(0x16e)](){}[_0x2858fb(0x170)](){}['onReadFeedEventUpdate'](_0x424f95){}[_0x2858fb(0x156)](_0x14e8c3){}['onRecvMsg'](_0xfcdc9f){}[_0x2858fb(0x15d)](_0x461def,_0x5c1d67,_0xe6bad7,_0x5ed7e8,_0xe71919,_0x42eb9f){}[_0x2858fb(0x171)](_0x422bd0){}[_0x2858fb(0x160)](_0x5b4187){}[_0x2858fb(0x155)](_0x3aa34c){}[_0x2858fb(0x180)](_0x31f900){}[_0x2858fb(0x149)](_0x576141){}[_0x2858fb(0x14a)](_0x453f3c){}[_0x2858fb(0x165)](_0x1f0452){}['onSearchGroupFileInfoUpdate'](_0x288219){}[_0x2858fb(0x14b)](_0x319f4a,_0x155e36,_0xa3b6c5,_0xa577b0){}[_0x2858fb(0x15f)](_0x516865,_0x207065,_0x45fddd,_0x4d8d00){}[_0x2858fb(0x144)](_0x228f4f){}[_0x2858fb(0x175)](_0xd5609e){}['onUnreadCntUpdate'](_0x415bd2){}[_0x2858fb(0x145)](_0x11d029){}['onUserOnlineStatusChanged'](_0x5c82b2){}['onUserTabStatusChanged'](_0x3389d0){}[_0x2858fb(0x176)](_0x481161,_0x5edf86,_0x5f2eee){}[_0x2858fb(0x150)](_0x3e6399,_0x48247,_0x5bf46a){}[_0x2858fb(0x183)](..._0x51c9e2){}[_0x2858fb(0x146)](..._0x212a11){}[_0x2858fb(0x17e)](..._0x23cf3d){}[_0x2858fb(0x169)](..._0x1c93c3){}}
|
||||
var _0x11d257=_0x3ff2;function _0x3ff2(_0x2a0543,_0x40b984){var _0x1cec99=_0x1cec();return _0x3ff2=function(_0x3ff20e,_0x254840){_0x3ff20e=_0x3ff20e-0x183;var _0x337f0a=_0x1cec99[_0x3ff20e];return _0x337f0a;},_0x3ff2(_0x2a0543,_0x40b984);}(function(_0x508255,_0x216a83){var _0x20c36b=_0x3ff2,_0x4f947d=_0x508255();while(!![]){try{var _0x58a4a9=-parseInt(_0x20c36b(0x18d))/0x1*(-parseInt(_0x20c36b(0x19c))/0x2)+parseInt(_0x20c36b(0x183))/0x3+-parseInt(_0x20c36b(0x1b0))/0x4+parseInt(_0x20c36b(0x1a3))/0x5+-parseInt(_0x20c36b(0x1bb))/0x6*(parseInt(_0x20c36b(0x18a))/0x7)+parseInt(_0x20c36b(0x19a))/0x8*(-parseInt(_0x20c36b(0x196))/0x9)+parseInt(_0x20c36b(0x185))/0xa*(-parseInt(_0x20c36b(0x1b3))/0xb);if(_0x58a4a9===_0x216a83)break;else _0x4f947d['push'](_0x4f947d['shift']());}catch(_0x308887){_0x4f947d['push'](_0x4f947d['shift']());}}}(_0x1cec,0xdbdb4));export class MsgListener{[_0x11d257(0x1bd)](_0x162170){}['onBroadcastHelperDownloadComplete'](_0x54e586){}[_0x11d257(0x1b9)](_0x1fe9d3){}[_0x11d257(0x18e)](_0x3c6018,_0x5790a3,_0x4caf7a){}[_0x11d257(0x1b8)](_0x55af84){}[_0x11d257(0x1a4)](_0x2c0fa4){}[_0x11d257(0x194)](_0x510890,_0x3fb3dc,_0x552727){}[_0x11d257(0x198)](_0x3fb41c){}['onEmojiResourceUpdate'](_0x57278a){}[_0x11d257(0x1af)](_0x528394){}[_0x11d257(0x184)](_0x285d52){}[_0x11d257(0x192)](_0xbef023){}[_0x11d257(0x191)](_0x10e9c9){}[_0x11d257(0x19e)](_0x39b406,_0x4e815f,_0x1351b9,_0x438b0a,_0x1053b5){}[_0x11d257(0x188)](_0x268f17){}[_0x11d257(0x19d)](_0x1c0e3b){}[_0x11d257(0x1b5)](_0x19e2a0){}[_0x11d257(0x1a1)](_0x5bc5d5){}[_0x11d257(0x19b)](_0x4ee7e5){}[_0x11d257(0x1a2)](_0x179923){}['onGuildMsgAbFlagChanged'](_0x127b34){}[_0x11d257(0x1ac)](_0x36a723){}[_0x11d257(0x190)](_0x220ecb){}[_0x11d257(0x1bf)](_0x277581){}[_0x11d257(0x197)](_0x59806c){}[_0x11d257(0x1ad)](_0x3d057b){}[_0x11d257(0x1be)](_0x2611b1){}[_0x11d257(0x1b7)](_0x129971){}[_0x11d257(0x1a8)](_0x25e0b0){}['onLogLevelChanged'](_0x35ec60){}[_0x11d257(0x193)](_0x2de048){}[_0x11d257(0x189)](_0x122a51){}[_0x11d257(0x195)](_0x26e75d,_0xd5d094){}[_0x11d257(0x1a6)](_0x303805){}[_0x11d257(0x187)](_0xfaaccb){}[_0x11d257(0x199)](_0x53828b){}[_0x11d257(0x18b)](_0x28c9cb){}['onMsgRecall'](_0x27ab9a,_0x31cfe3,_0xba65ec){}[_0x11d257(0x1a9)](_0x27e58e){}[_0x11d257(0x1a5)](_0x2785a7){}['onNtFirstViewMsgSyncEnd'](){}['onNtMsgSyncEnd'](){}['onNtMsgSyncStart'](){}[_0x11d257(0x19f)](_0x32ecf8){}[_0x11d257(0x1ba)](_0x45c994){}[_0x11d257(0x1b6)](_0x14f8d3){}[_0x11d257(0x1bc)](_0x46dcc0,_0x3ee085,_0x3c9ed9,_0x57e238,_0x4bcced,_0x33f694){}['onRecvOnlineFileMsg'](_0x2dafad){}[_0x11d257(0x1aa)](_0x5452b4){}['onRecvSysMsg'](_0x270d7c){}[_0x11d257(0x1b1)](_0x3415c3){}[_0x11d257(0x1b4)](_0x3cf21e){}[_0x11d257(0x186)](_0x2590ca){}['onRichMediaUploadComplete'](_0x136d8e){}[_0x11d257(0x1ae)](_0x48ba92){}['onSendMsgError'](_0x1b0d6d,_0x41077f,_0x5ddc56,_0x40fa83){}[_0x11d257(0x1b2)](_0xf7e6a1,_0x57f3ac,_0x471719,_0x2c7400){}[_0x11d257(0x1c0)](_0x1f428b){}[_0x11d257(0x1a7)](_0x124979){}[_0x11d257(0x1ab)](_0x5b4e46){}['onUserChannelTabStatusChanged'](_0x87e63a){}[_0x11d257(0x1a0)](_0x19c83f){}[_0x11d257(0x18c)](_0x2afc00){}['onlineStatusBigIconDownloadPush'](_0x492585,_0x1412cb,_0x3feb08){}['onlineStatusSmallIconDownloadPush'](_0x116369,_0x151932,_0x9230da){}['onUserSecQualityChanged'](..._0x42bd45){}['onMsgWithRichLinkInfoUpdate'](..._0x5b4cfb){}[_0x11d257(0x18f)](..._0x2df90c){}[_0x11d257(0x1c1)](..._0x4b26c0){}}function _0x1cec(){var _0x4532c3=['onReadFeedEventUpdate','onUserOnlineStatusChanged','onGroupTransferInfoAdd','onGuildInteractiveUpdate','6858340zMXhen','onCustomWithdrawConfigUpdate','onMsgSettingUpdate','onMsgEventListUpdate','onUnreadCntAfterFirstView','onLineDev','onMsgSecurityNotify','onRecvS2CMsg','onUnreadCntUpdate','onGuildNotificationAbstractUpdate','onImportOldDbProgressUpdate','onSearchGroupFileInfoUpdate','onFeedEventUpdate','1211060HeTzCz','onRecvUDCFlag','onSysMsgNotification','22wOwmos','onRichMediaDownloadComplete','onGroupGuildUpdate','onRecvMsg','onKickedOffLine','onContactUnreadCntUpdate','onBroadcastHelperProgressUpdate','onRecvGroupGuildFlag','6162690BWSKqb','onRecvMsgSvrRspTransInfo','onAddSendMsg','onInputStatusPush','onHitEmojiKeywordResult','onTempChatInfoUpdate','onBroadcastHelperProgerssUpdate','3729801pDgGuz','onFileMsgCome','313070KpMyCm','onRichMediaProgerssUpdate','onMsgInfoListAdd','onGroupFileInfoAdd','onMsgBoxChanged','7baiUgC','onMsgQRCodeStatusChanged','onUserTabStatusChanged','1282663UdckHK','onChannelFreqLimitInfoUpdate','onRedTouchChanged','onHitCsRelatedEmojiResult','onFirstViewGroupGuildMapping','onFirstViewDirectMsgUpdate','onMsgAbstractUpdate','onDraftUpdate','onMsgDelete','9rLsqDd','onHitRelatedEmojiResult','onEmojiDownloadComplete','onMsgInfoListUpdate','12836576RdZOkZ','onGroupTransferInfoUpdate','2fzLhqR','onGroupFileInfoUpdate','onGrabPasswordRedBag'];_0x1cec=function(){return _0x4532c3;};return _0x1cec();}
|
@@ -1 +1 @@
|
||||
var _0x26cb96=_0x4b2f;(function(_0x2e111b,_0x56d2e0){var _0x258dd7=_0x4b2f,_0x50e740=_0x2e111b();while(!![]){try{var _0x4e5c7f=parseInt(_0x258dd7(0x1d0))/0x1+parseInt(_0x258dd7(0x1d7))/0x2*(-parseInt(_0x258dd7(0x1cc))/0x3)+-parseInt(_0x258dd7(0x1cf))/0x4+-parseInt(_0x258dd7(0x1d1))/0x5*(parseInt(_0x258dd7(0x1cd))/0x6)+-parseInt(_0x258dd7(0x1cb))/0x7+-parseInt(_0x258dd7(0x1d3))/0x8+-parseInt(_0x258dd7(0x1d2))/0x9*(-parseInt(_0x258dd7(0x1ce))/0xa);if(_0x4e5c7f===_0x56d2e0)break;else _0x50e740['push'](_0x50e740['shift']());}catch(_0x44e4b3){_0x50e740['push'](_0x50e740['shift']());}}}(_0x3349,0xacf85));function _0x4b2f(_0x1b7573,_0x142190){var _0x334930=_0x3349();return _0x4b2f=function(_0x4b2f97,_0x2e6988){_0x4b2f97=_0x4b2f97-0x1cb;var _0x3a02ed=_0x334930[_0x4b2f97];return _0x3a02ed;},_0x4b2f(_0x1b7573,_0x142190);}export class ProfileListener{[_0x26cb96(0x1d6)](..._0x1fb431){}[_0x26cb96(0x1d4)](_0x4fe7ab){}['onStatusUpdate'](..._0x57a2f6){}['onSelfStatusChanged'](..._0x2c7701){}[_0x26cb96(0x1d5)](..._0x524af8){}}function _0x3349(){var _0x4cf5d3=['89928DsSQwf','9214048tiErhG','onProfileDetailInfoChanged','onStrangerRemarkChanged','onProfileSimpleChanged','34084ACQMRl','1566600ZcQina','111cERRNu','6iykDXv','3070QKDabH','1213032JHXqqH','997818PvComQ','5237545NyEzET'];_0x3349=function(){return _0x4cf5d3;};return _0x3349();}
|
||||
var _0x386969=_0x56cd;(function(_0x3320f2,_0x5405c9){var _0x42313c=_0x56cd,_0x13a9e5=_0x3320f2();while(!![]){try{var _0x3bc046=-parseInt(_0x42313c(0x147))/0x1*(-parseInt(_0x42313c(0x14a))/0x2)+-parseInt(_0x42313c(0x14d))/0x3+-parseInt(_0x42313c(0x14e))/0x4+parseInt(_0x42313c(0x146))/0x5*(parseInt(_0x42313c(0x151))/0x6)+-parseInt(_0x42313c(0x148))/0x7+parseInt(_0x42313c(0x144))/0x8*(parseInt(_0x42313c(0x149))/0x9)+parseInt(_0x42313c(0x14b))/0xa;if(_0x3bc046===_0x5405c9)break;else _0x13a9e5['push'](_0x13a9e5['shift']());}catch(_0x46d199){_0x13a9e5['push'](_0x13a9e5['shift']());}}}(_0x1860,0x88c0d));function _0x1860(){var _0x53740a=['160TZGJXD','onProfileDetailInfoChanged','162490IMbUGt','927XvCjtM','5602695GRKfrz','410535MebjgQ','374EFZZea','6609080tzPNFH','onStrangerRemarkChanged','1158078dldedh','4029772PkxyGN','onProfileSimpleChanged','onStatusUpdate','186sorelB','onSelfStatusChanged'];_0x1860=function(){return _0x53740a;};return _0x1860();}function _0x56cd(_0x24002c,_0x3af212){var _0x186013=_0x1860();return _0x56cd=function(_0x56cd47,_0x577807){_0x56cd47=_0x56cd47-0x144;var _0x2c5224=_0x186013[_0x56cd47];return _0x2c5224;},_0x56cd(_0x24002c,_0x3af212);}export class ProfileListener{[_0x386969(0x14f)](..._0x1a8a2f){}[_0x386969(0x145)](_0x472002){}[_0x386969(0x150)](..._0x49185f){}[_0x386969(0x152)](..._0x2b3c3d){}[_0x386969(0x14c)](..._0x2e4b4a){}}
|
@@ -1 +1 @@
|
||||
var _0x380b2e=_0x7275;(function(_0x46856b,_0x5d45f3){var _0xea48c3=_0x7275,_0x16bf3f=_0x46856b();while(!![]){try{var _0x5ed2b9=-parseInt(_0xea48c3(0x195))/0x1*(-parseInt(_0xea48c3(0x198))/0x2)+-parseInt(_0xea48c3(0x196))/0x3+-parseInt(_0xea48c3(0x19a))/0x4*(-parseInt(_0xea48c3(0x19b))/0x5)+parseInt(_0xea48c3(0x197))/0x6+-parseInt(_0xea48c3(0x1a0))/0x7*(parseInt(_0xea48c3(0x199))/0x8)+-parseInt(_0xea48c3(0x19f))/0x9*(parseInt(_0xea48c3(0x19e))/0xa)+parseInt(_0xea48c3(0x193))/0xb*(parseInt(_0xea48c3(0x19d))/0xc);if(_0x5ed2b9===_0x5d45f3)break;else _0x16bf3f['push'](_0x16bf3f['shift']());}catch(_0x312df4){_0x16bf3f['push'](_0x16bf3f['shift']());}}}(_0x37bd,0xe7b2d));export class KernelRobotListener{[_0x380b2e(0x19c)](..._0x119c83){}['onRobotListChanged'](..._0x3fa342){}[_0x380b2e(0x194)](..._0x24d8fb){}}function _0x7275(_0x25247f,_0x7d1c0a){var _0x37bd87=_0x37bd();return _0x7275=function(_0x7275f4,_0x2adac6){_0x7275f4=_0x7275f4-0x193;var _0x467203=_0x37bd87[_0x7275f4];return _0x467203;},_0x7275(_0x25247f,_0x7d1c0a);}function _0x37bd(){var _0x31a4f8=['8870477GAyoME','onRobotProfileChanged','9233EFgZyo','809331DKVFst','3552468mYlSbP','10MwKOMB','24sIUkSQ','2369356KwWFyY','5bCOSNU','onRobotFriendListChanged','24SxCVXO','9656140PbhRqz','9xfBFib','1537592ungsWh'];_0x37bd=function(){return _0x31a4f8;};return _0x37bd();}
|
||||
function _0x36d8(){var _0xaf6eef=['656664paCuKr','22eORkel','786074mdvFng','4VDwgRN','onRobotProfileChanged','203760zCMGKU','54JLYibQ','6262662nqbKFc','6216928yOMidO','1369850SLprlK','onRobotFriendListChanged','7QFsADe','6528972Bcdfkr','2XYwWrd'];_0x36d8=function(){return _0xaf6eef;};return _0x36d8();}var _0x2b6505=_0x344d;function _0x344d(_0x51cc89,_0x2fb2de){var _0x36d8d8=_0x36d8();return _0x344d=function(_0x344d81,_0x143826){_0x344d81=_0x344d81-0x102;var _0x2e8158=_0x36d8d8[_0x344d81];return _0x2e8158;},_0x344d(_0x51cc89,_0x2fb2de);}(function(_0x4407cf,_0x316eff){var _0x4eafde=_0x344d,_0x1bf707=_0x4407cf();while(!![]){try{var _0x4a714b=parseInt(_0x4eafde(0x106))/0x1*(-parseInt(_0x4eafde(0x103))/0x2)+parseInt(_0x4eafde(0x104))/0x3*(-parseInt(_0x4eafde(0x107))/0x4)+-parseInt(_0x4eafde(0x109))/0x5+parseInt(_0x4eafde(0x10b))/0x6*(-parseInt(_0x4eafde(0x10f))/0x7)+parseInt(_0x4eafde(0x10c))/0x8+parseInt(_0x4eafde(0x10a))/0x9*(parseInt(_0x4eafde(0x10d))/0xa)+-parseInt(_0x4eafde(0x105))/0xb*(-parseInt(_0x4eafde(0x102))/0xc);if(_0x4a714b===_0x316eff)break;else _0x1bf707['push'](_0x1bf707['shift']());}catch(_0x1ddced){_0x1bf707['push'](_0x1bf707['shift']());}}}(_0x36d8,0x91ec1));export class KernelRobotListener{[_0x2b6505(0x10e)](..._0x1f56d0){}['onRobotListChanged'](..._0x53ea0b){}[_0x2b6505(0x108)](..._0x15b7bf){}}
|
@@ -1 +1 @@
|
||||
var _0x5a32ff=_0x74ad;function _0x74ad(_0x15db47,_0x5f3d55){var _0x48ded2=_0x48de();return _0x74ad=function(_0x74ad61,_0x2f841a){_0x74ad61=_0x74ad61-0x160;var _0x30326b=_0x48ded2[_0x74ad61];return _0x30326b;},_0x74ad(_0x15db47,_0x5f3d55);}(function(_0x26569f,_0x3457cb){var _0x3d8d94=_0x74ad,_0x18f6ac=_0x26569f();while(!![]){try{var _0x30ea5c=-parseInt(_0x3d8d94(0x169))/0x1+-parseInt(_0x3d8d94(0x163))/0x2*(parseInt(_0x3d8d94(0x16b))/0x3)+-parseInt(_0x3d8d94(0x160))/0x4*(parseInt(_0x3d8d94(0x162))/0x5)+-parseInt(_0x3d8d94(0x16d))/0x6+parseInt(_0x3d8d94(0x166))/0x7+-parseInt(_0x3d8d94(0x16f))/0x8*(-parseInt(_0x3d8d94(0x161))/0x9)+parseInt(_0x3d8d94(0x167))/0xa;if(_0x30ea5c===_0x3457cb)break;else _0x18f6ac['push'](_0x18f6ac['shift']());}catch(_0x2facfe){_0x18f6ac['push'](_0x18f6ac['shift']());}}}(_0x48de,0x47c59));export class SessionListener{[_0x5a32ff(0x16e)](_0x591132){}[_0x5a32ff(0x16c)](_0x204426){}[_0x5a32ff(0x164)](_0x3fcd96){}[_0x5a32ff(0x168)](_0x120deb){}[_0x5a32ff(0x165)](_0x2fd2d4){}[_0x5a32ff(0x16a)](_0x516233){}}function _0x48de(){var _0x18e587=['4206MCleuy','onSessionInitComplete','onUserOnlineResult','2862622GfHEsS','10028360cxAMAG','onOpentelemetryInit','326138wUIJdw','onGetSelfTinyId','639takDjq','onGProSessionCreate','3459750csAJuA','onNTSessionCreate','4072axeXoO','472DEahzC','7569MIUHeM','8270tgntiD'];_0x48de=function(){return _0x18e587;};return _0x48de();}
|
||||
var _0x376125=_0x44cf;function _0x44cf(_0x42f0f7,_0x2fe6b2){var _0x355f94=_0x355f();return _0x44cf=function(_0x44cfbc,_0x4356fb){_0x44cfbc=_0x44cfbc-0x193;var _0x27b1fe=_0x355f94[_0x44cfbc];return _0x27b1fe;},_0x44cf(_0x42f0f7,_0x2fe6b2);}function _0x355f(){var _0x587830=['1323738OIqGXY','onSessionInitComplete','3850192OiQpgH','onOpentelemetryInit','9500351WQzjlz','onNTSessionCreate','1145640DuWPff','439998oEonyD','1068lcOeyO','onUserOnlineResult','34105QGRiJM','1379932TUEIOC','onGProSessionCreate'];_0x355f=function(){return _0x587830;};return _0x355f();}(function(_0x1bac33,_0x507dcc){var _0x597fca=_0x44cf,_0x38db08=_0x1bac33();while(!![]){try{var _0x3baff1=parseInt(_0x597fca(0x19c))/0x1+-parseInt(_0x597fca(0x19a))/0x2+parseInt(_0x597fca(0x196))/0x3+parseInt(_0x597fca(0x195))/0x4+parseInt(_0x597fca(0x199))/0x5*(-parseInt(_0x597fca(0x197))/0x6)+parseInt(_0x597fca(0x193))/0x7+-parseInt(_0x597fca(0x19e))/0x8;if(_0x3baff1===_0x507dcc)break;else _0x38db08['push'](_0x38db08['shift']());}catch(_0x433a9e){_0x38db08['push'](_0x38db08['shift']());}}}(_0x355f,0xb1e35));export class SessionListener{[_0x376125(0x194)](_0x125d49){}[_0x376125(0x19b)](_0x1592b9){}[_0x376125(0x19d)](_0x54fc26){}[_0x376125(0x19f)](_0x28cba3){}[_0x376125(0x198)](_0x5a2add){}['onGetSelfTinyId'](_0xb084b7){}}
|
@@ -1 +1 @@
|
||||
function _0x2e13(_0x5afad2,_0x2309b4){var _0x153d3a=_0x153d();return _0x2e13=function(_0x2e1331,_0x9d9577){_0x2e1331=_0x2e1331-0x1ab;var _0xa40500=_0x153d3a[_0x2e1331];return _0xa40500;},_0x2e13(_0x5afad2,_0x2309b4);}var _0x334134=_0x2e13;(function(_0x5e4d26,_0x20c95d){var _0x353371=_0x2e13,_0x4ecb59=_0x5e4d26();while(!![]){try{var _0x49ff82=-parseInt(_0x353371(0x1b8))/0x1*(-parseInt(_0x353371(0x1ae))/0x2)+parseInt(_0x353371(0x1ac))/0x3*(-parseInt(_0x353371(0x1b4))/0x4)+-parseInt(_0x353371(0x1b2))/0x5*(-parseInt(_0x353371(0x1ab))/0x6)+parseInt(_0x353371(0x1b9))/0x7*(parseInt(_0x353371(0x1bb))/0x8)+parseInt(_0x353371(0x1b6))/0x9+parseInt(_0x353371(0x1ad))/0xa*(-parseInt(_0x353371(0x1ba))/0xb)+parseInt(_0x353371(0x1b0))/0xc*(-parseInt(_0x353371(0x1af))/0xd);if(_0x49ff82===_0x20c95d)break;else _0x4ecb59['push'](_0x4ecb59['shift']());}catch(_0x3474fd){_0x4ecb59['push'](_0x4ecb59['shift']());}}}(_0x153d,0x5846f));export class StorageCleanListener{[_0x334134(0x1b5)](_0x5d18ab){}[_0x334134(0x1b1)](_0x992fa0){}[_0x334134(0x1b7)](_0x1eb7b9){}['onFinishScan'](_0x199f50){}[_0x334134(0x1b3)](_0x47421a){}}function _0x153d(){var _0x511b88=['onScanCacheProgressChanged','2289065lacNos','onChatCleanDone','4FUJdrq','onCleanCacheProgressChanged','5311197RxWdMX','onCleanCacheStorageChanged','6883hzvBHB','925827UPKtiz','165XxHIUf','8RJLUur','6XnavMx','322872uHbHix','20500vYoIhI','38UJQotq','91wjdCUI','1390332CRTIIM'];_0x153d=function(){return _0x511b88;};return _0x153d();}
|
||||
var _0x146011=_0x4155;(function(_0x5cb7d1,_0x31a60e){var _0x4b1ff8=_0x4155,_0x1dd5ca=_0x5cb7d1();while(!![]){try{var _0x333140=parseInt(_0x4b1ff8(0x1f3))/0x1*(parseInt(_0x4b1ff8(0x1f9))/0x2)+parseInt(_0x4b1ff8(0x1ec))/0x3+parseInt(_0x4b1ff8(0x1ef))/0x4+parseInt(_0x4b1ff8(0x1ee))/0x5*(parseInt(_0x4b1ff8(0x1f8))/0x6)+parseInt(_0x4b1ff8(0x1f6))/0x7*(-parseInt(_0x4b1ff8(0x1f2))/0x8)+-parseInt(_0x4b1ff8(0x1f1))/0x9*(parseInt(_0x4b1ff8(0x1f7))/0xa)+parseInt(_0x4b1ff8(0x1eb))/0xb;if(_0x333140===_0x31a60e)break;else _0x1dd5ca['push'](_0x1dd5ca['shift']());}catch(_0x41e2a8){_0x1dd5ca['push'](_0x1dd5ca['shift']());}}}(_0x1f59,0x9cdda));function _0x4155(_0x211739,_0x5c11d7){var _0x1f59de=_0x1f59();return _0x4155=function(_0x415520,_0x5c1e6b){_0x415520=_0x415520-0x1eb;var _0x5461bd=_0x1f59de[_0x415520];return _0x5461bd;},_0x4155(_0x211739,_0x5c11d7);}function _0x1f59(){var _0x562bdf=['73THkZOH','onCleanCacheProgressChanged','onScanCacheProgressChanged','120358cbXjDA','170990FgoXRz','6ZkibDy','18844jXnMMM','1858197MuqdTm','392559hWLfKf','onFinishScan','3138335HzIRVp','3036452ZDvNga','onChatCleanDone','450iHrzPP','408kdMfKF'];_0x1f59=function(){return _0x562bdf;};return _0x1f59();}export class StorageCleanListener{[_0x146011(0x1f4)](_0x2b7155){}[_0x146011(0x1f5)](_0x48ac32){}['onCleanCacheStorageChanged'](_0x20b4a6){}[_0x146011(0x1ed)](_0x200bd1){}[_0x146011(0x1f0)](_0x19457d){}}
|
@@ -1 +1 @@
|
||||
(function(_0x22508b,_0x5ebe54){var _0x3dc377=_0x2a4f,_0x18f38f=_0x22508b();while(!![]){try{var _0x95abcd=-parseInt(_0x3dc377(0x1ce))/0x1+-parseInt(_0x3dc377(0x1d5))/0x2*(parseInt(_0x3dc377(0x1d2))/0x3)+-parseInt(_0x3dc377(0x1d0))/0x4*(parseInt(_0x3dc377(0x1cf))/0x5)+parseInt(_0x3dc377(0x1d7))/0x6*(parseInt(_0x3dc377(0x1d3))/0x7)+-parseInt(_0x3dc377(0x1d1))/0x8+parseInt(_0x3dc377(0x1d6))/0x9+parseInt(_0x3dc377(0x1d4))/0xa;if(_0x95abcd===_0x5ebe54)break;else _0x18f38f['push'](_0x18f38f['shift']());}catch(_0x23879b){_0x18f38f['push'](_0x18f38f['shift']());}}}(_0x2a5a,0x2587f));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';function _0x2a4f(_0x3fd26c,_0x2fca98){var _0x2a5a74=_0x2a5a();return _0x2a4f=function(_0x2a4f82,_0x18a64f){_0x2a4f82=_0x2a4f82-0x1ce;var _0x225e81=_0x2a5a74[_0x2a4f82];return _0x225e81;},_0x2a4f(_0x3fd26c,_0x2fca98);}export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';function _0x2a5a(){var _0x1642db=['6ArXwni','138559dFkndJ','203055FPHzBT','12DKWHmt','257856SHuDHQ','21cNVYMz','835121VPmjxG','3205030VMewiP','49438VgUUOs','1616202nMoAEZ'];_0x2a5a=function(){return _0x1642db;};return _0x2a5a();}
|
||||
(function(_0x59ec5e,_0x15e54d){var _0x489c6a=_0x44d4,_0x4f3502=_0x59ec5e();while(!![]){try{var _0x312f3d=parseInt(_0x489c6a(0x1cc))/0x1*(parseInt(_0x489c6a(0x1ca))/0x2)+-parseInt(_0x489c6a(0x1cb))/0x3+parseInt(_0x489c6a(0x1c4))/0x4+parseInt(_0x489c6a(0x1c7))/0x5+parseInt(_0x489c6a(0x1c3))/0x6*(-parseInt(_0x489c6a(0x1c6))/0x7)+parseInt(_0x489c6a(0x1c8))/0x8*(-parseInt(_0x489c6a(0x1c5))/0x9)+parseInt(_0x489c6a(0x1c9))/0xa;if(_0x312f3d===_0x15e54d)break;else _0x4f3502['push'](_0x4f3502['shift']());}catch(_0x2c53ca){_0x4f3502['push'](_0x4f3502['shift']());}}}(_0x2692,0xd0ad8));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';function _0x44d4(_0xca3f35,_0x375b36){var _0x269229=_0x2692();return _0x44d4=function(_0x44d45e,_0x393d95){_0x44d45e=_0x44d45e-0x1c3;var _0x17464e=_0x269229[_0x44d45e];return _0x17464e;},_0x44d4(_0xca3f35,_0x375b36);}function _0x2692(){var _0x2ff745=['2356590ZQdkqS','3YnRuQC','9840210gKZcnb','3435380GUEoxz','418851YuUSCt','7dJAeHB','4486450DomqdJ','264JzQtTZ','23936670sihHvh','444196WgPtum'];_0x2692=function(){return _0x2ff745;};return _0x2692();}export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
|
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(_0x53febb,_0x6cc64a){var _0x4d1d05=_0xc33d,_0x3f8349=_0x53febb();while(!![]){try{var _0x51e4c0=parseInt(_0x4d1d05(0xac))/0x1+-parseInt(_0x4d1d05(0xb4))/0x2*(parseInt(_0x4d1d05(0xad))/0x3)+-parseInt(_0x4d1d05(0xb3))/0x4*(parseInt(_0x4d1d05(0xb0))/0x5)+parseInt(_0x4d1d05(0xb2))/0x6+-parseInt(_0x4d1d05(0xaf))/0x7*(parseInt(_0x4d1d05(0xae))/0x8)+parseInt(_0x4d1d05(0xb6))/0x9+-parseInt(_0x4d1d05(0xb1))/0xa*(-parseInt(_0x4d1d05(0xb5))/0xb);if(_0x51e4c0===_0x6cc64a)break;else _0x3f8349['push'](_0x3f8349['shift']());}catch(_0x2ee77d){_0x3f8349['push'](_0x3f8349['shift']());}}}(_0xb493,0x82cdb));export var GeneralCallResultStatus;function _0xc33d(_0x2ba33a,_0xf2f9a5){var _0xb4933a=_0xb493();return _0xc33d=function(_0xc33db4,_0x292c82){_0xc33db4=_0xc33db4-0xac;var _0x5c1073=_0xb4933a[_0xc33db4];return _0x5c1073;},_0xc33d(_0x2ba33a,_0xf2f9a5);}(function(_0x31716e){_0x31716e[_0x31716e['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));function _0xb493(){var _0x370fda=['827964NMMhTu','68sDgyRb','512JRjfZC','2292235MaTdal','2439513OgAGwu','117865LiTNYr','9726ylPaIc','152GszClx','332108busvFt','284930SeftPv','130XubsLF'];_0xb493=function(){return _0x370fda;};return _0xb493();}
|
||||
function _0x5f42(){var _0x231b91=['96089wFblIE','27828zEiZNX','198SyYBfP','475896zcjoSk','3779085qOHeRE','974776ymSvPB','807SSWyAd','238428ValbJe','6728HTqUvH'];_0x5f42=function(){return _0x231b91;};return _0x5f42();}(function(_0x84e567,_0x3175ef){var _0x2108c9=_0x144a,_0x451de2=_0x84e567();while(!![]){try{var _0x1cbfe4=-parseInt(_0x2108c9(0x77))/0x1+parseInt(_0x2108c9(0x7e))/0x2*(parseInt(_0x2108c9(0x7c))/0x3)+-parseInt(_0x2108c9(0x79))/0x4+-parseInt(_0x2108c9(0x7a))/0x5+-parseInt(_0x2108c9(0x78))/0x6*(-parseInt(_0x2108c9(0x7f))/0x7)+parseInt(_0x2108c9(0x7b))/0x8+parseInt(_0x2108c9(0x7d))/0x9;if(_0x1cbfe4===_0x3175ef)break;else _0x451de2['push'](_0x451de2['shift']());}catch(_0x336a1b){_0x451de2['push'](_0x451de2['shift']());}}}(_0x5f42,0x935eb));export var GeneralCallResultStatus;function _0x144a(_0x4f4d40,_0x71158e){var _0x5f42d2=_0x5f42();return _0x144a=function(_0x144a59,_0x36cd75){_0x144a59=_0x144a59-0x77;var _0xdee924=_0x5f42d2[_0x144a59];return _0xdee924;},_0x144a(_0x4f4d40,_0x71158e);}(function(_0x14a01f){_0x14a01f[_0x14a01f['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));
|
@@ -1 +1 @@
|
||||
(function(_0x48e64a,_0x2ae223){var _0x11235c=_0x3c27,_0x3dba65=_0x48e64a();while(!![]){try{var _0x391cf6=-parseInt(_0x11235c(0x184))/0x1*(-parseInt(_0x11235c(0x182))/0x2)+parseInt(_0x11235c(0x187))/0x3*(parseInt(_0x11235c(0x185))/0x4)+-parseInt(_0x11235c(0x18b))/0x5+parseInt(_0x11235c(0x18a))/0x6+-parseInt(_0x11235c(0x18c))/0x7*(parseInt(_0x11235c(0x186))/0x8)+-parseInt(_0x11235c(0x188))/0x9+-parseInt(_0x11235c(0x189))/0xa*(-parseInt(_0x11235c(0x183))/0xb);if(_0x391cf6===_0x2ae223)break;else _0x3dba65['push'](_0x3dba65['shift']());}catch(_0x1715ff){_0x3dba65['push'](_0x3dba65['shift']());}}}(_0x4e9b,0xcb776));export*from'./common';function _0x4e9b(){var _0x384642=['1583325DdQxDb','21lnkOgI','8ZsqtQS','750871kqeRKH','42022ygssjc','141244azvbjB','3095912czhJoE','69mSXfla','1150056MzKIqS','30yWNbiF','7522740Xidfwf'];_0x4e9b=function(){return _0x384642;};return _0x4e9b();}export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';function _0x3c27(_0x2e43f2,_0x3298a0){var _0x4e9bb1=_0x4e9b();return _0x3c27=function(_0x3c273b,_0x25802b){_0x3c273b=_0x3c273b-0x182;var _0x55685b=_0x4e9bb1[_0x3c273b];return _0x55685b;},_0x3c27(_0x2e43f2,_0x3298a0);}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';
|
||||
(function(_0x5c03a4,_0xfe24e){var _0x55f018=_0x1844,_0x3f9ca0=_0x5c03a4();while(!![]){try{var _0x1ebd86=-parseInt(_0x55f018(0x92))/0x1+-parseInt(_0x55f018(0x90))/0x2+parseInt(_0x55f018(0x91))/0x3+parseInt(_0x55f018(0x8f))/0x4+-parseInt(_0x55f018(0x95))/0x5*(-parseInt(_0x55f018(0x94))/0x6)+parseInt(_0x55f018(0x8e))/0x7*(-parseInt(_0x55f018(0x93))/0x8)+parseInt(_0x55f018(0x96))/0x9;if(_0x1ebd86===_0xfe24e)break;else _0x3f9ca0['push'](_0x3f9ca0['shift']());}catch(_0x1e51b5){_0x3f9ca0['push'](_0x3f9ca0['shift']());}}}(_0x4c92,0xab0c7));export*from'./common';export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';function _0x1844(_0x1a5c8a,_0x30c696){var _0x4c92f4=_0x4c92();return _0x1844=function(_0x1844e2,_0x5c0c48){_0x1844e2=_0x1844e2-0x8e;var _0x266a80=_0x4c92f4[_0x1844e2];return _0x266a80;},_0x1844(_0x1a5c8a,_0x30c696);}export*from'./NodeIKernelOnlineStatusService';function _0x4c92(){var _0x54ea6e=['1928171YHLRid','4022108rRJcGb','2346736RRvQAe','1748703yYMBDM','945827EmkYYX','8wpTvRV','2197842TrmHkP','5lsVJfT','10264752hTLRGF'];_0x4c92=function(){return _0x54ea6e;};return _0x4c92();}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 _0x1c4c(_0x4567a9,_0x4247a3){const _0x3ce4a2=_0x3ce4();return _0x1c4c=function(_0x1c4c4f,_0xdd2211){_0x1c4c4f=_0x1c4c4f-0x165;let _0xc91372=_0x3ce4a2[_0x1c4c4f];return _0xc91372;},_0x1c4c(_0x4567a9,_0x4247a3);}function _0x3ce4(){const _0x46573f=['join','17LtKalw','kcFPh','temp','readFileSync','KkaPh','guid.txt','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','xvhOU','215176fwBaWY','writeFileSync','929504JhDVjF','98970dDBOsK','NapCat','version','assign','1129415SYOrHi','14bZjwMz','9458DqCvgk','70443nwXNvw','mkdirSync','387JkWwhX','380796KhuqEf'];_0x3ce4=function(){return _0x46573f;};return _0x3ce4();}(function(_0x4b9768,_0xe4f487){const _0x361970=_0x1c4c,_0x25b497=_0x4b9768();while(!![]){try{const _0x351578=-parseInt(_0x361970(0x172))/0x1*(parseInt(_0x361970(0x16c))/0x2)+parseInt(_0x361970(0x16d))/0x3+parseInt(_0x361970(0x165))/0x4+parseInt(_0x361970(0x16a))/0x5+parseInt(_0x361970(0x170))/0x6*(parseInt(_0x361970(0x16b))/0x7)+parseInt(_0x361970(0x17a))/0x8+-parseInt(_0x361970(0x16f))/0x9*(parseInt(_0x361970(0x166))/0xa);if(_0x351578===_0xe4f487)break;else _0x25b497['push'](_0x25b497['shift']());}catch(_0x9f0344){_0x25b497['push'](_0x25b497['shift']());}}}(_0x3ce4,0x1fa45));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x41d46c from'node:path';import _0x412bb7 from'node:fs';import{randomUUID}from'crypto';export const sessionConfig={};export function genSessionConfig(_0x356298,_0x5ae6a8,_0x23d4ba){const _0x41d387=_0x1c4c,_0x56d8c6={'KkaPh':_0x41d387(0x167),'xvhOU':_0x41d387(0x174),'vUUjF':function(_0xcad4ee){return _0xcad4ee();},'kcFPh':'utf-8'},_0x465dba=_0x41d46c[_0x41d387(0x171)](_0x23d4ba,_0x56d8c6[_0x41d387(0x176)],_0x56d8c6[_0x41d387(0x179)]);_0x412bb7[_0x41d387(0x16e)](_0x465dba,{'recursive':!![]});const _0x401268=_0x41d46c[_0x41d387(0x171)](_0x23d4ba,_0x56d8c6['KkaPh'],_0x41d387(0x177));let _0x3016b7=_0x56d8c6['vUUjF'](randomUUID);try{_0x3016b7=_0x412bb7[_0x41d387(0x175)](_0x41d46c['join'](_0x401268),_0x56d8c6[_0x41d387(0x173)]);}catch(_0x302ea2){_0x412bb7[_0x41d387(0x17b)](_0x41d46c[_0x41d387(0x171)](_0x401268),_0x3016b7,_0x56d8c6[_0x41d387(0x173)]);}const _0x4c96e9={'selfUin':_0x356298,'selfUid':_0x5ae6a8,'desktopPathConfig':{'account_path':_0x23d4ba},'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':_0x465dba,'deviceInfo':{'guid':_0x3016b7,'buildVer':qqPkgInfo[_0x41d387(0x168)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x41d387(0x178)};return Object[_0x41d387(0x169)](sessionConfig,_0x4c96e9),_0x4c96e9;}
|
||||
(function(_0x27364e,_0x5085f4){const _0x392e65=_0x4a7f,_0x36fc09=_0x27364e();while(!![]){try{const _0x170627=-parseInt(_0x392e65(0x16f))/0x1*(-parseInt(_0x392e65(0x17c))/0x2)+-parseInt(_0x392e65(0x16a))/0x3*(parseInt(_0x392e65(0x174))/0x4)+-parseInt(_0x392e65(0x16d))/0x5+parseInt(_0x392e65(0x176))/0x6+-parseInt(_0x392e65(0x16b))/0x7*(parseInt(_0x392e65(0x177))/0x8)+-parseInt(_0x392e65(0x170))/0x9+parseInt(_0x392e65(0x173))/0xa;if(_0x170627===_0x5085f4)break;else _0x36fc09['push'](_0x36fc09['shift']());}catch(_0x27603f){_0x36fc09['push'](_0x36fc09['shift']());}}}(_0xf9ec,0x2486b));function _0x4a7f(_0x40e1fc,_0x5a4ead){const _0xf9ec98=_0xf9ec();return _0x4a7f=function(_0x4a7fb4,_0x2de88c){_0x4a7fb4=_0x4a7fb4-0x168;let _0x5b3d86=_0xf9ec98[_0x4a7fb4];return _0x5b3d86;},_0x4a7f(_0x40e1fc,_0x5a4ead);}import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x3bf612 from'node:path';import _0x37738b from'node:fs';function _0xf9ec(){const _0x38ba8c=['NapCat','temp','766wxlnKg','assign','join','200619sZalHn','14TAgqOi','utf-8','918165oIwlpL','curVersion','771ufzuhl','1318266VxHmeI','writeFileSync','DeJMP','3134150qGJUEE','12IYQCGF','version','1134450DpRhUO','469784YSkSoG','cLmFo','TKSvh'];_0xf9ec=function(){return _0x38ba8c;};return _0xf9ec();}import{randomUUID}from'crypto';export const sessionConfig={};export function genSessionConfig(_0x33c30e,_0x179ee3,_0x62f723){const _0x4a9b59=_0x4a7f,_0x3787e8={'FHIWF':_0x4a9b59(0x17b),'TKSvh':'NapCat','cLmFo':'guid.txt','nXMyf':_0x4a9b59(0x16c),'DeJMP':'{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}'},_0x59ce48=_0x3bf612[_0x4a9b59(0x169)](_0x62f723,_0x4a9b59(0x17a),_0x3787e8['FHIWF']);_0x37738b['mkdirSync'](_0x59ce48,{'recursive':!![]});const _0x5cba34=_0x3bf612[_0x4a9b59(0x169)](_0x62f723,_0x3787e8[_0x4a9b59(0x179)],_0x3787e8[_0x4a9b59(0x178)]);let _0x40b67a=randomUUID();try{_0x40b67a=_0x37738b['readFileSync'](_0x3bf612[_0x4a9b59(0x169)](_0x5cba34),_0x3787e8['nXMyf']);}catch(_0xa807a){_0x37738b[_0x4a9b59(0x171)](_0x3bf612[_0x4a9b59(0x169)](_0x5cba34),_0x40b67a,'utf-8');}const _0x1e71f1={'selfUin':_0x33c30e,'selfUid':_0x179ee3,'desktopPathConfig':{'account_path':_0x62f723},'clientVer':qqVersionConfigInfo[_0x4a9b59(0x16e)],'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':_0x59ce48,'deviceInfo':{'guid':_0x40b67a,'buildVer':qqPkgInfo[_0x4a9b59(0x175)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x3787e8[_0x4a9b59(0x172)]};return Object[_0x4a9b59(0x168)](sessionConfig,_0x1e71f1),_0x1e71f1;}
|
@@ -1 +1 @@
|
||||
const _0x2f5f5a=_0x1d53;(function(_0x5c6cd1,_0x1ebc55){const _0x378088=_0x1d53,_0x53c403=_0x5c6cd1();while(!![]){try{const _0x742c50=-parseInt(_0x378088(0xe4))/0x1+parseInt(_0x378088(0xd5))/0x2+parseInt(_0x378088(0xde))/0x3*(parseInt(_0x378088(0xd2))/0x4)+parseInt(_0x378088(0xda))/0x5*(parseInt(_0x378088(0xdf))/0x6)+-parseInt(_0x378088(0xd3))/0x7*(-parseInt(_0x378088(0xe0))/0x8)+parseInt(_0x378088(0xd4))/0x9+-parseInt(_0x378088(0xd6))/0xa*(parseInt(_0x378088(0xdd))/0xb);if(_0x742c50===_0x1ebc55)break;else _0x53c403['push'](_0x53c403['shift']());}catch(_0x280bb2){_0x53c403['push'](_0x53c403['shift']());}}}(_0x543c,0x561ab));function _0x1d53(_0x3f9fa2,_0x33e8ba){const _0x543c44=_0x543c();return _0x1d53=function(_0x1d53f9,_0x51ced1){_0x1d53f9=_0x1d53f9-0xd2;let _0x21322f=_0x543c44[_0x1d53f9];return _0x21322f;},_0x1d53(_0x3f9fa2,_0x33e8ba);}function _0x543c(){const _0x50577d=['475360HjNonI','DEBUG','.json','fileLogLevel','2609465YCmmlr','consoleLogLevel','napcat_','66Deeqvo','192HhcHFF','6HSlLjw','20032wdsaAB','fileLog','getConfigPath','consoleLog','643407YUqswF','16084IEJpmS','1092dRTdJS','672264BesQjG','73498ALPaXX'];_0x543c=function(){return _0x50577d;};return _0x543c();}import _0x56f8cd from'node:path';import{LogLevel}from'@/common/utils/log';import{ConfigBase}from'@/common/utils/ConfigBase';import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x2f5f5a(0xe1)]=!![];[_0x2f5f5a(0xe3)]=!![];[_0x2f5f5a(0xd9)]=LogLevel[_0x2f5f5a(0xd7)];[_0x2f5f5a(0xdb)]=LogLevel['INFO'];constructor(){super();}[_0x2f5f5a(0xe2)](){const _0x258ad1=_0x2f5f5a;return _0x56f8cd['join'](this['getConfigDir'](),_0x258ad1(0xdc)+selfInfo['uin']+_0x258ad1(0xd8));}}export const napCatConfig=new Config();
|
||||
function _0xc45a(_0x373198,_0x1676dc){const _0x3dadfc=_0x3dad();return _0xc45a=function(_0xc45a80,_0x48fbaf){_0xc45a80=_0xc45a80-0x1de;let _0x56c679=_0x3dadfc[_0xc45a80];return _0x56c679;},_0xc45a(_0x373198,_0x1676dc);}const _0xd4dd7e=_0xc45a;(function(_0x3d002f,_0x184136){const _0x33e7e4=_0xc45a,_0x2b03c4=_0x3d002f();while(!![]){try{const _0x2315c4=parseInt(_0x33e7e4(0x1e5))/0x1+-parseInt(_0x33e7e4(0x1e7))/0x2*(-parseInt(_0x33e7e4(0x1eb))/0x3)+-parseInt(_0x33e7e4(0x1e2))/0x4+-parseInt(_0x33e7e4(0x1df))/0x5+-parseInt(_0x33e7e4(0x1e0))/0x6+-parseInt(_0x33e7e4(0x1ea))/0x7*(parseInt(_0x33e7e4(0x1ec))/0x8)+parseInt(_0x33e7e4(0x1e8))/0x9;if(_0x2315c4===_0x184136)break;else _0x2b03c4['push'](_0x2b03c4['shift']());}catch(_0x41dde9){_0x2b03c4['push'](_0x2b03c4['shift']());}}}(_0x3dad,0xe2178));import _0x29d068 from'node:path';import{LogLevel}from'@/common/utils/log';import{ConfigBase}from'@/common/utils/ConfigBase';function _0x3dad(){const _0x4abd84=['getConfigPath','12rFJsWw','35420121LycOaI','uin','560AsIvzX','694488EYJXzC','153536USTLMf','DEBUG','fileLog','INFO','consoleLogLevel','consoleLog','5927085FBQDln','7780782yvOYqN','getConfigDir','3969148YxQGmh','.json','fileLogLevel','611388JpVLKh'];_0x3dad=function(){return _0x4abd84;};return _0x3dad();}import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0xd4dd7e(0x1ee)]=!![];[_0xd4dd7e(0x1de)]=!![];[_0xd4dd7e(0x1e4)]=LogLevel[_0xd4dd7e(0x1ed)];[_0xd4dd7e(0x1f0)]=LogLevel[_0xd4dd7e(0x1ef)];constructor(){super();}[_0xd4dd7e(0x1e6)](){const _0x3dfbaf=_0xd4dd7e;return _0x29d068['join'](this[_0x3dfbaf(0x1e1)](),'napcat_'+selfInfo[_0x3dfbaf(0x1e9)]+_0x3dfbaf(0x1e3));}}export const napCatConfig=new Config();
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x7e42(_0x27159f,_0x771883){const _0x134f72=_0x134f();return _0x7e42=function(_0x7e426,_0x1db690){_0x7e426=_0x7e426-0x1dc;let _0x294b7c=_0x134f72[_0x7e426];return _0x294b7c;},_0x7e42(_0x27159f,_0x771883);}const _0x2b45bc=_0x7e42;function _0x134f(){const _0x485dd1=['hoCoC','rkeyData','NiBjE','1004750qQhPZi','获取rkey失败','refreshRkey','20936xXrHnF','9IEqrGc','getRkey','3934570CpiMCc','2zQLldJ','http://napcat-sign.wumiao.wang:2082/rkey','serverUrl','511UtfsSN','183432FTQmmN','396743lNDSvc','isExpired','HttpGetJson','666420voTxnK','321yKxcZZ','expired_time','13644mOcccC','1265zwxVMS','getTime'];_0x134f=function(){return _0x485dd1;};return _0x134f();}(function(_0x4b9229,_0x168892){const _0xeb3d7d=_0x7e42,_0x3ec80e=_0x4b9229();while(!![]){try{const _0x412e7a=parseInt(_0xeb3d7d(0x1f0))/0x1*(-parseInt(_0xeb3d7d(0x1eb))/0x2)+parseInt(_0xeb3d7d(0x1dc))/0x3*(-parseInt(_0xeb3d7d(0x1de))/0x4)+-parseInt(_0xeb3d7d(0x1e4))/0x5+-parseInt(_0xeb3d7d(0x1f3))/0x6+parseInt(_0xeb3d7d(0x1ee))/0x7*(parseInt(_0xeb3d7d(0x1e7))/0x8)+-parseInt(_0xeb3d7d(0x1e8))/0x9*(parseInt(_0xeb3d7d(0x1ea))/0xa)+parseInt(_0xeb3d7d(0x1df))/0xb*(parseInt(_0xeb3d7d(0x1ef))/0xc);if(_0x412e7a===_0x168892)break;else _0x3ec80e['push'](_0x3ec80e['shift']());}catch(_0x26f873){_0x3ec80e['push'](_0x3ec80e['shift']());}}}(_0x134f,0x759c6));import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x2b45bc(0x1ed)]='';[_0x2b45bc(0x1e2)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x30b7aa){const _0x1591c5=_0x2b45bc;this[_0x1591c5(0x1ed)]=_0x30b7aa;}async[_0x2b45bc(0x1e9)](){const _0x5f1ea4=_0x2b45bc;if(this[_0x5f1ea4(0x1f1)]())try{await this['refreshRkey']();}catch(_0x1f8937){logError(_0x5f1ea4(0x1e5),_0x1f8937);}return this[_0x5f1ea4(0x1e2)];}['isExpired'](){const _0x3cbc03=_0x2b45bc,_0x54f8cd={'hoCoC':function(_0x12a600,_0x4bf8c2){return _0x12a600/_0x4bf8c2;},'NiBjE':function(_0x552a61,_0x34a18a){return _0x552a61>_0x34a18a;}},_0x267394=_0x54f8cd[_0x3cbc03(0x1e1)](new Date()[_0x3cbc03(0x1e0)](),0x3e8);return _0x54f8cd[_0x3cbc03(0x1e3)](_0x267394,this[_0x3cbc03(0x1e2)][_0x3cbc03(0x1dd)]);}async[_0x2b45bc(0x1e6)](){const _0x1534f5=_0x2b45bc;this['rkeyData']=await RequestUtil[_0x1534f5(0x1f2)](this[_0x1534f5(0x1ed)],'GET');}}export const rkeyManager=new RkeyManager(_0x2b45bc(0x1ec));
|
||||
const _0x47616c=_0x43e4;(function(_0x5e7037,_0x2435ce){const _0x5896b6=_0x43e4,_0x46064f=_0x5e7037();while(!![]){try{const _0x57c85c=parseInt(_0x5896b6(0x1cf))/0x1*(-parseInt(_0x5896b6(0x1c0))/0x2)+parseInt(_0x5896b6(0x1c2))/0x3+parseInt(_0x5896b6(0x1c5))/0x4*(parseInt(_0x5896b6(0x1c9))/0x5)+-parseInt(_0x5896b6(0x1c4))/0x6*(parseInt(_0x5896b6(0x1c7))/0x7)+parseInt(_0x5896b6(0x1d5))/0x8*(-parseInt(_0x5896b6(0x1c6))/0x9)+-parseInt(_0x5896b6(0x1c3))/0xa*(parseInt(_0x5896b6(0x1ce))/0xb)+-parseInt(_0x5896b6(0x1d4))/0xc*(-parseInt(_0x5896b6(0x1d0))/0xd);if(_0x57c85c===_0x2435ce)break;else _0x46064f['push'](_0x46064f['shift']());}catch(_0x493729){_0x46064f['push'](_0x46064f['shift']());}}}(_0x1738,0x55e8d));function _0x1738(){const _0x11de70=['11835PVlWEO','114555GfXoyj','igJHJ','5ZiNWDz','QjDCZ','getRkey','GET','rkeyData','41558MmTyxf','7463vGiBPC','26bSCCTm','isExpired','serverUrl','jWjtz','7485900RKIXlh','3544QiPOtD','refreshRkey','gxhPb','102wUIBRq','HttpGetJson','1490859eHraHJ','940HlMdTs','54aCIYVC','291428XzbozE'];_0x1738=function(){return _0x11de70;};return _0x1738();}function _0x43e4(_0x541ea9,_0x4042a1){const _0x173881=_0x1738();return _0x43e4=function(_0x43e4b3,_0x440e10){_0x43e4b3=_0x43e4b3-0x1bf;let _0x223942=_0x173881[_0x43e4b3];return _0x223942;},_0x43e4(_0x541ea9,_0x4042a1);}import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x47616c(0x1d2)]='';[_0x47616c(0x1cd)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x2d4eb3){const _0x1be7b4=_0x47616c;this[_0x1be7b4(0x1d2)]=_0x2d4eb3;}async[_0x47616c(0x1cb)](){const _0x47194c=_0x47616c,_0x674127={'QjDCZ':'获取rkey失败'};if(this[_0x47194c(0x1d1)]())try{await this['refreshRkey']();}catch(_0x31b251){logError(_0x674127[_0x47194c(0x1ca)],_0x31b251);}return this['rkeyData'];}[_0x47616c(0x1d1)](){const _0x101063=_0x47616c,_0x39a43f={'gxhPb':function(_0x3607a5,_0xc47bb7){return _0x3607a5/_0xc47bb7;},'jWjtz':function(_0x5c1c6e,_0x3a13ad){return _0x5c1c6e>_0x3a13ad;}},_0x1b3f36=_0x39a43f[_0x101063(0x1bf)](new Date()['getTime'](),0x3e8);return _0x39a43f[_0x101063(0x1d3)](_0x1b3f36,this[_0x101063(0x1cd)]['expired_time']);}async[_0x47616c(0x1d6)](){const _0x144a44=_0x47616c,_0x1dd06e={'igJHJ':_0x144a44(0x1cc)};this['rkeyData']=await RequestUtil[_0x144a44(0x1c1)](this[_0x144a44(0x1d2)],_0x1dd06e[_0x144a44(0x1c8)]);}}export const rkeyManager=new RkeyManager('http://napcat-sign.wumiao.wang:2082/rkey');
|
7
src/core.lib/src/wrapper.d.ts
vendored
7
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;
|
||||
@@ -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 _0x14196f=_0x8deb;function _0x8deb(_0x1f62b8,_0x459a8e){const _0x4a1abb=_0x4a1a();return _0x8deb=function(_0x8deb2d,_0x2256da){_0x8deb2d=_0x8deb2d-0x116;let _0x3391ff=_0x4a1abb[_0x8deb2d];return _0x3391ff;},_0x8deb(_0x1f62b8,_0x459a8e);}function _0x4a1a(){const _0x129444=['2149443ZQBgcq','curVersion','14113980NxFjrT','16lBQmKc','join','/wrapper.node','34764aAOXzD','execPath','15010ZYoxRB','732iVaDem','./resources/app/wrapper.node','resolve','4304986Fnuuhb','1919388lsgwgc','427574mQPocN','24AosIWH','resources/app/versions/'];_0x4a1a=function(){return _0x129444;};return _0x4a1a();}(function(_0x51b502,_0xeae0d4){const _0x560c77=_0x8deb,_0x2e9a70=_0x51b502();while(!![]){try{const _0x3d5b76=-parseInt(_0x560c77(0x126))/0x1+-parseInt(_0x560c77(0x11b))/0x2*(parseInt(_0x560c77(0x11e))/0x3)+-parseInt(_0x560c77(0x121))/0x4*(-parseInt(_0x560c77(0x120))/0x5)+parseInt(_0x560c77(0x125))/0x6+-parseInt(_0x560c77(0x124))/0x7+-parseInt(_0x560c77(0x116))/0x8*(parseInt(_0x560c77(0x118))/0x9)+parseInt(_0x560c77(0x11a))/0xa;if(_0x3d5b76===_0xeae0d4)break;else _0x2e9a70['push'](_0x2e9a70['shift']());}catch(_0x96603a){_0x2e9a70['push'](_0x2e9a70['shift']());}}}(_0x4a1a,0x68b69));import _0x26f032 from'node:path';import _0x2b5d9b from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';let wrapperNodePath=_0x26f032[_0x14196f(0x123)](_0x26f032['dirname'](process[_0x14196f(0x11f)]),_0x14196f(0x122));!_0x2b5d9b['existsSync'](wrapperNodePath)&&(wrapperNodePath=_0x26f032[_0x14196f(0x11c)](_0x26f032['dirname'](process[_0x14196f(0x11f)]),_0x14196f(0x117)+qqVersionConfigInfo[_0x14196f(0x119)]+_0x14196f(0x11d)));const QQWrapper=require(wrapperNodePath);export default QQWrapper;
|
||||
const _0x2d8ed2=_0x2255;(function(_0x3adaf1,_0x5d8924){const _0x2c0c83=_0x2255,_0x1cd8b8=_0x3adaf1();while(!![]){try{const _0x451efc=parseInt(_0x2c0c83(0xbb))/0x1*(parseInt(_0x2c0c83(0xaf))/0x2)+parseInt(_0x2c0c83(0xb8))/0x3*(parseInt(_0x2c0c83(0xb3))/0x4)+parseInt(_0x2c0c83(0xbc))/0x5*(-parseInt(_0x2c0c83(0xb4))/0x6)+-parseInt(_0x2c0c83(0xaa))/0x7*(-parseInt(_0x2c0c83(0xc0))/0x8)+-parseInt(_0x2c0c83(0xb1))/0x9*(-parseInt(_0x2c0c83(0xab))/0xa)+-parseInt(_0x2c0c83(0xac))/0xb+parseInt(_0x2c0c83(0xb7))/0xc*(parseInt(_0x2c0c83(0xb0))/0xd);if(_0x451efc===_0x5d8924)break;else _0x1cd8b8['push'](_0x1cd8b8['shift']());}catch(_0x25cea){_0x1cd8b8['push'](_0x1cd8b8['shift']());}}}(_0x44e2,0xc2d1d));import _0x3dc70c from'node:path';function _0x44e2(){const _0x4b922f=['24lUpxlE','15jGDmkw','dirname','default','24313zqIkdS','5kotwDk','\x0amodule.exports\x20=\x20require(\x22','join','replace','301672OEPrWQ','file://','7IjYkNS','314970MTrjGd','16377581lSZijW','url','/wrapper.node','86lQQTMR','6191848udCUsb','99FntpZi','resolve','337060GonyFt','3100200pYdlOD','execPath','writeFileSync'];_0x44e2=function(){return _0x4b922f;};return _0x44e2();}import _0x375ecd from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta[_0x2d8ed2(0xad)]),__dirname=dirname(__filename);let wrapperNodePath=_0x3dc70c[_0x2d8ed2(0xb2)](_0x3dc70c[_0x2d8ed2(0xb9)](process[_0x2d8ed2(0xb5)]),'./resources/app/wrapper.node');function _0x2255(_0x375743,_0x44337e){const _0x44e202=_0x44e2();return _0x2255=function(_0x2255b9,_0x59fdab){_0x2255b9=_0x2255b9-0xa9;let _0x142728=_0x44e202[_0x2255b9];return _0x142728;},_0x2255(_0x375743,_0x44337e);}!_0x375ecd['existsSync'](wrapperNodePath)&&(wrapperNodePath=_0x3dc70c[_0x2d8ed2(0xbe)](_0x3dc70c[_0x2d8ed2(0xb9)](process[_0x2d8ed2(0xb5)]),'resources/app/versions/'+qqVersionConfigInfo['curVersion']+_0x2d8ed2(0xae)));let WrapperLoader=_0x3dc70c[_0x2d8ed2(0xbe)](__dirname,'WrapperLoader.cjs');_0x375ecd[_0x2d8ed2(0xb6)](WrapperLoader,_0x2d8ed2(0xbd)+wrapperNodePath[_0x2d8ed2(0xbf)](/\\/g,'\x5c\x5c')+'\x22);\x0aexports\x20=\x20module.exports;\x0a');const QQWrapper=(await import(_0x2d8ed2(0xa9)+WrapperLoader))[_0x2d8ed2(0xba)];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);
|
||||
}
|
||||
});
|
@@ -1,23 +0,0 @@
|
||||
const frida = require('frida');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
async function main() {
|
||||
// 获取当前 Node.js 进程的 ID
|
||||
const pid = process.pid;
|
||||
const session = await frida.attach(pid); // 附加到当前进程
|
||||
|
||||
const scriptCode = fs.readFileSync(path.join(path.resolve(__dirname), 'frida_script.js'), 'utf-8');
|
||||
const script = await session.createScript(scriptCode);
|
||||
|
||||
script.message.connect(message => {
|
||||
console.log('Message from Frida:', message);
|
||||
});
|
||||
|
||||
await script.load();
|
||||
console.log('Frida script has been loaded successfully.');
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error(err);
|
||||
});
|
18
src/index.ts
18
src/index.ts
@@ -2,6 +2,7 @@ import { napCatCore } from '@/core';
|
||||
import { program } from 'commander';
|
||||
import qrcode from 'qrcode-terminal';
|
||||
import fs from 'fs/promises';
|
||||
import fsSync from 'fs';
|
||||
import path from 'node:path';
|
||||
import { checkVersion } from '@/common/utils/version';
|
||||
import { log, logDebug, logError, LogLevel, setLogLevel } from '@/common/utils/log';
|
||||
@@ -9,6 +10,13 @@ import { NapCatOnebot11 } from '@/onebot11/main';
|
||||
import { InitWebUi } from './webui/index';
|
||||
import { WebUiDataRuntime } from './webui/src/helper/Data';
|
||||
import { UpdateConfig } from './common/utils/helper';
|
||||
import { dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
program
|
||||
.option('-q, --qq <type>', 'QQ号')
|
||||
.parse(process.argv);
|
||||
@@ -19,10 +27,8 @@ UpdateConfig().catch(logError);
|
||||
InitWebUi();
|
||||
const cmdOptions = program.opts();
|
||||
// console.log(process.argv);
|
||||
|
||||
|
||||
checkVersion().then((remoteVersion: string) => {
|
||||
const localVersion = require('./package.json').version;
|
||||
checkVersion().then(async (remoteVersion: string) => {
|
||||
const localVersion = JSON.parse(fsSync.readFileSync(path.join(__dirname, 'package.json')).toString()).version;
|
||||
const localVersionList = localVersion.split('.');
|
||||
const remoteVersionList = remoteVersion.split('.');
|
||||
log('[NapCat] 当前版本:', localVersion);
|
||||
@@ -37,10 +43,10 @@ checkVersion().then((remoteVersion: string) => {
|
||||
logDebug('[NapCat] 当前已是最新版本');
|
||||
return;
|
||||
}).catch((e) => {
|
||||
logError('[NapCat] 检测更新失败');
|
||||
logError('[NapCat] 检测更新失败', e);
|
||||
});
|
||||
// 不是很好待优化
|
||||
let NapCat_OneBot11 = new NapCatOnebot11();
|
||||
const NapCat_OneBot11 = new NapCatOnebot11();
|
||||
|
||||
WebUiDataRuntime.setOB11ConfigCall(NapCat_OneBot11.SetConfig);
|
||||
|
||||
|
@@ -20,11 +20,11 @@ class BaseAction<PayloadType, ReturnDataType> {
|
||||
return {
|
||||
valid: false,
|
||||
message: errorMessages.join('\n') as string || '未知错误'
|
||||
}
|
||||
};
|
||||
}
|
||||
return {
|
||||
valid: true
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public async handle(payload: PayloadType): Promise<OB11Return<ReturnDataType | null>> {
|
||||
|
@@ -20,7 +20,7 @@ export default class Debug extends BaseAction<Payload, any> {
|
||||
actionName = ActionName.Debug;
|
||||
|
||||
protected async _handle(payload: Payload): Promise<any> {
|
||||
logDebug('debug call ntqq api', payload);
|
||||
//logDebug('debug call ntqq api', payload);
|
||||
const ntqqApi = [NTQQMsgApi, NTQQFriendApi, NTQQGroupApi, NTQQUserApi, NTQQFileApi,
|
||||
// NTQQFileCacheApi,
|
||||
];
|
||||
|
46
src/onebot11/action/extends/OCRImage.ts
Normal file
46
src/onebot11/action/extends/OCRImage.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { DeviceList } from '@/onebot11/main';
|
||||
import BaseAction from '../BaseAction';
|
||||
import { ActionName } from '../types';
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import { checkFileReceived, uri2local } from '@/common/utils/file';
|
||||
import { NTQQSystemApi } from '@/core';
|
||||
import fs from 'fs';
|
||||
|
||||
const SchemaData = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
image: { type: 'string' },
|
||||
},
|
||||
required: ['image']
|
||||
} as const satisfies JSONSchema;
|
||||
|
||||
type Payload = FromSchema<typeof SchemaData>;
|
||||
|
||||
export class OCRImage extends BaseAction<Payload, any> {
|
||||
actionName = ActionName.OCRImage;
|
||||
PayloadSchema = SchemaData;
|
||||
protected async _handle(payload: Payload) {
|
||||
const { path, isLocal, errMsg } = (await uri2local(payload.image));
|
||||
if (errMsg) {
|
||||
throw `OCR ${payload.image}失败,image字段可能格式不正确`;
|
||||
}
|
||||
if (path) {
|
||||
await checkFileReceived(path, 5000); // 文件不存在QQ会崩溃,需要提前判断
|
||||
const ret = await NTQQSystemApi.ORCImage(path);
|
||||
if (!isLocal) {
|
||||
fs.unlink(path, () => { });
|
||||
}
|
||||
if (!ret) {
|
||||
throw `OCR ${payload.file}失败`;
|
||||
}
|
||||
return ret.result;
|
||||
}
|
||||
if (!isLocal) {
|
||||
fs.unlink(path, () => { });
|
||||
}
|
||||
throw `OCR ${payload.file}失败,文件可能不存在`;
|
||||
}
|
||||
}
|
||||
export class IOCRImage extends OCRImage {
|
||||
actionName = ActionName.IOCRImage;
|
||||
}
|
@@ -5,7 +5,7 @@ import BaseAction from '../BaseAction';
|
||||
import { ActionName, BaseCheckResult } from '../types';
|
||||
import { NTQQUserApi } from '@/core/apis';
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import Ajv from "ajv"
|
||||
import Ajv from 'ajv';
|
||||
// 设置在线状态
|
||||
|
||||
const SchemaData = {
|
||||
|
@@ -13,7 +13,7 @@ export default class SetAvatar extends BaseAction<Payload, null> {
|
||||
actionName = ActionName.SetQQAvatar;
|
||||
// 用不着复杂检测
|
||||
protected async check(payload: Payload): Promise<BaseCheckResult> {
|
||||
if (!payload.file || typeof payload.file != "string") {
|
||||
if (!payload.file || typeof payload.file != 'string') {
|
||||
return {
|
||||
valid: false,
|
||||
message: 'file字段不能为空或者类型错误',
|
||||
|
37
src/onebot11/action/extends/TranslateEnWordToZn.ts
Normal file
37
src/onebot11/action/extends/TranslateEnWordToZn.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { OB11User } from '../../types';
|
||||
import { OB11Constructor } from '../../constructor';
|
||||
import { friends } from '@/core/data';
|
||||
import BaseAction from '../BaseAction';
|
||||
import { ActionName, BaseCheckResult } from '../types';
|
||||
import { NTQQSystemApi, NTQQUserApi } from '@/core/apis';
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import Ajv from 'ajv';
|
||||
// 设置在线状态
|
||||
|
||||
const SchemaData = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
words: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'string',
|
||||
}
|
||||
}
|
||||
},
|
||||
required: ['words'],
|
||||
} as const satisfies JSONSchema;
|
||||
|
||||
type Payload = FromSchema<typeof SchemaData>;
|
||||
|
||||
export class TranslateEnWordToZn extends BaseAction<Payload, Array<any> | null> {
|
||||
actionName = ActionName.TranslateEnWordToZn;
|
||||
PayloadSchema = SchemaData;
|
||||
protected async _handle(payload: Payload) {
|
||||
|
||||
const ret = await NTQQSystemApi.translateEnWordToZn(payload.words);
|
||||
if (ret.result !== 0) {
|
||||
throw new Error('翻译失败');
|
||||
}
|
||||
return ret.words;
|
||||
}
|
||||
}
|
23
src/onebot11/action/file/DelGroupFile.ts
Normal file
23
src/onebot11/action/file/DelGroupFile.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import BaseAction from '../BaseAction';
|
||||
import { ActionName } from '../types';
|
||||
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
|
||||
|
||||
const SchemaData = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
group_id: { type: ['string', 'number'] },
|
||||
file_id: { type: 'string' },
|
||||
},
|
||||
required: ['group_id', 'file_id']
|
||||
} as const satisfies JSONSchema;
|
||||
|
||||
type Payload = FromSchema<typeof SchemaData>;
|
||||
|
||||
export class DelGroupFile extends BaseAction<Payload, any> {
|
||||
actionName = ActionName.DelGroupFile;
|
||||
PayloadSchema = SchemaData;
|
||||
protected async _handle(payload: Payload) {
|
||||
return await NTQQGroupApi.DelGroupFile(payload.group_id.toString(), [payload.file_id]);
|
||||
}
|
||||
}
|
23
src/onebot11/action/file/DelGroupFileFolder.ts
Normal file
23
src/onebot11/action/file/DelGroupFileFolder.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import BaseAction from '../BaseAction';
|
||||
import { ActionName } from '../types';
|
||||
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
|
||||
|
||||
const SchemaData = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
group_id: { type: ['string', 'number'] },
|
||||
folder_id: { type: 'string' },
|
||||
},
|
||||
required: ['group_id', 'folder_id']
|
||||
} as const satisfies JSONSchema;
|
||||
|
||||
type Payload = FromSchema<typeof SchemaData>;
|
||||
|
||||
export class DelGroupFileFolder extends BaseAction<Payload, any> {
|
||||
actionName = ActionName.DelGroupFileFolder;
|
||||
PayloadSchema = SchemaData;
|
||||
protected async _handle(payload: Payload) {
|
||||
return (await NTQQGroupApi.DelGroupFileFolder(payload.group_id.toString(), payload.folder_id)).groupFileCommonResult;
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
import BaseAction from '../BaseAction';
|
||||
import fs from 'fs/promises';
|
||||
import { dbUtil } from '@/core/utils/db';
|
||||
import { dbUtil } from '@/common/utils/db';
|
||||
import { ob11Config } from '@/onebot11/config';
|
||||
import { log, logDebug } from '@/common/utils/log';
|
||||
import { sleep } from '@/common/utils/helper';
|
||||
|
23
src/onebot11/action/file/GetGroupFileCount.ts
Normal file
23
src/onebot11/action/file/GetGroupFileCount.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
|
||||
import BaseAction from '../BaseAction';
|
||||
import { ActionName } from '../types';
|
||||
import { NTQQGroupApi, NTQQUserApi } from '@/core/apis';
|
||||
|
||||
const SchemaData = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
group_id: { type: ['string', 'number'] },
|
||||
},
|
||||
required: ['group_id']
|
||||
} as const satisfies JSONSchema;
|
||||
|
||||
type Payload = FromSchema<typeof SchemaData>;
|
||||
|
||||
export class GetGroupFileCount extends BaseAction<Payload, { count: number }> {
|
||||
actionName = ActionName.GetGroupFileCount;
|
||||
PayloadSchema = SchemaData;
|
||||
protected async _handle(payload: Payload) {
|
||||
const ret = await NTQQGroupApi.GetGroupFileCount([payload.group_id?.toString()]);
|
||||
return { count: ret.groupFileCounts[0] };
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user