nim-web-sdk-ng 10.2.0-beta → 10.2.0

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 CHANGED
@@ -1,81 +1,69 @@
1
- 网易云信即时通讯 Web Elite SDK,为 web sdk 的下一代版本,提供完善的即时通信功能开发框架,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便第三方应用快速集成即时通信功能。
1
+ 网易云信即时通讯 IM Elite SDK,为 web sdk 的下一代版本,提供完善的即时通信功能开发框架,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便第三方应用快速集成即时通信功能。
2
2
 
3
- 安装
3
+ IM Elite SDK 分为 V1 和 V2 两个版本。V2 对 V1 的 API 接口做了大幅调整,并与其它客户端对齐。其中 V1 版本号 < 1,V2 版本号 >= 10。
4
4
 
5
+ ## 安装
6
+ 如果你是新用户,推荐使用 V2 API 的SDK,安装方式为:
5
7
  ```
6
- npm install nim-web-sdk-ng@latest
8
+ npm install nim-web-sdk-ng@">=10"
7
9
  ```
8
10
 
9
- ## sdk 选择
11
+ 如果你是现有 V1 增强版用户,可使用下面命令安装 SDK。或者使用固定版本号安装
12
+ ```
13
+ npm install nim-web-sdk-ng@"<1"
14
+ ```
10
15
 
11
- sdk 默认提供以下几种形式
16
+ ## IM V2
17
+
18
+ ### sdk 选择
19
+
20
+ sdk 默认提供以下几种形式。其中 sdk 默认入口为 dist/v2/NIM_BROWSER_SDK.js。
21
+ 注意,v2 暂未提供 QCHAT SDK。v2 IM SDK 接口兼容 v1 IM SDK。所以 v1 文件夹中没有构建 IM SDK。
12
22
 
13
23
  ```
14
24
  dist/
15
- ├── CHATROOM_BROWSER_SDK.js 聊天室浏览器适配版 UMD 格式
16
- ├── CHATROOM_MINIAPP_SDK.js 聊天室小程序适配版 UMD 格式
17
- ├── CHATROOM_UNIAPP_SDK.js 聊天室 UNIAPP 适配版 UMD 格式
18
- ├── NIM_BROWSER_SDK.js IM 浏览器适配版 UMD 格式
19
- ├── NIM_MINIAPP_SDK.js IM 小程序适配版 UMD 格式
20
- ├── NIM_UNIAPP_SDK.js IM UNIAPP 适配版 UMD 格式
21
- ├── QCHAT_BROWSER_SDK.js 圈组浏览器适配版 UMD 格式
22
- ├── esm
23
- ├── adapters.d.ts
24
- ├── index.d.ts
25
- ├── index.js ESM 模式,汇总各模块的,ES Module 格式
25
+ |── v2
26
+ ├── NIM_BROWSER_SDK.js v2 IM 浏览器适配版 UMD 格式
27
+ ├── NIM_MINIAPP_SDK.js v2 IM 小程序适配版 UMD 格式
28
+ ├── NIM_UNIAPP_SDK.js v2 IM UNIAPP 适配版 UMD 格式
29
+ ├── CHATROOM_BROWSER_SDK.js v2 聊天室浏览器适配版 UMD 格式
30
+ ├── CHATROOM_MINIAPP_SDK.js v2 聊天室小程序适配版 UMD 格式
31
+ ├── CHATROOM_UNIAPP_SDK.js v2 聊天室 UNIAPP 适配版 UMD 格式
32
+ |── v1
33
+ ├── CHATROOM_BROWSER_SDK.js v1 聊天室浏览器适配版 UMD 格式
34
+ ├── CHATROOM_MINIAPP_SDK.js v1 聊天室小程序适配版 UMD 格式
35
+ ├── CHATROOM_UNIAPP_SDK.js v1 聊天室 UNIAPP 适配版 UMD 格式
36
+ ├── QCHAT_BROWSER_SDK.js v1 圈组浏览器适配版 UMD 格式
37
+ ├── QCHAT_UNIAPP_SDK.js v1 圈组浏览器适配版 UMD 格式
26
38
  ```
27
39
 
28
- 注意:
29
-
30
- 1. 这里的小程序适配版,其实是指四种小程序:微信、头条、百度、支付宝
31
- 2. ESM 模式的 SDK,导出了 IM、聊天室、圈组三个 SDK,以及适配器,对体积有比较严格的需求的建议使用这个模式。
32
-
33
40
  #### 基础引入例子
34
41
 
