Compare commits

...

78 Commits

Author SHA1 Message Date
手瓜一十雪
914136b750 refactor: 移除异常代码 2024-07-10 21:39:03 +08:00
手瓜一十雪
f9a60795f5 feat: uid转换优化 2024-07-10 21:33:31 +08:00
手瓜一十雪
19640927c7 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-07-10 21:11:43 +08:00
手瓜一十雪
22faac7e36 fix: friend uid 异常 2024-07-10 21:11:28 +08:00
手瓜一十雪
30d260ab32 Merge pull request #111 from idranme/main
fix: error catch
2024-07-10 11:55:53 +08:00
idranme
115120d066 Update file.ts 2024-07-10 11:35:55 +08:00
idranme
1327844736 fix: error catch 2024-07-10 03:25:25 +00:00
手瓜一十雪
29904f3cb7 feat: 164 way03启动脚本补充 2024-07-06 13:23:31 +08:00
手瓜一十雪
50395594b7 Merge pull request #106 from jetjinser/fix-editorconfig
fix: `.editorconfig` wrong pair `end_of_line`
2024-07-05 22:43:23 +08:00
Jinser Kafka
9360af88b3 fix: .editorconfig 2024-07-05 19:36:32 +08:00
手瓜一十雪
376370336c release: 1.6.5 2024-07-05 16:50:57 +08:00
手瓜一十雪
70df6e3302 Merge pull request #105 from po-lan/main
对缓存小优化
2024-07-05 16:49:30 +08:00
手瓜一十雪
0a1fc2dc12 feat: 1.6.5 2024-07-05 16:49:16 +08:00
手瓜一十雪
9857f6e437 feat: 优化载入流程 2024-07-05 16:47:08 +08:00
手瓜一十雪
56d6ebe916 refactor: 迁移到新库 2024-07-05 15:48:03 +08:00
po-lan
81134ea2d4 Update LRUCache.ts 2024-07-05 12:13:24 +08:00
po-lan
a9f3e7fc54 Update db.ts
通过读取缓存修复刚说话缺无法获取发言时间的问题
2024-07-05 12:12:40 +08:00
po-lan
eb84e2f8c9 Update LRUCache.ts
Add a get function to the cache
2024-07-05 12:09:59 +08:00
手瓜一十雪
61cfa0e86d release: 1.6.4 2024-07-03 14:30:55 +08:00
手瓜一十雪
0a01b8ade9 Merge pull request #97 from cnxysoft/main
修改下载函数
2024-07-02 10:13:15 +08:00
Alen
1457efa9a4 修改下载函数
为默认Headers增加Host,解决一些网站无法下载文件的问题
2024-07-02 01:07:30 +08:00
手瓜一十雪
fa5c7add7a refactor: new core 2024-07-01 18:45:48 +08:00
手瓜一十雪
d644eba4d1 refactor: napcat 2024-07-01 18:24:36 +08:00
手瓜一十雪
9c422c1a8f Merge pull request #95 from ahjsrhj/main
feat: ws反代请求添加UA: OneBot/11
2024-07-01 13:20:47 +08:00
手瓜一十雪
b6db37202f feat: core code 2024-07-01 13:18:59 +08:00
手瓜一十雪
4ca3891089 refactor: core 2024-07-01 13:18:19 +08:00
ahjsrhj
4c7ed01776 feat: ws反代请求添加UA: OneBot/11 2024-07-01 11:19:15 +08:00
手瓜一十雪
45c922c377 release: 1.6.3 2024-06-28 14:00:15 +08:00
手瓜一十雪
f854c258bd fix: 清除旧的反向ws 2024-06-28 13:42:09 +08:00
手瓜一十雪
a643fac073 refactor: msg context 2024-06-28 13:38:03 +08:00
手瓜一十雪
861f105bea fix: uid->uin 临时修复方案
uid uin转换需要优化
2024-06-28 13:11:06 +08:00
手瓜一十雪
bf10ce9f1e fix: error 2024-06-26 18:40:08 +08:00
手瓜一十雪
ccf521d0a8 feat: win ia32支持 2024-06-26 18:13:55 +08:00
手瓜一十雪
6075d98eaa release: v1.6.2 2024-06-26 18:09:41 +08:00
手瓜一十雪
a3801fc243 fix: script 2024-06-26 17:17:33 +08:00
手瓜一十雪
a1f0c05f3a chore: build script 2024-06-26 17:16:54 +08:00
手瓜一十雪
a568c96929 chore: build script 2024-06-26 17:15:46 +08:00
手瓜一十雪
d58bcf3c0e refactor: error catch 2024-06-26 17:14:23 +08:00
手瓜一十雪
985f2e6436 fix: 还原修改 2024-06-25 17:24:42 +08:00
手瓜一十雪
ad441fa793 docs: update 2024-06-24 21:38:28 +08:00
手瓜一十雪
316300cc86 Merge pull request #86 from NapNeko/dependabot/npm_and_yarn/types/uuid-10.0.0
build(deps-dev): bump @types/uuid from 9.0.8 to 10.0.0
2024-06-24 17:44:25 +08:00
dependabot[bot]
5c4f37b234 build(deps-dev): bump @types/uuid from 9.0.8 to 10.0.0
Bumps [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid) from 9.0.8 to 10.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/uuid"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 08:14:47 +00:00
手瓜一十雪
77b51a072d fix: 增加容错 2024-06-24 12:03:49 +08:00
手瓜一十雪
2536e1ae6a release: v1.6.1 2024-06-22 10:54:58 +08:00
手瓜一十雪
14822c9599 style&fix: lint & poke 2024-06-21 23:04:56 +08:00
手瓜一十雪
e53c37adc9 release: v1.6.0 2024-06-21 22:43:19 +08:00
手瓜一十雪
c37539354c docs: update 2024-06-21 22:35:10 +08:00
手瓜一十雪
ae0277f33c release: 1.5.8 2024-06-19 23:34:09 +08:00
手瓜一十雪
b863896249 refactor: log file limit 2024-06-19 23:26:05 +08:00
手瓜一十雪
5b42f8b743 refactor: qqmusic card & requests 2024-06-19 23:06:57 +08:00
手瓜一十雪
3883fab614 remove: debug 2024-06-19 21:37:13 +08:00
手瓜一十雪
61d6bcec4b refactor: qqmusic card & requests 2024-06-19 21:33:31 +08:00
手瓜一十雪
3b5902b033 refactor: requests 2024-06-19 16:45:20 +08:00
手瓜一十雪
3a88c21a3b refactor: 整理action & data 2024-06-19 13:35:42 +08:00
手瓜一十雪
91a5055dee refactor: qqmusic sign & http post 2024-06-19 13:20:52 +08:00
手瓜一十雪
7befd1469f Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-19 10:01:37 +08:00
手瓜一十雪
c72ebe495c refactor: remove debug 2024-06-19 10:01:24 +08:00
手瓜一十雪
19e06b97e6 docs: update 2024-06-18 23:57:47 +08:00
手瓜一十雪
7519825303 refactor: test 2024-06-18 23:23:19 +08:00
手瓜一十雪
d9315bf309 refactor: project 2024-06-18 22:49:06 +08:00
手瓜一十雪
8c36c809a0 docs: extend 2024-06-18 11:22:35 +08:00
手瓜一十雪
8138aa3cb2 docs: v1.5.8 2024-06-18 11:21:52 +08:00
手瓜一十雪
87aef3ca78 feat: Util HttpUploadFile 2024-06-18 11:17:09 +08:00
手瓜一十雪
a3f1d26d6b feat: refactor miniapp 2024-06-18 11:08:51 +08:00
手瓜一十雪
06cebc5670 build: try support ia32 2024-06-17 10:03:59 +08:00
手瓜一十雪
867fd62d77 fix: typo 2024-06-16 20:54:52 +08:00
手瓜一十雪
650cdf2916 feat: test 2024-06-16 19:24:42 +08:00
手瓜一十雪
ebf461f2fd feat: 加了一些暂时不能使用的代码 2024-06-16 16:35:09 +08:00
手瓜一十雪
27fa319b2a release: LinuxAppid 24568 2024-06-14 18:43:56 +08:00
手瓜一十雪
d95ac894f4 release: 1.5.6-复活下win 2024-06-14 17:00:35 +08:00
手瓜一十雪
ae84a8dd11 docs: v1.5.6 change 2024-06-14 16:53:26 +08:00
手瓜一十雪
2fc963f986 build: v1.5.6-紧急测试 2024-06-14 16:43:32 +08:00
手瓜一十雪
be1f938ebd fix 2024-06-14 16:42:39 +08:00
手瓜一十雪
cccf4d503d docs: v1.5.6 2024-06-14 15:50:22 +08:00
手瓜一十雪
9dad2a8ac6 remove: debug 2024-06-11 18:11:32 +08:00
手瓜一十雪
75af104f07 release: v1.5.5 2024-06-11 18:10:22 +08:00
手瓜一十雪
76ecba245b fix: error 2024-06-11 18:09:46 +08:00
手瓜一十雪
3697c2ced8 refactor: 移除无缝升级函数 2024-06-11 15:46:27 +08:00
260 changed files with 11934 additions and 7001 deletions

View File

@@ -5,7 +5,7 @@ root = true
# Unix-style newlines with a newline ending every file # Unix-style newlines with a newline ending every file
[*] [*]
end_of_line = lf|crlf end_of_line = lf
insert_final_newline = true insert_final_newline = true
# Matches multiple files with brace expansion notation # Matches multiple files with brace expansion notation

View File

@@ -1,4 +1,4 @@
name: "Build" name: "Build Action"
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
@@ -47,7 +47,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
target_platform: [win32] target_platform: [win32]
target_arch: [x64] target_arch: [x64,ia32]
steps: steps:
- name: Clone Main Repository - name: Clone Main Repository
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@@ -1,4 +1,4 @@
name: "release" name: "Build Release"
on: on:
push: push:
@@ -72,7 +72,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
target_platform: [win32] target_platform: [win32]
target_arch: [x64] target_arch: [x64,ia32]
steps: steps:
- name: Clone Main Repository - name: Clone Main Repository
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -130,6 +130,7 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
body_path: CHANGELOG.md body_path: CHANGELOG.md
files: | files: |
NapCat.win32.ia32.zip
NapCat.win32.x64.zip NapCat.win32.x64.zip
NapCat.linux.x64.zip NapCat.linux.x64.zip
NapCat.linux.arm64.zip NapCat.linux.arm64.zip

69
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: "Build Test"
on:
workflow_dispatch:
permissions: write-all
jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target_platform: [linux]
target_arch: [x64, arm64]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4
with:
repository: 'NapNeko/NapCatQQ'
submodules: true
ref: main
token: ${{ secrets.NAPCAT_BUILD }}
- name: Use Node.js 20.X
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Build NuCat Linux
run: |
npm i --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }}
npm run build:prod
cd dist
npm i --omit=dev --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }}
cd ..
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: NapCat.${{ matrix.target_platform }}.${{ matrix.target_arch }}
path: dist
build-win32:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target_platform: [win32]
target_arch: [x64,ia32]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4
with:
repository: 'NapNeko/NapCatQQ'
submodules: true
ref: main
token: ${{ secrets.NAPCAT_BUILD }}
- name: Use Node.js 20.X
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Build NuCat Linux
run: |
npm i --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }}
npm run build:prod
cd dist
npm i --omit=dev --arch=${{ matrix.target_arch }} --platform=${{ matrix.target_platform }}
cd ..
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: NapCat.${{ matrix.target_platform }}.${{ matrix.target_arch }}
path: dist

4
.gitmodules vendored
View File

@@ -1,4 +0,0 @@
[submodule "src/core"]
path = src/core
url = https://github.com/NapNeko/core.git
branch = master

View File

@@ -0,0 +1,18 @@
# v1.6.5
QQ Version: Windows 9.9.12-26000 / Linux 3.2.9-26000
## 使用前警告
1. 在最近版本由于QQ本体大幅变动为了保证NapCat可用性NapCat近期启动与安装方式将将大幅变动请关注文档和社群获取。
2. 在Core上完全执行开源请不要用于违法用途如此可能造成NapCat完全停止更新。
3. 针对原启动方式的围堵NapCat研发了多种方式除此其余理论与扩展的分析和思路将部分展示于Docs以便各位参与开发与维护NapCat。
## 其余·备注
启动方式: WayBoot.03 Electron Main进程为Node 直接注入代码 同理项目: LiteLoader
## 修复与优化
1. 优化了WrapperNative载入代码
2. 优化缓存
## 新增与调整
没有哦
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.5
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 紧急修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.6
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.7
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,14 @@
# v1.5.8
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复视频文件残留问题
* 重构 getcookies接口 支持大部分常见域
## 新增与调整
* 日志大小限制
* 支持 QQ音乐 卡片 无签名支持时 启用内置方法(缺点没有封面 限速1min/条)
* 支持Window X86-32机器
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.5.9
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
* 优化缓存问题
* 修复poke异常上报
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.6.0
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
## 新增与调整
* 新增图片subtype属性 区分表情图片与商城图片
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.6.1
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
## 新增与调整
* 修复poke异常事件
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,13 @@
# v1.6.2
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
* 修复获取Cookies异常崩溃问题
* 尝试修复成员退群缓存问题
* 修复自身退群后群缓存清理问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,13 @@
# v1.6.3
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
* 修复带有groupid的私聊消息异常发送到群聊消息
* 尝试修复rws热重载失效问题
* 尝试修复进群事件无法正常获取uin
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,18 @@
# v1.6.4
QQ Version: Windows 9.9.12-26000 / Linux 3.2.9-26000
## 使用前警告
1. 在最近版本由于QQ本体大幅变动为了保证NapCat可用性NapCat近期启动与安装方式将将大幅变动请关注文档和社群获取。
2. 在Core上完全执行开源请不要用于违法用途如此可能造成NapCat完全停止更新。
3. 针对原启动方式的围堵NapCat研发了多种方式除此其余理论与扩展的分析和思路将部分展示于Docs以便各位参与开发与维护NapCat。
## 其余·备注
启动方式: WayBoot.03 Electron Main进程为Node 直接注入代码 同理项目: LiteLoader
## 修复与优化
1. 支持Win平台 9.9.12
2. 修复部分发送图片下载异常情况
## 新增与调整
没有哦
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1 @@
getMsgUniqueId 传入时间 产出一个唯一ID 发送消息作为一个参数

View File

@@ -2,7 +2,7 @@
"name": "napcat", "name": "napcat",
"private": true, "private": true,
"type": "module", "type": "module",
"version": "1.5.4", "version": "1.6.5",
"scripts": { "scripts": {
"watch:dev": "vite --mode development", "watch:dev": "vite --mode development",
"watch:prod": "vite --mode production", "watch:prod": "vite --mode production",
@@ -18,6 +18,11 @@
"depend": "cd dist && npm install --omit=dev" "depend": "cd dist && npm install --omit=dev"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.7",
"@babel/preset-typescript": "^7.24.7",
"vite-plugin-babel": "^1.2.0",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@log4js-node/log4js-api": "^1.0.2", "@log4js-node/log4js-api": "^1.0.2",
"@protobuf-ts/plugin": "^2.9.4", "@protobuf-ts/plugin": "^2.9.4",
"@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-node-resolve": "^15.2.3",
@@ -28,7 +33,7 @@
"@types/fluent-ffmpeg": "^2.1.24", "@types/fluent-ffmpeg": "^2.1.24",
"@types/node": "^20.11.30", "@types/node": "^20.11.30",
"@types/qrcode-terminal": "^0.12.2", "@types/qrcode-terminal": "^0.12.2",
"@types/uuid": "^9.0.8", "@types/uuid": "^10.0.0",
"@types/ws": "^8.5.10", "@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0", "@typescript-eslint/parser": "^7.4.0",

45
script/BootWay.03.ps1 Normal file
View File

@@ -0,0 +1,45 @@
# Dont Use This Script
# 2024.7.3
function Get-QQpath {
try {
$key = Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\QQ"
$uninstallString = $key.UninstallString
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
}
catch {
throw "get QQ path error: $_"
}
}
function Select-QQPath {
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$dialogTitle = "Select QQ.exe"
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
$filePicker.Title = $dialogTitle
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
$filePicker.FilterIndex = 1
$null = $filePicker.ShowDialog()
if (-not ($filePicker.FileName)) {
throw "User did not select an .exe file."
}
return $filePicker.FileName
}
$params = $args -join " "
Try {
$QQpath = Get-QQpath
}
Catch {
$QQpath = Select-QQPath
}
if (!(Test-Path $QQpath)) {
throw "provided QQ path is invalid: $QQpath"
}
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
$env:ELECTRON_RUN_AS_NODE = 1
$commandInfo = Get-Command $QQpath -ErrorAction Stop
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& chcp 65001;& '$($commandInfo.Path)' --enable-logging $params}"

28
script/NapCat.164.bat Normal file
View File

@@ -0,0 +1,28 @@
@echo off
chcp 65001
:: 检查是否有管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
echo 请求管理员权限...
powershell -Command "Start-Process '%~f0' -Verb runAs"
exit /b
)
:: 如果有管理员权限,继续执行
setlocal enabledelayedexpansion
:loop_read
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\QQ" /v "UninstallString"') do (
set "RetString=%%b"
goto :napcat_boot
)
:napcat_boot
for %%a in ("!RetString!") do (
set "pathWithoutUninstall=%%~dpa"
)
set "QQPath=!pathWithoutUninstall!QQ.exe"
echo !QQPath!
"!QQPath!" --enable-logging %*
pause

20
script/index.js Normal file
View File

@@ -0,0 +1,20 @@
// --------------------
// 2024.7.3 9.9.12 BootWay.03 其余方法暂不公开(此方案为临时方案 Win平台已验证
// 缺陷 (已知)
// 1.与非入侵式不同 现在破坏本体代码
// 2.重启代码与正常启动代码失效
// 3.Win需要补丁
// 4.更新后丢失内容 需要重写此文件
// 5.安装难度上升与周围基础设施失效
// --------------------
const path = require('path');
const CurrentPath = path.dirname(__filename)
const hasNapcatParam = process.argv.includes('--enable-logging');
if (hasNapcatParam) {
(async () => {
await import("file://" + path.join(CurrentPath, './napcat/napcat.mjs'));
})();
} else {
require('./launcher.node').load('external_index', module);
}

View File

@@ -1,4 +1,3 @@
import { NodeIKernelMsgListener } from '@/core';
import { NodeIQQNTWrapperSession } from '@/core/wrapper'; import { NodeIQQNTWrapperSession } from '@/core/wrapper';
import { randomUUID } from 'crypto'; import { randomUUID } from 'crypto';

View File

