node-nim 7.8.3-rc.2 → 9.1.0-rc.2
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 +83 -36
- package/download-sdk.mjs +59 -0
- package/js/api/client.js +147 -80
- package/js/api/client.js.map +1 -0
- package/js/api/data_sync.js +20 -20
- package/js/api/data_sync.js.map +1 -0
- package/js/api/friend.js +101 -38
- package/js/api/friend.js.map +1 -0
- package/js/api/global.js +90 -38
- package/js/api/global.js.map +1 -0
- package/js/api/msglog.js +455 -104
- package/js/api/msglog.js.map +1 -0
- package/js/api/nos.js +140 -50
- package/js/api/nos.js.map +1 -0
- package/js/api/online_session.js +58 -32
- package/js/api/online_session.js.map +1 -0
- package/js/api/pass_through_proxy.js +33 -20
- package/js/api/pass_through_proxy.js.map +1 -0
- package/js/api/plugin.js +52 -16
- package/js/api/plugin.js.map +1 -0
- package/js/api/session.js +250 -83
- package/js/api/session.js.map +1 -0
- package/js/api/subscribe_event.js +102 -38
- package/js/api/subscribe_event.js.map +1 -0
- package/js/api/super_team.js +387 -123
- package/js/api/super_team.js.map +1 -0
- package/js/api/sysmsg.js +127 -50
- package/js/api/sysmsg.js.map +1 -0
- package/js/api/talk.js +71 -50
- package/js/api/talk.js.map +1 -0
- package/js/api/talkex.js +115 -71
- package/js/api/talkex.js.map +1 -0
- package/js/api/team.js +514 -116
- package/js/api/team.js.map +1 -0
- package/js/api/tool.js +104 -41
- package/js/api/tool.js.map +1 -0
- package/js/api/user.js +134 -50
- package/js/api/user.js.map +1 -0
- package/js/{api/rescode_def.js → def/client_def.js} +157 -93
- package/js/def/client_def.js.map +1 -0
- package/js/{api → def}/data_sync_def.js +21 -22
- package/js/def/data_sync_def.js.map +1 -0
- package/js/{api → def}/doc_trans_def.js +17 -18
- package/js/def/doc_trans_def.js.map +1 -0
- package/js/{api → def}/friend_def.js +38 -38
- package/js/def/friend_def.js.map +1 -0
- package/js/{api → def}/global_def.js +49 -49
- package/js/def/global_def.js.map +1 -0
- package/js/{api → def}/msglog_def.js +131 -125
- package/js/def/msglog_def.js.map +1 -0
- package/js/{api → def}/nos_def.js +17 -16
- package/js/def/nos_def.js.map +1 -0
- package/js/{api → def}/online_session_def.js +3 -2
- package/js/def/online_session_def.js.map +1 -0
- package/js/{api → def}/pass_through_proxy_def.js +11 -11
- package/js/def/pass_through_proxy_def.js.map +1 -0
- package/js/{api → def}/plugin_def.js +3 -2
- package/js/def/plugin_def.js.map +1 -0
- package/js/{api/session.def.js → def/session_def.js} +27 -26
- package/js/def/session_def.js.map +1 -0
- package/js/{api → def}/subscribe_event_def.js +53 -52
- package/js/def/subscribe_event_def.js.map +1 -0
- package/js/{api → def}/super_team_def.js +65 -62
- package/js/def/super_team_def.js.map +1 -0
- package/js/{api → def}/sysmsg_def.js +37 -27
- package/js/def/sysmsg_def.js.map +1 -0
- package/js/{api → def}/talk_def.js +3 -2
- package/js/def/talk_def.js.map +1 -0
- package/js/{api → def}/talkex_def.js +3 -2
- package/js/def/talkex_def.js.map +1 -0
- package/js/{api → def}/team_def.js +70 -69
- package/js/def/team_def.js.map +1 -0
- package/js/{api → def}/tool_def.js +12 -12
- package/js/def/tool_def.js.map +1 -0
- package/js/{api → def}/user_def.js +23 -22
- package/js/def/user_def.js.map +1 -0
- package/js/loader.js +30 -0
- package/js/loader.js.map +1 -0
- package/js/nim.js +40 -46
- package/js/nim.js.map +1 -0
- package/package.json +61 -48
- package/types/api/client.d.ts +124 -0
- package/types/api/data_sync.d.ts +13 -0
- package/types/api/friend.d.ts +82 -0
- package/types/api/global.d.ts +69 -0
- package/types/api/msglog.d.ts +388 -0
- package/types/api/nos.d.ts +118 -0
- package/types/api/online_session.d.ts +44 -0
- package/types/api/pass_through_proxy.d.ts +24 -0
- package/types/api/plugin.d.ts +37 -0
- package/types/api/session.d.ts +212 -0
- package/types/api/subscribe_event.d.ts +87 -0
- package/types/api/super_team.d.ts +332 -0
- package/types/api/sysmsg.d.ts +104 -0
- package/types/api/talk.d.ts +69 -0
- package/types/api/talkex.d.ts +93 -0
- package/types/api/team.d.ts +442 -0
- package/types/api/tool.d.ts +75 -0
- package/types/api/user.d.ts +111 -0
- package/types/def/client_def.d.ts +276 -0
- package/types/def/data_sync_def.d.ts +19 -0
- package/types/def/doc_trans_def.d.ts +11 -0
- package/types/def/friend_def.d.ts +65 -0
- package/types/def/global_def.d.ts +69 -0
- package/types/def/msglog_def.d.ts +328 -0
- package/types/def/nos_def.d.ts +71 -0
- package/types/def/online_session_def.d.ts +34 -0
- package/types/def/pass_through_proxy_def.d.ts +12 -0
- package/types/def/plugin_def.d.ts +7 -0
- package/types/def/session_def.d.ts +113 -0
- package/types/def/subscribe_event_def.d.ts +82 -0
- package/types/def/super_team_def.d.ts +133 -0
- package/types/def/sysmsg_def.d.ts +84 -0
- package/types/def/talk_def.d.ts +48 -0
- package/types/def/talkex_def.d.ts +111 -0
- package/types/def/team_def.d.ts +153 -0
- package/types/def/tool_def.d.ts +27 -0
- package/types/def/user_def.d.ts +58 -0
- package/types/loader.d.ts +2 -0
- package/types/nim.d.ts +18 -0
- package/js/api/client_def.js +0 -58
- package/js/api/nim.js +0 -13
- package/js/api/rts.js +0 -68
- package/js/api/rts_def.js +0 -15
- package/js/api/signaling.js +0 -62
- package/js/api/signaling_def.js +0 -20
- package/just-task.js +0 -154
- package/scripts/build_addon.js +0 -56
- package/scripts/build_wrapper.js +0 -45
- package/scripts/fetch_wrapper.js +0 -45
- package/scripts/pack_addon.js +0 -41
package/README.md
CHANGED
|
@@ -1,36 +1,83 @@
|
|
|
1
|
-
# NetEase IM Node.js addon wrapper
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
```
|
|
1
|
+
# NetEase IM Node.js addon wrapper
|
|
2
|
+
[](https://codecov.io/gh/netease-im/node-nim) [](https://github.com/netease-im/node-nim/releases)
|
|
3
|
+
|
|
4
|
+
## Table of Contents
|
|
5
|
+
- [Introduction](#introduction)
|
|
6
|
+
- [Installation](#installation)
|
|
7
|
+
- [Build From Source](#build-from-source)
|
|
8
|
+
- [Unit Test](#unit-test)
|
|
9
|
+
- [Sample Code](#sample-code)
|
|
10
|
+
- [Quick Start](#quick-start)
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
node-nim is a wrapper of [NetEase IM](https://netease.im/).
|
|
14
|
+
node-nim will download the nim SDK which has the same version, you can override the version by add `NIM_SDK_VERSION="${version}"` or `NIM_SDK_URL="${url}"` to environment variables.
|
|
15
|
+
For more detailed documentation, changelog and tech support. See https://dev.yunxin.163.com/.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
node-nim runs on Node.js and is available as a NPM package.
|
|
19
|
+
```
|
|
20
|
+
npm install node-nim --save-dev
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Build From Source
|
|
24
|
+
Technically, nim sdk is shipped with a prebuilt node-nim.node binary file, so you don't need to build it yourself.
|
|
25
|
+
But if you want to add some personal features or you just want to do so, feel free to build it!
|
|
26
|
+
Build Requirements:
|
|
27
|
+
- Node.js
|
|
28
|
+
- npm
|
|
29
|
+
- CMake
|
|
30
|
+
- CMake supported generator(Unix Makefiles, Ninja, Visual Studio, Xcode...)
|
|
31
|
+
|
|
32
|
+
Now you are all set to build, run following command in the root directory of the project:
|
|
33
|
+
```cmake
|
|
34
|
+
cmake -S . -B build
|
|
35
|
+
cmake --build build --config Release
|
|
36
|
+
```
|
|
37
|
+
And voilà, you now have your own node-nim binary file in the `build` directory.
|
|
38
|
+
|
|
39
|
+
## Unit Test
|
|
40
|
+
Execute following script to run unit test, [check this](./test/test_all.js), and you can also get an coverage report under 'coverage'.
|
|
41
|
+
```
|
|
42
|
+
npm run coverage
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Sample Code
|
|
46
|
+
```
|
|
47
|
+
const NIM = require('node-nim')
|
|
48
|
+
const assert = require('assert')
|
|
49
|
+
const client = new NIM.NIMClient()
|
|
50
|
+
const talk = new NIM.NIMTalk()
|
|
51
|
+
const result = client.init('app_key', 'app_data_dir', 'app_install_dir', {
|
|
52
|
+
db_encrypt_key: 'abcdefghijklmnopqrstuvwxyz012345'
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
client.login('app_key', 'username', 'password_in_md5', (result) => {
|
|
56
|
+
assert.strictEqual(result.err_code, 200)
|
|
57
|
+
if (loginResult.login_step === 3) { // login has 3 steps, step 3 succeeded
|
|
58
|
+
talk.initEventHandler() // init callbacks
|
|
59
|
+
|
|
60
|
+
talk.on('receiveMsg', function (result) {
|
|
61
|
+
console.log(result)
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
talk.sendMsg({
|
|
65
|
+
to_type: 0, // p2p
|
|
66
|
+
to_accid: 'receiver_accid',
|
|
67
|
+
time: new Date().getTime(),
|
|
68
|
+
msg_type: 0, // text message
|
|
69
|
+
msg_body: 'Send from NIM node quick start.',
|
|
70
|
+
client_msg_id: new Date().getTime().toString(), // use an uuid
|
|
71
|
+
}, '', function () { })
|
|
72
|
+
|
|
73
|
+
client.logout(1, (err_code) => {
|
|
74
|
+
assert.strictEqual(err_code, 200)
|
|
75
|
+
}, '')
|
|
76
|
+
|
|
77
|
+
client.cleanUp('')
|
|
78
|
+
}
|
|
79
|
+
}, '')
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Quick Start
|
|
83
|
+
Check out this [quick start project](https://github.com/netease-im/node-nim-quick-start) and try out NIM's outstanding features!
|
package/download-sdk.mjs
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
import compareVersions from 'compare-versions';
|
|
3
|
+
import download from 'download';
|
|
4
|
+
|
|
5
|
+
const arch = process.arch;
|
|
6
|
+
const platform = process.platform;
|
|
7
|
+
const sdk_group = "message";
|
|
8
|
+
const sdk_name = "nim";
|
|
9
|
+
const sdk_path = "sdk";
|
|
10
|
+
let sdk_url = process.env.NIM_SDK_URL;
|
|
11
|
+
let sdk_version = process.env.npm_package_version;
|
|
12
|
+
if (process.env.NIM_SDK_VERSION) {
|
|
13
|
+
sdk_version = process.env.NIM_SDK_VERSION;
|
|
14
|
+
}
|
|
15
|
+
// fetch publish list
|
|
16
|
+
fetch('http://publish.netease.im/api/list').then((res) => res.json()).then((publish_json) => {
|
|
17
|
+
// get sdk list
|
|
18
|
+
if (!sdk_url) {
|
|
19
|
+
let sdk_list = [];
|
|
20
|
+
let latest_version = "0.0.0";
|
|
21
|
+
let latest_sdk_list = [];
|
|
22
|
+
Object.keys(publish_json[sdk_group]).forEach((temp) => {
|
|
23
|
+
if (compareVersions.compare(latest_version, temp, '<')) {
|
|
24
|
+
latest_version = temp;
|
|
25
|
+
latest_sdk_list = publish_json[sdk_group][temp];
|
|
26
|
+
}
|
|
27
|
+
if (sdk_version === temp) {
|
|
28
|
+
sdk_list = publish_json[sdk_group][temp];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
if (sdk_list.length === 0) {
|
|
32
|
+
console.log(`${sdk_name} sdk version ${sdk_version} not found, use latest version ${latest_version}`);
|
|
33
|
+
sdk_list = latest_sdk_list;
|
|
34
|
+
}
|
|
35
|
+
console.log(`[node_pre_build] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch}`)
|
|
36
|
+
// use platform and arch to find the sdk
|
|
37
|
+
sdk_list.forEach((member) => {
|
|
38
|
+
if (member.filename.includes(sdk_name) && member.filename.includes(platform) && member.filename.includes(arch)) {
|
|
39
|
+
sdk_url = member.cdnlink;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (!sdk_url) {
|
|
44
|
+
console.error(`[node_pre_build] downloadSDK sdk_name:${sdk_name}, platform:${platform}, arch:${arch} not found`);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
console.info(`[node_pre_build] Downloading prebuilt sdk from ${sdk_url} to ${sdk_path}`);
|
|
48
|
+
// download sdk
|
|
49
|
+
download(sdk_url, sdk_path, {
|
|
50
|
+
extract: true,
|
|
51
|
+
filter: (file) => {
|
|
52
|
+
return !file.path.includes('._');
|
|
53
|
+
},
|
|
54
|
+
}).then(() => {
|
|
55
|
+
console.info(`[node_pre_build] Downloading prebuilt sdk complete`);
|
|
56
|
+
}).catch((err) => {
|
|
57
|
+
console.error(`[node_pre_build] downloadSDK error:${err}`)
|
|
58
|
+
});
|
|
59
|
+
});
|
package/js/api/client.js
CHANGED
|
@@ -1,80 +1,147 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return this.client.
|
|
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
|
-
return this.client.
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NIMClient = void 0;
|
|
7
|
+
const loader_1 = __importDefault(require("../loader"));
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
|
+
class NIMClient extends events_1.default.EventEmitter {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.client = new loader_1.default.NIMClient({ "emit": this.emit.bind(this) });
|
|
13
|
+
}
|
|
14
|
+
/** NIM SDK初始化
|
|
15
|
+
* @param appKey 应用注册的APP KEY
|
|
16
|
+
* @param appDataDir 推荐用户目录放置在系统目录{AppData\Local},默认只需要传入目录名,SDK会默认在系统目录下创建该级用户目录。如果要使用其他自定义路径,需传入绝对路径路径,并确保该目录有正确的读写权限。
|
|
17
|
+
* @param appInstallDir SDK动态库所在的目录全路径(如果传入为空,则按照默认规则搜索该动态库)
|
|
18
|
+
* @param config 初始化参数
|
|
19
|
+
* @return bool 返回值true: 成功, false: 失败
|
|
20
|
+
*/
|
|
21
|
+
init(appKey, appDataDir, appInstallDir, config) {
|
|
22
|
+
return this.client.Init(appKey, appDataDir, appInstallDir, config);
|
|
23
|
+
}
|
|
24
|
+
/** 注册全局回调 */
|
|
25
|
+
initEventHandlers() {
|
|
26
|
+
return this.client.InitEventHandlers();
|
|
27
|
+
}
|
|
28
|
+
/** NIM客户端登录
|
|
29
|
+
* @param appKey
|
|
30
|
+
* @param account 帐号
|
|
31
|
+
* @param password 密码
|
|
32
|
+
* @param cb 登录流程的回调函数
|
|
33
|
+
* @param jsonExtension json扩展参数(v5.7.0 项目增加自定义参数字段)
|
|
34
|
+
* @return bool 检查参数如果不符合要求则返回失败
|
|
35
|
+
* @note
|
|
36
|
+
* <pre>
|
|
37
|
+
* 200:成功
|
|
38
|
+
* 302:账号或密码错误
|
|
39
|
+
* 403:禁止操作
|
|
40
|
+
* 408:请求超时
|
|
41
|
+
* 414:参数错误
|
|
42
|
+
* 415:网络连接出现错误
|
|
43
|
+
* 416:频率超限
|
|
44
|
+
* 422:账号被禁用
|
|
45
|
+
* </pre>
|
|
46
|
+
*/
|
|
47
|
+
login(appKey, account, password, cb, jsonExtension) {
|
|
48
|
+
return this.client.Login(appKey, account, password, cb, jsonExtension);
|
|
49
|
+
}
|
|
50
|
+
/** NIM客户端注销/退出
|
|
51
|
+
* @param logoutType Logout操作类型,其定义见nim_client_def.h
|
|
52
|
+
* @param cb 注销/退出的回调函数
|
|
53
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
54
|
+
* @return void 无返回值
|
|
55
|
+
* @note
|
|
56
|
+
* <pre>
|
|
57
|
+
* 200:成功
|
|
58
|
+
* 500:未知错误
|
|
59
|
+
* </pre>
|
|
60
|
+
*/
|
|
61
|
+
logout(logoutType, cb, jsonExtension) {
|
|
62
|
+
return this.client.Logout(logoutType, cb, jsonExtension);
|
|
63
|
+
}
|
|
64
|
+
/** NIM SDK清理
|
|
65
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
66
|
+
* @return void 无返回值
|
|
67
|
+
*/
|
|
68
|
+
cleanup(jsonExtension) {
|
|
69
|
+
return this.client.Cleanup(jsonExtension);
|
|
70
|
+
}
|
|
71
|
+
/** 获取SDK配置
|
|
72
|
+
* @return SDKConfig 返回值SDKConfig的引用 const类型,不可试图修改
|
|
73
|
+
*/
|
|
74
|
+
getSDKConfig() {
|
|
75
|
+
return this.client.GetSDKConfig();
|
|
76
|
+
}
|
|
77
|
+
/** 获取客户端登录状态
|
|
78
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
79
|
+
* @return NIMLoginState 登录状态
|
|
80
|
+
*/
|
|
81
|
+
getLoginState(jsonExtension) {
|
|
82
|
+
return this.client.GetLoginState(jsonExtension);
|
|
83
|
+
}
|
|
84
|
+
/** NIM客户端手动重连(注意 APP需要统一处理自动重连/手动重连的回调,因为如果处于某次自动重连的过程中调用手动重连接口,不起作用!)
|
|
85
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
86
|
+
* @return void 无返回值
|
|
87
|
+
*/
|
|
88
|
+
relogin(jsonExtension) {
|
|
89
|
+
return this.client.Relogin(jsonExtension);
|
|
90
|
+
}
|
|
91
|
+
/** 将本帐号的其他端踢下线
|
|
92
|
+
* @param clients 设备标识
|
|
93
|
+
* @return bool 检查参数如果不符合要求则返回失败, 接口调用成功后的结果通过注册RegKickOtherClientCb回调得到
|
|
94
|
+
*/
|
|
95
|
+
kickOtherClient(clients) {
|
|
96
|
+
return this.client.KickOtherClient(clients);
|
|
97
|
+
}
|
|
98
|
+
/** (全局回调)设置多端推送
|
|
99
|
+
* @param switch_on 开关
|
|
100
|
+
* @param cb 回调函数
|
|
101
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
102
|
+
* @return void
|
|
103
|
+
* @note
|
|
104
|
+
* <pre>
|
|
105
|
+
* 200:成功
|
|
106
|
+
* </pre>
|
|
107
|
+
*/
|
|
108
|
+
setMultiportPushConfigAsync(switch_on, cb, jsonExtension) {
|
|
109
|
+
return this.client.SetMultiportPushConfigAsync(switch_on, cb, jsonExtension);
|
|
110
|
+
}
|
|
111
|
+
/** 获得多端推送设置
|
|
112
|
+
* @param cb 回调函数
|
|
113
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
114
|
+
* @return void
|
|
115
|
+
*/
|
|
116
|
+
getMultiportPushConfigAsync(cb, jsonExtension) {
|
|
117
|
+
return this.client.GetMultiportPushConfigAsync(cb, jsonExtension);
|
|
118
|
+
}
|
|
119
|
+
/** 获取SDK版本号
|
|
120
|
+
* @return string 版本号
|
|
121
|
+
*/
|
|
122
|
+
getSDKVersion() {
|
|
123
|
+
return this.client.GetSDKVersion();
|
|
124
|
+
}
|
|
125
|
+
/** 获取当前服务器时间
|
|
126
|
+
* @param cb 操作结果的回调函数
|
|
127
|
+
* @param calc_local 是否在本地计算,false:直接到服务端查询 ,true:根据上次查询到的服务端时间与本地系统启动时间来计算,不会到服务端查询
|
|
128
|
+
* @return void
|
|
129
|
+
* @note
|
|
130
|
+
* <pre>
|
|
131
|
+
* 由于网络上/下行的原因,返回的时间会存在一定误差,
|
|
132
|
+
* 当 calc_local == false 时,如果跟上次调用该方法的时间间隔小于1000ms,SDK会采用 calc_local == true
|
|
133
|
+
* 时的方案以减少服务端的压力,并会在回调中指明返回的时间是由本地计算的。 如果返回 code != 200,同样会返回一个本地计算结果
|
|
134
|
+
* </pre>
|
|
135
|
+
*/
|
|
136
|
+
getServerCurrentTime(cb, calcLocal) {
|
|
137
|
+
return this.client.GetServerCurrentTime(cb, calcLocal);
|
|
138
|
+
}
|
|
139
|
+
/** 获取当前登录的用户账号(accid)
|
|
140
|
+
* @return string 当前登录的用户账号(accid)
|
|
141
|
+
* @note 没有登录时将返回空字符串 */
|
|
142
|
+
getCurrentUserAccount() {
|
|
143
|
+
return this.client.GetCurrentUserAccount();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.NIMClient = NIMClient;
|
|
147
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../ts/api/client.ts"],"names":[],"mappings":";;;;;;AAIA,uDAA4B;AAC5B,oDAAwB;AAuBxB,MAAa,SAAU,SAAQ,gBAAE,CAAC,YAAY;IAE1C;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;QAMI;IACJ,IAAI,CAAC,MAAc,EACf,UAAkB,EAClB,aAAqB,EACrB,MAAiB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,aAAa;IACb,iBAAiB;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;SAkBK;IACL,KAAK,CAAC,MAAc,EAChB,OAAe,EACf,QAAgB,EAChB,EAAiB,EACjB,aAAqB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;SAUK;IACL,MAAM,CAAC,UAAyB,EAC5B,EAAkB,EAClB,aAAqB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED;;;SAGK;IACL,OAAO,CAAC,aAAqB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;SAEK;IACL,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;;SAGK;IACL,aAAa,CAAC,aAAqB;QAC/B,OAAsB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED;;;SAGK;IACL,OAAO,CAAC,aAAqB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;;SAGK;IACL,eAAe,CAAC,OAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;SASK;IACL,2BAA2B,CAAC,SAAkB,EAC1C,EAA+B,EAC/B,aAAqB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACjF,CAAC;IAED;;;;SAIK;IACL,2BAA2B,CAAC,EAA+B,EAAE,aAAqB;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED;;SAEK;IACL,aAAa;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;;;;SAUK;IACL,oBAAoB,CAAC,EAAgC,EAAE,SAAkB;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;8BAE0B;IAC1B,qBAAqB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC/C,CAAC;CACJ;AAlKD,8BAkKC"}
|
package/js/api/data_sync.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NIMDataSync = void 0;
|
|
7
|
+
const loader_1 = __importDefault(require("../loader"));
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
|
+
class NIMDataSync extends events_1.default.EventEmitter {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.dataSync = new loader_1.default.NIMDataSync({ "emit": this.emit.bind(this) });
|
|
13
|
+
}
|
|
14
|
+
/** 注册全局回调 */
|
|
15
|
+
initEventHandlers() {
|
|
16
|
+
return this.dataSync.InitEventHandlers();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.NIMDataSync = NIMDataSync;
|
|
20
|
+
//# sourceMappingURL=data_sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_sync.js","sourceRoot":"","sources":["../../ts/api/data_sync.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA4B;AAC5B,oDAAwB;AASxB,MAAa,WAAY,SAAQ,gBAAE,CAAC,YAAY;IAE5C;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,aAAa;IACb,iBAAiB;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;CACJ;AAXD,kCAWC"}
|
package/js/api/friend.js
CHANGED
|
@@ -1,38 +1,101 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
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
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NIMFriend = void 0;
|
|
7
|
+
const loader_1 = __importDefault(require("../loader"));
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
|
+
class NIMFriend extends events_1.default.EventEmitter {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.friend = new loader_1.default.NIMFriend({ "emit": this.emit.bind(this) });
|
|
13
|
+
}
|
|
14
|
+
/** 注册全局回调 */
|
|
15
|
+
initEventHandlers() {
|
|
16
|
+
return this.friend.InitEventHandlers();
|
|
17
|
+
}
|
|
18
|
+
/** 添加、验证好友
|
|
19
|
+
* @param accid 对方帐号
|
|
20
|
+
* @param verify_type 好友验证类型
|
|
21
|
+
* @param msg 接口扩展字段
|
|
22
|
+
* @param cb 好友请求回调函数
|
|
23
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
24
|
+
* @return bool 检查参数如果不符合要求则返回失败
|
|
25
|
+
* @note
|
|
26
|
+
* <pre>
|
|
27
|
+
* 200:成功
|
|
28
|
+
* 404:用户不存在
|
|
29
|
+
* 500:未知错误
|
|
30
|
+
* </pre>
|
|
31
|
+
*/
|
|
32
|
+
request(accid, verify_type, msg, cb, jsonExtension) {
|
|
33
|
+
return this.friend.Request(accid, verify_type, msg, cb, jsonExtension);
|
|
34
|
+
}
|
|
35
|
+
/** 删除好友
|
|
36
|
+
* @param accid 对方帐号
|
|
37
|
+
* @param option 删除好友选项,目前仅有是否删除备注信息选项
|
|
38
|
+
* @param cb 删除好友回调函数
|
|
39
|
+
* @return bool 检查参数如果不符合要求则返回失败
|
|
40
|
+
* @note
|
|
41
|
+
* <pre>
|
|
42
|
+
* 200:成功
|
|
43
|
+
* 404:用户不存在
|
|
44
|
+
* 500:未知错误
|
|
45
|
+
* </pre>
|
|
46
|
+
*/
|
|
47
|
+
delete(accid, option, cb) {
|
|
48
|
+
return this.friend.Delete(accid, option, cb);
|
|
49
|
+
}
|
|
50
|
+
/** 更新好友资料
|
|
51
|
+
* @param profile 好友资料
|
|
52
|
+
* @param cb 更新好友资料回调函数
|
|
53
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
54
|
+
* @return bool 检查参数如果不符合要求则返回失败
|
|
55
|
+
* @note
|
|
56
|
+
* <pre>
|
|
57
|
+
* 200:成功
|
|
58
|
+
* 404:用户不存在
|
|
59
|
+
* 500:未知错误
|
|
60
|
+
* </pre>
|
|
61
|
+
*/
|
|
62
|
+
update(profile, cb, jsonExtension) {
|
|
63
|
+
return this.friend.Update(profile, cb, jsonExtension);
|
|
64
|
+
}
|
|
65
|
+
/** 增量获取好友列表
|
|
66
|
+
* @param cb 获取好友列表回调函数
|
|
67
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
68
|
+
* @return void 无返回值
|
|
69
|
+
* @note
|
|
70
|
+
* <pre>
|
|
71
|
+
* 200:成功
|
|
72
|
+
* </pre>
|
|
73
|
+
*/
|
|
74
|
+
getList(cb, jsonExtension) {
|
|
75
|
+
return this.friend.GetList(cb, jsonExtension);
|
|
76
|
+
}
|
|
77
|
+
/** 获取好友信息
|
|
78
|
+
* @param accid 对方帐号
|
|
79
|
+
* @param cb 获取好友信息回调函数
|
|
80
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
81
|
+
* @return void 无返回值
|
|
82
|
+
*/
|
|
83
|
+
getFriendProfile(accid, cb, jsonExtension) {
|
|
84
|
+
return this.friend.GetFriendProfile(accid, cb, jsonExtension);
|
|
85
|
+
}
|
|
86
|
+
/** 增量获取好友列表
|
|
87
|
+
* @param keyword 要查询的关键字
|
|
88
|
+
* @param cb 获取好友列表回调函数
|
|
89
|
+
* @param jsonExtension json扩展参数(备用,目前不需要)
|
|
90
|
+
* @return bool 返回 true 表示发送查询请求成功,返回 false 表示关键字为空
|
|
91
|
+
* @note
|
|
92
|
+
* <pre>
|
|
93
|
+
* 200:成功
|
|
94
|
+
* </pre>
|
|
95
|
+
*/
|
|
96
|
+
queryFriendListByKeyword(keyword, cb, jsonExtension) {
|
|
97
|
+
return this.friend.QueryFriendListByKeyword(keyword, cb, jsonExtension);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.NIMFriend = NIMFriend;
|
|
101
|
+
//# sourceMappingURL=friend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"friend.js","sourceRoot":"","sources":["../../ts/api/friend.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA4B;AAC5B,oDAAwB;AAYxB,MAAa,SAAU,SAAQ,gBAAE,CAAC,YAAY;IAE1C;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,aAAa;IACb,iBAAiB;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;SAaK;IACL,OAAO,CAAC,KAAa,EAAE,WAA0B,EAAE,GAAW,EAAE,EAAqB,EAAE,aAAqB;QACxG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;SAWK;IACL,MAAM,CAAC,KAAa,EAAE,MAA0B,EAAE,EAAqB;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;SAWK;IACL,MAAM,CAAC,OAAsB,EAAE,EAAqB,EAAE,aAAqB;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;SAQK;IACL,OAAO,CAAC,EAA0B,EAAE,aAAqB;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;;;;SAKK;IACL,gBAAgB,CAAC,KAAa,EAAE,EAA4B,EAAE,aAAqB;QAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;SASK;IACL,wBAAwB,CAAC,OAAe,EAAE,EAA0B,EAAE,aAAqB;QACvF,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC;CACJ;AAlGD,8BAkGC"}
|