This commit is contained in:
idranme
2024-08-05 19:09:41 +08:00
parent c41a8556fa
commit a2d1379866
14 changed files with 717 additions and 54 deletions

26
src/ntqqapi/wrapper.ts Normal file
View File

@@ -0,0 +1,26 @@
import path from 'node:path'
import fs from 'node:fs'
import { qqPkgInfo } from '../common/utils/QQBasicInfo'
import { NodeIKernelBuddyService } from './services/NodeIKernelBuddyService'
export interface NodeIQQNTWrapperSession {
[key: string]: any
new(): NodeIQQNTWrapperSession
getBuddyService(): NodeIKernelBuddyService
}
export interface WrapperNodeApi {
[key: string]: any
NodeIQQNTWrapperSession: NodeIQQNTWrapperSession
}
let wrapperNodePath = path.resolve(path.dirname(process.execPath), './resources/app/wrapper.node')
if (!fs.existsSync(wrapperNodePath)) {
wrapperNodePath = path.join(path.dirname(process.execPath), `resources/app/versions/${qqPkgInfo.version}/wrapper.node`)
}
const nativemodule: any = { exports: {} }
process.dlopen(nativemodule, wrapperNodePath)
const wrapperApi: WrapperNodeApi = nativemodule.exports
export { wrapperApi }
export default wrapperApi