@@ -1,4 +1,4 @@
import { logError, logDebug } from '@/common/utils/log'; import { logError, logDebug } from "@/common/utils/log";
type group_id = number; type group_id = number;
type user_id = number; type user_id = number;
@@ -31,7 +31,7 @@ class LRU<T> {
private tail: cacheNode<T> | null = null; private tail: cacheNode<T> | null = null;
private onFuncs: ((node: cacheNode<T>) => void)[] = []; private onFuncs: ((node: cacheNode<T>) => void)[] = [];
constructor(maxAge: number = 2e4, maxSize: number = 5e3) { constructor(maxAge: number = 6e4, maxSize: number = 5e3) {
this.maxAge = maxAge; this.maxAge = maxAge;
this.maxSize = maxSize; this.maxSize = maxSize;
this.cache = Object.create(null); this.cache = Object.create(null);
@@ -44,7 +44,7 @@ class LRU<T> {
// 移除LRU节点 // 移除LRU节点
private removeLRUNode(node: cacheNode<T>) { private removeLRUNode(node: cacheNode<T>) {
logDebug( logDebug(
'removeLRUNode', "removeLRUNode",
node.groupId, node.groupId,
node.userId, node.userId,
node.value, node.value,
@@ -140,6 +140,26 @@ class LRU<T> {
} }
} }
} }
public get(groupId: group_id): { userId: user_id; value: T }[];
public get(groupId: group_id, userId: user_id): null | { userId: user_id; value: T };
public get(groupId: group_id, userId?: user_id): any {
const groupObject = this.cache[groupId];
if(!groupObject) return userId === undefined ? [] : null;
if (userId === undefined) {
return Object.entries(groupObject).map(([userId, { value }]) => ({
userId: Number(userId),
value,
}));
}
if (groupObject[userId]) {
return { userId, value: groupObject[userId].value };
}
return null;
}
} }
export default LRU; export default LRU;

View File

@@ -38,7 +38,7 @@ class LimitedHashTable<K, V> {
class MessageUniqueWrapper { class MessageUniqueWrapper {
private msgIdMap: LimitedHashTable<number, string> = new LimitedHashTable(1000); private msgIdMap: LimitedHashTable<number, string> = new LimitedHashTable(1000);
createMsg(MsgId: string) { createMsg(MsgId: string) {
let ShortId = parseInt(crypto.createHash('sha1').update('2345').digest('hex').slice(0, 8), 16); const ShortId = parseInt(crypto.createHash('sha1').update('2345').digest('hex').slice(0, 8), 16);
this.msgIdMap.set(ShortId, MsgId); this.msgIdMap.set(ShortId, MsgId);
return ShortId; return ShortId;
} }

View File

@@ -0,0 +1,17 @@
// 方案一 MiniApp发包方案
// 前置条件: 处于GUI环境 存在MiniApp
import { NTQQSystemApi } from '@/core';
// 前排提示: 开发验证仅Win平台开展
export class MiniAppUtil {
static async RunMiniAppWithGUI() {
//process.env.ELECTRON_RUN_AS_NODE = undefined;//没用还是得自己用cpp之类的语言写个程序转发参数
return NTQQSystemApi.BootMiniApp(process.execPath, 'miniapp://open/1007?url=https%3A%2F%2Fm.q.qq.com%2Fa%2Fs%2Fedd0a83d3b8afe233dfa07adaaf8033f%3Fscene%3D1007%26min_refer%3D10001');
}
}
// 方案二 MiniApp发包方案 替代MiniApp方案
// 前置条件: 无
export class MojoMiniAppUtil{
}

View File

@@ -38,11 +38,11 @@ type QQVersionConfigInfo = {
} }
let _qqVersionConfigInfo: QQVersionConfigInfo = { let _qqVersionConfigInfo: QQVersionConfigInfo = {
'baseVersion': '9.9.9-23361', 'baseVersion': '9.9.11-24568',
'curVersion': '9.9.9-23361', 'curVersion': '9.9.11-24568',
'prevVersion': '', 'prevVersion': '',
'onErrorVersions': [], 'onErrorVersions': [],
'buildId': '23361' 'buildId': '24568'
}; };
if (fs.existsSync(configVersionInfoPath)) { if (fs.existsSync(configVersionInfoPath)) {
@@ -55,7 +55,7 @@ if (fs.existsSync(configVersionInfoPath)) {
} }
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo; export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
//V1_WIN_NQ_9.9.11_24568_GW_B
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString()); export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
// platform_type: 3, // platform_type: 3,
// app_type: 4, // app_type: 4,
@@ -65,9 +65,13 @@ export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toSt
// platVer: '10.0.26100', // platVer: '10.0.26100',
// clientVer: '9.9.9-23159', // clientVer: '9.9.9-23159',
let _appid: string = '537216417'; // 默认为 Windows 平台的 appid // Linux
// app_version: '3.2.9-24568',
// qua: 'V1_LNX_NQ_3.2.9_24568_GW_B',
let _appid: string = '537226369'; // 默认为 Windows 平台的 appid
if (systemPlatform === 'linux') { if (systemPlatform === 'linux') {
_appid = '537213827'; _appid = '537226441';
} }
// todo: mac 平台的 appid // todo: mac 平台的 appid
export const appid = _appid; export const appid = _appid;

View File

@@ -408,10 +408,12 @@ class DBUtil extends DBUtilBase {
logDebug('读取发言时间', groupId); logDebug('读取发言时间', groupId);
return new Promise<IRember[]>((resolve, reject) => { return new Promise<IRember[]>((resolve, reject) => {
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => { this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
const cache = this.LURCache.get(groupId).map(e=>({user_id:e.userId, last_sent_time:e.value}));
if (err) { if (err) {
logError('查询发言时间失败', groupId); logError('查询发言时间失败', groupId);
return resolve([]); return resolve(cache.map(e=>({...e, join_time:0})));
} }
Object.assign(rows, cache)
logDebug('查询发言时间成功', groupId, rows); logDebug('查询发言时间成功', groupId, rows);
resolve(rows); resolve(rows);
}); });

View File

@@ -1,5 +1,5 @@
import fs from 'fs'; import fs from 'fs';
import fsPromise from 'fs/promises'; import fsPromise, { stat } from 'fs/promises';
import crypto from 'crypto'; import crypto from 'crypto';
import util from 'util'; import util from 'util';
import path from 'node:path'; import path from 'node:path';
@@ -50,7 +50,40 @@ export function checkFileReceived(path: string, timeout: number = 3000): Promise
check(); check();
}); });
} }
// 定义一个异步函数来检查文件是否存在
export async function checkFileReceived2(path: string, timeout: number = 3000): Promise<void> {
// 使用 Promise.race 来同时进行文件状态检查和超时计时
// Promise.race 会返回第一个解决resolve或拒绝reject的 Promise
await Promise.race([
checkFile(path),
timeoutPromise(timeout, `文件不存在: ${path}`),
]);
}
// 转换超时时间至 Promise
function timeoutPromise(timeout: number, errorMsg: string): Promise<void> {
return new Promise((_, reject) => {
setTimeout(() => {
reject(new Error(errorMsg));
}, timeout);
});
}
// 异步检查文件是否存在
async function checkFile(path: string): Promise<void> {
try {
await stat(path);
} catch (error: any) {
if (error.code === 'ENOENT') {
// 如果文件不存在,则抛出一个错误
throw new Error(`文件不存在: ${path}`);
} else {
// 对于 stat 调用的其他错误,重新抛出
throw error;
}
}
// 如果文件存在则无需做任何事情Promise 解决resolve自身
}
export async function file2base64(path: string) { export async function file2base64(path: string) {
const readFile = util.promisify(fs.readFile); const readFile = util.promisify(fs.readFile);
const result = { const result = {
@@ -115,6 +148,8 @@ export async function httpDownload(options: string | HttpDownloadOptions): Promi
}; };
if (typeof options === 'string') { if (typeof options === 'string') {
url = options; url = options;
const host = new URL(url).hostname;
headers['Host'] = host;
} else { } else {
url = options.url; url = options.url;
if (options.headers) { if (options.headers) {
@@ -125,7 +160,12 @@ export async function httpDownload(options: string | HttpDownloadOptions): Promi
} }
} }
} }
const fetchRes = await fetch(url, { headers }); const fetchRes = await fetch(url, { headers }).catch((err) => {
if (err.cause) {
throw err.cause;
}
throw err;
});
if (!fetchRes.ok) throw new Error(`下载文件失败: ${fetchRes.statusText}`); if (!fetchRes.ok) throw new Error(`下载文件失败: ${fetchRes.statusText}`);
const blob = await fetchRes.blob(); const blob = await fetchRes.blob();

View File

@@ -4,7 +4,7 @@ import fs from 'fs/promises';
import { log, logDebug } from './log'; import { log, logDebug } from './log';
import { dirname } from 'node:path'; import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url'; import { fileURLToPath } from 'node:url';
import * as fsPromise from 'node:fs/promises';
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename); const __dirname = dirname(__filename);
@@ -43,8 +43,88 @@ export function truncateString(obj: any, maxLength = 500) {
} }
return obj; return obj;
} }
export function simpleDecorator(target: any, context: any) {
}
// export function CacheClassFunc(ttl: number = 3600 * 1000, customKey: string = '') {
// const cache = new Map<string, { expiry: number; value: any }>();
// return function CacheClassFuncDecorator(originalMethod: Function, context: ClassMethodDecoratorContext) {
// async function CacheClassFuncDecoratorInternal(this: any, ...args: any[]) {
// const key = `${customKey}${String(context.name)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// const result = originalMethod.call(this, ...args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// return CacheClassFuncDecoratorInternal;
// }
// }
export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = '') {
//console.log('CacheClassFuncAsync', ttl, customKey);
function logExecutionTime(target: any, methodName: string, descriptor: PropertyDescriptor) {
//console.log('logExecutionTime', target, methodName, descriptor);
const cache = new Map<string, { expiry: number; value: any }>();
const originalMethod = descriptor.value;
descriptor.value = async function (...args: any[]) {
const key = `${customKey}${String(methodName)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
cache.forEach((value, key) => {
if (value.expiry < Date.now()) {
cache.delete(key);
}
});
const cachedValue = cache.get(key);
if (cachedValue && cachedValue.expiry > Date.now()) {
return cachedValue.value;
}
// const start = Date.now();
const result = await originalMethod.apply(this, args);
// const end = Date.now();
// console.log(`Method ${methodName} executed in ${end - start} ms.`);
cache.set(key, { expiry: Date.now() + ttl, value: result });
return result;
};
}
return logExecutionTime;
}
// export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = ''): any {
// const cache = new Map<string, { expiry: number; value: any }>();
// // 注意在JavaScript装饰器中我们通常不直接处理ClassMethodDecoratorContext这样的类型
// // 因为装饰器的参数通常是目标类(对于类装饰器)、属性名(对于属性装饰器)等。
// // 对于方法装饰器,我们关注的是方法本身及其描述符。
// // 但这里我们维持原逻辑,假设有一个自定义的处理上下文的方式。
// return function (originalMethod: Function): any {
// console.log(originalMethod);
// // 由于JavaScript装饰器原生不支持异步直接定义我们保持async定义以便处理异步方法。
// async function decoratorWrapper(this: any, ...args: any[]): Promise<any> {
// console.log(...args);
// const key = `${customKey}${originalMethod.name}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// // 遍历cache 清除expiry内容
// cache.forEach((value, key) => {
// if (value.expiry < Date.now()) {
// cache.delete(key);
// }
// });
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// // 直接await异步方法的结果
// const result = await originalMethod.apply(this, args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// // 返回装饰后的方法保持与原方法相同的名称和描述符如果需要更精细的控制可以考虑使用Object.getOwnPropertyDescriptor等
// return decoratorWrapper;
// };
// }
/** /**
* 函数缓存装饰器根据方法名、参数、自定义key生成缓存键在一定时间内返回缓存结果 * 函数缓存装饰器根据方法名、参数、自定义key生成缓存键在一定时间内返回缓存结果
@@ -182,3 +262,25 @@ export function isEqual(obj1: any, obj2: any) {
} }
return true; return true;
} }
export async function deleteOldFiles(directoryPath: string, daysThreshold: number) {
try {
const files = await fsPromise.readdir(directoryPath);
for (const file of files) {
const filePath = path.join(directoryPath, file);
const stats = await fsPromise.stat(filePath);
const lastModifiedTime = stats.mtimeMs;
const currentTime = Date.now();
const timeDifference = currentTime - lastModifiedTime;
const daysDifference = timeDifference / (1000 * 60 * 60 * 24);
if (daysDifference > daysThreshold) {
await fsPromise.unlink(filePath); // Delete the file
//console.log(`Deleted: ${filePath}`);
}
}
} catch (error) {
//console.error('Error deleting files:', error);
}
}

View File

@@ -39,7 +39,7 @@ const logConfig: Configuration = {
FileAppender: { // 输出到文件的appender FileAppender: { // 输出到文件的appender
type: 'file', type: 'file',
filename: logPath, // 指定日志文件的位置和文件名 filename: logPath, // 指定日志文件的位置和文件名
maxLoogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB maxLogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB
layout: { layout: {
type: 'pattern', type: 'pattern',
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] %X{userInfo} | %m' pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] %X{userInfo} | %m'

View File

@@ -1,12 +1,13 @@
import https from 'node:https'; import https from 'node:https';
import http from 'node:http'; import http from 'node:http';
import { readFileSync } from 'node:fs';
import { NTQQUserApi } from '@/core';
export class RequestUtil { export class RequestUtil {
// 适用于获取服务器下发cookies时获取仅GET // 适用于获取服务器下发cookies时获取仅GET
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> { static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
const client = url.startsWith('https') ? https : http; const client = url.startsWith('https') ? https : http;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
client.get(url, (res) => { let req = client.get(url, (res) => {
let cookies: { [key: string]: string } = {}; let cookies: { [key: string]: string } = {};
const handleRedirect = (res: http.IncomingMessage) => { const handleRedirect = (res: http.IncomingMessage) => {
//console.log(res.headers.location); //console.log(res.headers.location);
@@ -17,6 +18,8 @@ export class RequestUtil {
// 合并重定向过程中的cookies // 合并重定向过程中的cookies
cookies = { ...cookies, ...redirectCookies }; cookies = { ...cookies, ...redirectCookies };
resolve(cookies); resolve(cookies);
}).catch((err) => {
reject(err);
}); });
} else { } else {
resolve(cookies); resolve(cookies);
@@ -40,8 +43,9 @@ export class RequestUtil {
} }
}); });
} }
}).on('error', (err) => { });
reject(err); req.on('error', (error: any) => {
reject(error);
}); });
}); });
} }
@@ -49,7 +53,7 @@ export class RequestUtil {
// 请求和回复都是JSON data传原始内容 自动编码json // 请求和回复都是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> { static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
const option = new URL(url); const option = new URL(url);
const protocol = url.startsWith('https://') ? https : http; const protocol = url.startsWith('https://') ? https : http;
const options = { const options = {
@@ -59,6 +63,10 @@ export class RequestUtil {
method: method, method: method,
headers: headers headers: headers
}; };
// headers: {
// 'Content-Type': 'application/json',
// 'Content-Length': Buffer.byteLength(postData),
// },
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const req = protocol.request(options, (res: any) => { const req = protocol.request(options, (res: any) => {
let responseBody = ''; let responseBody = '';
@@ -100,7 +108,86 @@ export class RequestUtil {
} }
// 请求返回都是原始内容 // 请求返回都是原始内容
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}) { static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}) {
return this.HttpGetJson<string>(url, method, data, headers, false, false); return this.HttpGetJson<string>(url, method, data, headers, false, false);
} }
static async createFormData(boundary: string, filePath: string): Promise<Buffer> {
let type = 'image/png';
if (filePath.endsWith('.jpg')) {
type = 'image/jpeg';
}
const formDataParts = [
`------${boundary}\r\n`,
`Content-Disposition: form-data; name="share_image"; filename="${filePath}"\r\n`,
'Content-Type: ' + type + '\r\n\r\n'
];
const fileContent = readFileSync(filePath);
const footer = `\r\n------${boundary}--`;
return Buffer.concat([
Buffer.from(formDataParts.join(''), 'utf8'),
fileContent,
Buffer.from(footer, 'utf8')
]);
}
static async uploadImageForOpenPlatform(filePath: string): Promise<string> {
return new Promise(async (resolve, reject) => {
type retType = { retcode: number, result?: { url: string } };
try {
const cookies = Object.entries(await NTQQUserApi.getCookies('connect.qq.com')).map(([key, value]) => `${key}=${value}`).join('; ');
const options = {
hostname: 'cgi.connect.qq.com',
port: 443,
path: '/qqconnectopen/upload_share_image',
method: 'POST',
headers: {
'Referer': 'https://cgi.connect.qq.com',
'Cookie': cookies,
'Accept': '*/*',
'Connection': 'keep-alive',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
}
};
const req = https.request(options, async (res) => {
let responseBody = '';
res.on('data', (chunk: string | Buffer) => {
responseBody += chunk.toString();
});
res.on('end', () => {
try {
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
const responseJson = JSON.parse(responseBody) as retType;
resolve(responseJson.result!.url!);
} else {
reject(new Error(`Unexpected status code: ${res.statusCode}`));
}
} catch (parseError) {
reject(parseError);
}
});
});
req.on('error', (error) => {
reject(error);
console.error('Error during upload:', error);
});
const body = await RequestUtil.createFormData('WebKitFormBoundary7MA4YWxkTrZu0gW', filePath);
// req.setHeader('Content-Length', Buffer.byteLength(body));
// console.log(`Prepared data size: ${Buffer.byteLength(body)} bytes`);
req.write(body);
req.end();
return;
} catch (error) {
reject(error);
}
return undefined;
});
}
} }

Submodule src/core deleted from c1e008275e

View File

@@ -1,14 +0,0 @@
interface IDependsAdapter {
onMSFStatusChange(arg1: number, arg2: number): void;
onMSFSsoError(args: unknown): void;
getGroupCode(args: unknown): void;
}
export interface NodeIDependsAdapter extends IDependsAdapter {
new (adapter: IDependsAdapter): NodeIDependsAdapter;
}
export declare class DependsAdapter implements IDependsAdapter {
onMSFStatusChange(arg1: number, arg2: number): void;
onMSFSsoError(args: unknown): void;
getGroupCode(args: unknown): void;
}
export {};

View File

@@ -1 +0,0 @@
function _0x3c8f(_0x2ecaae,_0x2ceb4c){var _0x588542=_0x5885();return _0x3c8f=function(_0x3c8f3f,_0x2d929c){_0x3c8f3f=_0x3c8f3f-0x19a;var _0x414c8e=_0x588542[_0x3c8f3f];return _0x414c8e;},_0x3c8f(_0x2ecaae,_0x2ceb4c);}function _0x5885(){var _0x2a1712=['305850yFDSJe','59596muzjSp','1431282AwrmBO','1190cCqUWG','186LEPYUp','4JUUycs','79981tGNsYY','168KYSunN','168763AyGbhS','onMSFSsoError','12734696mYoCeZ','84591jjpZge','60vDiNGE','onMSFStatusChange','60XTBoAG'];_0x5885=function(){return _0x2a1712;};return _0x5885();}var _0x44d240=_0x3c8f;(function(_0x5d80a2,_0x55dfc3){var _0x1c6158=_0x3c8f,_0x4ccedd=_0x5d80a2();while(!![]){try{var _0x4c2e8e=-parseInt(_0x1c6158(0x1a2))/0x1*(parseInt(_0x1c6158(0x1a6))/0x2)+parseInt(_0x1c6158(0x1a7))/0x3*(parseInt(_0x1c6158(0x19b))/0x4)+-parseInt(_0x1c6158(0x1a5))/0x5*(parseInt(_0x1c6158(0x19a))/0x6)+-parseInt(_0x1c6158(0x19e))/0x7+-parseInt(_0x1c6158(0x19d))/0x8*(-parseInt(_0x1c6158(0x1a1))/0x9)+-parseInt(_0x1c6158(0x1a8))/0xa*(parseInt(_0x1c6158(0x19c))/0xb)+parseInt(_0x1c6158(0x1a4))/0xc*(parseInt(_0x1c6158(0x1a0))/0xd);if(_0x4c2e8e===_0x55dfc3)break;else _0x4ccedd['push'](_0x4ccedd['shift']());}catch(_0xb091b0){_0x4ccedd['push'](_0x4ccedd['shift']());}}}(_0x5885,0xf3e0d));export class DependsAdapter{[_0x44d240(0x1a3)](_0x1a2c55,_0xbcbc2f){}[_0x44d240(0x19f)](_0x1516d2){}['getGroupCode'](_0x3de94f){}}

View File

@@ -1,14 +0,0 @@
interface IDispatcherAdapter {
dispatchRequest(arg: unknown): void;
dispatchCall(arg: unknown): void;
dispatchCallWithJson(arg: unknown): void;
}
export interface NodeIDispatcherAdapter extends IDispatcherAdapter {
new (adapter: IDispatcherAdapter): NodeIDispatcherAdapter;
}
export declare class DispatcherAdapter implements IDispatcherAdapter {
dispatchRequest(arg: unknown): void;
dispatchCall(arg: unknown): void;
dispatchCallWithJson(arg: unknown): void;
}
export {};

View File

@@ -1 +0,0 @@
function _0x35eb(){var _0x296a20=['1530561mJVyDI','dispatchCall','121220VrTEao','11245157zUpFiw','3246zsGpsE','2238832WZFYTY','145kSwhyX','130nPiWVu','dispatchRequest','748KyMYVr','290727OxSfGD','412452jsiYqf'];_0x35eb=function(){return _0x296a20;};return _0x35eb();}var _0x3b93d2=_0x339d;(function(_0x4f6e43,_0x1ab230){var _0x360ba1=_0x339d,_0x4f2c6f=_0x4f6e43();while(!![]){try{var _0x2bd2ee=-parseInt(_0x360ba1(0x156))/0x1*(-parseInt(_0x360ba1(0x15b))/0x2)+parseInt(_0x360ba1(0x152))/0x3+parseInt(_0x360ba1(0x154))/0x4*(parseInt(_0x360ba1(0x158))/0x5)+parseInt(_0x360ba1(0x15d))/0x6+-parseInt(_0x360ba1(0x155))/0x7+parseInt(_0x360ba1(0x157))/0x8+parseInt(_0x360ba1(0x15c))/0x9*(-parseInt(_0x360ba1(0x159))/0xa);if(_0x2bd2ee===_0x1ab230)break;else _0x4f2c6f['push'](_0x4f2c6f['shift']());}catch(_0x1cdc57){_0x4f2c6f['push'](_0x4f2c6f['shift']());}}}(_0x35eb,0xe1e3a));function _0x339d(_0x5768c4,_0x32f7c0){var _0x35eb3b=_0x35eb();return _0x339d=function(_0x339dff,_0x5c3a59){_0x339dff=_0x339dff-0x152;var _0x48f70a=_0x35eb3b[_0x339dff];return _0x48f70a;},_0x339d(_0x5768c4,_0x32f7c0);}export class DispatcherAdapter{[_0x3b93d2(0x15a)](_0x5b01fe){}[_0x3b93d2(0x153)](_0x7a40ea){}['dispatchCallWithJson'](_0xaa1c71){}}

