Skip to content

Commit 66bfef3

Browse files
committed
feat: 优化 RC 组件消息处理逻辑,移除冗余日志,增强安全性,更新页面初始化方法以处理 token 过期事件
feat: 新增 demo feat: 新增demo feat: 改名字 feat: 更新 README.md 示例代码,调整 package.json 构建脚本,优化 vite.config.ts 配置,新增 demo.html 文件以展示通过 CDN 引入的用法
1 parent 573894e commit 66bfef3

File tree

16 files changed

+155
-734
lines changed

16 files changed

+155
-734
lines changed

README.md

Lines changed: 14 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
一个用于嵌入融云控制台组件的 JavaScript SDK,支持在网页中动态加载和管理融云控制台的 iframe 组件。
44

5-
## 特性
6-
7-
- 🎯 **简单易用** - 简洁的 API 设计,快速集成
8-
- 🔄 **实例管理** - 支持多实例创建和管理
9-
- 🌐 **跨域通信** - 基于 postMessage 的安全通信
105

116
## 安装
127

@@ -23,7 +18,7 @@ npm install @rongcloud/embed-console-sdk
2318
import RC from '@rongcloud/embed-console-sdk';
2419

2520
// UMD (通过 script 标签引入)
26-
// <script src="path/to/embed.umd.js"></script>
21+
<script src="https://cdn.ronghub.com/embed/console/embed.umd.js"></script>
2722
// 全局变量 RC 可用
2823
```
2924

@@ -33,10 +28,8 @@ import RC from '@rongcloud/embed-console-sdk';
3328
// 创建一个 RC 实例
3429
const instance = await RC.init(
3530
'my-container', // 容器元素 ID
36-
'https://console.rongcloud.cn/...' // 访问令牌 URL
31+
'https://console.rongcloud.cn/...' // 访问令牌
3732
);
38-
39-
console.log('RC 组件初始化完成');
4033
```
4134

4235
### 3. HTML 容器
@@ -61,39 +54,7 @@ console.log('RC 组件初始化完成');
6154
**返回:** `Promise<RCInstance>`
6255

6356
```javascript
64-
const instance = await RC.init('container', 'token-url');
65-
```
66-
67-
#### RC.getAllInstances()
68-
69-
获取所有已创建的实例。
70-
71-
**返回:** `Record<string, RCInstance>`
72-
73-
```javascript
74-
const instances = RC.getAllInstances();
75-
console.log('当前实例数量:', Object.keys(instances).length);
76-
```
77-
78-
#### RC.getInstance(instanceId)
79-
80-
根据实例 ID 获取特定实例。
81-
82-
**参数:**
83-
- `instanceId` (string): 实例 ID
84-
85-
**返回:** `RCInstance | null`
86-
87-
```javascript
88-
const instance = RC.getInstance('rc_1234567890_abcdef123');
89-
```
90-
91-
#### RC.destroyAll()
92-
93-
销毁所有实例并清理资源。
94-
95-
```javascript
96-
RC.destroyAll();
57+
const instance = await RC.init('container', 'access token');
9758
```
9859

9960
#### RC.getEventNames()
@@ -111,13 +72,13 @@ console.log('可用事件:', events); // ['expired', 'initError']
11172

11273
#### instance.on(eventType, handler)
11374

114-
监听事件
75+
监听事件
11576

11677
**参数:**
11778
- `eventType` (string): 事件类型
11879
- `handler` (function): 事件处理函数
11980

120-
**返回:** `RCInstance` (支持链式调用)
81+
**返回:** `RCInstance`
12182

12283
```javascript
12384
instance.on(RC.EVENTS.EXPIRED, (event) => {
@@ -126,12 +87,16 @@ instance.on(RC.EVENTS.EXPIRED, (event) => {
12687
});
12788
```
12889

129-
## 浏览器兼容性
90+
#### instance.destory()
91+
92+
销毁实例
13093

131-
- Chrome 60+
132-
- Firefox 55+
133-
- Safari 12+
134-
- Edge 79+
94+
```javascript
95+
instance.destory();
96+
```
97+
98+
99+
## 浏览器兼容性
135100

136101
支持现代浏览器,需要 ES6+ 和 postMessage API 支持。
137102

docs/assets/index-CItDLJ3Q.js

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/assets/index-fpaG6lRH.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/demo.html

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>通过CDN引入</title>
7+
<style>
8+
#root {
9+
width: 100vw;
10+
height: 100vh;
11+
}
12+
</style>
13+
</head>
14+
<script src="https://cdn.ronghub.com/embed/console/embed.umd.js"></script>
15+
<body>
16+
<div id="root"></div>
17+
<script>
18+
const token = prompt('请输入token:')
19+
if(!token){
20+
location.reload()
21+
}else {
22+
const instance = RC.init('root', token);
23+
instance.on(RC.EVENTS.EXPIRED, () => {
24+
alert('token已过期,请重新输入token')
25+
})
26+
}
27+
</script>
28+
</body>
29+
</html>

0 commit comments

Comments
 (0)