35
42
  ```js
36
43
  // 若使用 IM 能力则引入
37
44
  import NIM from 'nim-web-sdk-ng'
38
45
  // 等效于
39
- import NIM from 'nim-web-sdk-ng/dist/NIM_BROWSER_SDK'
40
-
41
- // 若使用聊天室能力则引入
42
- import Chatroom from 'nim-web-sdk-ng/dist/CHATROOM_BROWSER_SDK'
46
+ import NIM from 'nim-web-sdk-ng/dist/v2/NIM_BROWSER_SDK'
43
47
 
44
48
  // 0.11.0 版开始支持单例模式获取实例, 在此之前通过 new 创建实例
45
49
  const nim = NIM.getInstance(
46
50
  {
47
- debugLevel: 'debug',
48
- appkey: 'YOUR_APPKEY',
49
- account: 'YOUR_ACCOUNT',
50
- token: 'YOUR_TOKEN'
51
+ "appkey": "YOUR_APPKEY",
52
+ "debugLevel": "debug",
53
+ "apiVersion": "v2"
51
54
  },
52
55
  {}
53
56
  )
54
57
 
55
- // 0.11.0 版开始支持单例模式获取实例, 在此之前通过 new 创建实例
56
- const chatroom = Chatroom.getInstance({
57
- debugLevel: 'debug',
58
- appkey: 'YOUR_APPKEY',
59
- account: 'YOUR_ACCOUNT',
60
- token: 'YOUR_TOKEN',
61
- isAnonymous: false,
62
- chatroomId: 'YOUR_CHATROOM_ID',
63
- chatroomAddresses: ['YOUR_CHATRROM_ADDR']
58
+ nim.V2NIMLoginService.on('onLoginStatus', function(arg1) {
59
+ console.log('收到 V2NIMLoginService 模块的 onLoginStatus 事件', arg1)
64
60
  })
65
61
 
66
62
  async function init() {
67
63
  try {
68
- if (nim.status === 'unconnected' || nim.status === 'waitReconnect') {
69
- await nim.connect()
70
- }
71
- } catch (err) {
72
- console.error('login failed cause', err)
73
- }
74
-
75
- try {
76
- if (chatroom.status === 'unconnected' || chatroom.status === 'waitReconnect') {
77
- await chatroom.connect()
78
- }
64
+ await nim.V2NIMLoginService.login("YOUR_ACCOUNT", "YOUR_TOKEN", {
65
+ "authType": 0
66
+ })
79
67
  } catch (err) {
80
68
  console.error('login failed cause', err)
81
69
  }
@@ -84,24 +72,30 @@ async function init() {
84
72
  init()
85
73
  ```
86
74
 
87
- #### ESM 模式的使用例子
75
+ ## IM V1
76
+
77
+ ### sdk 选择
88
78
 
89
- **需要 version >= 0.6.1**,对于开发者有体积要求的需求,单独引入 上述 SDK,会使得代码总体积比较大,故而可以选用 ESM 形式引入。
79
+ sdk 默认提供以下几种形式
90
80
 
91
- IM 需要自行注册模块,和适配器。
81
+ ```
82
+ dist/
83
+ ├── CHATROOM_BROWSER_SDK.js 聊天室浏览器适配版 UMD 格式
84
+ ├── CHATROOM_MINIAPP_SDK.js 聊天室小程序适配版 UMD 格式
85
+ ├── CHATROOM_UNIAPP_SDK.js 聊天室 UNIAPP 适配版 UMD 格式
86
+ ├── NIM_BROWSER_SDK.js IM 浏览器适配版 UMD 格式
87
+ ├── NIM_MINIAPP_SDK.js IM 小程序适配版 UMD 格式
88
+ ├── NIM_UNIAPP_SDK.js IM UNIAPP 适配版 UMD 格式
89
+ ├── QCHAT_BROWSER_SDK.js 圈组浏览器适配版 UMD 格式
90
+ ```
92
91
 
93
- 参见 node_modules 里关于 esm 模块的 ts 定义来获知有多少种模块和适配器选择,最终希望开发者的工程能够 tree-shaking 掉不需要的模块。
92
+ #### 基础引入例子
94
93
 