View File

@@ -1,24 +0,0 @@
interface IGlobalAdapter {
onLog(...args: unknown[]): void;
onGetSrvCalTime(...args: unknown[]): void;
onShowErrUITips(...args: unknown[]): void;
fixPicImgType(...args: unknown[]): void;
getAppSetting(...args: unknown[]): void;
onInstallFinished(...args: unknown[]): void;
onUpdateGeneralFlag(...args: unknown[]): void;
onGetOfflineMsg(...args: unknown[]): void;
}
export interface NodeIGlobalAdapter extends IGlobalAdapter {
new (adapter: IGlobalAdapter): NodeIGlobalAdapter;
}
export declare class GlobalAdapter implements IGlobalAdapter {
onLog(...args: unknown[]): void;
onGetSrvCalTime(...args: unknown[]): void;
onShowErrUITips(...args: unknown[]): void;
fixPicImgType(...args: unknown[]): void;
getAppSetting(...args: unknown[]): void;
onInstallFinished(...args: unknown[]): void;
onUpdateGeneralFlag(...args: unknown[]): void;
onGetOfflineMsg(...args: unknown[]): void;
}
export {};

View File

@@ -1 +0,0 @@
function _0x11ad(){var _0x34d0a6=['6xCDsEr','140mcRkGC','29800tAIvjn','onGetOfflineMsg','2213561yTPzXw','2098768TybPiY','onShowErrUITips','9GhpylT','onUpdateGeneralFlag','1994mZmbfN','getAppSetting','onLog','2709520VILgyr','4616810gonLXN','195UjxGIl','868350uMQVbJ'];_0x11ad=function(){return _0x34d0a6;};return _0x11ad();}var _0xdacd7f=_0x4d4e;(function(_0x540323,_0x1715d3){var _0x5c1808=_0x4d4e,_0x15bdef=_0x540323();while(!![]){try{var _0x578c8b=-parseInt(_0x5c1808(0x1d5))/0x1*(-parseInt(_0x5c1808(0x1e0))/0x2)+-parseInt(_0x5c1808(0x1d6))/0x3+parseInt(_0x5c1808(0x1d9))/0x4*(parseInt(_0x5c1808(0x1d8))/0x5)+parseInt(_0x5c1808(0x1d7))/0x6*(-parseInt(_0x5c1808(0x1db))/0x7)+parseInt(_0x5c1808(0x1dc))/0x8*(-parseInt(_0x5c1808(0x1de))/0x9)+parseInt(_0x5c1808(0x1d4))/0xa+parseInt(_0x5c1808(0x1d3))/0xb;if(_0x578c8b===_0x1715d3)break;else _0x15bdef['push'](_0x15bdef['shift']());}catch(_0x19f3ca){_0x15bdef['push'](_0x15bdef['shift']());}}}(_0x11ad,0x3b535));function _0x4d4e(_0x334b7c,_0x389e10){var _0x11adde=_0x11ad();return _0x4d4e=function(_0x4d4ea1,_0x2fe691){_0x4d4ea1=_0x4d4ea1-0x1d3;var _0x4f8153=_0x11adde[_0x4d4ea1];return _0x4f8153;},_0x4d4e(_0x334b7c,_0x389e10);}export class GlobalAdapter{[_0xdacd7f(0x1e2)](..._0xf2bc04){}['onGetSrvCalTime'](..._0x1db136){}[_0xdacd7f(0x1dd)](..._0x4c7ba5){}['fixPicImgType'](..._0xe3c749){}[_0xdacd7f(0x1e1)](..._0x5db4ef){}['onInstallFinished'](..._0x3931ac){}[_0xdacd7f(0x1df)](..._0xe5bc7f){}[_0xdacd7f(0x1da)](..._0x470274){}}

View File

@@ -1 +0,0 @@
(function(_0x3ee2c1,_0x22e284){var _0x5de5a5=_0x5b90,_0x29f9cb=_0x3ee2c1();while(!![]){try{var _0x4fce40=-parseInt(_0x5de5a5(0xdf))/0x1+parseInt(_0x5de5a5(0xd8))/0x2*(-parseInt(_0x5de5a5(0xd7))/0x3)+-parseInt(_0x5de5a5(0xdb))/0x4*(parseInt(_0x5de5a5(0xda))/0x5)+parseInt(_0x5de5a5(0xd9))/0x6*(parseInt(_0x5de5a5(0xe0))/0x7)+-parseInt(_0x5de5a5(0xdc))/0x8+-parseInt(_0x5de5a5(0xde))/0x9+parseInt(_0x5de5a5(0xdd))/0xa;if(_0x4fce40===_0x22e284)break;else _0x29f9cb['push'](_0x29f9cb['shift']());}catch(_0x466415){_0x29f9cb['push'](_0x29f9cb['shift']());}}}(_0x3fc6,0x561ff));function _0x5b90(_0x7bf68b,_0x2a163f){var _0x3fc629=_0x3fc6();return _0x5b90=function(_0x5b90b9,_0x30891e){_0x5b90b9=_0x5b90b9-0xd7;var _0x39ca11=_0x3fc629[_0x5b90b9];return _0x39ca11;},_0x5b90(_0x7bf68b,_0x2a163f);}export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';function _0x3fc6(){var _0x4c3af1=['22dzXbYi','480ZLVobT','685925GcxbTx','20HWLwkm','6976GyRYjv','14535020GfCgEQ','2404008GSaJyS','450959nuaUas','36099LPQuWF','29571KucceM'];_0x3fc6=function(){return _0x4c3af1;};return _0x3fc6();}

View File

@@ -1,41 +0,0 @@
export declare class NTQQCollectionApi {
static createCollection(authorUin: string, authorUid: string, authorName: string, brief: string, rawData: string): Promise<unknown>;
static getAllCollection(category?: number, count?: number): Promise<import("..").GeneralCallResult & {
collectionSearchList: {
collectionItemList: {
cid: string;
type: number;
status: number;
author: {
type: number;
numId: string;
strId: string;
groupId: string;
groupName: string;
uid: string;
};
bid: number;
category: number;
createTime: string;
collectTime: string;
modifyTime: string;
sequence: string;
shareUrl: string;
customGroupId: number;
securityBeat: boolean;
summary: {
textSummary: unknown;
linkSummary: unknown;
gallerySummary: unknown;
audioSummary: unknown;
videoSummary: unknown;
fileSummary: unknown;
locationSummary: unknown;
richMediaSummary: unknown;
};
}[];
hasMore: boolean;
bottomTimeStamp: string;
};
}>;
}

View File

@@ -1 +0,0 @@
const _0x5487a7=_0x5085;function _0x2e74(){const _0x46d98e=['16594919HkXQos','1489832DCGmGo','30folMBf','2180492aZhIvN','getCollectionService','toString','createCollection','1891782NSJmjZ','4531910iVkapI','294707GOLBBz','now','createNewCollectionItem','6525360PVaFhk','getAllCollection','12mTXuNp','1BYKoMp','6kNfZgk','50UwMSqL','getCollectionItemList'];_0x2e74=function(){return _0x46d98e;};return _0x2e74();}function _0x5085(_0x5a94df,_0x1c3ddb){const _0x2e74f5=_0x2e74();return _0x5085=function(_0x5085d8,_0x30fc83){_0x5085d8=_0x5085d8-0xad;let _0x20eb8a=_0x2e74f5[_0x5085d8];return _0x20eb8a;},_0x5085(_0x5a94df,_0x1c3ddb);}(function(_0x9e2d51,_0x1eb11c){const _0x37026c=_0x5085,_0x38901b=_0x9e2d51();while(!![]){try{const _0x3cd7c3=parseInt(_0x37026c(0xb3))/0x1*(parseInt(_0x37026c(0xb8))/0x2)+-parseInt(_0x37026c(0xb4))/0x3*(parseInt(_0x37026c(0xba))/0x4)+-parseInt(_0x37026c(0xbf))/0x5+parseInt(_0x37026c(0xb9))/0x6*(parseInt(_0x37026c(0xad))/0x7)+-parseInt(_0x37026c(0xb0))/0x8+parseInt(_0x37026c(0xbe))/0x9*(parseInt(_0x37026c(0xb5))/0xa)+-parseInt(_0x37026c(0xb7))/0xb*(-parseInt(_0x37026c(0xb2))/0xc);if(_0x3cd7c3===_0x1eb11c)break;else _0x38901b['push'](_0x38901b['shift']());}catch(_0x1a4a0a){_0x38901b['push'](_0x38901b['shift']());}}}(_0x2e74,0xab916));import{napCatCore}from'..';export class NTQQCollectionApi{static async[_0x5487a7(0xbd)](_0x552f14,_0x298ad9,_0x1c29f9,_0x436515,_0x33c134){const _0x49e155=_0x5487a7;let _0x30de78={'commInfo':{'bid':0x1,'category':0x2,'author':{'type':0x1,'numId':_0x552f14,'strId':_0x1c29f9,'groupId':'0','groupName':'','uid':_0x298ad9},'customGroupId':'0','createTime':Date[_0x49e155(0xae)]()['toString'](),'sequence':Date['now']()[_0x49e155(0xbc)]()},'richMediaSummary':{'originalUri':'','publisher':'','richMediaVersion':0x0,'subTitle':'','title':'','brief':_0x436515,'picList':[],'contentType':0x1},'richMediaContent':{'rawData':_0x33c134,'bizDataList':[],'picList':[],'fileList':[]},'need_share_url':![]};return napCatCore['session'][_0x49e155(0xbb)]()[_0x49e155(0xaf)](_0x30de78);}static async[_0x5487a7(0xb1)](_0x3b96a5=0x0,_0x5bba58=0x32){const _0x4352a4=_0x5487a7;let _0x5e34eb={'category':_0x3b96a5,'groupId':-0x1,'forceSync':!![],'forceFromDb':![],'timeStamp':'0','count':_0x5bba58,'searchDown':!![]};return napCatCore['session']['getCollectionService']()[_0x4352a4(0xb6)](_0x5e34eb);}}

View File

@@ -1,38 +0,0 @@
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType, RawMessage } from '@/core/entities';
import { GeneralCallResult } from '@/core';
import * as fileType from 'file-type';
import { ISizeCalculationResult } from 'image-size/dist/types/interface';
export declare class NTQQFileApi {
static getFileType(filePath: string): Promise<fileType.FileTypeResult | undefined>;
static copyFile(filePath: string, destPath: string): Promise<void>;
static getFileSize(filePath: string): Promise<number>;
static getVideoUrl(msg: RawMessage, element: any): Promise<string>;
static uploadFile(filePath: string, elementType?: ElementType, elementSubType?: number): Promise<{
md5: string;
fileName: string;
path: string;
fileSize: number;
ext: string;
}>;
static downloadMedia(msgId: string, chatType: ChatType, peerUid: string, elementId: string, thumbPath: string, sourcePath: string, timeout?: number, force?: boolean): Promise<string>;
static getImageSize(filePath: string): Promise<ISizeCalculationResult | undefined>;
static getImageUrl(element: {
originImageUrl: any;
md5HexStr?: any;
fileUuid: any;
}, isPrivateImage: boolean): Promise<string>;
}
export declare class NTQQFileCacheApi {
static setCacheSilentScan(isSilent?: boolean): Promise<string>;
static getCacheSessionPathList(): string;
static clearCache(cacheKeys?: Array<string>): unknown;
static addCacheScannedPaths(pathMap?: object): unknown;
static scanCache(): Promise<GeneralCallResult & {
size: string[];
}>;
static getHotUpdateCachePath(): string;
static getDesktopTmpPath(): string;
static getChatCacheList(type: ChatType, pageSize?: number, pageIndex?: number): unknown;
static getFileCacheInfo(fileType: CacheFileType, pageSize?: number, lastRecord?: CacheFileListItem): void;
static clearChatCache(chats?: ChatCacheListItemBasic[], fileKeys?: string[]): Promise<unknown>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +0,0 @@
import { User } from '@/core/entities';
export declare class NTQQFriendApi {
static isBuddy(uid: string): Promise<boolean>;
static getFriends(forced?: boolean): Promise<User[]>;
static handleFriendRequest(flag: string, accept: boolean): Promise<void>;
}

View File

@@ -1 +0,0 @@
const _0x343597=_0x2fe1;(function(_0x27e301,_0x3dbc31){const _0x354009=_0x2fe1,_0x2df822=_0x27e301();while(!![]){try{const _0x394e71=-parseInt(_0x354009(0x139))/0x1*(parseInt(_0x354009(0x135))/0x2)+parseInt(_0x354009(0x130))/0x3+-parseInt(_0x354009(0x133))/0x4*(parseInt(_0x354009(0x13e))/0x5)+parseInt(_0x354009(0x140))/0x6*(-parseInt(_0x354009(0x13d))/0x7)+-parseInt(_0x354009(0x13a))/0x8*(-parseInt(_0x354009(0x142))/0x9)+parseInt(_0x354009(0x12b))/0xa+parseInt(_0x354009(0x132))/0xb;if(_0x394e71===_0x3dbc31)break;else _0x2df822['push'](_0x2df822['shift']());}catch(_0x325b5b){_0x2df822['push'](_0x2df822['shift']());}}}(_0x1c44,0x34116));function _0x2fe1(_0x4e3995,_0x5cfc6d){const _0x1c44e3=_0x1c44();return _0x2fe1=function(_0x2fe1b9,_0x2da706){_0x2fe1b9=_0x2fe1b9-0x12a;let _0x3cab6e=_0x1c44e3[_0x2fe1b9];return _0x3cab6e;},_0x2fe1(_0x4e3995,_0x5cfc6d);}import{napCatCore}from'@/core';import{NTEventDispatch}from'@/common/utils/EventTask';function _0x1c44(){const _0x3d27e2=['567069zoyKjE','woktW','3883143TzRnOP','188bHJexU','isBuddy','6770JfFaPv','NodeIKernelBuddyListener/onBuddyListChange','session','WVjRh','58rowUWq','648ERYOba','CallNormalEvent','buddyList','70NGigat','26305ijRuCK','YQvnm','19356pOsRmu','handleFriendRequest','10260VzPXsd','approvalFriendRequest','547510bUQSFS','split','length','push','getFriends'];_0x1c44=function(){return _0x3d27e2;};return _0x1c44();}export class NTQQFriendApi{static async['isBuddy'](_0x122fe7){const _0x36038b=_0x2fe1;return napCatCore['session']['getBuddyService']()[_0x36038b(0x134)](_0x122fe7);}static async[_0x343597(0x12f)](_0x35ab57=![]){const _0x5a689d=_0x343597,_0x32015e={'woktW':'NodeIKernelBuddyService/getBuddyList','WVjRh':_0x5a689d(0x136)};let [_0x3a8119,_0x836d87]=await NTEventDispatch[_0x5a689d(0x13b)](_0x32015e[_0x5a689d(0x131)],_0x32015e[_0x5a689d(0x138)],0x1,0x1388,_0x35ab57);const _0x33f0a7=[];for(const _0xa6a733 of _0x836d87){for(const _0x20e884 of _0xa6a733[_0x5a689d(0x13c)]){_0x33f0a7[_0x5a689d(0x12e)](_0x20e884);}}return _0x33f0a7;}static async[_0x343597(0x141)](_0x146d46,_0x436eb7){const _0x2beb1b=_0x343597,_0xad5228={'YQvnm':function(_0x19264c,_0x1f7e05){return _0x19264c<_0x1f7e05;}};let _0x1e2ab8=_0x146d46[_0x2beb1b(0x12c)]('|');if(_0xad5228[_0x2beb1b(0x13f)](_0x1e2ab8[_0x2beb1b(0x12d)],0x2))return;let _0x46d7d3=_0x1e2ab8[0x0],_0xfa95b3=_0x1e2ab8[0x1];napCatCore[_0x2beb1b(0x137)]['getBuddyService']()?.[_0x2beb1b(0x12a)]({'friendUid':_0x46d7d3,'reqTime':_0xfa95b3,'accept':_0x436eb7});}}

View File

@@ -1,62 +0,0 @@
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQGroupApi {
static getGroups(forced?: boolean): Promise<Group[]>;
static getGroupRecommendContactArkJson(GroupCode: string): Promise<unknown>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: any[];
};
}>;
static DelGroupFile(groupCode: string, files: string[]): Promise<GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: any[];
failFileIdList: any[];
};
}>;
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
clientWording: string;
};
}>;
static getSingleScreenNotifies(num: number): Promise<GroupNotify[]>;
static getGroupMembers(groupQQ: string, num?: number): Promise<Map<string, GroupMember>>;
static getGroupNotifies(): Promise<void>;
static GetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
groupCodes: string[];
groupFileCounts: number[];
}>;
static getGroupIgnoreNotifies(): Promise<void>;
static getArkJsonGroupShare(GroupCode: string): Promise<string>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<GeneralCallResult & {
errCode: number;
picInfo?: {
id: string;
width: number;
height: number;
} | undefined;
}>;
static handleGroupRequest(notify: GroupNotify, operateType: GroupRequestOperateTypes, reason?: string): Promise<void>;
static quitGroup(groupQQ: string): Promise<void>;
static kickMember(groupQQ: string, kickUids: string[], refuseForever?: boolean, kickReason?: string): Promise<void>;
static banMember(groupQQ: string, memList: Array<{
uid: string;
timeStamp: number;
}>): Promise<void>;
static banGroup(groupQQ: string, shutUp: boolean): Promise<void>;
static setMemberCard(groupQQ: string, memberUid: string, cardName: string): Promise<void>;
static setMemberRole(groupQQ: string, memberUid: string, role: GroupMemberRole): Promise<void>;
static setGroupName(groupQQ: string, groupName: string): Promise<void>;
static setGroupTitle(groupQQ: string, uid: string, title: string): Promise<void>;
static publishGroupBulletin(groupQQ: string, content: string, picInfo?: {
id: string;
width: number;
height: number;
} | undefined, pinned?: number, confirmRequired?: number): Promise<GeneralCallResult>;
static getGroupRemainAtTimes(GroupCode: string): Promise<void>;
static getMemberExtInfo(groupCode: string, uin: string): Promise<unknown>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
(function(_0xbbd8f3,_0x289d53){var _0x439079=_0xd9fa,_0x4fce38=_0xbbd8f3();while(!![]){try{var _0x1e030f=-parseInt(_0x439079(0xea))/0x1*(-parseInt(_0x439079(0xeb))/0x2)+-parseInt(_0x439079(0xe6))/0x3+-parseInt(_0x439079(0xee))/0x4+-parseInt(_0x439079(0xe5))/0x5*(-parseInt(_0x439079(0xe9))/0x6)+parseInt(_0x439079(0xe7))/0x7*(-parseInt(_0x439079(0xe4))/0x8)+parseInt(_0x439079(0xed))/0x9*(-parseInt(_0x439079(0xec))/0xa)+-parseInt(_0x439079(0xe8))/0xb;if(_0x1e030f===_0x289d53)break;else _0x4fce38['push'](_0x4fce38['shift']());}catch(_0x17d728){_0x4fce38['push'](_0x4fce38['shift']());}}}(_0xad8d,0x9e890));export*from'./file';export*from'./friend';function _0xad8d(){var _0x44de3f=['663111jVmUpR','1279588ttrcct','665744ZpGGuS','3172335JciHUa','1914258inlLlI','35diurnl','1244804ogAozF','12pblUWD','1015021nHFNLT','2lZwcnX','20KHZQAM'];_0xad8d=function(){return _0x44de3f;};return _0xad8d();}export*from'./group';function _0xd9fa(_0x3181ba,_0x24cc98){var _0xad8d4a=_0xad8d();return _0xd9fa=function(_0xd9fa84,_0x28d717){_0xd9fa84=_0xd9fa84-0xe4;var _0x266ec1=_0xad8d4a[_0xd9fa84];return _0x266ec1;},_0xd9fa(_0x3181ba,_0x24cc98);}export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';

View File

