node-nim 9.10.0 → 9.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +169 -126
- package/dist/nim_def/msglog_def.js.map +1 -1
- package/node-nim-tester.js +40 -40
- package/package.json +74 -73
- package/script/download-sdk.js +78 -78
- package/script/exec-node-nim-tester.js +17 -17
- package/script/publish-to-netease-npm.js +28 -28
- package/types/chatroom/chatroom.d.ts +1 -1
- package/types/chatroom_def/chatroom_def.d.ts +1 -1
- package/types/nim/friend.d.ts +1 -1
- package/types/nim/global.d.ts +1 -1
- package/types/nim/msglog.d.ts +1 -1
- package/types/nim/nos.d.ts +1 -1
- package/types/nim/online_session.d.ts +1 -1
- package/types/nim/pass_through_proxy.d.ts +1 -1
- package/types/nim/plugin.d.ts +1 -1
- package/types/nim/session.d.ts +1 -1
- package/types/nim/subscribe_event.d.ts +1 -1
- package/types/nim/sysmsg.d.ts +1 -1
- package/types/nim/talk.d.ts +1 -1
- package/types/nim/talkex.d.ts +1 -1
- package/types/nim/team.d.ts +1 -1
- package/types/nim/tool.d.ts +1 -1
- package/types/nim/user.d.ts +1 -1
- package/types/nim_def/client_def.d.ts +1 -1
- package/types/nim_def/msglog_def.d.ts +8 -1
- package/types/qchat_def/message_def.d.ts +2 -0
package/README.md
CHANGED
|
@@ -1,126 +1,169 @@
|
|
|
1
|
-
# NetEase IM
|
|
2
|
-
|
|
3
|
-
[](https://codecov.io/gh/netease-im/node-nim) [](https://github.com/netease-im/node-nim/releases)
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
14
|
-
- [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
1
|
+
# NetEase Electron IM SDK
|
|
2
|
+
|
|
3
|
+
[](https://codecov.io/gh/netease-im/node-nim) [](https://github.com/netease-im/node-nim/releases)
|
|
4
|
+
[中文](README_CN.md)
|
|
5
|
+
[API Document](https://github.com/netease-im/node-nim/wiki)
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [NetEase Electron IM SDK](#netease-electron-im-sdk)
|
|
10
|
+
- [Table of Contents](#table-of-contents)
|
|
11
|
+
- [Introduction](#introduction)
|
|
12
|
+
- [Runtime Requirements](#runtime-requirements)
|
|
13
|
+
- [System Requirements](#system-requirements)
|
|
14
|
+
- [Supported Platforms](#supported-platforms)
|
|
15
|
+
- [Installation](#installation)
|
|
16
|
+
- [Build From Source](#build-from-source)
|
|
17
|
+
- [Quick Start](#quick-start)
|
|
18
|
+
- [Initialize SDK](#initialize-sdk)
|
|
19
|
+
- [Login](#login)
|
|
20
|
+
- [Send Message](#send-message)
|
|
21
|
+
|
|
22
|
+
## Introduction
|
|
23
|
+
|
|
24
|
+
`node-nim` is a Node.js wrapper for the [NetEase IM PC SDK](https://doc.yunxin.163.com/messaging/docs/home-page?platform=pc), enabling you to utilize all of its features in your preferred frontend framework with native platform performance.
|
|
25
|
+
For comprehensive documentation, changelog, and technical support, please visit https://dev.yunxin.163.com/.
|
|
26
|
+
|
|
27
|
+
## Runtime Requirements
|
|
28
|
+
|
|
29
|
+
| Runtime | Version |
|
|
30
|
+
| -------- | ----------- |
|
|
31
|
+
| Electron | >= v8.5.5 |
|
|
32
|
+
| Node.js | >= v12.13.0 |
|
|
33
|
+
|
|
34
|
+
## System Requirements
|
|
35
|
+
|
|
36
|
+
| System | Requirements |
|
|
37
|
+
| ------- | ------------- |
|
|
38
|
+
| Windows | >= Windows 7 |
|
|
39
|
+
| macOS | >= 10.14.0 |
|
|
40
|
+
| Linux | glibc >= 2.23 |
|
|
41
|
+
|
|
42
|
+
## Supported Platforms
|
|
43
|
+
|
|
44
|
+
| Platform | Architecture |
|
|
45
|
+
| -------- | ------------ |
|
|
46
|
+
| Windows | x64 |
|
|
47
|
+
| Windows | ia32 |
|
|
48
|
+
| macOS | x64 |
|
|
49
|
+
| macOS | arm64 |
|
|
50
|
+
| Linux | x64 |
|
|
51
|
+
| Linux | arm64 |
|
|
52
|
+
|
|
53
|
+
## Installation
|
|
54
|
+
|
|
55
|
+
`node-nim` is an NPM package that can be installed using the `npm install` command.
|
|
56
|
+
It will automatically download the prebuilt binary file that fits your current platform.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm install node-nim --save-dev
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Maybe you need to build ia32 app on x64 platform or something like that, you can use `--arch` and `--platform` to specify the platform you want to build.
|
|
63
|
+
|
|
64
|
+
- Windows x64
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install node-nim --save-dev --arch=x64 --platform=win32
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- Windows x86
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm install node-nim --save-dev --arch=ia32 --platform=win32
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- macOS x64
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm install node-nim --save-dev --arch=x64 --platform=darwin
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- macOS arm64
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install node-nim --save-dev --arch=arm64 --platform=darwin
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
- Linux x64
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm install node-nim --save-dev --arch=x64 --platform=linux
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- Linux arm64
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm install node-nim --save-dev --arch=arm64 --platform=linux
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Build From Source
|
|
101
|
+
|
|
102
|
+
Technically, native nim sdk is shipped with a prebuilt node-nim.node binary file, so `there is no need to build it yourself.`.
|
|
103
|
+
But if you want to add personal features or simply prefer to do so, feel free to build it!
|
|
104
|
+
Build Requirements:
|
|
105
|
+
|
|
106
|
+
- Node.js
|
|
107
|
+
- npm
|
|
108
|
+
- CMake
|
|
109
|
+
- CMake supported generator(Unix Makefiles, Ninja, Visual Studio, Xcode...)
|
|
110
|
+
|
|
111
|
+
Now you are all set to build, run following commands in the root directory of the project:
|
|
112
|
+
|
|
113
|
+
```cmake
|
|
114
|
+
cmake -S . -B build
|
|
115
|
+
cmake --build build --config Release
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
And voilà, you now have your own node-nim binary file in the `build` directory.
|
|
119
|
+
|
|
120
|
+
## Quick Start
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import * as node_nim from 'node-nim'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Initialize SDK
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
const result = node_nim.nim.client.init('appkey', '', '', {
|
|
130
|
+
database_encrypt_key_: 'abcdefghijklmnopqrstuvwxyz012345'
|
|
131
|
+
})
|
|
132
|
+
if (result) {
|
|
133
|
+
node_nim.nim.initEventHandlers() // init event handlers
|
|
134
|
+
node_nim.nim.talk.on('receiveMsg', (result) => {
|
|
135
|
+
console.log('receiveMsg', result)
|
|
136
|
+
})
|
|
137
|
+
node_nim.nim.talk.on('sendMsg', (message: node_nim.IMMessage) => {
|
|
138
|
+
console.log('sendMsg: ', message)
|
|
139
|
+
})
|
|
140
|
+
// add more event handlers here
|
|
141
|
+
// ...
|
|
142
|
+
}
|
|
143
|
+
return result
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Login
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
let [loginResult] = await node_nim.nim.client.login('appkey', 'account', 'password', null, '')
|
|
150
|
+
if (loginResult.res_code_ == node_nim.NIMResCode.kNIMResSuccess) {
|
|
151
|
+
console.log('login succeeded')
|
|
152
|
+
} else {
|
|
153
|
+
console.log('login failed')
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Send Message
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
node_nim.nim.talk.sendMsg(
|
|
161
|
+
{
|
|
162
|
+
session_type_: node_nim.NIMSessionType.kNIMSessionTypeP2P,
|
|
163
|
+
receiver_accid_: 'receiver',
|
|
164
|
+
type_: node_nim.NIMMessageType.kNIMMessageTypeText,
|
|
165
|
+
content_: 'Send from NIM node quick start.'
|
|
166
|
+
},
|
|
167
|
+
''
|
|
168
|
+
)
|
|
169
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msglog_def.js","sourceRoot":"","sources":["../../ts/nim_def/msglog_def.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"msglog_def.js","sourceRoot":"","sources":["../../ts/nim_def/msglog_def.ts"],"names":[],"mappings":"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"}
|
package/node-nim-tester.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
#! /usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const { Command } = require('commander')
|
|
4
|
-
const WebAT = require('hawk-web')
|
|
5
|
-
const program = new Command()
|
|
6
|
-
const downloadSDK = require('./script/download-sdk.js').downloadSDK
|
|
7
|
-
program
|
|
8
|
-
.command('run')
|
|
9
|
-
.description('run node-nim tester')
|
|
10
|
-
.requiredOption('--deviceId <deviceId>', 'tester device id')
|
|
11
|
-
.option('--taskId <taskId>', 'hawk test suite task id')
|
|
12
|
-
.option('--url <url>', 'hawk websocket url')
|
|
13
|
-
.option('--version <version>', 'test sdk version')
|
|
14
|
-
.option('--nimSdkUrl <nimSdkUrl>', 'nim native sdk download url')
|
|
15
|
-
.allowUnknownOption(true)
|
|
16
|
-
.action(async (options) => {
|
|
17
|
-
console.log('run node-nim tester, options:', options)
|
|
18
|
-
if (options.nimSdkUrl) {
|
|
19
|
-
await downloadSDK(options.nimSdkUrl)
|
|
20
|
-
}
|
|
21
|
-
const NIM = require('./dist/node-nim')
|
|
22
|
-
new WebAT({
|
|
23
|
-
applicationName: 'nim',
|
|
24
|
-
platform: 'Windows&MacOS',
|
|
25
|
-
version: options.version,
|
|
26
|
-
url: options.url,
|
|
27
|
-
deviceId: options.deviceId,
|
|
28
|
-
taskId: options.taskId,
|
|
29
|
-
targets: {
|
|
30
|
-
NIM
|
|
31
|
-
},
|
|
32
|
-
oncompleted: () => {
|
|
33
|
-
// 执行完成后退出进程
|
|
34
|
-
process.exit(0)
|
|
35
|
-
}
|
|
36
|
-
})
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
// parse
|
|
40
|
-
program.parse()
|
|
1
|
+
#! /usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { Command } = require('commander')
|
|
4
|
+
const WebAT = require('hawk-web')
|
|
5
|
+
const program = new Command()
|
|
6
|
+
const downloadSDK = require('./script/download-sdk.js').downloadSDK
|
|
7
|
+
program
|
|
8
|
+
.command('run')
|
|
9
|
+
.description('run node-nim tester')
|
|
10
|
+
.requiredOption('--deviceId <deviceId>', 'tester device id')
|
|
11
|
+
.option('--taskId <taskId>', 'hawk test suite task id')
|
|
12
|
+
.option('--url <url>', 'hawk websocket url')
|
|
13
|
+
.option('--version <version>', 'test sdk version')
|
|
14
|
+
.option('--nimSdkUrl <nimSdkUrl>', 'nim native sdk download url')
|
|
15
|
+
.allowUnknownOption(true)
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
console.log('run node-nim tester, options:', options)
|
|
18
|
+
if (options.nimSdkUrl) {
|
|
19
|
+
await downloadSDK(options.nimSdkUrl)
|
|
20
|
+
}
|
|
21
|
+
const NIM = require('./dist/node-nim')
|
|
22
|
+
new WebAT({
|
|
23
|
+
applicationName: 'nim',
|
|
24
|
+
platform: 'Windows&MacOS',
|
|
25
|
+
version: options.version,
|
|
26
|
+
url: options.url,
|
|
27
|
+
deviceId: options.deviceId,
|
|
28
|
+
taskId: options.taskId,
|
|
29
|
+
targets: {
|
|
30
|
+
NIM
|
|
31
|
+
},
|
|
32
|
+
oncompleted: () => {
|
|
33
|
+
// 执行完成后退出进程
|
|
34
|
+
process.exit(0)
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
// parse
|
|
40
|
+
program.parse()
|
package/package.json
CHANGED
|
@@ -1,73 +1,74 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "node-nim",
|
|
3
|
-
"version": "9.
|
|
4
|
-
"description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
|
|
5
|
-
"main": "dist/node-nim.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"node-nim-tester": "node-nim-tester.js"
|
|
8
|
-
},
|
|
9
|
-
"types": "types/node-nim.d.ts",
|
|
10
|
-
"author": "Netease",
|
|
11
|
-
"license": "ISC",
|
|
12
|
-
"homepage": "https://github.com/netease-im/node-nim",
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "git://github.com/netease-im/node-nim.git"
|
|
16
|
-
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"coverage": "nyc mocha test/test_all.js -slow 200 -timeout 10000",
|
|
19
|
-
"build_ts": "rimraf ./dist && rimraf ./types && tsc",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"@
|
|
45
|
-
"@typescript-eslint/
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"typedoc
|
|
55
|
-
"typedoc-
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"nim
|
|
64
|
-
"nim
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "node-nim",
|
|
3
|
+
"version": "9.11.1",
|
|
4
|
+
"description": "NetEase IM nodejs wrapper based on NetEase IM C++ SDK",
|
|
5
|
+
"main": "dist/node-nim.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"node-nim-tester": "node-nim-tester.js"
|
|
8
|
+
},
|
|
9
|
+
"types": "types/node-nim.d.ts",
|
|
10
|
+
"author": "Netease",
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"homepage": "https://github.com/netease-im/node-nim",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git://github.com/netease-im/node-nim.git"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"coverage": "nyc mocha test/test_all.js -slow 200 -timeout 10000",
|
|
19
|
+
"build_ts": "rimraf ./dist && rimraf ./types && tsc",
|
|
20
|
+
"build_wiki_doc": "typedoc --plugin typedoc-plugin-markdown --plugin typedoc-github-wiki-theme --theme github-wiki --out wiki_doc",
|
|
21
|
+
"build_markdown_doc": "typedoc --plugin typedoc-plugin-markdown --theme markdown --out markdown_doc",
|
|
22
|
+
"prepublishOnly": "npm run build_ts",
|
|
23
|
+
"install": "npm run download_sdk",
|
|
24
|
+
"download_sdk": "node -e \"require('./script/download-sdk.js').downloadSDK()\"",
|
|
25
|
+
"publish_to_netease_npm": "node script/publish-to-netease-npm.js"
|
|
26
|
+
},
|
|
27
|
+
"nyc": {
|
|
28
|
+
"cache": false,
|
|
29
|
+
"reporter": [
|
|
30
|
+
"lcov"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"compare-versions": "^4.1.4",
|
|
35
|
+
"download": "^8.0.0",
|
|
36
|
+
"eventemitter3": "^4.0.7",
|
|
37
|
+
"node-fetch": "^2.6.9"
|
|
38
|
+
},
|
|
39
|
+
"optionalDependencies": {
|
|
40
|
+
"commander": "^8.3.0",
|
|
41
|
+
"hawk-web": "latest"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/node": "^16.18.23",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
46
|
+
"@typescript-eslint/parser": "^5.58.0",
|
|
47
|
+
"bluebird": "^3.7.2",
|
|
48
|
+
"cmake-js": "^6.3.2",
|
|
49
|
+
"eslint": "^7.32.0",
|
|
50
|
+
"git-describe": "^4.1.1",
|
|
51
|
+
"mocha": "^9.2.2",
|
|
52
|
+
"node-addon-api": "^4.3.0",
|
|
53
|
+
"nyc": "^15.1.0",
|
|
54
|
+
"typedoc": "^0.24.1",
|
|
55
|
+
"typedoc-github-wiki-theme": "^1.1.0",
|
|
56
|
+
"typedoc-plugin-markdown": "^3.15.1",
|
|
57
|
+
"typescript": "^4.9.5"
|
|
58
|
+
},
|
|
59
|
+
"keywords": [
|
|
60
|
+
"netease",
|
|
61
|
+
"nim",
|
|
62
|
+
"im sdk",
|
|
63
|
+
"nim sdk",
|
|
64
|
+
"nim node",
|
|
65
|
+
"nim electron"
|
|
66
|
+
],
|
|
67
|
+
"files": [
|
|
68
|
+
"dist/",
|
|
69
|
+
"types/",
|
|
70
|
+
"package.json",
|
|
71
|
+
"script/",
|
|
72
|
+
"node-nim-tester.js"
|
|
73
|
+
]
|
|
74
|
+
}
|
package/script/download-sdk.js
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
const fetch = require('node-fetch')
|
|
2
|
-
const fs = require('fs')
|
|
3
|
-
const compareVersions = require('compare-versions')
|
|
4
|
-
const download = require('download')
|
|
5
|
-
const arch = process.env.npm_config_arch || process.arch
|
|
6
|
-
const platform = process.env.npm_config_platform || process.platform
|
|
7
|
-
const sdk_group = 'message'
|
|
8
|
-
const sdk_name = 'nim'
|
|
9
|
-
const sdk_path = `${__dirname}/../sdk`
|
|
10
|
-
if (process.env.npm_config_ignoredownloadsdk) {
|
|
11
|
-
console.log('ignore download sdk')
|
|
12
|
-
process.exit(0)
|
|
13
|
-
}
|
|
14
|
-
let sdk_version
|
|
15
|
-
let sdk_url = process.env.npm_config_nimsdkurl
|
|
16
|
-
if (process.env.npm_package_version) {
|
|
17
|
-
sdk_version = process.env.npm_package_version.split('-')[0]
|
|
18
|
-
}
|
|
19
|
-
if (process.env.npm_config_nimsdkversion) {
|
|
20
|
-
sdk_version = process.env.npm_config_nimsdkversion
|
|
21
|
-
}
|
|
22
|
-
async function downloadSDK(custom_sdk_url) {
|
|
23
|
-
if (custom_sdk_url) {
|
|
24
|
-
sdk_url = custom_sdk_url
|
|
25
|
-
}
|
|
26
|
-
// fetch publish list
|
|
27
|
-
const res = await fetch('https://admin.netease.im/public-service/free/publish/list')
|
|
28
|
-
const publish_json = await res.json()
|
|
29
|
-
// get sdk list
|
|
30
|
-
if (!sdk_url) {
|
|
31
|
-
let latest_version = '0.0.0'
|
|
32
|
-
let latest_sdk_url = ''
|
|
33
|
-
Object.keys(publish_json.data[sdk_group]).forEach((temp) => {
|
|
34
|
-
if (compareVersions.compare(latest_version, temp, '<')) {
|
|
35
|
-
publish_json.data[sdk_group][temp].forEach((member) => {
|
|
36
|
-
if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
|
|
37
|
-
latest_version = temp
|
|
38
|
-
latest_sdk_url = member.cdnlink
|
|
39
|
-
}
|
|
40
|
-
})
|
|
41
|
-
}
|
|
42
|
-
if (sdk_version === temp) {
|
|
43
|
-
publish_json.data[sdk_group][temp].forEach((member) => {
|
|
44
|
-
if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
|
|
45
|
-
sdk_url = member.cdnlink
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
if (!sdk_url || sdk_url.length === 0) {
|
|
51
|
-
console.log(`${sdk_name} sdk version ${sdk_version} not found, use latest version ${latest_version}`)
|
|
52
|
-
sdk_url = latest_sdk_url
|
|
53
|
-
}
|
|
54
|
-
console.log(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch}`)
|
|
55
|
-
}
|
|
56
|
-
if (!sdk_url) {
|
|
57
|
-
console.error(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch} not found`)
|
|
58
|
-
return
|
|
59
|
-
}
|
|
60
|
-
console.info(`[node-nim] Downloading prebuilt sdk from ${sdk_url} to ${sdk_path}`)
|
|
61
|
-
// remove sdk_path
|
|
62
|
-
if (fs.existsSync(sdk_path)) {
|
|
63
|
-
fs.rmSync(sdk_path, { recursive: true, force: true })
|
|
64
|
-
}
|
|
65
|
-
// download sdk
|
|
66
|
-
try {
|
|
67
|
-
await download(sdk_url, sdk_path, {
|
|
68
|
-
extract: true,
|
|
69
|
-
filter: (file) => {
|
|
70
|
-
return !file.path.includes('._')
|
|
71
|
-
}
|
|
72
|
-
})
|
|
73
|
-
console.info(`[node-nim] Downloading prebuilt sdk complete`)
|
|
74
|
-
} catch (err) {
|
|
75
|
-
console.error(`[node-nim] downloadSDK error:${err}`)
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.downloadSDK = downloadSDK
|
|
1
|
+
const fetch = require('node-fetch')
|
|
2
|
+
const fs = require('fs')
|
|
3
|
+
const compareVersions = require('compare-versions')
|
|
4
|
+
const download = require('download')
|
|
5
|
+
const arch = process.env.npm_config_arch || process.arch
|
|
6
|
+
const platform = process.env.npm_config_platform || process.platform
|
|
7
|
+
const sdk_group = 'message'
|
|
8
|
+
const sdk_name = 'nim'
|
|
9
|
+
const sdk_path = `${__dirname}/../sdk`
|
|
10
|
+
if (process.env.npm_config_ignoredownloadsdk) {
|
|
11
|
+
console.log('ignore download sdk')
|
|
12
|
+
process.exit(0)
|
|
13
|
+
}
|
|
14
|
+
let sdk_version
|
|
15
|
+
let sdk_url = process.env.npm_config_nimsdkurl
|
|
16
|
+
if (process.env.npm_package_version) {
|
|
17
|
+
sdk_version = process.env.npm_package_version.split('-')[0]
|
|
18
|
+
}
|
|
19
|
+
if (process.env.npm_config_nimsdkversion) {
|
|
20
|
+
sdk_version = process.env.npm_config_nimsdkversion
|
|
21
|
+
}
|
|
22
|
+
async function downloadSDK(custom_sdk_url) {
|
|
23
|
+
if (custom_sdk_url) {
|
|
24
|
+
sdk_url = custom_sdk_url
|
|
25
|
+
}
|
|
26
|
+
// fetch publish list
|
|
27
|
+
const res = await fetch('https://admin.netease.im/public-service/free/publish/list')
|
|
28
|
+
const publish_json = await res.json()
|
|
29
|
+
// get sdk list
|
|
30
|
+
if (!sdk_url) {
|
|
31
|
+
let latest_version = '0.0.0'
|
|
32
|
+
let latest_sdk_url = ''
|
|
33
|
+
Object.keys(publish_json.data[sdk_group]).forEach((temp) => {
|
|
34
|
+
if (compareVersions.compare(latest_version, temp, '<')) {
|
|
35
|
+
publish_json.data[sdk_group][temp].forEach((member) => {
|
|
36
|
+
if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
|
|
37
|
+
latest_version = temp
|
|
38
|
+
latest_sdk_url = member.cdnlink
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
if (sdk_version === temp) {
|
|
43
|
+
publish_json.data[sdk_group][temp].forEach((member) => {
|
|
44
|
+
if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
|
|
45
|
+
sdk_url = member.cdnlink
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
if (!sdk_url || sdk_url.length === 0) {
|
|
51
|
+
console.log(`${sdk_name} sdk version ${sdk_version} not found, use latest version ${latest_version}`)
|
|
52
|
+
sdk_url = latest_sdk_url
|
|
53
|
+
}
|
|
54
|
+
console.log(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch}`)
|
|
55
|
+
}
|
|
56
|
+
if (!sdk_url) {
|
|
57
|
+
console.error(`[node-nim] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch} not found`)
|
|
58
|
+
return
|
|
59
|
+
}
|
|
60
|
+
console.info(`[node-nim] Downloading prebuilt sdk from ${sdk_url} to ${sdk_path}`)
|
|
61
|
+
// remove sdk_path
|
|
62
|
+
if (fs.existsSync(sdk_path)) {
|
|
63
|
+
fs.rmSync(sdk_path, { recursive: true, force: true })
|
|
64
|
+
}
|
|
65
|
+
// download sdk
|
|
66
|
+
try {
|
|
67
|
+
await download(sdk_url, sdk_path, {
|
|
68
|
+
extract: true,
|
|
69
|
+
filter: (file) => {
|
|
70
|
+
return !file.path.includes('._')
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
console.info(`[node-nim] Downloading prebuilt sdk complete`)
|
|
74
|
+
} catch (err) {
|
|
75
|
+
console.error(`[node-nim] downloadSDK error:${err}`)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.downloadSDK = downloadSDK
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const child_process = require('child_process')
|
|
2
|
-
const fs = require('fs')
|
|
3
|
-
const testDir = 'node-nim-tester'
|
|
4
|
-
if (!fs.existsSync(testDir)) {
|
|
5
|
-
fs.mkdirSync(testDir)
|
|
6
|
-
}
|
|
7
|
-
process.chdir(testDir)
|
|
8
|
-
child_process.execSync(`npm init --force`, { stdio: 'inherit' })
|
|
9
|
-
child_process.execSync(`npm install node-nim@latest --registry=http://npm.netease.im/`, { stdio: 'inherit' })
|
|
10
|
-
const args = process.argv.slice(2).join(' ')
|
|
11
|
-
if (process.platform === 'win32') {
|
|
12
|
-
child_process.execSync(`.\\node_modules\\.bin\\node-nim-tester.cmd run ${args}`, { stdio: 'inherit' })
|
|
13
|
-
} else {
|
|
14
|
-
child_process.execSync(`./node_modules/.bin/node-nim-tester run ${args}`, { stdio: 'inherit' })
|
|
15
|
-
}
|
|
16
|
-
process.chdir('..')
|
|
17
|
-
fs.rmSync(testDir, { recursive: true, force: true })
|
|
1
|
+
const child_process = require('child_process')
|
|
2
|
+
const fs = require('fs')
|
|
3
|
+
const testDir = 'node-nim-tester'
|
|
4
|
+
if (!fs.existsSync(testDir)) {
|
|
5
|
+
fs.mkdirSync(testDir)
|
|
6
|
+
}
|
|
7
|
+
process.chdir(testDir)
|
|
8
|
+
child_process.execSync(`npm init --force`, { stdio: 'inherit' })
|
|
9
|
+
child_process.execSync(`npm install node-nim@latest --registry=http://npm.netease.im/`, { stdio: 'inherit' })
|
|
10
|
+
const args = process.argv.slice(2).join(' ')
|
|
11
|
+
if (process.platform === 'win32') {
|
|
12
|
+
child_process.execSync(`.\\node_modules\\.bin\\node-nim-tester.cmd run ${args}`, { stdio: 'inherit' })
|
|
13
|
+
} else {
|
|
14
|
+
child_process.execSync(`./node_modules/.bin/node-nim-tester run ${args}`, { stdio: 'inherit' })
|
|
15
|
+
}
|
|
16
|
+
process.chdir('..')
|
|
17
|
+
fs.rmSync(testDir, { recursive: true, force: true })
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
const process = require('child_process')
|
|
2
|
-
let gitTag = ''
|
|
3
|
-
let gitBranch = ''
|
|
4
|
-
let gitCommitCount = ''
|
|
5
|
-
try {
|
|
6
|
-
gitTag = process.execSync('git describe --abbrev=0 --tags --exact-match').toString().trim()
|
|
7
|
-
} catch (e) {}
|
|
8
|
-
try {
|
|
9
|
-
gitBranch = process.execSync('git rev-parse --abbrev-ref HEAD').toString().trim()
|
|
10
|
-
} catch (e) {}
|
|
11
|
-
try {
|
|
12
|
-
gitCommitCount = process.execSync('git rev-list --count HEAD').toString().trim()
|
|
13
|
-
} catch (e) {}
|
|
14
|
-
|
|
15
|
-
console.log(`[node-nim] gitTag: ${gitTag}`)
|
|
16
|
-
console.log(`[node-nim] gitBranch: ${gitBranch}`)
|
|
17
|
-
console.log(`[node-nim] gitCommitCount: ${gitCommitCount}`)
|
|
18
|
-
let version = gitTag
|
|
19
|
-
if (version === '') {
|
|
20
|
-
// remove characters before '/' in branch name
|
|
21
|
-
version = gitBranch.replace(/.*\//, '')
|
|
22
|
-
// remove characters after '-' in branch name
|
|
23
|
-
version = version.replace(/-.*/, '')
|
|
24
|
-
}
|
|
25
|
-
version = version + '-alpha.' + gitCommitCount
|
|
26
|
-
console.log(`[node-nim] version: ${version}`)
|
|
27
|
-
process.execSync(`npm version ${version} --no-git-tag-version`)
|
|
28
|
-
process.execSync(`npm publish --registry=http://npm.netease.im/`)
|
|
1
|
+
const process = require('child_process')
|
|
2
|
+
let gitTag = ''
|
|
3
|
+
let gitBranch = ''
|
|
4
|
+
let gitCommitCount = ''
|
|
5
|
+
try {
|
|
6
|
+
gitTag = process.execSync('git describe --abbrev=0 --tags --exact-match').toString().trim()
|
|
7
|
+
} catch (e) {}
|
|
8
|
+
try {
|
|
9
|
+
gitBranch = process.execSync('git rev-parse --abbrev-ref HEAD').toString().trim()
|
|
10
|
+
} catch (e) {}
|
|
11
|
+
try {
|
|
12
|
+
gitCommitCount = process.execSync('git rev-list --count HEAD').toString().trim()
|
|
13
|
+
} catch (e) {}
|
|
14
|
+
|
|
15
|
+
console.log(`[node-nim] gitTag: ${gitTag}`)
|
|
16
|
+
console.log(`[node-nim] gitBranch: ${gitBranch}`)
|
|
17
|
+
console.log(`[node-nim] gitCommitCount: ${gitCommitCount}`)
|
|
18
|
+
let version = gitTag
|
|
19
|
+
if (version === '') {
|
|
20
|
+
// remove characters before '/' in branch name
|
|
21
|
+
version = gitBranch.replace(/.*\//, '')
|
|
22
|
+
// remove characters after '-' in branch name
|
|
23
|
+
version = version.replace(/-.*/, '')
|
|
24
|
+
}
|
|
25
|
+
version = version + '-alpha.' + gitCommitCount
|
|
26
|
+
console.log(`[node-nim] version: ${version}`)
|
|
27
|
+
process.execSync(`npm version ${version} --no-git-tag-version`)
|
|
28
|
+
process.execSync(`npm publish --registry=http://npm.netease.im/`)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { ChatRoomIndependentEnterInfo, ChatRoomAnoymityEnterInfo, ChatRoomEnterInfo, NIMChatRoomLoginState, ChatRoomMessage, ChatRoomGetMembersParameters, GetMembersCallback, GetMembersCountByTagCallback, ChatRoomGetMsgHistoryParameters, GetMsgHistoryCallback, ChatRoomSetMemberAttributeParameters, SetMemberAttributeCallback, GetChatRoomInfoCallback, KickMemberCallback, NIMChatRoomProxyType, TempMuteMemberCallback, ChatRoomInfo, UpdateRoomInfoCallback, ChatRoomMemberInfo, UpdateMyRoomRoleCallback, ChatRoomQueueElement, ChatRoomQueueOfferOption, QueueOfferCallback, QueuePollCallback, QueueListCallback, QueueHeaderCallback, QueueDropCallback, QueueBatchUpdateCallback, NIMChatRoomLocation, UpdateLocationCallback, ChatRoomUpdateTagsInfo, UpdateTagsCallback, ChatRoomNotification, NIMChatRoomEnterStep, NIMChatRoomExitReason, NIMChatRoomLinkCondition, ChatRoomGetMsgHistoryByTagsParameters, ChatRoomConfig, ChatRoomGetMembersByTagParameters, ChatRoomBatchMembers } from '../chatroom_def/chatroom_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface ChatRoomEvents {
|
|
5
5
|
/** 登录 */
|
|
6
6
|
enter: [number, NIMChatRoomEnterStep, number, ChatRoomInfo, ChatRoomMemberInfo];
|
package/types/nim/friend.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { DeleteFriendOption, FriendProfile, NIMFriendAPI, FriendOptCallback, GetFriendProfileCallback, GetFriendsListCallback, NIMVerifyType, FriendChangeEvent } from '../nim_def/friend_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMFriendEvents {
|
|
5
5
|
/** 好友变更通知 */
|
|
6
6
|
change: [FriendChangeEvent];
|
package/types/nim/global.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { CachedFileInfo, DeleteCachedFileCallback, DetectProxyCallback, ExceptionCallback, GetCachedFileInfoCallback, NIMCachedFileType, NIMGlobalAPI, NIMProxyDetectStep, NIMProxyType, NIMSDKException, SDKDBErrorInfo, SDKFeedbackCallback, UploadSDKLogCallback } from '../nim_def/global_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMGlobalEvents {
|
|
5
5
|
/** SDK DB操作出错 */
|
|
6
6
|
dbError: [SDKDBErrorInfo];
|
package/types/nim/msglog.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMSessionType } from '../nim_def/session_def';
|
|
3
3
|
import { NIMMsgLogAPI, QuerySingleMsgCallback, QueryMsgCallback, NIMMessageType, ModifyMultipleMsglogCallback, NIMMsgLogStatus, ModifySingleMsglogCallback, NIMMsgLogSubStatus, DBFunctionCallback, ImportDbPrgCallback, MessageStatusChangedCallback, LogsBackupExportInfo, LogsBackupImportInfo, DeleteHistoryOnLineAsyncCallback, DeleteHistoryOnLineAsyncExCallback, DeleteMessageSelfAsyncCallback, QueryMessageIsThreadRootCallback, QueryMsgAsyncParam, QueryMessageOnlineCallback, QueryThreadHistoryMsgAsyncParam, QueryThreadHistoryMsgCallback, FullTextSearchOnlineAsyncParam, FullTextSearchOnlineAsyncCallback, IMMessage, QueryMsgByKeywordOnlineParam, QueryMsgOnlineAsyncParam, DeleteMsglogSelfNotifyItemInfo, DeleteMsglogSelfNotifyParam, MessageStatusChangedResult, QueryMsgByOptionsAsyncParam, QueryMsglogResult, NIMMsglogSearchDirection, GetMessagesDynamicallyCallback, GetMessagesResult } from '../nim_def/msglog_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMMsgLogEvents {
|
|
6
6
|
/** 单向删除消息记录通知 */
|
|
7
7
|
localMsgDeleted: [Array<DeleteMsglogSelfNotifyItemInfo>];
|
package/types/nim/nos.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { DownloadMediaCallback, DownloadMediaExCallback, DownloadMediaResult, InitNosConfigParam, InitNosResult, InitNosResultCallback, NIMNOSAPI, NOSParams, ProgressCallback, ProgressExCallback, SafeURLToOriginURLCallback, SpeedCallback, TransferInfoCallback, UploadMediaExCallback, UploadMediaResult } from '../nim_def/nos_def';
|
|
3
3
|
import { IMMessage } from '../nim_def/msglog_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMNOSEvents {
|
|
6
6
|
/** 下载回调 */
|
|
7
7
|
downloadComplete: [number, string, string, string];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMSessionType } from '../nim_def/session_def';
|
|
3
3
|
import { DeleteOnlineSessionInfoCallback, DeleteSessionParam, NIMOnlineSessionAPI, QueryOnlineSessionInfoCallback, QueryOnlineSessionListCallback, QuerySessionListResult, SessionInfo, UpdateOnlineSessionInfoCallback } from '../nim_def/online_session_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMOnlineSessionEvents {
|
|
6
6
|
/** 会话变更 */
|
|
7
7
|
change: [SessionInfo];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NIMPassThroughProxyAPI, NIMSendHttpRequestMethods, SendHttpRequestCallback } from '../nim_def/pass_through_proxy_def';
|
|
2
2
|
import { EventEmitter } from 'eventemitter3';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMPassThroughProxyEvents {
|
|
5
5
|
/** 接受到 HTTP 透传消息 */
|
|
6
6
|
receiveHttpMsg: [string, string, number];
|
package/types/nim/plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NIMPluginAPI, ChatRoomRequestEnterCallback, QChatRequestLinkAddressCallback } from '../nim_def/plugin_def';
|
|
2
2
|
import { EventEmitter } from 'eventemitter3';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMPluginEvents {
|
|
5
5
|
}
|
|
6
6
|
export declare class NIMPlugin extends EventEmitter<NIMPluginEvents> {
|
package/types/nim/session.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { IMMessage, NIMMessageType } from '../nim_def/msglog_def';
|
|
3
3
|
import { CancelToStickTopSessionCallback, DeleteHasmoreRoammsgCallback, DeleteSessionRoamingMessageCallback, MultiUnreadCountZeroInfo, NIMSessionAPI, NIMSessionType, QueryAllHasmoreRoammsgCallback, QueryHasmoreRoammsgCallback, QuerySessionDataCallback, QuerySessionListCallback, QueryStickTopSessionListCallback, SessionChangeCallback, SessionData, SessionDataList, SessionRoamMsgHasMoreTagInfo, SetMultiUnreadCountZeroAsyncCallback, SetToStickTopSessionCallback, UpdateHasmoreRoammsgCallback, UpdateStickTopSessionCallback } from '../nim_def/session_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMSessionEvents {
|
|
6
6
|
/** 会话变更 */
|
|
7
7
|
change: [number, SessionData, number];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMSubscribeEventAPI, EventData, PublishEventCallback, NIMEventType, NIMEventSubscribeSyncEventType, SubscribeEventCallback, UnSubscribeEventCallback, BatchUnSubscribeEventCallback, QuerySubscribeEventCallback, EventSubscribeData } from '../nim_def/subscribe_event_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMSubscribeEventEvents {
|
|
5
5
|
/** 订阅的事件 */
|
|
6
6
|
push: [number, EventData];
|
package/types/nim/sysmsg.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMSysMsgAPI, SysMessage, NIMSysMsgStatus, NIMSysMsgType, NotifySingleSysmsgCallback, NotifySysmsgResCallback, QuerySysmsgCallback } from '../nim_def/sysmsg_def';
|
|
3
3
|
import { SendMessageArc } from '../nim_def/talk_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMSysMsgEvents {
|
|
6
6
|
/** 系统通知 */
|
|
7
7
|
receiveSystemMsg: [SysMessage];
|
package/types/nim/talk.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { IMMessage, NIMMessageType } from '../nim_def/msglog_def';
|
|
3
3
|
import { BroadcastMessage, MessageFilterCallback, NIMTalkAPI, RecallMsgNotify, RecallMsgsCallback, SendMessageArc, TeamNotificationFilterCallback } from '../nim_def/talk_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMTalkEvents {
|
|
6
6
|
/** 发送消息回调 */
|
|
7
7
|
sendMsg: [SendMessageArc];
|
package/types/nim/talkex.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMTalkExAPI, CollectInfo, AddCollectCallback, RemoveCollectsParm, RemoveCollectsCallback, MatchCollectParm, UpdateCollectCallback, QueryCollectsParm, QueryCollectsCallback, QuickCommentInfo, AddQuickCommentCallback, RemoveQuickCommentParam, RemoveQuickCommentCallback, QueryQuickCommentsParam, QueryQuickCommentCallback, PinMessageInfo, PinMessageCallback, ModifyPinMessageParam, UnPinMessageCallback, UpdatePinMessageCallback, QueryPinMessageCallback, CollectInfoList, QueryQuickCommentsResponse, QueryAllPinMessageResponse } from '../nim_def/talkex_def';
|
|
3
3
|
import { IMMessage } from '../nim_def/msglog_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMTalkExEvents {
|
|
6
6
|
/** 添加快捷回复 */
|
|
7
7
|
addQuickComment: [number, QuickCommentInfo];
|
package/types/nim/team.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { IMMessage } from '../nim_def/msglog_def';
|
|
3
3
|
import { NIMTeamAPI, TeamInfo, TeamEventCallback, QueryAllMyTeamsCallback, QueryAllMyTeamsInfoCallback, QueryTeamMyAllMemberInfosCallback, QueryTeamMembersCallback, QueryTeamMemberCallback, QueryTeamInfoCallback, QueryTeamMembersOnlineCallback, TeamMsgAckReadCallback, QueryTeamMembersInvitorCallback, QueryTeamsInfoCallback, UpdateTInfoLocalCallback, GetTeamInfoBatchSFTransCallback, GetTeamInfoListCallback, TeamMemberProperty, TeamEvent } from '../nim_def/team_def';
|
|
4
|
-
import { NIMResCode } from '
|
|
4
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
5
5
|
export declare interface NIMTeamEvents {
|
|
6
6
|
/** 群事件 */
|
|
7
7
|
teamEvent: [TeamEvent];
|
package/types/nim/tool.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMToolAPI, NIMAppDataType, AudioInfo, GetAudioTextCallback, FilterClientAntispamCallback } from '../nim_def/tool_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMToolEvents {
|
|
5
5
|
}
|
|
6
6
|
export declare class NIMTool extends EventEmitter<NIMToolEvents> {
|
package/types/nim/user.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { NIMUserAPI, SetRelationCallback, GetSpecialListCallback, GetUserNameCardCallback, UpdateMyUserNameCardCallback, NINPushType, UserNameCard, SpecialRelationshipChangeEvent, BlackMuteListInfo } from '../nim_def/user_def';
|
|
3
|
-
import { NIMResCode } from '
|
|
3
|
+
import { NIMResCode } from '../nim_def/client_def';
|
|
4
4
|
export declare interface NIMUserEvents {
|
|
5
5
|
/** 用户属性变更 */
|
|
6
6
|
specialRelationChange: [SpecialRelationshipChangeEvent];
|
|
@@ -182,7 +182,7 @@ export interface SDKConfig {
|
|
|
182
182
|
ip_protocol_version_?: number; /**< int IP地址族设置 0:ipv4 1:ipv6 2:auto,经SDK测试后,自行选择,会有少许性能损耗。缺省 0(ipv4) */
|
|
183
183
|
/***********地址族相关设置 end************/
|
|
184
184
|
dedicated_cluste_flag_?: boolean; /**< boolean 是否为专属集群 {true,false} def:false */
|
|
185
|
-
hand_shake_type_?: number; /**< int 登录时使用的握手协议类型 0:支持配置多种对称与非对称加密算法,1:只支持RAS + RC4,缺省
|
|
185
|
+
hand_shake_type_?: number; /**< int 登录时使用的握手协议类型 0:支持配置多种对称与非对称加密算法,1:只支持RAS + RC4,缺省 0 */
|
|
186
186
|
nego_key_neca_?: number; /**< int "交换密钥"协议加密算法 {1(RSA),2(SM2)}, def:1(RSA) 非对称加密 */
|
|
187
187
|
comm_neca_?: number; /**< int 通信加密算法 {1(RC4),2(AES128),4(SM4)} def:1(RC4) 对称加密 */
|
|
188
188
|
server_conf_file_path_?: string; /**< string 私有云服务器相关地址配置文件本地绝对路径,如果不填默认执行文件目录下的server_conf.txt */
|
|
@@ -193,6 +193,12 @@ export interface IMMessageThreadInfo {
|
|
|
193
193
|
thread_msg_id_client_?: string;
|
|
194
194
|
deleted_?: number;
|
|
195
195
|
}
|
|
196
|
+
export interface IMMessageRobotInfo {
|
|
197
|
+
function_?: string;
|
|
198
|
+
topic_?: string;
|
|
199
|
+
custom_content_?: string;
|
|
200
|
+
account_?: string;
|
|
201
|
+
}
|
|
196
202
|
export interface IMMessage {
|
|
197
203
|
rescode_?: NIMResCode; /**< 错误码 */
|
|
198
204
|
feature_?: NIMMessageFeature; /**< 消息属性 */
|
|
@@ -212,7 +218,8 @@ export interface IMMessage {
|
|
|
212
218
|
local_res_id_?: string; /**< 媒体文件ID(客户端) */
|
|
213
219
|
status_?: NIMMsgLogStatus; /**< 消息状态(客户端) */
|
|
214
220
|
sub_status_?: NIMMsgLogSubStatus; /**< 消息子状态(客户端) */
|
|
215
|
-
thread_info_?: IMMessageThreadInfo;
|
|
221
|
+
thread_info_?: IMMessageThreadInfo; /**< thread消息信息 */
|
|
222
|
+
robot_info_?: IMMessageRobotInfo; /**< 机器人消息信息 */
|
|
216
223
|
readonly_sender_client_type_?: NIMClientType; /**< 发送者客户端类型(只读) */
|
|
217
224
|
readonly_sender_device_id_?: string; /**< 发送者客户端设备ID(只读) */
|
|
218
225
|
readonly_sender_nickname_?: string; /**< 发送者昵称(只读) */
|