95
94
  ```js
96
- import { NIM, MsgService, SessionService } from 'nim-web-sdk-ng/dist/esm'
97
- import browserAdapters from 'nim-web-sdk-ng/dist/esm/browserAdapters'
98
- // import miniAdapters from 'nim-web-sdk-ng/dist/esm/miniAppAdapters'
99
- // import uniAppAdapters from 'nim-web-sdk-ng/dist/esm/uniAppAdapters'
100
-
101
- // ESM 模式,IM 依赖的能力需要自行注册,以便于不用的模块最后能被 tree-shaking 掉。
102
- NIM.setAdapters(browserAppAdapters)
103
- NIM.registerService(MsgService, 'msg')
104
- NIM.registerService(SessionService, 'session')
95
+ // 若使用 IM 能力则引入
96
+ import NIM from 'nim-web-sdk-ng'
97
+ // 等效于
98
+ import NIM from 'nim-web-sdk-ng/dist/NIM_BROWSER_SDK'
105
99
 
106
100
  // 0.11.0 版开始支持单例模式获取实例, 在此之前通过 new 创建实例
107
101
  const nim = NIM.getInstance(
@@ -125,67 +119,4 @@ async function init() {
125
119
  }
126
120
 
127
121
  init()
128
- ```
129
-
130
- 而聊天室和圈组的 SDK,只需要注册适配器,不需要注册模块,因为其各模块在功能上是不可拆分的,所以全都合并在 SDK 中。
131
-
132
- ```js
133
- import { Chatroom } from 'nim-web-sdk-ng/dist/esm'
134
- import browserAdapters from 'nim-web-sdk-ng/dist/esm/browserAdapters'
135
-
136
- Chatroom.setAdapters(browserAppAdapters)
137
-
138
- // 0.11.0 版开始支持单例模式获取实例, 在此之前通过 new 创建实例
139
- const chatroom = Chatroom.getInstance({
140
- debugLevel: 'debug',
141
- appkey: 'YOUR_APPKEY',
142
- account: 'YOUR_ACCOUNT',
143
- token: 'YOUR_TOKEN',
144
- isAnonymous: false,
145
- chatroomId: 'YOUR_CHATROOM_ID',
146
- chatroomAddresses: ['YOUR_CHATRROM_ADDR']
147
- })
148
-
149
- async function init() {
150
- try {
151
- if (chatroom.status === 'unconnected' || chatroom.status === 'waitReconnect') {
152
- await chatroom.connect()
153
- }
154
- } catch (err) {
155
- console.error('login failed cause', err)
156
- }
157
- }
158
-
159
- init()
160
- ```
161
-
162
- ## 使用指引目录
163
-
164
- IM
165
-
166
- - [快速开始](https://doc.yunxin.163.com/messaging-enhanced/docs/DQwMDE5MDk?platform=web)
167
- - [初始化与登录](https://doc.yunxin.163.com/messaging-enhanced/docs/DE1MTcxNzg?platform=web)
168
- - [消息收发](https://doc.yunxin.163.com/messaging-enhanced/docs/TQ2NTUxNTM?platform=web)
169
- - [消息扩展](https://doc.yunxin.163.com/messaging-enhanced/docs/DYzMDAyMjg?platform=web)
170
- - [会话](https://doc.yunxin.163.com/messaging-enhanced/docs/TgxNjczNzk?platform=web)
171
- - [用户](https://doc.yunxin.163.com/messaging-enhanced/docs/Dc0Njg0NjY?platform=web)
172
- - [好友](https://doc.yunxin.163.com/messaging-enhanced/docs/zc2MTk2MjE?platform=web)
173
- - [订阅](https://doc.yunxin.163.com/messaging-enhanced/docs/TE2ODU3NjM?platform=web)
174
- - [系统通知](https://doc.yunxin.163.com/messaging-enhanced/docs/DIyMDE2NDM?platform=web)
175
- - [群组](https://doc.yunxin.163.com/messaging-enhanced/docs/DA4OTc3NDc?platform=web)
176
- - [超级群](https://doc.yunxin.163.com/messaging-enhanced/docs/TY3MzM1ODg?platform=web)
177
- - [uniapp 推送相关](https://doc.yunxin.163.com/messaging-enhanced/docs/TAwMTEyNzE?platform=web)
178
-
179
- 聊天室
180
-
181
- - [聊天室](https://doc.yunxin.163.com/messaging-enhanced/docs/jM2MzczOTE?platform=web)
182
-
183
- 圈组
184
-
185
- - [圈组](https://doc.yunxin.163.com/messaging-enhanced/docs/TczMjgzMzU?platform=web)
186
-
187
- 其他
188
-
189
- - [API 参考](https://doc.yunxin.163.com/docs/interface/messaging-enhanced/web/typedoc/Latest/zh/NIM/index.html)
190
- - [已知问题](https://doc.yunxin.163.com/messaging-enhanced/docs/jE5NTczNTI?platform=web)
191
- - [更新日志](https://doc.yunxin.163.com/messaging-enhanced/docs/zMwOTk5MjI?platform=web)
122
+ ```