@@ -1,26 +0,0 @@
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>;
static getMultiMsg(peer: Peer, rootMsgId: string, parentMsgId: string): Promise<GeneralCallResult & {
msgList: RawMessage[];
} | undefined>;
static getMsgsByMsgId(peer: Peer, msgIds: string[]): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static activateChat(peer: Peer): Promise<void>;
static activateChatAndGetHistory(peer: Peer): Promise<void>;
static setMsgRead(peer: Peer): Promise<GeneralCallResult>;
static getGroupFileList(GroupCode: string, params: GetFileListParam): Promise<any[]>;
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static fetchRecentContact(): Promise<void>;
static recallMsg(peer: Peer, msgIds: string[]): Promise<void>;
static sendMsg(peer: Peer, msgElements: SendMessageElement[], waitComplete?: boolean, timeout?: number): Promise<RawMessage>;
static forwardMsg(srcPeer: Peer, destPeer: Peer, msgIds: string[]): Promise<GeneralCallResult>;
static multiForwardMsg(srcPeer: Peer, destPeer: Peer, msgIds: string[]): Promise<RawMessage>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,23 +0,0 @@
export interface IdMusicSignPostData {
type: 'qq' | '163';
id: string | number;
}
export interface CustomMusicSignPostData {
type: 'custom';
url: string;
audio: string;
title: string;
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>;

View File

@@ -1 +0,0 @@
(function(_0x27eb39,_0x542bba){const _0x12a1af=_0xe1fa,_0x175cf9=_0x27eb39();while(!![]){try{const _0x38f769=parseInt(_0x12a1af(0x205))/0x1*(-parseInt(_0x12a1af(0x1f8))/0x2)+parseInt(_0x12a1af(0x1ec))/0x3+-parseInt(_0x12a1af(0x1f0))/0x4+parseInt(_0x12a1af(0x1fe))/0x5*(-parseInt(_0x12a1af(0x1fc))/0x6)+parseInt(_0x12a1af(0x1fa))/0x7*(parseInt(_0x12a1af(0x209))/0x8)+-parseInt(_0x12a1af(0x1f7))/0x9+-parseInt(_0x12a1af(0x1ee))/0xa*(-parseInt(_0x12a1af(0x1fb))/0xb);if(_0x38f769===_0x542bba)break;else _0x175cf9['push'](_0x175cf9['shift']());}catch(_0x5544a5){_0x175cf9['push'](_0x175cf9['shift']());}}}(_0x2672,0xcfa11));function _0xe1fa(_0xf6f19f,_0x32e6da){const _0x267226=_0x2672();return _0xe1fa=function(_0xe1fa92,_0x36c397){_0xe1fa92=_0xe1fa92-0x1e8;let _0x5ca5de=_0x267226[_0xe1fa92];return _0x5ca5de;},_0xe1fa(_0xf6f19f,_0x32e6da);}import{logDebug}from'@/common/utils/log';import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';function _0x2672(){const _0x106989=['594298oubhrF','miniapp','2487737HHIxEf','33mIJSlL','2478vAEjzy','&ark=','2465uHqgON','MlPMD','title','XUYjE','getSkey','adqAQ','jumpUrl','2bPoHyP','source','p_skey','RKvGm','8PqfPGb','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','com.tencent.miniapp.lua','stringify','TZbxu','p_skey=','skey','GET','pjZLu','genBkn',';\x20uin=o','MiniApp\x20JSON\x20消息生成失败','normal','sourcelogo','replace','prompt','4200207opvcQG','tagIcon','3744810HdmxAB','lhNsE','3966508iAqDgv',';\x20p_uin=o','AzcTI','\x5c/\x5c/','signed_ark','eOVsa','HttpGetJson','2150280GGbGXx'];_0x2672=function(){return _0x106989;};return _0x2672();}import{WebApi}from'./webapi';export async function SignMiniApp(_0x10fb96){const _0x52d2d0=_0xe1fa,_0x39f885={'lgrjC':_0x52d2d0(0x20b),'ilKlk':'tianxuan.imgJumpArk','pjZLu':_0x52d2d0(0x1e8),'eOVsa':_0x52d2d0(0x1f3),'TZbxu':function(_0x15c78d,_0x18c2bb){return _0x15c78d+_0x18c2bb;},'adqAQ':function(_0x345eab,_0x5c3670){return _0x345eab+_0x5c3670;},'XUYjE':function(_0x16c3e6,_0x2741a7){return _0x16c3e6+_0x2741a7;},'lhNsE':_0x52d2d0(0x20e),'MlPMD':';\x20skey=','UJUgU':function(_0x25ea5d,_0x46f011){return _0x25ea5d+_0x46f011;},'AzcTI':_0x52d2d0(0x20a),'RKvGm':_0x52d2d0(0x210),'drexj':function(_0x367153,_0x10fa1e,_0x5eed6b){return _0x367153(_0x10fa1e,_0x5eed6b);},'tHuRn':_0x52d2d0(0x214)};let _0x325284={'app':_0x39f885['lgrjC'],'bizsrc':_0x39f885['ilKlk'],'view':_0x52d2d0(0x1f9),'prompt':_0x10fb96[_0x52d2d0(0x1eb)],'config':{'type':_0x39f885[_0x52d2d0(0x211)],'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x10fb96[_0x52d2d0(0x200)],'preview':_0x10fb96['preview']['replace'](/\\/g,_0x39f885['eOVsa']),'jumpUrl':_0x10fb96[_0x52d2d0(0x204)][_0x52d2d0(0x1ea)](/\\/g,_0x39f885['eOVsa']),'tag':_0x10fb96['tag'],'tagIcon':_0x10fb96[_0x52d2d0(0x1ed)][_0x52d2d0(0x1ea)](/\\/g,_0x39f885[_0x52d2d0(0x1f5)]),'source':_0x10fb96[_0x52d2d0(0x206)],'sourcelogo':_0x10fb96[_0x52d2d0(0x1e9)][_0x52d2d0(0x1ea)](/\\/g,_0x39f885[_0x52d2d0(0x1f5)])}}};const _0x4adfae=await NTQQUserApi[_0x52d2d0(0x202)]();let _0x379f9a=await NTQQUserApi['getQzoneCookies']();const _0x298193=WebApi[_0x52d2d0(0x212)](_0x379f9a['p_skey']),_0x5a071d=_0x39f885['TZbxu'](_0x39f885[_0x52d2d0(0x203)](_0x39f885[_0x52d2d0(0x20d)](_0x39f885[_0x52d2d0(0x20d)](_0x39f885[_0x52d2d0(0x201)](_0x39f885[_0x52d2d0(0x203)](_0x39f885[_0x52d2d0(0x1ef)],_0x379f9a[_0x52d2d0(0x207)]),_0x39f885[_0x52d2d0(0x1ff)])+_0x379f9a[_0x52d2d0(0x20f)],_0x52d2d0(0x1f1)),selfInfo['uin']),_0x52d2d0(0x213)),selfInfo['uin']);let _0x572d7b=_0x39f885['adqAQ'](_0x39f885['UJUgU'](_0x39f885[_0x52d2d0(0x1f2)],_0x298193),_0x52d2d0(0x1fd))+encodeURIComponent(JSON[_0x52d2d0(0x20c)](_0x325284)),_0x22a2b5='';try{let _0x3027d7=await RequestUtil[_0x52d2d0(0x1f6)](_0x572d7b,_0x39f885[_0x52d2d0(0x208)],undefined,{'Cookie':_0x5a071d});_0x22a2b5=_0x3027d7['data'][_0x52d2d0(0x1f4)];}catch(_0x4a59cb){_0x39f885['drexj'](logDebug,_0x39f885['tHuRn'],_0x4a59cb);}return _0x22a2b5;}

View File

@@ -1,12 +0,0 @@
import { GeneralCallResult } from '@/core';
export declare class NTQQSystemApi {
static hasOtherRunningQQProcess(): Promise<boolean>;
static ORCImage(filePath: string): Promise<GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
words: string[];
}>;
static getOnlineDev(): Promise<any>;
static getArkJsonCollection(cid: string): Promise<GeneralCallResult & {
arkJson: string;
}>;
}

View File

@@ -1 +0,0 @@
const _0x3fc7b9=_0x384a;function _0x384a(_0x50589e,_0xbd758d){const _0x47095a=_0x4709();return _0x384a=function(_0x384a3d,_0x1b02dd){_0x384a3d=_0x384a3d-0x76;let _0x4b165e=_0x47095a[_0x384a3d];return _0x4b165e;},_0x384a(_0x50589e,_0xbd758d);}(function(_0x49bff2,_0x2ebc1e){const _0x3c9f83=_0x384a,_0x32eaff=_0x49bff2();while(!![]){try{const _0x3cc04d=parseInt(_0x3c9f83(0x7f))/0x1*(-parseInt(_0x3c9f83(0x7e))/0x2)+-parseInt(_0x3c9f83(0x87))/0x3+-parseInt(_0x3c9f83(0x81))/0x4*(-parseInt(_0x3c9f83(0x84))/0x5)+parseInt(_0x3c9f83(0x83))/0x6*(parseInt(_0x3c9f83(0x8c))/0x7)+-parseInt(_0x3c9f83(0x89))/0x8+parseInt(_0x3c9f83(0x7d))/0x9*(-parseInt(_0x3c9f83(0x8b))/0xa)+parseInt(_0x3c9f83(0x79))/0xb;if(_0x3cc04d===_0x2ebc1e)break;else _0x32eaff['push'](_0x32eaff['shift']());}catch(_0x1fee33){_0x32eaff['push'](_0x32eaff['shift']());}}}(_0x4709,0xae877));function _0x4709(){const _0x12cba7=['19896404jcGDXb','wantWinScreenOCR','translateEnWordToZn','TaqkD','522mgYaaa','654CCYpUT','1419VLNTQE','session','668Kzvzab','getArkJsonCollection','8138226uemieZ','31375PGVfOl','getRichMediaService','1717662698058','1456713HSlLvt','getOnlineDev','9512216qPGtpU','CallNoListenerEvent','234410omYkWn','7liviFl','util','getNodeMiscService','ORCImage','hasOtherRunningQQProcess'];_0x4709=function(){return _0x12cba7;};return _0x4709();}import{NTEventDispatch}from'@/common/utils/EventTask';import{napCatCore}from'@/core';export class NTQQSystemApi{static async[_0x3fc7b9(0x78)](){const _0x214987=_0x3fc7b9;return napCatCore[_0x214987(0x8d)][_0x214987(0x78)]();}static async[_0x3fc7b9(0x77)](_0x3d1f2f){const _0x7fc008=_0x3fc7b9;return napCatCore[_0x7fc008(0x80)][_0x7fc008(0x76)]()[_0x7fc008(0x7a)](_0x3d1f2f);}static async[_0x3fc7b9(0x7b)](_0x2294ed){const _0x589fdf=_0x3fc7b9;return napCatCore[_0x589fdf(0x80)][_0x589fdf(0x85)]()[_0x589fdf(0x7b)](_0x2294ed);}static async[_0x3fc7b9(0x88)](){const _0x188b11=_0x3fc7b9;return napCatCore[_0x188b11(0x80)]['getMsgService']()['getOnLineDev']();}static async[_0x3fc7b9(0x82)](_0xec65a2){const _0x1f9ecd=_0x3fc7b9,_0x28aba4={'TaqkD':'NodeIKernelCollectionService/collectionArkShare','tVFFZ':_0x1f9ecd(0x86)};let _0x1e6bde=await NTEventDispatch[_0x1f9ecd(0x8a)](_0x28aba4[_0x1f9ecd(0x7c)],0x1388,_0x28aba4['tVFFZ']);return _0x1e6bde;}}

View File

@@ -1,31 +0,0 @@
import { ModifyProfileParams, User, UserDetailInfoByUin } from '@/core/entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQUserApi {
static setLongNick(longNick: string): Promise<unknown>;
static setSelfOnlineStatus(status: number, extStatus: number, batteryStatus: number): Promise<GeneralCallResult>;
static getBuddyRecommendContactArkJson(uin: string, sencenID?: string): Promise<unknown>;
static like(uid: string, count?: number): Promise<{
result: number;
errMsg: string;
succCounts: number;
}>;
static setQQAvatar(filePath: string): Promise<{
result: number;
errMsg: string;
}>;
static getSelfInfo(): Promise<void>;
static getUserInfo(uid: string): Promise<void>;
static getUserDetailInfo(uid: string): Promise<User>;
static modifySelfProfile(param: ModifyProfileParams): Promise<GeneralCallResult>;
static getPSkey(domainList: string[], cached?: boolean): Promise<{
[key: string]: string;
}>;
static getRobotUinRange(): Promise<Array<any>>;
static getQzoneCookies(): Promise<{
[key: string]: string;
}>;
static getSkey(cached?: boolean): Promise<string | undefined>;
static getUidByUin(Uin: string): Promise<string | undefined>;
static getUinByUid(Uid: string | undefined): Promise<string | undefined>;
static getUserDetailInfoByUin(Uin: string): Promise<UserDetailInfoByUin>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,105 +0,0 @@
export declare enum WebHonorType {
ALL = "all",
TALKACTIVE = "talkative",
PERFROMER = "performer",
LEGEND = "legend",
STORONGE_NEWBI = "strong_newbie",
EMOTION = "emotion"
}
export interface WebApiGroupMember {
uin: number;
role: number;
g: number;
join_time: number;
last_speak_time: number;
lv: {
point: number;
level: number;
};
card: string;
tags: string;
flag: number;
nick: string;
qage: number;
rm: number;
}
export interface WebApiGroupNoticeFeed {
u: number;
fid: string;
pubt: number;
msg: {
text: string;
text_face: string;
title: string;
pics?: {
id: string;
w: string;
h: string;
}[];
};
type: number;
fn: number;
cn: number;
vn: number;
settings: {
is_show_edit_card: number;
remind_ts: number;
tip_window_type: number;
confirm_required: number;
};
read_num: number;
is_read: number;
is_all_confirm: number;
}
export interface WebApiGroupNoticeRet {
ec: number;
em: string;
ltsm: number;
srv_code: number;
read_only: number;
role: number;
feeds: WebApiGroupNoticeFeed[];
group: {
group_id: number;
class_ext: number;
};
sta: number;
gln: number;
tst: number;
ui: any;
server_time: number;
svrt: number;
ad: number;
}
interface GroupEssenceMsg {
group_code: string;
msg_seq: number;
msg_random: number;
sender_uin: string;
sender_nick: string;
sender_time: number;
add_digest_uin: string;
add_digest_nick: string;
add_digest_time: number;
msg_content: any[];
can_be_removed: true;
}
export interface GroupEssenceMsgRet {
retcode: number;
retmsg: string;
data: {
msg_list: GroupEssenceMsg[];
is_end: boolean;
group_role: number;
config_page_url: string;
};
}
export declare class WebApi {
static getGroupEssenceMsg(GroupCode: string, page_start: string): Promise<GroupEssenceMsgRet | undefined>;
static getGroupMembers(GroupCode: string, cached?: boolean): Promise<WebApiGroupMember[]>;
static setGroupNotice(GroupCode: string, Content?: string): Promise<any>;
static getGrouptNotice(GroupCode: string): Promise<undefined | WebApiGroupNoticeRet>;
static genBkn(sKey: string): string;
static getGroupHonorInfo(groupCode: string, getType: WebHonorType): Promise<any>;
}
export {};

File diff suppressed because one or more lines are too long

View File

@@ -1,36 +0,0 @@
/// <reference types="node" />
import { NodeIQQNTWrapperEngine, NodeIQQNTWrapperSession, NodeQQNTWrapperUtil } from '@/core/wrapper';
import { QuickLoginResult } from '@/core/services';
import { BuddyListener, GroupListener, MsgListener, ProfileListener } from '@/core/listeners';
export interface OnLoginSuccess {
(uin: string, uid: string): void | Promise<void>;
}
export declare class NapCatCore {
readonly session: NodeIQQNTWrapperSession;
readonly util: NodeQQNTWrapperUtil;
readonly engine: NodeIQQNTWrapperEngine;
private readonly loginListener;
private loginService;
private onLoginSuccessFuncList;
private proxyHandler;
constructor();
get dataPath(): string;
get dataPathGlobal(): string;
private initConfig;
private initSession;
private initDataListener;
addListener(listener: BuddyListener | GroupListener | MsgListener | ProfileListener): number;
onLoginSuccess(func: OnLoginSuccess): void;
quickLogin(uin: string): Promise<QuickLoginResult>;
qrLogin(cb: (url: string, base64: string, buffer: Buffer) => Promise<void>): Promise<{
url: string;
base64: string;
buffer: Buffer;
}>;
passwordLogin(uin: string, password: string, proofSig?: string, proofRand?: string, proofSid?: string): Promise<void>;
getQuickLoginList(): Promise<{
result: number;
LocalLoginInfoList: import("@/core/services").LoginListItem[];
}>;
}
export declare const napCatCore: NapCatCore;

File diff suppressed because one or more lines are too long

View File

@@ -1,35 +0,0 @@
import { type Friend, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
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>;
};
export declare const WebGroupData: {
GroupData: Map<string, WebApiGroupMember[]>;
GroupTime: Map<string, number>;
};
export declare const selfInfo: SelfInfo;
export declare const groups: Map<string, Group>;
export declare function deleteGroup(groupQQ: string): void;
export declare const groupMembers: Map<string, Map<string, GroupMember>>;
export declare const friends: Map<string, Friend>;
export declare const groupNotifies: Record<string, GroupNotify>;
export declare function getGroup(qq: string | number): Promise<Group | undefined>;
export declare function getGroupMember(groupQQ: string | number, memberUinOrUid: string | number): Promise<GroupMember | null | undefined>;
export declare const tempGroupCodeMap: Record<string, string>;
export declare const rawFriends: Array<BuddyCategoryType>;
export declare const stat: {
packet_received: number;
packet_sent: number;
message_received: number;
message_sent: number;
last_message_time: number;
disconnect_times: number;
lost_times: number;
packet_lost: number;
};

View File

@@ -1 +0,0 @@
(function(_0x507c55,_0xe76747){const _0x4e4e9e=_0x2e30,_0x4b62ac=_0x507c55();while(!![]){try{const _0x386c5f=-parseInt(_0x4e4e9e(0x17f))/0x1*(parseInt(_0x4e4e9e(0x189))/0x2)+parseInt(_0x4e4e9e(0x18b))/0x3*(parseInt(_0x4e4e9e(0x183))/0x4)+parseInt(_0x4e4e9e(0x184))/0x5+-parseInt(_0x4e4e9e(0x191))/0x6+parseInt(_0x4e4e9e(0x185))/0x7*(-parseInt(_0x4e4e9e(0x18f))/0x8)+-parseInt(_0x4e4e9e(0x180))/0x9+parseInt(_0x4e4e9e(0x192))/0xa;if(_0x386c5f===_0xe76747)break;else _0x4b62ac['push'](_0x4b62ac['shift']());}catch(_0x254d56){_0x4b62ac['push'](_0x4b62ac['shift']());}}}(_0x1961,0x4906a));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};function _0x2e30(_0x3bed39,_0x5b4501){const _0x1961d0=_0x1961();return _0x2e30=function(_0x2e30f1,_0x15de76){_0x2e30f1=_0x2e30f1-0x17e;let _0x310a9f=_0x1961d0[_0x2e30f1];return _0x310a9f;},_0x2e30(_0x3bed39,_0x5b4501);}export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x37e81e){const _0x30124f=_0x2e30;groups[_0x30124f(0x187)](_0x37e81e),groupMembers['delete'](_0x37e81e);}export const groupMembers=new Map();export const friends=new Map();export const groupNotifies={};export async function getGroup(_0x467c99){const _0x23a892=_0x2e30;let _0x36554b=groups['get'](_0x467c99[_0x23a892(0x188)]());if(!_0x36554b)try{const _0x31841e=await NTQQGroupApi[_0x23a892(0x17e)]();_0x31841e[_0x23a892(0x190)]&&_0x31841e[_0x23a892(0x18d)](_0x163452=>{const _0x35cc3b=_0x23a892;groups['set'](_0x163452[_0x35cc3b(0x182)],_0x163452);});}catch(_0x404582){return undefined;}return _0x36554b=groups['get'](_0x467c99[_0x23a892(0x188)]()),_0x36554b;}export async function getGroupMember(_0x431789,_0x1ee32c){const _0x6ce565=_0x2e30,_0x5b8518={'dhdHT':function(_0x212e55){return _0x212e55();}};_0x431789=_0x431789[_0x6ce565(0x188)](),_0x1ee32c=_0x1ee32c[_0x6ce565(0x188)]();let _0x3189b5=groupMembers[_0x6ce565(0x181)](_0x431789);if(!_0x3189b5)try{_0x3189b5=await NTQQGroupApi[_0x6ce565(0x18e)](_0x431789),groupMembers[_0x6ce565(0x18c)](_0x431789,_0x3189b5);}catch(_0xe7c056){return null;}const _0x58b980=()=>{const _0x623f3c=_0x6ce565;let _0x30c57c=undefined;return isNumeric(_0x1ee32c)?_0x30c57c=Array[_0x623f3c(0x186)](_0x3189b5[_0x623f3c(0x193)]())['find'](_0xefd20f=>_0xefd20f['uin']===_0x1ee32c):_0x30c57c=_0x3189b5[_0x623f3c(0x181)](_0x1ee32c),_0x30c57c;};let _0x646ab1=_0x5b8518[_0x6ce565(0x18a)](_0x58b980);return!_0x646ab1&&(_0x3189b5=await NTQQGroupApi[_0x6ce565(0x18e)](_0x431789),_0x646ab1=_0x58b980()),_0x646ab1;}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};function _0x1961(){const _0x131a36=['4KMlbfN','dhdHT','249HgUmyg','set','forEach','getGroupMembers','8IIghPA','length','492744JRBlUl','10601600sCtxlA','values','getGroups','133906asyCis','4975263mosbVX','get','groupCode','11668XcxsSc','576015bFXbfL','1509319ZecXRM','from','delete','toString'];_0x1961=function(){return _0x131a36;};return _0x1961();}

View File

@@ -1 +0,0 @@
(function(_0x3f1f62,_0x2ee11c){var _0x4f4168=_0x1a36,_0x13f90b=_0x3f1f62();while(!![]){try{var _0x2671fe=-parseInt(_0x4f4168(0x18f))/0x1+-parseInt(_0x4f4168(0x19b))/0x2+parseInt(_0x4f4168(0x191))/0x3*(-parseInt(_0x4f4168(0x195))/0x4)+parseInt(_0x4f4168(0x190))/0x5*(-parseInt(_0x4f4168(0x19d))/0x6)+-parseInt(_0x4f4168(0x18d))/0x7*(parseInt(_0x4f4168(0x197))/0x8)+parseInt(_0x4f4168(0x196))/0x9+parseInt(_0x4f4168(0x18e))/0xa;if(_0x2671fe===_0x2ee11c)break;else _0x13f90b['push'](_0x13f90b['shift']());}catch(_0x3dff2d){_0x13f90b['push'](_0x13f90b['shift']());}}}(_0x1645,0x957be));function _0x1645(){var _0x474b8a=['5769VVKndC','4|2|3|1|0','BgcgY','IMAGE','1652VUUNFo','9129204TwgQGp','264200vEySjN','split','vUSKZ','GltZX','441688MlxfaN','VIDEO','66dXPnvb','AUDIO','OTHER','119YQvYnT','21765840vhRuVh','696529ktOaZd','138935zZMdZa'];_0x1645=function(){return _0x474b8a;};return _0x1645();};export var CacheFileType;function _0x1a36(_0x50e87d,_0x5dac65){var _0x164580=_0x1645();return _0x1a36=function(_0x1a3616,_0x3ccc21){_0x1a3616=_0x1a3616-0x18c;var _0x54aac9=_0x164580[_0x1a3616];return _0x54aac9;},_0x1a36(_0x50e87d,_0x5dac65);}(function(_0x1145cd){var _0x820379=_0x1a36,_0x25420a={'ANFeE':_0x820379(0x192),'BgcgY':'DOCUMENT','vUSKZ':_0x820379(0x19e),'GltZX':_0x820379(0x194)},_0x3fc4af=_0x25420a['ANFeE'][_0x820379(0x198)]('|'),_0x257f09=0x0;while(!![]){switch(_0x3fc4af[_0x257f09++]){case'0':_0x1145cd[_0x1145cd[_0x820379(0x18c)]=0x4]=_0x820379(0x18c);continue;case'1':_0x1145cd[_0x1145cd['DOCUMENT']=0x3]=_0x25420a[_0x820379(0x193)];continue;case'2':_0x1145cd[_0x1145cd[_0x820379(0x19c)]=0x1]=_0x820379(0x19c);continue;case'3':_0x1145cd[_0x1145cd[_0x25420a[_0x820379(0x199)]]=0x2]=_0x25420a['vUSKZ'];continue;case'4':_0x1145cd[_0x1145cd[_0x25420a[_0x820379(0x19a)]]=0x0]=_0x820379(0x194);continue;}break;}}(CacheFileType||(CacheFileType={})));

View File

@@ -1,18 +0,0 @@
import { AtType, SendArkElement, SendFaceElement, SendFileElement, SendMarkdownElement, SendMarketFaceElement, SendPicElement, SendPttElement, SendReplyElement, SendTextElement, SendVideoElement } from './index';
export declare const mFaceCache: Map<string, string>;
export declare class SendMsgElementConstructor {
static text(content: string): SendTextElement;
static at(atUid: string, atNtUid: string, atType: AtType, atName: string): SendTextElement;
static reply(msgSeq: string, msgId: string, senderUin: string, senderUinStr: string): SendReplyElement;
static pic(picPath: string, summary?: string, subType?: 0 | 1): Promise<SendPicElement>;
static file(filePath: string, fileName?: string, folderId?: string): Promise<SendFileElement>;
static video(filePath: string, fileName?: string, diyThumbPath?: string): Promise<SendVideoElement>;
static ptt(pttPath: string): Promise<SendPttElement>;
static face(faceId: number): SendFaceElement;
static mface(emojiPackageId: number, emojiId: string, key: string, faceName: string): SendMarketFaceElement;
static dice(resultId: number | null): SendFaceElement;
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
import { QQLevel, Sex } from './user';
export interface Group {
groupCode: string;
maxMember: number;
memberCount: number;
groupName: string;
groupStatus: 0;
memberRole: 2;
isTop: boolean;
toppedTimestamp: string;
privilegeFlag: number;
isConf: boolean;
hasModifyConfGroupFace: boolean;
hasModifyConfGroupName: boolean;
remarkName: string;
hasMemo: boolean;
groupShutupExpireTime: string;
personShutupExpireTime: string;
discussToGroupUin: string;
discussToGroupMaxMsgSeq: number;
discussToGroupTime: number;
groupFlagExt: number;
authGroupType: number;
groupCreditLevel: number;
groupFlagExt3: number;
groupOwnerId: {
memberUin: string;
memberUid: string;
};
}
export declare enum GroupMemberRole {
normal = 2,
admin = 3,
owner = 4
}
export interface GroupMember {
memberSpecialTitle?: string;
avatarPath: string;
cardName: string;
cardType: number;
isDelete: boolean;
nick: string;
qid: string;
remark: string;
role: GroupMemberRole;
shutUpTime: number;
uid: string;
uin: string;
isRobot: boolean;
sex?: Sex;
qqLevel?: QQLevel;
}

View File

@@ -1 +0,0 @@
function _0x4fa9(_0x1b8aa4,_0xe764b9){var _0x574dc5=_0x574d();return _0x4fa9=function(_0x4fa96d,_0xa41fd1){_0x4fa96d=_0x4fa96d-0x18d;var _0x1e1e67=_0x574dc5[_0x4fa96d];return _0x1e1e67;},_0x4fa9(_0x1b8aa4,_0xe764b9);}(function(_0x27cc84,_0x27d8d5){var _0x42e11a=_0x4fa9,_0x310382=_0x27cc84();while(!![]){try{var _0x1ebcec=-parseInt(_0x42e11a(0x192))/0x1*(-parseInt(_0x42e11a(0x198))/0x2)+-parseInt(_0x42e11a(0x191))/0x3+parseInt(_0x42e11a(0x19a))/0x4*(parseInt(_0x42e11a(0x18e))/0x5)+parseInt(_0x42e11a(0x18f))/0x6+-parseInt(_0x42e11a(0x197))/0x7+parseInt(_0x42e11a(0x18d))/0x8+parseInt(_0x42e11a(0x193))/0x9;if(_0x1ebcec===_0x27d8d5)break;else _0x310382['push'](_0x310382['shift']());}catch(_0x222867){_0x310382['push'](_0x310382['shift']());}}}(_0x574d,0x74020));export var GroupMemberRole;(function(_0x437fbe){var _0x3fd34e=_0x4fa9,_0x419352={'qinqD':_0x3fd34e(0x199),'TRIDz':_0x3fd34e(0x190),'fjWzM':_0x3fd34e(0x19b)};_0x437fbe[_0x437fbe[_0x419352[_0x3fd34e(0x194)]]=0x2]=_0x419352[_0x3fd34e(0x194)],_0x437fbe[_0x437fbe[_0x419352[_0x3fd34e(0x195)]]=0x3]=_0x419352[_0x3fd34e(0x195)],_0x437fbe[_0x437fbe['owner']=0x4]=_0x419352[_0x3fd34e(0x196)];}(GroupMemberRole||(GroupMemberRole={})));function _0x574d(){var _0x5ab7f4=['1277586OHOfft','admin','2027889ZIVNBv','19993BIGMwG','2169621YDVhPi','qinqD','TRIDz','fjWzM','3525746GeiZUe','44VqhrQR','normal','1802172GkXOoH','owner','2483360aEVIHp','5ttzTHk'];_0x574d=function(){return _0x5ab7f4;};return _0x574d();}

View File

@@ -1 +0,0 @@
(function(_0x398a76,_0x4edc0d){var _0x1febae=_0x15a8,_0x7ccf83=_0x398a76();while(!![]){try{var _0x288ef6=-parseInt(_0x1febae(0xfe))/0x1*(parseInt(_0x1febae(0xf8))/0x2)+parseInt(_0x1febae(0xfa))/0x3+parseInt(_0x1febae(0xfd))/0x4*(-parseInt(_0x1febae(0xfc))/0x5)+-parseInt(_0x1febae(0xf9))/0x6+-parseInt(_0x1febae(0x100))/0x7+-parseInt(_0x1febae(0xff))/0x8+-parseInt(_0x1febae(0xf7))/0x9*(-parseInt(_0x1febae(0xfb))/0xa);if(_0x288ef6===_0x4edc0d)break;else _0x7ccf83['push'](_0x7ccf83['shift']());}catch(_0xe88819){_0x7ccf83['push'](_0x7ccf83['shift']());}}}(_0x4607,0x45a64));function _0x15a8(_0x543c74,_0x494cdd){var _0x460773=_0x4607();return _0x15a8=function(_0x15a843,_0x34a8bd){_0x15a843=_0x15a843-0xf7;var _0x23446a=_0x460773[_0x15a843];return _0x23446a;},_0x15a8(_0x543c74,_0x494cdd);}function _0x4607(){var _0x1d7141=['550EjbNQG','63435lAeZpw','24wNkwXj','563147CknCoR','3543824KPiNeO','1742727PvunvK','257625HjFBnz','2GSqeQw','758706HCAzzU','505704CasaQC'];_0x4607=function(){return _0x1d7141;};return _0x4607();}export*from'./user';export*from'./group';export*from'./msg';export*from'./notify';export*from'./cache';export*from'./constructor';

View File

@@ -1,455 +0,0 @@
import { GroupMemberRole } from './group';
export interface Peer {
chatType: ChatType;
peerUid: string;
guildId?: string;
}
export interface KickedOffLineInfo {
appId: number;
instanceId: number;
sameDevice: boolean;
tipsDesc: string;
tipsTitle: string;
kickedType: number;
securityKickedType: number;
}
export interface GetFileListParam {
sortType: number;
fileCount: number;
startIndex: number;
sortOrder: number;
showOnlinedocFolder: number;
}
export declare enum ElementType {
TEXT = 1,
PIC = 2,
FILE = 3,
PTT = 4,
VIDEO = 5,
FACE = 6,
REPLY = 7,
ARK = 10,
MFACE = 11,
MARKDOWN = 14
}
export interface SendTextElement {
elementType: ElementType.TEXT;
elementId: string;
textElement: {
content: string;
atType: number;
atUid: string;
atTinyId: string;
atNtUid: string;
};
}
export interface SendPttElement {
elementType: ElementType.PTT;
elementId: string;
pttElement: {
fileName: string;
filePath: string;
md5HexStr: string;
fileSize: number;
duration: number;
formatType: number;
voiceType: number;
voiceChangeType: number;
canConvert2Text: boolean;
waveAmplitudes: number[];
fileSubId: string;
playState: number;
autoConvertText: number;
};
}
export declare enum PicType {
gif = 2000,
jpg = 1000
}
export declare enum PicSubType {
normal = 0,// 普通图片,大图
face = 1
}
export interface SendPicElement {
elementType: ElementType.PIC;
elementId: string;
picElement: {
md5HexStr: string;
fileSize: number | string;
picWidth: number;
picHeight: number;
fileName: string;
sourcePath: string;
original: boolean;
picType: PicType;
picSubType: PicSubType;
fileUuid: string;
fileSubId: string;
thumbFileSize: number;
summary: string;
};
}
export interface SendReplyElement {
elementType: ElementType.REPLY;
elementId: string;
replyElement: {
replayMsgSeq: string;
replayMsgId: string;
senderUin: string;
senderUinStr: string;
};
}
export interface SendFaceElement {
elementType: ElementType.FACE;
elementId: string;
faceElement: FaceElement;
}
export interface SendMarketFaceElement {
elementType: ElementType.MFACE;
marketFaceElement: MarketFaceElement;
}
export interface FileElement {
fileMd5?: string;
fileName: string;
filePath: string;
fileSize: string;
picHeight?: number;
picWidth?: number;
folderId?: string;
picThumbPath?: Map<number, string>;
file10MMd5?: string;
fileSha?: string;
fileSha3?: string;
fileUuid?: string;
fileSubId?: string;
thumbFileSize?: number;
fileBizId?: number;
}
export interface SendFileElement {
elementType: ElementType.FILE;
elementId: string;
fileElement: FileElement;
}
export interface SendVideoElement {
elementType: ElementType.VIDEO;
elementId: string;
videoElement: VideoElement;
}
export interface SendArkElement {
elementType: ElementType.ARK;
elementId: string;
arkElement: ArkElement;
}
export interface SendMarkdownElement {
elementType: ElementType.MARKDOWN;
elementId: string;
markdownElement: MarkdownElement;
}
export type SendMessageElement = SendTextElement | SendPttElement | SendPicElement | SendReplyElement | SendFaceElement | SendMarketFaceElement | SendFileElement | SendVideoElement | SendArkElement | SendMarkdownElement;
export declare enum AtType {
notAt = 0,
atAll = 1,
atUser = 2
}
export declare enum ChatType {
friend = 1,
group = 2,
chatDevice = 8,//移动设备?
temp = 100
}
export declare enum ChatType2 {
KCHATTYPEADELIE = 42,
KCHATTYPEBUDDYNOTIFY = 5,
KCHATTYPEC2C = 1,
KCHATTYPECIRCLE = 113,
KCHATTYPEDATALINE = 8,
KCHATTYPEDATALINEMQQ = 134,
KCHATTYPEDISC = 3,
KCHATTYPEFAV = 41,
KCHATTYPEGAMEMESSAGE = 105,
KCHATTYPEGAMEMESSAGEFOLDER = 116,
KCHATTYPEGROUP = 2,
KCHATTYPEGROUPBLESS = 133,
KCHATTYPEGROUPGUILD = 9,
KCHATTYPEGROUPHELPER = 7,
KCHATTYPEGROUPNOTIFY = 6,
KCHATTYPEGUILD = 4,
KCHATTYPEGUILDMETA = 16,
KCHATTYPEMATCHFRIEND = 104,
KCHATTYPEMATCHFRIENDFOLDER = 109,
KCHATTYPENEARBY = 106,
KCHATTYPENEARBYASSISTANT = 107,
KCHATTYPENEARBYFOLDER = 110,
KCHATTYPENEARBYHELLOFOLDER = 112,
KCHATTYPENEARBYINTERACT = 108,
KCHATTYPEQQNOTIFY = 132,
KCHATTYPERELATEACCOUNT = 131,
KCHATTYPESERVICEASSISTANT = 118,
KCHATTYPESERVICEASSISTANTSUB = 201,
KCHATTYPESQUAREPUBLIC = 115,
KCHATTYPESUBSCRIBEFOLDER = 30,
KCHATTYPETEMPADDRESSBOOK = 111,
KCHATTYPETEMPBUSSINESSCRM = 102,
KCHATTYPETEMPC2CFROMGROUP = 100,
KCHATTYPETEMPC2CFROMUNKNOWN = 99,
KCHATTYPETEMPFRIENDVERIFY = 101,
KCHATTYPETEMPNEARBYPRO = 119,
KCHATTYPETEMPPUBLICACCOUNT = 103,
KCHATTYPETEMPWPA = 117,
KCHATTYPEUNKNOWN = 0,
KCHATTYPEWEIYUN = 40
}
export interface PttElement {
canConvert2Text: boolean;
duration: number;
fileBizId: null;
fileId: number;
fileName: string;
filePath: string;
fileSize: string;
fileSubId: string;
fileUuid: string;
formatType: string;
invalidState: number;
md5HexStr: string;
playState: number;
progress: number;
text: string;
transferStatus: number;
translateStatus: number;
voiceChangeType: number;
voiceType: number;
waveAmplitudes: number[];
}
export interface ArkElement {
bytesData: string;
linkInfo: null;
subElementType: null;
}
export declare const IMAGE_HTTP_HOST = "https://gchat.qpic.cn";
export declare const IMAGE_HTTP_HOST_NT = "https://multimedia.nt.qq.com.cn";
export interface PicElement {
originImageUrl: string;
originImageMd5?: string;
sourcePath: string;
thumbPath: Map<number, string>;
picWidth: number;
picHeight: number;
fileSize: number;
fileName: string;
fileUuid: string;
md5HexStr?: string;
}
export declare enum GrayTipElementSubType {
INVITE_NEW_MEMBER = 12,
MEMBER_NEW_TITLE = 17
}
export interface GrayTipElement {
subElementType: GrayTipElementSubType;
revokeElement: {
operatorRole: string;
operatorUid: string;
operatorNick: string;
operatorRemark: string;
operatorMemRemark?: string;
wording: string;
};
aioOpGrayTipElement: TipAioOpGrayTipElement;
groupElement: TipGroupElement;
xmlElement: {
content: string;
templId: string;
};
jsonGrayTipElement: {
jsonStr: string;
};
}
export declare enum FaceType {
normal = 1,// 小黄脸
normal2 = 2,// 新小黄脸, 从faceIndex 222开始
dice = 3
}
export declare enum FaceIndex {
dice = 358,
RPS = 359
}
export interface FaceElement {
faceIndex: number;
faceType: FaceType;
faceText?: string;
packId?: string;
stickerId?: string;
sourceType?: number;
stickerType?: number;
resultId?: string;
surpriseId?: string;
randomType?: number;
}
export interface MarketFaceElement {
emojiPackageId: number;
faceName: string;
emojiId: string;
key: string;
}
export interface VideoElement {
filePath: string;
fileName: string;
videoMd5?: string;
thumbMd5?: string;
fileTime?: number;
thumbSize?: number;
fileFormat?: number;
fileSize?: string;
thumbWidth?: number;
thumbHeight?: number;
busiType?: 0;
subBusiType?: 0;
thumbPath?: Map<number, any>;
transferStatus?: 0;
progress?: 0;
invalidState?: 0;
fileUuid?: string;
fileSubId?: string;
fileBizId?: null;
originVideoMd5?: string;
import_rich_media_context?: null;
sourceVideoCodecFormat?: number;
}
export declare enum viedo_type {
VIDEO_FORMAT_AFS = 7,
VIDEO_FORMAT_AVI = 1,
VIDEO_FORMAT_MKV = 4,
VIDEO_FORMAT_MOD = 9,
VIDEO_FORMAT_MOV = 8,
VIDEO_FORMAT_MP4 = 2,
VIDEO_FORMAT_MTS = 11,
VIDEO_FORMAT_RM = 6,
VIDEO_FORMAT_RMVB = 5,
VIDEO_FORMAT_TS = 10,
VIDEO_FORMAT_WMV = 3
}
export interface MarkdownElement {
content: string;
}
export interface InlineKeyboardElementRowButton {
id: string;
label: string;
visitedLabel: string;
style: 1;
type: 2;
clickLimit: 0;
unsupportTips: string;
data: string;
atBotShowChannelList: boolean;
permissionType: number;
specifyRoleIds: [];
specifyTinyids: [];
isReply: false;
anchor: 0;
enter: false;
subscribeDataTemplateIds: [];
}
export interface InlineKeyboardElement {
rows: [
{
buttons: InlineKeyboardElementRowButton[];
}
];
}
export interface TipAioOpGrayTipElement {
operateType: number;
peerUid: string;
fromGrpCodeOfTmpChat: string;
}
export declare enum TipGroupElementType {
memberIncrease = 1,
kicked = 3,// 被移出群
ban = 8
}
export interface TipGroupElement {
type: TipGroupElementType;
role: 0;
groupName: string;
memberUid: string;
memberNick: string;
memberRemark: string;
adminUid: string;
adminNick: string;
adminRemark: string;
createGroup: null;
memberAdd?: {
showType: 1;
otherAdd: null;
otherAddByOtherQRCode: null;
otherAddByYourQRCode: null;
youAddByOtherQRCode: null;
otherInviteOther: null;
otherInviteYou: null;
youInviteOther: null;
};
shutUp?: {
curTime: string;
duration: string;
admin: {
uid: string;
card: string;
name: string;
role: GroupMemberRole;
};
member: {
uid: string;
card: string;
name: string;
role: GroupMemberRole;
};
};
}
export interface MultiForwardMsgElement {
xmlContent: string;
resId: string;
fileName: string;
}
export interface RawMessage {
id?: number;
msgId: string;
msgTime: string;
msgSeq: string;
msgType: number;
subMsgType: number;
senderUid: string;
senderUin: string;
peerUid: string;
peerUin: string;
sendNickName: string;
sendMemberName?: string;
chatType: ChatType;
sendStatus?: number;
recallTime: string;
elements: {
elementId: string;
elementType: ElementType;
replyElement: {
senderUid: string;
sourceMsgIsIncPic: boolean;
sourceMsgText: string;
replayMsgSeq: string;
};
textElement: {
atType: AtType;
atUid: string;
content: string;
atNtUid: string;
};
picElement: PicElement;
pttElement: PttElement;
arkElement: ArkElement;
grayTipElement: GrayTipElement;
faceElement: FaceElement;
videoElement: VideoElement;
fileElement: FileElement;
marketFaceElement: MarketFaceElement;
inlineKeyboardElement: InlineKeyboardElement;
markdownElement: MarkdownElement;
multiForwardMsgElement: MultiForwardMsgElement;
}[];
}

File diff suppressed because one or more lines are too long

View File

@@ -1,123 +0,0 @@
export declare enum GroupNotifyTypes {
INVITE_ME = 1,
INVITED_JOIN = 4,// 有人接受了邀请入群
JOIN_REQUEST = 7,
ADMIN_SET = 8,
KICK_MEMBER = 9,
MEMBER_EXIT = 11,// 主动退出
ADMIN_UNSET = 12,
ADMIN_UNSET_OTHER = 13
}
export interface GroupNotifies {
doubt: boolean;
nextStartSeq: string;
notifies: GroupNotify[];
}
export declare enum GroupNotifyStatus {
IGNORE = 0,
WAIT_HANDLE = 1,
APPROVE = 2,
REJECT = 3
}
export interface GroupNotify {
time: number;
seq: string;
type: GroupNotifyTypes;
status: GroupNotifyStatus;
group: {
groupCode: string;
groupName: string;
};
user1: {
uid: string;
nickName: string;
};
user2: {
uid: string;
nickName: string;
};
actionUser: {
uid: string;
nickName: string;
};
actionTime: string;
invitationExt: {
srcType: number;
groupCode: string;
waitStatus: number;
};
postscript: string;
repeatSeqs: [];
warningTips: string;
}
export declare enum GroupRequestOperateTypes {
approve = 1,
reject = 2
}
export declare enum BuddyReqType {
KMEINITIATOR = 0,
KPEERINITIATOR = 1,
KMEAGREED = 2,
KMEAGREEDANDADDED = 3,
KPEERAGREED = 4,
KPEERAGREEDANDADDED = 5,
KPEERREFUSED = 6,
KMEREFUSED = 7,
KMEIGNORED = 8,
KMEAGREEANYONE = 9,
KMESETQUESTION = 10,
KMEAGREEANDADDFAILED = 11,
KMSGINFO = 12,
KMEINITIATORWAITPEERCONFIRM = 13
}
export interface FriendRequest {
isDecide: boolean;
friendUid: string;
reqType: BuddyReqType;
reqTime: string;
extWords: string;
isUnread: boolean;
friendNick: string;
sourceId: number;
groupCode: string;
}
export interface FriendRequestNotify {
unreadNums: number;
buddyReqs: FriendRequest[];
}
export declare enum MemberExtSourceType {
DEFAULTTYPE = 0,
TITLETYPE = 1,
NEWGROUPTYPE = 2
}
export interface GroupExtParam {
groupCode: string;
seq: string;
beginUin: string;
dataTime: string;
uinList: Array<string>;
uinNum: string;
groupType: string;
richCardNameVer: string;
sourceType: MemberExtSourceType;
memberExtFilter: {
memberLevelInfoUin: number;
memberLevelInfoPoint: number;
memberLevelInfoActiveDay: number;
memberLevelInfoLevel: number;
memberLevelInfoName: number;
levelName: number;
dataTime: number;
userShowFlag: number;
sysShowFlag: number;
timeToUpdate: number;
nickName: number;
specialTitle: number;
levelNameNew: number;
userShowFlagNew: number;
msgNeedField: number;
cmdUinFlagExt3Grocery: number;
memberIcon: number;
memberInfoSeq: number;
};
}

File diff suppressed because one or more lines are too long

View File

@@ -1,173 +0,0 @@
export declare enum Sex {
male = 1,
female = 2,
unknown = 255
}
export interface BuddyCategoryType {
categoryId: number;
categroyName: string;
categroyMbCount: number;
buddyList: User[];
}
export interface ModifyProfileParams {
nick: string;
longNick: string;
sex: Sex;
birthday: {
birthday_year: string;
birthday_month: string;
birthday_day: string;
};
location: any;
}
export interface BuddyProfileLikeReq {
friendUids: string[];
basic: number;
vote: number;
favorite: number;
userProfile: number;
type: number;
start: number;
limit: number;
}
export interface QQLevel {
crownNum: number;
sunNum: number;
moonNum: number;
starNum: number;
}
export interface User {
uid: string;
uin: string;
nick: string;
avatarUrl?: string;
longNick?: string;
remark?: string;
sex?: Sex;
qqLevel?: QQLevel;
qid?: string;
birthday_year?: number;
birthday_month?: number;
birthday_day?: number;
topTime?: string;
constellation?: number;
shengXiao?: number;
kBloodType?: number;
homeTown?: string;
makeFriendCareer?: number;
pos?: string;
eMail?: string;
phoneNum?: string;
college?: string;
country?: string;
province?: string;
city?: string;
postCode?: string;
address?: string;
isBlock?: boolean;
isSpecialCareOpen?: boolean;
isSpecialCareZone?: boolean;
ringId?: string;
regTime?: number;
interest?: string;
labels?: string[];
isHideQQLevel?: number;
privilegeIcon?: {
jumpUrl: string;
openIconList: unknown[];
closeIconList: unknown[];
};
photoWall?: {
picList: unknown[];
};
vipFlag?: boolean;
yearVipFlag?: boolean;
svipFlag?: boolean;
vipLevel?: number;
status?: number;
qidianMasterFlag?: number;
qidianCrewFlag?: number;
qidianCrewFlag2?: number;
extStatus?: number;
recommendImgFlag?: number;
disableEmojiShortCuts?: number;
pendantId?: string;
}
export interface SelfInfo extends User {
online?: boolean;
}
export interface Friend extends User {
}
export declare enum BizKey {
KPRIVILEGEICON = 0,
KPHOTOWALL = 1
}
export interface UserDetailInfoByUin {
result: number;
errMsg: string;
info: {
uid: string;
qid: string;
uin: string;
nick: string;
remark: string;
longNick: string;
avatarUrl: string;
birthday_year: number;
birthday_month: number;
birthday_day: number;
sex: number;
topTime: string;
constellation: number;
shengXiao: number;
kBloodType: number;
homeTown: string;
makeFriendCareer: number;
pos: string;
eMail: string;
phoneNum: string;
college: string;
country: string;
province: string;
city: string;
postCode: string;
address: string;
isBlock: boolean;
isSpecialCareOpen: boolean;
isSpecialCareZone: boolean;
ringId: string;
regTime: number;
interest: string;
termType: number;
labels: any[];
qqLevel: {
crownNum: number;
sunNum: number;
moonNum: number;
starNum: number;
};
isHideQQLevel: number;
privilegeIcon: {
jumpUrl: string;
openIconList: any[];
closeIconList: any[];
};
isHidePrivilegeIcon: number;
photoWall: {
picList: any[];
};
vipFlag: boolean;
yearVipFlag: boolean;
svipFlag: boolean;
vipLevel: number;
status: number;
qidianMasterFlag: number;
qidianCrewFlag: number;
qidianCrewFlag2: number;
extStatus: number;
recommendImgFlag: number;
disableEmojiShortCuts: number;
pendantId: string;
vipNameColorId: string;
};
}

View File

@@ -1 +0,0 @@
(function(_0xcbb36a,_0x16d7e2){var _0x40581a=_0x384c,_0x36ae05=_0xcbb36a();while(!![]){try{var _0x351061=-parseInt(_0x40581a(0x7d))/0x1+parseInt(_0x40581a(0x75))/0x2*(parseInt(_0x40581a(0x84))/0x3)+-parseInt(_0x40581a(0x80))/0x4+parseInt(_0x40581a(0x77))/0x5*(-parseInt(_0x40581a(0x7a))/0x6)+-parseInt(_0x40581a(0x74))/0x7+parseInt(_0x40581a(0x78))/0x8+parseInt(_0x40581a(0x7b))/0x9;if(_0x351061===_0x16d7e2)break;else _0x36ae05['push'](_0x36ae05['shift']());}catch(_0x289261){_0x36ae05['push'](_0x36ae05['shift']());}}}(_0x4268,0xc904a));export var Sex;function _0x4268(){var _0x30bfec=['3824064FEUoER','KPHOTOWALL','Troww','urdzG','41706rouBmE','4941132nkRnkx','154ZsDGaP','mAzVH','15HGefOY','8965688nAXyYI','unknown','715014ouhrta','18962010cPnrzu','PcVvq','1455286yfVScl','KPRIVILEGEICON','male'];_0x4268=function(){return _0x30bfec;};return _0x4268();}function _0x384c(_0x4c016f,_0x4adf98){var _0x42683d=_0x4268();return _0x384c=function(_0x384c15,_0x1538af){_0x384c15=_0x384c15-0x74;var _0x49467c=_0x42683d[_0x384c15];return _0x49467c;},_0x384c(_0x4c016f,_0x4adf98);}(function(_0x3a1050){var _0x2b42c5=_0x384c,_0x39ecd8={'qjRxI':_0x2b42c5(0x7f),'PcVvq':'female','Troww':_0x2b42c5(0x79)};_0x3a1050[_0x3a1050['male']=0x1]=_0x39ecd8['qjRxI'],_0x3a1050[_0x3a1050[_0x39ecd8[_0x2b42c5(0x7c)]]=0x2]=_0x39ecd8[_0x2b42c5(0x7c)],_0x3a1050[_0x3a1050[_0x39ecd8[_0x2b42c5(0x82)]]=0xff]=_0x39ecd8['Troww'];}(Sex||(Sex={})));export var BizKey;(function(_0x13d00b){var _0x411529=_0x384c,_0x167647={'mAzVH':'KPRIVILEGEICON','urdzG':_0x411529(0x81)};_0x13d00b[_0x13d00b[_0x411529(0x7e)]=0x0]=_0x167647[_0x411529(0x76)],_0x13d00b[_0x13d00b[_0x167647[_0x411529(0x83)]]=0x1]=_0x167647[_0x411529(0x83)];}(BizKey||(BizKey={})));

View File

@@ -1 +0,0 @@
(function(_0x26ee1c,_0x347a8a){var _0x3b74ce=_0x1c2c,_0x5f5006=_0x26ee1c();while(!![]){try{var _0x208979=-parseInt(_0x3b74ce(0x12c))/0x1+parseInt(_0x3b74ce(0x129))/0x2*(parseInt(_0x3b74ce(0x131))/0x3)+-parseInt(_0x3b74ce(0x132))/0x4+parseInt(_0x3b74ce(0x12b))/0x5*(-parseInt(_0x3b74ce(0x130))/0x6)+-parseInt(_0x3b74ce(0x12e))/0x7*(-parseInt(_0x3b74ce(0x12d))/0x8)+-parseInt(_0x3b74ce(0x133))/0x9*(-parseInt(_0x3b74ce(0x12f))/0xa)+parseInt(_0x3b74ce(0x12a))/0xb;if(_0x208979===_0x347a8a)break;else _0x5f5006['push'](_0x5f5006['shift']());}catch(_0x1154ac){_0x5f5006['push'](_0x5f5006['shift']());}}}(_0x2553,0x8aed2));import _0x5bdf5e from'./wrapper';function _0x2553(){var _0x1181a9=['65yTZpQk','1135849odFnGK','8nGmFrx','3470369ygdNlR','16070DGQfHZ','224154dGvkEW','6TStjKL','1572392GIeRbN','1089OjgKVt','93038vMiqFC','19804444KSxapC'];_0x2553=function(){return _0x1181a9;};return _0x2553();}function _0x1c2c(_0x4b199f,_0x2845be){var _0x25538a=_0x2553();return _0x1c2c=function(_0x1c2c2e,_0xd2814d){_0x1c2c2e=_0x1c2c2e-0x129;var _0x188a69=_0x25538a[_0x1c2c2e];return _0x188a69;},_0x1c2c(_0x4b199f,_0x2845be);}export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x5bdf5e as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';

View File

@@ -1,44 +0,0 @@
import { BuddyCategoryType, FriendRequestNotify } from '@/core/entities';
export type OnBuddyChangeParams = BuddyCategoryType[];
interface IBuddyListener {
onBuddyListChange(arg: OnBuddyChangeParams): void;
onBuddyInfoChange(arg: unknown): void;
onBuddyDetailInfoChange(arg: unknown): void;
onNickUpdated(arg: unknown): void;
onBuddyRemarkUpdated(arg: unknown): void;
onAvatarUrlUpdated(arg: unknown): void;
onBuddyReqChange(arg: FriendRequestNotify): void;
onBuddyReqUnreadCntChange(arg: unknown): void;
onCheckBuddySettingResult(arg: unknown): void;
onAddBuddyNeedVerify(arg: unknown): void;
onSmartInfos(arg: unknown): void;
onSpacePermissionInfos(arg: unknown): void;
onDoubtBuddyReqChange(arg: unknown): void;
onDoubtBuddyReqUnreadNumChange(arg: unknown): void;
onBlockChanged(arg: unknown): void;
onAddMeSettingChanged(arg: unknown): void;
onDelBatchBuddyInfos(arg: unknown): void;
}
export interface NodeIKernelBuddyListener extends IBuddyListener {
new (listener: IBuddyListener): NodeIKernelBuddyListener;
}
export declare class BuddyListener implements IBuddyListener {
onAddBuddyNeedVerify(arg: unknown): void;
onAddMeSettingChanged(arg: unknown): void;
onAvatarUrlUpdated(arg: unknown): void;
onBlockChanged(arg: unknown): void;
onBuddyDetailInfoChange(arg: unknown): void;
onBuddyInfoChange(arg: unknown): void;
onBuddyListChange(arg: OnBuddyChangeParams): void;
onBuddyRemarkUpdated(arg: unknown): void;
onBuddyReqChange(arg: FriendRequestNotify): void;
onBuddyReqUnreadCntChange(arg: unknown): void;
onCheckBuddySettingResult(arg: unknown): void;
onDelBatchBuddyInfos(arg: unknown): void;
onDoubtBuddyReqChange(arg: unknown): void;
onDoubtBuddyReqUnreadNumChange(arg: unknown): void;
onNickUpdated(arg: unknown): void;
onSmartInfos(arg: unknown): void;
onSpacePermissionInfos(arg: unknown): void;
}
export {};

View File

@@ -1 +0,0 @@
function _0x2bb7(_0x1ba2fb,_0x1fa335){var _0x5d051e=_0x5d05();return _0x2bb7=function(_0x2bb74a,_0x1eeb6d){_0x2bb74a=_0x2bb74a-0x9f;var _0x13da0f=_0x5d051e[_0x2bb74a];return _0x13da0f;},_0x2bb7(_0x1ba2fb,_0x1fa335);}var _0x55766b=_0x2bb7;(function(_0xed1e81,_0x58aa45){var _0x1ecd44=_0x2bb7,_0xed3926=_0xed1e81();while(!![]){try{var _0x50db8c=parseInt(_0x1ecd44(0xac))/0x1*(-parseInt(_0x1ecd44(0xa8))/0x2)+parseInt(_0x1ecd44(0xa2))/0x3+parseInt(_0x1ecd44(0xae))/0x4+parseInt(_0x1ecd44(0xa4))/0x5+parseInt(_0x1ecd44(0xaf))/0x6*(parseInt(_0x1ecd44(0xb1))/0x7)+-parseInt(_0x1ecd44(0x9f))/0x8+-parseInt(_0x1ecd44(0xad))/0x9;if(_0x50db8c===_0x58aa45)break;else _0xed3926['push'](_0xed3926['shift']());}catch(_0x50877c){_0xed3926['push'](_0xed3926['shift']());}}}(_0x5d05,0x6d31d));function _0x5d05(){var _0x1307df=['2541500wJBiMp','330LepRXY','onCheckBuddySettingResult','72898AXXYfE','onDoubtBuddyReqChange','onBlockChanged','6322944JLcTXf','onBuddyReqChange','onAddMeSettingChanged','1440495ACcsnc','onAddBuddyNeedVerify','3721535OvKkss','onBuddyRemarkUpdated','onDoubtBuddyReqUnreadNumChange','onDelBatchBuddyInfos','2316khtnfV','onAvatarUrlUpdated','onBuddyInfoChange','onBuddyListChange','578XvRoko','4730976cZSniZ'];_0x5d05=function(){return _0x1307df;};return _0x5d05();}export class BuddyListener{[_0x55766b(0xa3)](_0x352285){}[_0x55766b(0xa1)](_0x23e722){}[_0x55766b(0xa9)](_0x30aa2d){}[_0x55766b(0xb3)](_0x37955a){}['onBuddyDetailInfoChange'](_0x31fc44){}[_0x55766b(0xaa)](_0x193460){}[_0x55766b(0xab)](_0x11181b){}[_0x55766b(0xa5)](_0x225269){}[_0x55766b(0xa0)](_0x45dd04){}['onBuddyReqUnreadCntChange'](_0x2a878c){}[_0x55766b(0xb0)](_0x30b930){}[_0x55766b(0xa7)](_0x37a6df){}[_0x55766b(0xb2)](_0x124df8){}[_0x55766b(0xa6)](_0x4ca9b9){}['onNickUpdated'](_0x1065ff){}['onSmartInfos'](_0xb5497f){}['onSpacePermissionInfos'](_0x172c6a){}}

View File

@@ -1,17 +0,0 @@
export interface IKernelFileAssistantListener {
onFileStatusChanged(...args: unknown[]): unknown;
onSessionListChanged(...args: unknown[]): unknown;
onSessionChanged(...args: unknown[]): unknown;
onFileListChanged(...args: unknown[]): unknown;
onFileSearch(...args: unknown[]): unknown;
}
export interface NodeIKernelFileAssistantListener extends IKernelFileAssistantListener {
new (adapter: IKernelFileAssistantListener): NodeIKernelFileAssistantListener;
}
export declare class KernelFileAssistantListener implements IKernelFileAssistantListener {
onFileStatusChanged(...args: unknown[]): void;
onSessionListChanged(...args: unknown[]): void;
onSessionChanged(...args: unknown[]): void;
onFileListChanged(...args: unknown[]): void;
onFileSearch(...args: unknown[]): void;
}

View File

@@ -1 +0,0 @@
var _0x2b51aa=_0x3208;(function(_0x486983,_0xeab1b7){var _0x23adb6=_0x3208,_0x278562=_0x486983();while(!![]){try{var _0x2ea51c=parseInt(_0x23adb6(0x135))/0x1*(parseInt(_0x23adb6(0x136))/0x2)+-parseInt(_0x23adb6(0x13b))/0x3*(-parseInt(_0x23adb6(0x133))/0x4)+-parseInt(_0x23adb6(0x138))/0x5*(-parseInt(_0x23adb6(0x13a))/0x6)+-parseInt(_0x23adb6(0x139))/0x7+-parseInt(_0x23adb6(0x134))/0x8+parseInt(_0x23adb6(0x132))/0x9*(parseInt(_0x23adb6(0x130))/0xa)+parseInt(_0x23adb6(0x131))/0xb*(-parseInt(_0x23adb6(0x12f))/0xc);if(_0x2ea51c===_0xeab1b7)break;else _0x278562['push'](_0x278562['shift']());}catch(_0x3899b4){_0x278562['push'](_0x278562['shift']());}}}(_0x5309,0x3cca8));function _0x5309(){var _0x85660b=['561216fkvvKE','9503SDyjiz','10nSdxKL','onFileListChanged','1055vaTWGm','663922CCCsjV','9510tTnHtN','194925oAkCgf','onFileStatusChanged','24UcblqO','60IDNWwd','2092794GmMzTv','423909awrtMO','8qZpgOG'];_0x5309=function(){return _0x85660b;};return _0x5309();}function _0x3208(_0x68db52,_0x5a2238){var _0x530974=_0x5309();return _0x3208=function(_0x320815,_0x449cfe){_0x320815=_0x320815-0x12e;var _0x4e4080=_0x530974[_0x320815];return _0x4e4080;},_0x3208(_0x68db52,_0x5a2238);}export class KernelFileAssistantListener{[_0x2b51aa(0x12e)](..._0x32460a){}['onSessionListChanged'](..._0x14a29d){}['onSessionChanged'](..._0x51d076){}[_0x2b51aa(0x137)](..._0x5c162b){}['onFileSearch'](..._0x3ce1b8){}}

View File

@@ -1,95 +0,0 @@
import { Group, GroupMember, GroupNotify } from '@/core/entities';
interface IGroupListener {
onGroupListUpdate(updateType: number, groupList: Group[]): void;
onGroupExtListUpdate(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupDetailInfoChange(...args: unknown[]): void;
onGroupAllInfoChange(...args: unknown[]): void;
onGroupsMsgMaskResult(...args: unknown[]): void;
onGroupConfMemberChange(...args: unknown[]): void;
onGroupBulletinChange(...args: unknown[]): void;
onGetGroupBulletinListResult(...args: unknown[]): void;
onMemberListChange(arg: {
sceneId: string;
ids: string[];
infos: Map<string, GroupMember>;
finish: boolean;
hasRobot: boolean;
}): void;
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>): void;
onSearchMemberChange(...args: unknown[]): void;
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]): void;
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
onGroupStatisticInfoChange(...args: unknown[]): void;
onJoinGroupNotify(...args: unknown[]): void;
onShutUpMemberListChanged(...args: unknown[]): void;
onGroupBulletinRemindNotify(...args: unknown[]): void;
onGroupFirstBulletinNotify(...args: unknown[]): void;
onJoinGroupNoVerifyFlag(...args: unknown[]): void;
onGroupArkInviteStateResult(...args: unknown[]): void;
onGroupMemberLevelInfoChange(...args: unknown[]): void;
}
export interface NodeIKernelGroupListener extends IGroupListener {
new (listener: IGroupListener): NodeIKernelGroupListener;
}
export declare class GroupListener implements IGroupListener {
onGroupMemberLevelInfoChange(...args: unknown[]): void;
onGetGroupBulletinListResult(...args: unknown[]): void;
onGroupAllInfoChange(...args: unknown[]): void;
onGroupBulletinChange(...args: unknown[]): void;
onGroupBulletinRemindNotify(...args: unknown[]): void;
onGroupArkInviteStateResult(...args: unknown[]): void;
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]): void;
onGroupConfMemberChange(...args: unknown[]): void;
onGroupDetailInfoChange(...args: unknown[]): void;
onGroupExtListUpdate(...args: unknown[]): void;
onGroupFirstBulletinNotify(...args: unknown[]): void;
onGroupListUpdate(updateType: number, groupList: Group[]): void;
onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void;
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupsMsgMaskResult(...args: unknown[]): void;
onGroupStatisticInfoChange(...args: unknown[]): void;
onJoinGroupNotify(...args: unknown[]): void;
onJoinGroupNoVerifyFlag(...args: unknown[]): void;
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>): void;
onMemberListChange(arg: {
sceneId: string;
ids: string[];
infos: Map<string, GroupMember>;
finish: boolean;
hasRobot: boolean;
}): void;
onSearchMemberChange(...args: unknown[]): void;
onShutUpMemberListChanged(...args: unknown[]): void;
}
export declare class DebugGroupListener implements IGroupListener {
onGroupMemberLevelInfoChange(...args: unknown[]): void;
onGetGroupBulletinListResult(...args: unknown[]): void;
onGroupAllInfoChange(...args: unknown[]): void;
onGroupBulletinChange(...args: unknown[]): void;
onGroupBulletinRemindNotify(...args: unknown[]): void;
onGroupArkInviteStateResult(...args: unknown[]): void;
onGroupBulletinRichMediaDownloadComplete(...args: unknown[]): void;
onGroupConfMemberChange(...args: unknown[]): void;
onGroupDetailInfoChange(...args: unknown[]): void;
onGroupExtListUpdate(...args: unknown[]): void;
onGroupFirstBulletinNotify(...args: unknown[]): void;
onGroupListUpdate(...args: unknown[]): void;
onGroupNotifiesUpdated(...args: unknown[]): void;
onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void;
onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void;
onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void;
onGroupsMsgMaskResult(...args: unknown[]): void;
onGroupStatisticInfoChange(...args: unknown[]): void;
onJoinGroupNotify(...args: unknown[]): void;
onJoinGroupNoVerifyFlag(...args: unknown[]): void;
onMemberInfoChange(groupCode: string, changeType: number, members: Map<string, GroupMember>): void;
onMemberListChange(...args: unknown[]): void;
onSearchMemberChange(...args: unknown[]): void;
onShutUpMemberListChanged(...args: unknown[]): void;
}
export {};

File diff suppressed because one or more lines are too long

View File

@@ -1,54 +0,0 @@
export interface IKernelLoginListener {
onLoginConnected(...args: any[]): void;
onLoginDisConnected(...args: any[]): void;
onLoginConnecting(...args: any[]): void;
onQRCodeGetPicture(...args: any[]): void;
onQRCodeLoginPollingStarted(...args: any[]): void;
onQRCodeSessionUserScaned(...args: any[]): void;
onQRCodeLoginSucceed(...args: any[]): void;
onQRCodeSessionFailed(...args: any[]): void;
onLoginFailed(...args: any[]): void;
onLogoutSucceed(...args: any[]): void;
onLogoutFailed(...args: any[]): void;
onUserLoggedIn(...args: any[]): void;
onQRCodeSessionQuickLoginFailed(...args: any[]): void;
onPasswordLoginFailed(...args: any[]): void;
OnConfirmUnusualDeviceFailed(...args: any[]): void;
onQQLoginNumLimited(...args: any[]): void;
onLoginState(...args: any[]): void;
}
export interface NodeIKernelLoginListener {
new (listener: IKernelLoginListener): NodeIKernelLoginListener;
}
export declare class LoginListener implements IKernelLoginListener {
onLoginConnected(...args: any[]): void;
onLoginDisConnected(...args: any[]): void;
onLoginConnecting(...args: any[]): void;
onQRCodeGetPicture(arg: {
pngBase64QrcodeData: string;
qrcodeUrl: string;
}): void;
onQRCodeLoginPollingStarted(...args: any[]): void;
onQRCodeSessionUserScaned(...args: any[]): void;
onQRCodeLoginSucceed(arg: QRCodeLoginSucceedResult): void;
onQRCodeSessionFailed(...args: any[]): void;
onLoginFailed(...args: any[]): void;
onLogoutSucceed(...args: any[]): void;
onLogoutFailed(...args: any[]): void;
onUserLoggedIn(...args: any[]): void;
onQRCodeSessionQuickLoginFailed(...args: any[]): void;
onPasswordLoginFailed(...args: any[]): void;
OnConfirmUnusualDeviceFailed(...args: any[]): void;
onQQLoginNumLimited(...args: any[]): void;
onLoginState(...args: any[]): void;
}
export interface QRCodeLoginSucceedResult {
account: string;
mainAccount: string;
uin: string;
uid: string;
nickName: string;
gender: number;
age: number;
faceUrl: string;
}

View File

@@ -1 +0,0 @@
var _0x18d69d=_0x24e9;(function(_0x29c4c4,_0x534f03){var _0x4f7367=_0x24e9,_0x23a3e8=_0x29c4c4();while(!![]){try{var _0x3b8246=-parseInt(_0x4f7367(0x1e0))/0x1*(parseInt(_0x4f7367(0x1e1))/0x2)+parseInt(_0x4f7367(0x1e4))/0x3+parseInt(_0x4f7367(0x1e5))/0x4+parseInt(_0x4f7367(0x1eb))/0x5+-parseInt(_0x4f7367(0x1ec))/0x6+-parseInt(_0x4f7367(0x1d7))/0x7+-parseInt(_0x4f7367(0x1dc))/0x8*(-parseInt(_0x4f7367(0x1d5))/0x9);if(_0x3b8246===_0x534f03)break;else _0x23a3e8['push'](_0x23a3e8['shift']());}catch(_0x1da054){_0x23a3e8['push'](_0x23a3e8['shift']());}}}(_0x521d,0x1e837));function _0x521d(){var _0x572c3a=['849107DXyCgK','onLoginFailed','onLoginDisConnected','onQQLoginNumLimited','onUserLoggedIn','8HRvuyX','onQRCodeLoginSucceed','onQRCodeSessionUserScaned','onPasswordLoginFailed','1kZVXMk','270934tNqFAL','onQRCodeGetPicture','onLogoutSucceed','51873QXbpuL','968032WyItBB','onQRCodeSessionFailed','onLogoutFailed','onLoginConnecting','onQRCodeLoginPollingStarted','onQRCodeSessionQuickLoginFailed','529990mrseDO','132372MRWerd','346644DPDAbQ','onLoginState'];_0x521d=function(){return _0x572c3a;};return _0x521d();}function _0x24e9(_0x3d6ed7,_0x200ed9){var _0x521df5=_0x521d();return _0x24e9=function(_0x24e9d2,_0x4429b7){_0x24e9d2=_0x24e9d2-0x1d5;var _0x5ae2b3=_0x521df5[_0x24e9d2];return _0x5ae2b3;},_0x24e9(_0x3d6ed7,_0x200ed9);}export class LoginListener{['onLoginConnected'](..._0x3f5179){}[_0x18d69d(0x1d9)](..._0x199f1b){}[_0x18d69d(0x1e8)](..._0x35c381){}[_0x18d69d(0x1e2)](_0x7d452f){}[_0x18d69d(0x1e9)](..._0x393afb){}[_0x18d69d(0x1de)](..._0x13435f){}[_0x18d69d(0x1dd)](_0xedb6fa){}[_0x18d69d(0x1e6)](..._0x4cefa2){}[_0x18d69d(0x1d8)](..._0x380bd){}[_0x18d69d(0x1e3)](..._0x578b8b){}[_0x18d69d(0x1e7)](..._0x4d1013){}[_0x18d69d(0x1db)](..._0x1d6af6){}[_0x18d69d(0x1ea)](..._0x2d615e){}[_0x18d69d(0x1df)](..._0x593a95){}['OnConfirmUnusualDeviceFailed'](..._0x44a678){}[_0x18d69d(0x1da)](..._0x4f44f0){}[_0x18d69d(0x1d6)](..._0x131586){}}

View File

@@ -1,186 +0,0 @@
import { ChatType, RawMessage } from '@/core/entities';
export interface OnRichMediaDownloadCompleteParams {
fileModelId: string;
msgElementId: string;
msgId: string;
fileId: string;
fileProgress: string;
fileSpeed: string;
fileErrCode: string;
fileErrMsg: string;
fileDownType: number;
thumbSize: number;
filePath: string;
totalSize: string;
trasferStatus: number;
step: number;
commonFileInfo: unknown | null;
fileSrvErrCode: string;
clientMsg: string;
businessId: number;
userTotalSpacePerDay: unknown | null;
userUsedSpacePerDay: unknown | null;
}
export interface onGroupFileInfoUpdateParamType {
retCode: number;
retMsg: string;
clientWording: string;
isEnd: boolean;
item: Array<any>;
allFileCount: string;
nextIndex: string;
reqId: string;
}
export interface TempOnRecvParams {
sessionType: number;
chatType: ChatType;
peerUid: string;
groupCode: string;
fromNick: string;
sig: string;
}
export interface IKernelMsgListener {
onAddSendMsg(msgRecord: RawMessage): void;
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
onBroadcastHelperProgressUpdate(broadcastHelperTransNotifyInfo: unknown): void;
onChannelFreqLimitInfoUpdate(contact: unknown, z: unknown, freqLimitInfo: unknown): void;
onContactUnreadCntUpdate(hashMap: unknown): void;
onCustomWithdrawConfigUpdate(customWithdrawConfig: unknown): void;
onDraftUpdate(contact: unknown, arrayList: unknown, j2: unknown): void;
onEmojiDownloadComplete(emojiNotifyInfo: unknown): void;
onEmojiResourceUpdate(emojiResourceInfo: unknown): void;
onFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onFileMsgCome(arrayList: unknown): void;
onFirstViewDirectMsgUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
onGuildInteractiveUpdate(guildInteractiveNotificationItem: unknown): void;
onGuildMsgAbFlagChanged(guildMsgAbFlag: unknown): void;
onGuildNotificationAbstractUpdate(guildNotificationAbstractInfo: unknown): void;
onHitCsRelatedEmojiResult(downloadRelateEmojiResultInfo: unknown): void;
onHitEmojiKeywordResult(hitRelatedEmojiWordsResult: unknown): void;
onHitRelatedEmojiResult(relatedWordEmojiInfo: unknown): void;
onImportOldDbProgressUpdate(importOldDbMsgNotifyInfo: unknown): void;
onInputStatusPush(inputStatusInfo: unknown): void;
onKickedOffLine(kickedInfo: unknown): void;
onLineDev(arrayList: unknown): void;
onLogLevelChanged(j2: unknown): void;
onMsgAbstractUpdate(arrayList: unknown): void;
onMsgBoxChanged(arrayList: unknown): void;
onMsgDelete(contact: unknown, arrayList: unknown): void;
onMsgEventListUpdate(hashMap: unknown): void;
onMsgInfoListAdd(arrayList: unknown): void;
onMsgInfoListUpdate(msgList: RawMessage[]): void;
onMsgQRCodeStatusChanged(i2: unknown): void;
onMsgRecall(i2: unknown, str: unknown, j2: unknown): void;
onMsgSecurityNotify(msgRecord: unknown): void;
onMsgSettingUpdate(msgSetting: unknown): void;
onNtFirstViewMsgSyncEnd(): void;
onNtMsgSyncEnd(): void;
onNtMsgSyncStart(): void;
onReadFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onRecvGroupGuildFlag(i2: unknown): void;
onRecvMsg(...arrayList: unknown[]): void;
onRecvMsgSvrRspTransInfo(j2: unknown, contact: unknown, i2: unknown, i3: unknown, str: unknown, bArr: unknown): void;
onRecvOnlineFileMsg(arrayList: unknown): void;
onRecvS2CMsg(arrayList: unknown): void;
onRecvSysMsg(arrayList: unknown): void;
onRecvUDCFlag(i2: unknown): void;
onRichMediaDownloadComplete(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams): void;
onRichMediaProgerssUpdate(fileTransNotifyInfo: unknown): void;
onRichMediaUploadComplete(fileTransNotifyInfo: unknown): void;
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;
onUserOnlineStatusChanged(z: unknown): void;
onUserTabStatusChanged(arrayList: unknown): void;
onlineStatusBigIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
onlineStatusSmallIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
onUserSecQualityChanged(...args: unknown[]): void;
onMsgWithRichLinkInfoUpdate(...args: unknown[]): void;
onRedTouchChanged(...args: unknown[]): void;
onBroadcastHelperProgerssUpdate(...args: unknown[]): void;
}
export interface NodeIKernelMsgListener {
new (listener: IKernelMsgListener): NodeIKernelMsgListener;
}
export declare class MsgListener implements IKernelMsgListener {
onAddSendMsg(msgRecord: RawMessage): void;
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
onBroadcastHelperProgressUpdate(broadcastHelperTransNotifyInfo: unknown): void;
onChannelFreqLimitInfoUpdate(contact: unknown, z: unknown, freqLimitInfo: unknown): void;
onContactUnreadCntUpdate(hashMap: unknown): void;
onCustomWithdrawConfigUpdate(customWithdrawConfig: unknown): void;
onDraftUpdate(contact: unknown, arrayList: unknown, j2: unknown): void;
onEmojiDownloadComplete(emojiNotifyInfo: unknown): void;
onEmojiResourceUpdate(emojiResourceInfo: unknown): void;
onFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onFileMsgCome(arrayList: unknown): void;
onFirstViewDirectMsgUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
onGuildInteractiveUpdate(guildInteractiveNotificationItem: unknown): void;
onGuildMsgAbFlagChanged(guildMsgAbFlag: unknown): void;
onGuildNotificationAbstractUpdate(guildNotificationAbstractInfo: unknown): void;
onHitCsRelatedEmojiResult(downloadRelateEmojiResultInfo: unknown): void;
onHitEmojiKeywordResult(hitRelatedEmojiWordsResult: unknown): void;
onHitRelatedEmojiResult(relatedWordEmojiInfo: unknown): void;
onImportOldDbProgressUpdate(importOldDbMsgNotifyInfo: unknown): void;
onInputStatusPush(inputStatusInfo: unknown): void;
onKickedOffLine(kickedInfo: unknown): void;
onLineDev(arrayList: unknown): void;
onLogLevelChanged(j2: unknown): void;
onMsgAbstractUpdate(arrayList: unknown): void;
onMsgBoxChanged(arrayList: unknown): void;
onMsgDelete(contact: unknown, arrayList: unknown): void;
onMsgEventListUpdate(hashMap: unknown): void;
onMsgInfoListAdd(arrayList: unknown): void;
onMsgInfoListUpdate(msgList: RawMessage[]): void;
onMsgQRCodeStatusChanged(i2: unknown): void;
onMsgRecall(i2: unknown, str: unknown, j2: unknown): void;
onMsgSecurityNotify(msgRecord: unknown): void;
onMsgSettingUpdate(msgSetting: unknown): void;
onNtFirstViewMsgSyncEnd(): void;
onNtMsgSyncEnd(): void;
onNtMsgSyncStart(): void;
onReadFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void;
onRecvGroupGuildFlag(i2: unknown): void;
onRecvMsg(arrayList: RawMessage[]): void;
onRecvMsgSvrRspTransInfo(j2: unknown, contact: unknown, i2: unknown, i3: unknown, str: unknown, bArr: unknown): void;
onRecvOnlineFileMsg(arrayList: unknown): void;
onRecvS2CMsg(arrayList: unknown): void;
onRecvSysMsg(arrayList: unknown): void;
onRecvUDCFlag(i2: unknown): void;
onRichMediaDownloadComplete(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams): void;
onRichMediaProgerssUpdate(fileTransNotifyInfo: unknown): void;
onRichMediaUploadComplete(fileTransNotifyInfo: unknown): void;
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;
onUserOnlineStatusChanged(z: unknown): void;
onUserTabStatusChanged(arrayList: unknown): void;
onlineStatusBigIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
onlineStatusSmallIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void;
onUserSecQualityChanged(...args: unknown[]): void;
onMsgWithRichLinkInfoUpdate(...args: unknown[]): void;
onRedTouchChanged(...args: unknown[]): void;
onBroadcastHelperProgerssUpdate(...args: unknown[]): void;
}

View File

@@ -1 +0,0 @@
function _0x336e(){var _0x225db5=['onFileMsgCome','onMsgRecall','onGrabPasswordRedBag','onMsgBoxChanged','onGuildMsgAbFlagChanged','onNtFirstViewMsgSyncEnd','726644EVUDXn','onBroadcastHelperProgressUpdate','onBroadcastHelperDownloadComplete','onSendMsgError','onUserChannelTabStatusChanged','onGroupFileInfoAdd','onUserTabStatusChanged','10044FVryYb','1kQwRno','onGuildNotificationAbstractUpdate','onRecvOnlineFileMsg','onRecvGroupGuildFlag','onlineStatusBigIconDownloadPush','onAddSendMsg','onFirstViewDirectMsgUpdate','30iIUfwo','onRichMediaUploadComplete','2317610ZSUqhq','onRecvSysMsg','347175flMcpQ','onUserSecQualityChanged','onRichMediaProgerssUpdate','onMsgSettingUpdate','onContactUnreadCntUpdate','onMsgWithRichLinkInfoUpdate','onMsgEventListUpdate','onBroadcastHelperProgerssUpdate','onMsgDelete','onImportOldDbProgressUpdate','onReadFeedEventUpdate','onInputStatusPush','onMsgSecurityNotify','9nqSmdw','71729lvxVAt','onDraftUpdate','onGroupFileInfoUpdate','onHitCsRelatedEmojiResult','onGroupGuildUpdate','onMsgAbstractUpdate','onNtMsgSyncEnd','onFirstViewGroupGuildMapping','onSysMsgNotification','onSearchGroupFileInfoUpdate','onRecvMsgSvrRspTransInfo','onGroupTransferInfoAdd','onLineDev','onRedTouchChanged','2593208xiyLFh','642255ngbwaN','onTempChatInfoUpdate','onRichMediaDownloadComplete','onMsgInfoListAdd','onMsgQRCodeStatusChanged','onFeedEventUpdate','onChannelFreqLimitInfoUpdate'];_0x336e=function(){return _0x225db5;};return _0x336e();}var _0x6ccfaa=_0x19c5;function _0x19c5(_0x2a1ec9,_0x2a5998){var _0x336eef=_0x336e();return _0x19c5=function(_0x19c5fb,_0x12d93c){_0x19c5fb=_0x19c5fb-0x108;var _0x401523=_0x336eef[_0x19c5fb];return _0x401523;},_0x19c5(_0x2a1ec9,_0x2a5998);}(function(_0xcd7688,_0x1d955a){var _0x1fa165=_0x19c5,_0x120595=_0xcd7688();while(!![]){try{var _0x7ef8ef=-parseInt(_0x1fa165(0x13c))/0x1*(parseInt(_0x1fa165(0x13b))/0x2)+parseInt(_0x1fa165(0x127))/0x3+parseInt(_0x1fa165(0x134))/0x4+-parseInt(_0x1fa165(0x10a))/0x5+-parseInt(_0x1fa165(0x143))/0x6*(parseInt(_0x1fa165(0x118))/0x7)+parseInt(_0x1fa165(0x126))/0x8*(-parseInt(_0x1fa165(0x117))/0x9)+parseInt(_0x1fa165(0x108))/0xa;if(_0x7ef8ef===_0x1d955a)break;else _0x120595['push'](_0x120595['shift']());}catch(_0x5e0d63){_0x120595['push'](_0x120595['shift']());}}}(_0x336e,0x2b600));export class MsgListener{[_0x6ccfaa(0x141)](_0x4eee87){}[_0x6ccfaa(0x136)](_0x288df6){}[_0x6ccfaa(0x135)](_0xca7758){}[_0x6ccfaa(0x12d)](_0x36c7ed,_0x1a8689,_0x3ce52c){}[_0x6ccfaa(0x10e)](_0x5f48d0){}['onCustomWithdrawConfigUpdate'](_0xc44ef8){}[_0x6ccfaa(0x119)](_0x38264e,_0x170c2a,_0x3486fd){}['onEmojiDownloadComplete'](_0x1b58ba){}['onEmojiResourceUpdate'](_0x4c4d90){}[_0x6ccfaa(0x12c)](_0x300748){}[_0x6ccfaa(0x12e)](_0x339598){}[_0x6ccfaa(0x142)](_0x30f482){}[_0x6ccfaa(0x11f)](_0x1f00d6){}[_0x6ccfaa(0x130)](_0x224702,_0x4545f3,_0x386b38,_0x5be4a9,_0x12d058){}[_0x6ccfaa(0x139)](_0xf64ec9){}[_0x6ccfaa(0x11a)](_0x29b8c1){}[_0x6ccfaa(0x11c)](_0x2448f8){}[_0x6ccfaa(0x123)](_0x2d141a){}['onGroupTransferInfoUpdate'](_0x2f1271){}['onGuildInteractiveUpdate'](_0x59c8bd){}[_0x6ccfaa(0x132)](_0x41352d){}[_0x6ccfaa(0x13d)](_0x2232bb){}[_0x6ccfaa(0x11b)](_0x406e7a){}['onHitEmojiKeywordResult'](_0x4bed2d){}['onHitRelatedEmojiResult'](_0x228147){}[_0x6ccfaa(0x113)](_0x236438){}[_0x6ccfaa(0x115)](_0xe10e43){}['onKickedOffLine'](_0x40937b){}[_0x6ccfaa(0x124)](_0x3ea8a1){}['onLogLevelChanged'](_0xd59f10){}[_0x6ccfaa(0x11d)](_0x58b804){}[_0x6ccfaa(0x131)](_0x384258){}[_0x6ccfaa(0x112)](_0xfebe83,_0x2f582c){}[_0x6ccfaa(0x110)](_0x58f8d3){}[_0x6ccfaa(0x12a)](_0x377354){}['onMsgInfoListUpdate'](_0x55883e){}[_0x6ccfaa(0x12b)](_0x3b7c34){}[_0x6ccfaa(0x12f)](_0x1053cd,_0x943f7b,_0x4fa188){}[_0x6ccfaa(0x116)](_0x466632){}[_0x6ccfaa(0x10d)](_0x4edeb0){}[_0x6ccfaa(0x133)](){}[_0x6ccfaa(0x11e)](){}['onNtMsgSyncStart'](){}[_0x6ccfaa(0x114)](_0x467476){}[_0x6ccfaa(0x13f)](_0x2ac035){}['onRecvMsg'](_0x5c2496){}[_0x6ccfaa(0x122)](_0x39395a,_0x3232e5,_0x39dc44,_0x47fab7,_0x2ca356,_0x52e8f0){}[_0x6ccfaa(0x13e)](_0x26fef0){}['onRecvS2CMsg'](_0x256d3e){}[_0x6ccfaa(0x109)](_0x10742f){}['onRecvUDCFlag'](_0x428055){}[_0x6ccfaa(0x129)](_0x3f5d3f){}[_0x6ccfaa(0x10c)](_0x468b18){}[_0x6ccfaa(0x144)](_0x2e06ce){}[_0x6ccfaa(0x121)](_0x3b0704){}[_0x6ccfaa(0x137)](_0x33f57d,_0x4361b5,_0x5c87be,_0xa21bbc){}[_0x6ccfaa(0x120)](_0x1cbf75,_0xc23feb,_0x55810c,_0x204d22){}[_0x6ccfaa(0x128)](_0x3493b0){}['onUnreadCntAfterFirstView'](_0x310da5){}['onUnreadCntUpdate'](_0x241e9b){}[_0x6ccfaa(0x138)](_0x3f07b4){}['onUserOnlineStatusChanged'](_0x96b787){}[_0x6ccfaa(0x13a)](_0x1f7cc5){}[_0x6ccfaa(0x140)](_0x4ba42b,_0x343206,_0x2a2ae7){}['onlineStatusSmallIconDownloadPush'](_0x3e1259,_0x4a3416,_0xe9362f){}[_0x6ccfaa(0x10b)](..._0x114eaa){}[_0x6ccfaa(0x10f)](..._0x1f5fab){}[_0x6ccfaa(0x125)](..._0x3ce8ce){}[_0x6ccfaa(0x111)](..._0x294511){}}

View File

@@ -1,19 +0,0 @@
import { User } from '@/core/entities';
interface IProfileListener {
onProfileSimpleChanged(...args: unknown[]): void;
onProfileDetailInfoChanged(profile: User): void;
onStatusUpdate(...args: unknown[]): void;
onSelfStatusChanged(...args: unknown[]): void;
onStrangerRemarkChanged(...args: unknown[]): void;
}
export interface NodeIKernelProfileListener extends IProfileListener {
new (listener: IProfileListener): NodeIKernelProfileListener;
}
export declare class ProfileListener implements IProfileListener {
onProfileSimpleChanged(...args: unknown[]): void;
onProfileDetailInfoChanged(profile: User): void;
onStatusUpdate(...args: unknown[]): void;
onSelfStatusChanged(...args: unknown[]): void;
onStrangerRemarkChanged(...args: unknown[]): void;
}
export {};

View File

@@ -1 +0,0 @@
function _0x4ac5(){var _0x4d7da8=['35bwGxyj','5IttOln','onProfileDetailInfoChanged','100984CeyCsn','2616960dVQjeN','1479iuyVhq','1455228xOZVGN','onProfileSimpleChanged','889530vwbrIs','1260Olrbly','126600mOkgja','466244rlVigx'];_0x4ac5=function(){return _0x4d7da8;};return _0x4ac5();}var _0x3c09b5=_0x5d6f;function _0x5d6f(_0x264426,_0x3f835c){var _0x4ac57e=_0x4ac5();return _0x5d6f=function(_0x5d6f6f,_0x4c053a){_0x5d6f6f=_0x5d6f6f-0x1e3;var _0x1f4656=_0x4ac57e[_0x5d6f6f];return _0x1f4656;},_0x5d6f(_0x264426,_0x3f835c);}(function(_0x2f35f3,_0x4376f5){var _0x4c712e=_0x5d6f,_0xc187b7=_0x2f35f3();while(!![]){try{var _0x5ce549=-parseInt(_0x4c712e(0x1e6))/0x1+parseInt(_0x4c712e(0x1e7))/0x2+-parseInt(_0x4c712e(0x1ed))/0x3*(parseInt(_0x4c712e(0x1e5))/0x4)+-parseInt(_0x4c712e(0x1e9))/0x5*(-parseInt(_0x4c712e(0x1e4))/0x6)+-parseInt(_0x4c712e(0x1e8))/0x7*(parseInt(_0x4c712e(0x1eb))/0x8)+-parseInt(_0x4c712e(0x1ee))/0x9+parseInt(_0x4c712e(0x1ec))/0xa;if(_0x5ce549===_0x4376f5)break;else _0xc187b7['push'](_0xc187b7['shift']());}catch(_0x3dca43){_0xc187b7['push'](_0xc187b7['shift']());}}}(_0x4ac5,0x214b3));export class ProfileListener{[_0x3c09b5(0x1e3)](..._0x5cfe1f){}[_0x3c09b5(0x1ea)](_0x6da478){}['onStatusUpdate'](..._0x108c8a){}['onSelfStatusChanged'](..._0x122620){}['onStrangerRemarkChanged'](..._0x33db6f){}}

View File

@@ -1,13 +0,0 @@
export interface IKernelRobotListener {
onRobotFriendListChanged(...args: unknown[]): void;
onRobotListChanged(...args: unknown[]): void;
onRobotProfileChanged(...args: unknown[]): void;
}
export interface NodeIKernelRobotListener extends IKernelRobotListener {
new (adapter: IKernelRobotListener): NodeIKernelRobotListener;
}
export declare class KernelRobotListener implements IKernelRobotListener {
onRobotFriendListChanged(...args: unknown[]): void;
onRobotListChanged(...args: unknown[]): void;
onRobotProfileChanged(...args: unknown[]): void;
}

View File

@@ -1 +0,0 @@
function _0x11df(){var _0x5da5a0=['onRobotListChanged','1220838HJHtqd','2989215HCUift','onRobotFriendListChanged','8IVwvee','7355eIztbA','322687tQhcPt','1474809scUTyL','324jjqnoX','36028bqqZhp','737630AYDcon','36uycOSV'];_0x11df=function(){return _0x5da5a0;};return _0x11df();}var _0x1e0384=_0x33ba;function _0x33ba(_0x1148f1,_0x4d9a3d){var _0x11dfae=_0x11df();return _0x33ba=function(_0x33ba0d,_0x9bfa44){_0x33ba0d=_0x33ba0d-0x167;var _0x34e33d=_0x11dfae[_0x33ba0d];return _0x34e33d;},_0x33ba(_0x1148f1,_0x4d9a3d);}(function(_0x4b1a01,_0x1cbc86){var _0x59b1e7=_0x33ba,_0x293d1a=_0x4b1a01();while(!![]){try{var _0x1ba150=-parseInt(_0x59b1e7(0x16f))/0x1+-parseInt(_0x59b1e7(0x172))/0x2*(-parseInt(_0x59b1e7(0x168))/0x3)+parseInt(_0x59b1e7(0x171))/0x4*(-parseInt(_0x59b1e7(0x16e))/0x5)+parseInt(_0x59b1e7(0x16a))/0x6+-parseInt(_0x59b1e7(0x170))/0x7+-parseInt(_0x59b1e7(0x16d))/0x8*(-parseInt(_0x59b1e7(0x16b))/0x9)+parseInt(_0x59b1e7(0x167))/0xa;if(_0x1ba150===_0x1cbc86)break;else _0x293d1a['push'](_0x293d1a['shift']());}catch(_0x551455){_0x293d1a['push'](_0x293d1a['shift']());}}}(_0x11df,0x2a3d6));export class KernelRobotListener{[_0x1e0384(0x16c)](..._0x14105b){}[_0x1e0384(0x169)](..._0x1c3cef){}['onRobotProfileChanged'](..._0xaf9da2){}}

View File

@@ -1,19 +0,0 @@
export interface ISessionListener {
onNTSessionCreate(args: unknown): void;
onGProSessionCreate(args: unknown): void;
onSessionInitComplete(args: unknown): void;
onOpentelemetryInit(args: unknown): void;
onUserOnlineResult(args: unknown): void;
onGetSelfTinyId(args: unknown): void;
}
export interface NodeIKernelSessionListener extends ISessionListener {
new (adapter: ISessionListener): NodeIKernelSessionListener;
}
export declare class SessionListener implements ISessionListener {
onNTSessionCreate(args: unknown): void;
onGProSessionCreate(args: unknown): void;
onSessionInitComplete(args: unknown): void;
onOpentelemetryInit(args: unknown): void;
onUserOnlineResult(args: unknown): void;
onGetSelfTinyId(args: unknown): void;
}

View File

@@ -1 +0,0 @@
var _0x55ce96=_0x18e4;(function(_0x26bba5,_0x115ed6){var _0x11e4a2=_0x18e4,_0xa130fe=_0x26bba5();while(!![]){try{var _0x333ba0=-parseInt(_0x11e4a2(0x134))/0x1+parseInt(_0x11e4a2(0x13a))/0x2+-parseInt(_0x11e4a2(0x12f))/0x3*(parseInt(_0x11e4a2(0x138))/0x4)+parseInt(_0x11e4a2(0x12e))/0x5+-parseInt(_0x11e4a2(0x135))/0x6+parseInt(_0x11e4a2(0x130))/0x7*(parseInt(_0x11e4a2(0x131))/0x8)+-parseInt(_0x11e4a2(0x133))/0x9*(-parseInt(_0x11e4a2(0x137))/0xa);if(_0x333ba0===_0x115ed6)break;else _0xa130fe['push'](_0xa130fe['shift']());}catch(_0xaa86b3){_0xa130fe['push'](_0xa130fe['shift']());}}}(_0x13b5,0xbeb5a));export class SessionListener{[_0x55ce96(0x12d)](_0x2be530){}[_0x55ce96(0x132)](_0x23a063){}[_0x55ce96(0x136)](_0x546783){}['onOpentelemetryInit'](_0x303549){}[_0x55ce96(0x139)](_0x11ac6f){}['onGetSelfTinyId'](_0x166886){}}function _0x18e4(_0x5ce792,_0x5ec3f2){var _0x13b5e8=_0x13b5();return _0x18e4=function(_0x18e4d0,_0x1c3643){_0x18e4d0=_0x18e4d0-0x12d;var _0xfb3696=_0x13b5e8[_0x18e4d0];return _0xfb3696;},_0x18e4(_0x5ce792,_0x5ec3f2);}function _0x13b5(){var _0x7eb07e=['onGProSessionCreate','4171815MqoqKB','521829uQwZBm','4588692KwEbCT','onSessionInitComplete','30XWbslF','292VUMVmn','onUserOnlineResult','273520dWCWIN','onNTSessionCreate','7450505ehsKmr','51099qEzQET','210TOlImG','78320qPdEkQ'];_0x13b5=function(){return _0x7eb07e;};return _0x13b5();}

View File

@@ -1,17 +0,0 @@
export interface IStorageCleanListener {
onCleanCacheProgressChanged(args: unknown): void;
onScanCacheProgressChanged(args: unknown): void;
onCleanCacheStorageChanged(args: unknown): void;
onFinishScan(args: unknown): void;
onChatCleanDone(args: unknown): void;
}
export interface NodeIKernelStorageCleanListener extends IStorageCleanListener {
new (adapter: IStorageCleanListener): NodeIKernelStorageCleanListener;
}
export declare class StorageCleanListener implements IStorageCleanListener {
onCleanCacheProgressChanged(args: unknown): void;
onScanCacheProgressChanged(args: unknown): void;
onCleanCacheStorageChanged(args: unknown): void;
onFinishScan(args: unknown): void;
onChatCleanDone(args: unknown): void;
}

View File

@@ -1 +0,0 @@
var _0x2a5c00=_0x37aa;function _0x37aa(_0x3e647a,_0x1dcb54){var _0x599df8=_0x599d();return _0x37aa=function(_0x37aa33,_0x501e37){_0x37aa33=_0x37aa33-0x6f;var _0x25b485=_0x599df8[_0x37aa33];return _0x25b485;},_0x37aa(_0x3e647a,_0x1dcb54);}function _0x599d(){var _0x34112b=['6qarWqJ','65940GVzqZM','onScanCacheProgressChanged','278782MtHlIh','onFinishScan','963576vKHPsA','238948ClZoVy','302815mNmHku','1FLmVbR','85772RrHDDQ','1740136OshieW','onChatCleanDone','9IRuBbh','onCleanCacheStorageChanged'];_0x599d=function(){return _0x34112b;};return _0x599d();}(function(_0x4b315f,_0x82cd6){var _0x45e574=_0x37aa,_0x449ebe=_0x4b315f();while(!![]){try{var _0x363e75=parseInt(_0x45e574(0x77))/0x1*(parseInt(_0x45e574(0x75))/0x2)+-parseInt(_0x45e574(0x6f))/0x3*(parseInt(_0x45e574(0x78))/0x4)+-parseInt(_0x45e574(0x76))/0x5+-parseInt(_0x45e574(0x74))/0x6+parseInt(_0x45e574(0x72))/0x7+parseInt(_0x45e574(0x79))/0x8*(parseInt(_0x45e574(0x7b))/0x9)+parseInt(_0x45e574(0x70))/0xa;if(_0x363e75===_0x82cd6)break;else _0x449ebe['push'](_0x449ebe['shift']());}catch(_0xea5d50){_0x449ebe['push'](_0x449ebe['shift']());}}}(_0x599d,0x1d246));export class StorageCleanListener{['onCleanCacheProgressChanged'](_0x2fa08c){}[_0x2a5c00(0x71)](_0x53e24d){}[_0x2a5c00(0x7c)](_0x713b0a){}[_0x2a5c00(0x73)](_0x192e92){}[_0x2a5c00(0x7a)](_0x4179e4){}}

View File

@@ -1,7 +0,0 @@
export interface IKernelTicketListener {
}
export interface NodeIKernelTicketListener extends IKernelTicketListener {
new (adapter: IKernelTicketListener): NodeIKernelTicketListener;
}
export declare class KernelTicketListener implements IKernelTicketListener {
}

View File

@@ -1 +0,0 @@
export class KernelTicketListener{}

View File

@@ -1 +0,0 @@
function _0x17a4(_0x116203,_0x38ae56){var _0x39f811=_0x39f8();return _0x17a4=function(_0x17a4eb,_0xa9e3ec){_0x17a4eb=_0x17a4eb-0xc0;var _0x38b8cf=_0x39f811[_0x17a4eb];return _0x38b8cf;},_0x17a4(_0x116203,_0x38ae56);}(function(_0x41c979,_0x3855e3){var _0x4c6f5b=_0x17a4,_0x19a74a=_0x41c979();while(!![]){try{var _0x520d87=-parseInt(_0x4c6f5b(0xc4))/0x1*(parseInt(_0x4c6f5b(0xc7))/0x2)+parseInt(_0x4c6f5b(0xca))/0x3*(parseInt(_0x4c6f5b(0xc1))/0x4)+-parseInt(_0x4c6f5b(0xc8))/0x5+parseInt(_0x4c6f5b(0xc9))/0x6+parseInt(_0x4c6f5b(0xc0))/0x7*(-parseInt(_0x4c6f5b(0xc2))/0x8)+-parseInt(_0x4c6f5b(0xc3))/0x9*(-parseInt(_0x4c6f5b(0xc6))/0xa)+parseInt(_0x4c6f5b(0xc5))/0xb;if(_0x520d87===_0x3855e3)break;else _0x19a74a['push'](_0x19a74a['shift']());}catch(_0x4ea970){_0x19a74a['push'](_0x19a74a['shift']());}}}(_0x39f8,0x69d80));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 _0x39f8(){var _0x24ff62=['1752650TiToho','3502104FZFuQm','258252Lsciey','4558092WFwQnh','20RWKTXZ','8yXMFGx','63ONhuip','75eEQaUz','7837137MVUUCB','538430mOvVuY','17820IionnA'];_0x39f8=function(){return _0x24ff62;};return _0x39f8();}export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';

View File

@@ -1,24 +0,0 @@
export interface NodeIKernelAlbumService {
setAlbumServiceInfo(...args: any[]): unknown;
getMainPage(...args: any[]): unknown;
getAlbumList(...args: any[]): unknown;
getAlbumInfo(...args: any[]): unknown;
deleteAlbum(...args: any[]): unknown;
addAlbum(...args: any[]): unknown;
deleteMedias(...args: any[]): unknown;
modifyAlbum(...args: any[]): unknown;
getMediaList(...args: any[]): unknown;
quoteToQzone(...args: any[]): unknown;
quoteToQunAlbum(...args: any[]): unknown;
queryQuoteToQunAlbumStatus(...args: any[]): unknown;
getQunFeeds(...args: any[]): unknown;
getQunFeedDetail(...args: any[]): unknown;
getQunNoticeList(...args: any[]): unknown;
getQunComment(...args: any[]): unknown;
getQunLikes(...args: any[]): unknown;
deleteQunFeed(...args: any[]): unknown;
doQunComment(...args: any[]): unknown;
doQunReply(...args: any[]): unknown;
doQunLike(...args: any[]): unknown;
getRedPoints(...args: any[]): unknown;
}

View File

@@ -1 +0,0 @@
export{};

Some files were not shown because too many files have changed in this diff Show More