@plasosdk/plaso-electron-sdk 1.3.2 → 1.3.4

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/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ ## [1.3.4](https://www.npmjs.com/package/@plasosdk/plaso-electron-sdk/v/1.3.4)(2025-08-18)
2
+
3
+ ### 1. 修改了插入云盘文件相关的文档说明
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  - MacOS 支持 x64、arm64架构
4
4
  - Windows 支持 x86、x64架构
5
+
5
6
  **<font color=red>Electron 版本要求: 14.0.0~22.3.27</font>**
6
7
 
7
8
  # 1、接入步骤
@@ -58,11 +59,7 @@ MacOS打包完毕后,建议安装打好的包后自行验证上述的操作时
58
59
 
59
60
  ## 1.2、使用
60
61
 
61
- ### 1.2.1、npm 包位置
62
-
63
- 将下载的 npm 包放到 应用本地的`node_modules`目录下,一般是 electron 应用的`resources/app`目录下
64
-
65
- ### 1.2.2、主进程
62
+ ### 1.2.1、在主进程中使用
66
63
 
67
64
  需要在主进程加载 `@plasosdk/plaso-electron-sdk` 依赖包
68
65
 
@@ -84,35 +81,15 @@ const { initRemoteMain } = require('@plasosdk/plaso-electron-sdk');
84
81
  initRemoteMain(remoteMain);
85
82
  ```
86
83
 
87
- ### 1.2.3、渲染进程
88
-
89
- #### 1.2.3.1、打开 实时课堂
90
-
91
- (1)调用方法:**createLiveClassWindow**
92
-
93
- (2)入参参考: [2、实时课堂参数说明](#2、实时课堂入参说明)
84
+ ### 1.2.2、在渲染进程中使用
94
85
 
95
- #### 1.2.3.2、打开备课课堂
96
-
97
- (1)调用方法:**createPrepareClassWindow**
98
-
99
- (2)入参参考:[3、备课课堂参数说明](#3、备课课堂入参说明)
100
-
101
- #### 1.2.3.3、[确定日志的写入位置](#5.1、initLogConfig)
102
-
103
- ```ts
104
- // 代码示例
105
- const PlasoElectronSdk = window.require('@plasosdk/plaso-electron-sdk');
106
- const logFilePath = 'C:/Users/userName/Desktop/electronDemo/electron12.0.18_x32/resources/app';
107
- PlasoElectronSdk.initLogConfig(logFilePath);
108
- ```
109
-
110
- #### 1.2.3.4、[创建 课堂/备课 窗口](#5.3、createLiveClassWindow)
86
+ <a id="open-sdk-window-params"></a>
111
87
 
88
+ **打开实时课堂/备课课堂方法入参类型定义**
112
89
  ```ts
113
90
  interface CreateClassPamras {
114
91
  classOptions: Object;
115
- electronWinOptions?: Object;
92
+ electronWinOptions?: Electron.BrowserWindowConstructorOptions;
116
93
  onClassWindowReadyFn?: (winId: number) => void
117
94
  onClassWindowLeaveFn?: (winId: number) => void
118
95
  onClassFinishedFn?: (meetingId: string) => void;
@@ -126,17 +103,32 @@ interface CreateClassPamras {
126
103
  onOpenResourceCenterFn?: () => void;
127
104
  onGetExtFileNameFn?: (...args: any[]) => Promise<string>;
128
105
  }
106
+ ```
107
+
108
+ #### 1.2.3.1、打开实时课堂
129
109
 
110
+ ```ts
130
111
  // 代码示例
131
112
  const PlasoElectronSdk = window.require('@plasosdk/plaso-electron-sdk');
132
- const createClassParams: CreateClassPamras = { classOptions: { query } };
113
+ const createLiveClassParams: CreateClassPamras = { classOptions: { query } };
114
+ PlasoElectronSdk.createLiveClassWindow(createLiveClassParams);
115
+ ```
116
+
117
+ 入参详见[实时课堂参数说明](#live-class-params)
133
118
 
134
- //创建实时课堂
135
- PlasoElectronSdk.createLiveClassWindow(createClassParams);
136
- // or 创建备课课堂
119
+ #### 1.2.3.2、打开备课课堂
120
+
121
+ ```ts
122
+ // 代码示例
123
+ const PlasoElectronSdk = window.require('@plasosdk/plaso-electron-sdk');
124
+ const createPrepareClassParams: CreateClassPamras = { classOptions: { loginName: 'hello', userName: 'world' } };
137
125
  PlasoElectronSdk.createPrepareClassWindow(createClassParams);
138
126
  ```
139
127
 
128
+ 入参详见[备课课堂入参说明](#prepare-class-params)
129
+
130
+
131
+ <a id="live-class-params"></a>
140
132
  # 2、实时课堂入参说明
141
133
 
142
134
  ## 2.1、参数 classOptions
@@ -149,7 +141,7 @@ PlasoElectronSdk.createPrepareClassWindow(createClassParams);
149
141
 
150
142
  | 参数 | 是否必传 | 类型 | 默认值 | 说明 |
151
143
  | --- | --- | --- | --- | --- |
152
- | query | 是 | string | 无 | 进课堂必传字段,具体拼接逻辑见下文[query 属性说明](#211query-属性) |
144
+ | query | 是 | string | 无 | 进课堂必传字段,具体拼接逻辑见下文[query 属性说明](#query) |
153
145
  | displayAvatarUrl | 否 | string | 无 | 用户头像地址 |
154
146
  | classMembers | 否 | object[] | 无 | 1、课对应的班级用户信息<br />2、初始化课堂参与人<br /><br />3、最多支持 2000 人,需要支持更多学生需要联系伯索平台进行额外申请<br />{<br /><br />/** 唯一标识该用户的 id \*/<br />loginName: string,<br /><br />/** 用户显示的姓名 _/<br />name: string,<br />/\*\* 用户角色,"speaker","assistant","listener","superlistener" 之一 _/<br />upimeRole: string,<br />/** 用户的 id,和云学堂业务强相关,sdk 用户非必要 \*/<br />unique_id: number \| string<br />/** 用户头像图片的 url,非必要 \*/<br />displayAvatarUrl: string,<br />} |
155
147
  | enableENC | 否 | boolean | true | 是否启用降噪 |
@@ -163,6 +155,7 @@ PlasoElectronSdk.createPrepareClassWindow(createClassParams);
163
155
  | residentCamera | 否 | boolean | false | 常驻摄像头:只对学生或游客生效 |
164
156
  | | | | | |
165
157
 
158
+ <a id="query"></a>
166
159
  ### 2.1.1、query 属性
167
160
 
168
161
  **query 属性格式示例**:
@@ -213,7 +206,7 @@ interface IQueryParams {
213
206
  | 参数 | 类型 | 说明 |
214
207
  | --- | --- | --- |
215
208
  | appId | string | 在申请接入时,伯索平台给予的 appId |
216
- | signature | string | 签名字符串,根据queryParams中除去signature参数的其他参数生成,生成示例参考[根据queryParams对象生成签名字符串](#2112根据-queryParams-对象生成签名字符串) |
209
+ | signature | string | 签名字符串,根据queryParams中除去signature参数的其他参数生成,生成示例参考[根据queryParams对象生成签名字符串](#generate-signature) |
217
210
  | validBegin | number | 请求课堂**开始生效起始时间**的 Unix Epoch 时间戳,单位秒:(时间戳/1000 再取整) |
218
211
  | validTime | number | 请求的**签名在课堂的有效时间段**(断网重连后会重新校验签名),单位秒,建议: 24 _ 60 _ 60 s |
219
212
  | endTime | number | 请求课堂**结束时间**的 Unix Epoch 时间戳,单位秒:(时间戳/1000 再取整) |
@@ -248,11 +241,12 @@ interface IQueryParams {
248
241
  | d_sharpness | number | 10 | 无 | 头像推流清晰度、桌面共享清晰度<br />**仅 onlineMode 为 1 时生效**:<br />10:标清 20:高清 21: 高清流畅 30:超清 31: 超清流畅 |
249
242
  | isNewMT | number | 0 | 1 | 是否支持 移动授课模式;<br />建议传 1 |
250
243
  | d_enableDualCamera | number | 0 | 无 | 是否开启双摄,1:开启,0: 关闭 |
251
- | recordType | number | 无 | 无 | 配置 recordAvartor 设置录制对象,参数说明参考[附录 9-1](#91recordtype) |
244
+ | recordType | number | 无 | 无 | 配置 recordAvartor 设置录制对象,参数说明参考[附录 9.1](#record-type) |
252
245
  | recordAvator | string | '' | 无 | 传入老师/助教的`loginName`表示录制对应人的头像 |
253
246
  | recordScreen | string | '' | 无 | 传入'screen'表示录制屏幕(当前仅支持录制老师屏幕)|
254
247
  | | | | | |
255
248
 
249
+ <a id="generate-signature"></a>
256
250
  #### 2.1.1.2、根据 queryParams 对象生成签名字符串
257
251
 
258
252
  (1)**用户把 queryParams 作为参数传给自己的接口,接口返回值必须返回签名字符串:signature**
@@ -314,7 +308,7 @@ function genQuery(queryParams) {
314
308
  genQuery(queryParams);
315
309
  ```
316
310
 
317
-
311
+ <a id="prepare-class-params"></a>
318
312
  # 3、备课课堂入参说明
319
313
 
320
314
  ## 3.1、参数 classOptions
@@ -344,14 +338,16 @@ genQuery(queryParams);
344
338
 
345
339
  1、备课课堂直接通过任务栏关闭不会清空本地记录的板书内容,下次进入后会 板书交互会和上次进入的板书 配置一致(即使 d_enableObjectEraser 参数 值变动了)
346
340
 
347
- # 4、实时课堂&备课课堂 通用参数说明
341
+ # 4、打开实时课堂/备课课堂通用参数说明
342
+
343
+ ## 4.1、参数 electronWinOptions
348
344
 
349
- ## 4.1、参数 electronWinOptions
345
+ > **即将弃用**: 不推荐传入,SDK内部默认设置了一些窗口参数,为了保证最佳体验,不要传入此参数。
350
346
 
351
- electron 的窗口参数,详情参考 [electron 官方文档](https://www.electronjs.org/zh/docs/latest/api/browser-window#winwebcontents-%E5%8F%AA%E8%AF%BB)
347
+ Electron的窗口参数,详情参考 [Electron官方文档](https://www.electronjs.org/zh/docs/latest/api/browser-window#new-browserwindowoptions)
352
348
 
353
349
  ```ts
354
- type electronWinOptions = object;
350
+ type electronWinOptions = Electron.BrowserWindowConstructiorOptions;
355
351
  ```
356
352
 
357
353
  ## 4.2、参数回调 onClassWindowReadyFn
@@ -423,20 +419,19 @@ type onOpenResourceCenterFn = () => void;
423
419
  type onGetExtFileNameFn = (...args: any[]) => Promise<string>;
424
420
  ```
425
421
 
426
- # 5、对外的交互方法
422
+ # 5、API参考
427
423
 
428
- ## 5.1、initLogConfig
424
+ ## 5.1、PlasoElectronSdk.initLogConfig
429
425
 
430
426
  **初始化课堂窗口日志位置**,窗口崩溃时会在同级目录下生成 reports 文件夹存储 dump,**在 调用 createLiveClassWindow 前设置**
431
427
 
432
428
  **日志默认位置**:
433
429
 
434
- ```
435
- windows:C:\Users\${userName}\AppData\Roaming\\${appName}\P403FileTemp
436
- ```
430
+ ```js
431
+ require('path').join(require('electron').app.getPath('userData'), 'P403FileTemp');
437
432
 
438
- ```ts
439
- path.join(remote.app.getPath('userData'), '/P403FileTemp/');
433
+ // Windows:C:\Users\${userName}\AppData\Roaming\${appName}\P403FileTemp
434
+ // Mac:/Users/${userName}/Application\ Support/${appName}/P403FileTemp
440
435
  ```
441
436
 
442
437
  参数示例:
@@ -448,7 +443,7 @@ const logFilePath = 'C:/Users/userName/Desktop/electronDemo/electron12.0.18_x32/
448
443
  PlasoElectronSdk.initLogConfig(logFilePath);
449
444
  ```
450
445
 
451
- ## 5.2、getVersion
446
+ ## 5.2、PlasoElectronSdk.getVersion
452
447
 
453
448
  返回包的版本,格式:x.x.x
454
449
 
@@ -456,87 +451,28 @@ PlasoElectronSdk.initLogConfig(logFilePath);
456
451
  type getVersion = () => string;
457
452
  ```
458
453
 
459
- ## 5.3、createLiveClassWindow
454
+ ## 5.3、PlasoElectronSdk.createLiveClassWindow
460
455
 
461
- **创建实时课堂窗口**,入参参考 见 “[**2、实时课堂入参说明**](#2、实时课堂入参说明)”
456
+ **创建实时课堂窗口**
462
457
 
463
458
  ```ts
464
- /**
465
- * @typedef {Object} classOptionsType
466
- * @property {boolean} [debug] - 是否开启课堂窗口debug模式
467
- * @property {string} query - 进课堂的必备query
468
- * @property {string} [version] - 格式参考:1.53.901
469
- */
470
-
471
- /**
472
- * @typedef {Object} FileParams
473
- * @property {string[]} filePath - 备课文件本地地址
474
- * @property {'png' | 'pb' | string} fileType
475
- */
476
-
477
- /**
478
- * @typedef {Object} classWindowType
479
- * @property {classOptionsType} classOptions 进课堂参数对象
480
- * @property {Object} [electronWinOptions] 自定义electron的窗口参数
481
- * @property {(winId: number)=>void} [onClassWindowReadyFn] 课堂窗口打开渲染成功后的回调
482
- * @property {(winId: number)=>void} [onClassWindowLeaveFn] 课堂窗口关闭后的回调
483
- * @property {(meetingId: string)=>void} [onClassFinishedFn] 课堂结束后的回调
484
- * @property {(
485
- * params: {
486
- * fileInfo: FileParams[],
487
- * fileName?: string
488
- * },
489
- * callback: (result: boolean) => void
490
- * ) => void} [onSaveBoardFn] 保存板书,具体的保存逻辑由外部实现,取消保存板书时,callback传false, 不然传true
491
- * @property {()=>void} [onOpenResourceCenterFn] 通知外部用户打开自己的资料中心,资料中心的具体ui和逻辑由外部用户自己实现
492
- *
493
- */
494
-
495
- /**
496
- * @param {classWindowType} classWindowProps
497
- * @returns
498
- */
499
- function createClassWindow(classWindowProps) {/**
500
- * @typedef {Object} classOptionsType
501
- * @property {boolean} [debug] - 是否开启课堂窗口debug模式
502
- * @property {string} query - 进课堂的必备query,其中部分参数需要签名
503
- */
504
-
505
- /**
506
- * @typedef {Object} liveClassWindowType
507
- * @property {classOptionsType} classOptions 进课堂参数对象
508
- * @property {Object} [electronWinOptions] 自定义electron的窗口参数
509
- * @property {(winId: number)=>void} [onClassWindowReadyCb] 课堂窗口打开渲染成功后的回调
510
- * @property {()=>void} [onClassWindowLeaveCb] 课堂窗口关闭后的回调
511
- * @property {()=>void} [onClassFinishedCb] 课堂结束后的回调
512
- */
513
-
514
- /**
515
- * @param {liveClassWindowType} liveClassWindowProps
516
- * @returns
517
- */
518
- function createLiveClassWindow({
519
- classOptions,
520
- electronWinOptions,
521
- onClassWindowReadyCb,
522
- onClassWindowLeaveCb,
523
- onClassFinishedCb,
524
- }){
525
- ......
526
- }
459
+ function createLiveClassWindow(params: CreateClassPamras): void;
527
460
  ```
461
+ 参数详见[打开实时课堂/备课课堂方法入参类型定义](#open-sdk-window-params)
528
462
 
529
- ## 5.4、createPrepareClassWindow
463
+ ## 5.4、PlasoElectronSdk.createPrepareClassWindow
530
464
 
531
- **创建备课课堂窗口**,入参参考 见 “[**3、备课课堂入参说明**](#3、备课课堂入参说明)”
532
-
533
- ```
534
- 参数详情 参考 createLiveClassWindow方法的说明
465
+ **创建备课课堂窗口**
466
+ ```ts
467
+ function createLiveClassWindow(params: CreateClassPamras): void;
535
468
  ```
469
+ 参数详见[打开实时课堂/备课课堂方法入参类型定义](#open-sdk-window-params)
536
470
 
537
- ## 5.5、insertObject
471
+ <a id="insert-object"></a>
538
472
 
539
- 用户从自己的云盘 **往 实时课堂/备课课堂 插入文件**
473
+ ## 5.5、PlasoElectronSdk.insertObject
474
+
475
+ 用户从自己的资料中心往**实时课堂/备课课堂**插入文件
540
476
 
541
477
  ```ts
542
478
  // 插入的文件类型暴露在PlasoElectronSdk上,PlasoElectronSdk.FILE_TYPE
@@ -560,17 +496,34 @@ const enum FILE_TYPE {
560
496
  };
561
497
  ```
562
498
 
563
- ```ts
564
- /** 插入外部云盘里的文件,文件需要遵循特定的数据结构 */
565
- /**
566
- * @typedef {Object} fileDataObj
567
- * @property {PlasoElectronSdk.FILE_TYPE} type 插入文件的格式,内容参考 PlasoElectronSdk.FILE_TYPE
568
- * @property {any[]} [info] 具体的文件信息数组,除备课外,内容都由用户自己定义
569
- * @property {string} [title] 文件名称,需要带后缀
570
- * @property {string} [url] 文件的可下载地址
571
- */
499
+ ```typescript
500
+ // 插入外部云盘里的文件,文件需要遵循特定的数据结构,其中`url`和`info`至少传一个
501
+
502
+ interface IFileData {
503
+ /** 文件类型,使用SDK暴露的枚举 */
504
+ type: PlasoElectronSdk.FILE_TYPE;
505
+
506
+ /** 文件名称,传入后会显示在文件窗口标题栏上,建议带上文件后缀名。默认名字为文件类型 */
507
+ title?: string;
508
+
509
+ /** 访问权限为公开的全地址,建议使用https协议的全地址,传入`info`时会忽略该属性 */
510
+ url?: string;
511
+
512
+ /**
513
+ * 当用户插入的文件有签名时效时需要以info属性插入文件,这种方式需要配合onGetExtFileNameFn回调使用。
514
+ * `info`的值由SDK用户自行决定,SDK内部会把`info`作为onGetExtFileNameFn回调函数的参数传入,由SDK用户
515
+ * 根据`info`计算文件全地址。
516
+ *
517
+ * 为了避免文件签名失效,SDK内部会通过onGetExtFileNameFn回调向外部获取SDK用户计算好的文件全地址。
518
+ * 当使用这种方式插入云盘文件时会忽略`url`属性。
519
+ *
520
+ * 特别注意:`info`属性默认不支持PPT类型,PPT/WORD/EXCEL/DOC/XLS类型依然通过`url`属性插入。
521
+ */
522
+ info?: any[];
523
+ }
524
+
572
525
  /**
573
- * @param {fileDataObj} fileData 文件数据
526
+ * @param {IFileData} fileData 文件数据
574
527
  */
575
528
  type insertObject = (fileData) => void;
576
529
 
@@ -584,8 +537,9 @@ PlasoElectronSdk.insertObject(fileData);
584
537
  1、 插入 备课文件 的格式如下,其中 fileLocationPath 为 插入的备课文件资源的地址前缀,比如要本地插入一个备课文件(info.pb),其完整地址为 C:\Users\xxx\AppData\Roaming\plaso_sdk\prepareLessonsTemp\draft.swap\info.pb,则此时 fileLocationPath = C:\Users\xxx\AppData\Roaming\plaso_sdk\prepareLessonsTemp\draft.swap
585
538
 
586
539
  ```ts
587
- // 备课的fileData格式
588
- const fileData = {
540
+ // 备课仅支持info插入,其中info属性格式固定,不能更改
541
+
542
+ const fileDataWithInfo = {
589
543
  type: PlasoElectronSdk.FILE_TYPE.PREPARE_LESSONS,
590
544
  info: ['pb', , , fileLocationPath],
591
545
  };
@@ -597,67 +551,80 @@ const fileData = {
597
551
 
598
552
  ### 5.5.2、插入图片
599
553
 
600
- 1、**title 需要带有文件后缀名**
601
-
602
554
  ```ts
603
- // 图片的fileData格式,不需要info属性
604
- const fileData = {
555
+ // 图片可以通过url或info插入,当插入gif时,title需要带上.gif后缀
556
+
557
+ const fileDataWithUrl = {
558
+ type: PlasoElectronSdk.FILE_TYPE.IMAGE,
559
+ title: 'xxx',
560
+ url: 'xxx',
561
+ };
562
+
563
+ const fileDataWithInfo = {
605
564
  type: PlasoElectronSdk.FILE_TYPE.IMAGE,
606
- title: 'xxxxxx.xxx',
607
- url: 'xxxxxx',
565
+ title: 'xxx',
566
+ info: ['xxx', ...],
608
567
  };
609
568
  ```
610
569
 
611
- ### 5.5.3、插入 ppt
570
+ ### 5.5.3、插入PPT
612
571
 
613
572
  ```ts
614
- // ppt的fileData格式,不需要info属性
615
- const fileData = {
573
+ // PPT仅支持url插入
574
+
575
+ const fileDataWithUrl = {
616
576
  type: PlasoElectronSdk.FILE_TYPE.PPT,
617
- title: 'xxxxxx',
618
- url: 'xxxxxx',
577
+ title: 'xxx',
578
+ url: 'xxx',
619
579
  };
620
580
  ```
621
581
 
622
- ### 5.5.4、插入 音视频
623
-
624
- 1、可以设置**url**属性为 公开可访问的音视频文件全路径,
625
-
626
- 2、或者设置**info**属性为表示文件信息的数组,可以通过 进课堂时传入的 **getExtFileName** 方法 可以获取文件有效路径
582
+ ### 5.5.4、插入音视频
627
583
 
628
584
  ```ts
629
- // audio、video 的fileData格式
630
- const fileData = {
585
+ // 音视频可以通过url或info插入
586
+
587
+ const fileDataWithUrl = {
631
588
  type: PlasoElectronSdk.FILE_TYPE.AUDIO/.VIDEO,
632
- title: 'xxxxxx',
633
- url: 'xxxxxx',
589
+ title: 'xxx',
590
+ url: 'xxx',
634
591
  }
635
-
636
- const fileData = {
592
+
593
+
594
+ const fileDataWithInfo = {
637
595
  type: PlasoElectronSdk.FILE_TYPE.AUDIO/.VIDEO,
638
- title: 'xxxxxx',
639
- info: [xxxxxx],
596
+ title: 'xxx',
597
+ info: ['xxx', ...],
640
598
  }
641
599
  ```
642
600
 
643
- ### 5.5.5、插入 pdf、word、execl、doc、xls
601
+ ### 5.5.5、插入PDF
602
+ ```ts
603
+ // PDF可以通过url或info插入
604
+
605
+ const fileDataWithUrl = {
606
+ type: PlasoElectronSdk.FILE_TYPE.PDF,
607
+ title: 'xxx',
608
+ url: 'xxx',
609
+ }
610
+
611
+ const fileDataWithInfo = {
612
+ type: PlasoElectronSdk.FILE_TYPE.PDF,
613
+ title: 'xxx',
614
+ info: ['xxx', ...],
615
+ }
616
+ ```
644
617
 
645
- 1、可以设置 **url**属性 为公开可访问的 pdf、word、execl 文件全路径,
646
618
 
647
- 2、或者设置 **info**属性 为表示文件信息的数组,可以通过 进课堂时传入的 **getExtFileName** 方法 可以获取文件有效路径
619
+ ### 5.5.6、插入WORD/EXCEL/DOC/XLS
648
620
 
649
621
  ```ts
650
- // pdf、word、execl 的fileData格式,不需要info属性
651
- const fileData = {
652
- type: PlasoElectronSdk.FILE_TYPE.PDF/.WORD/.EXCEL/.DOC/.XLS,
653
- title: 'xxxxxx',
654
- url: 'xxxxxx',
655
- }
656
-
657
- const fileData = {
658
- type: PlasoElectronSdk.FILE_TYPE.PDF/.WORD/.EXCEL/.DOC/.XLS,
659
- title: 'xxxxxx',
660
- info: [xxxxxx],
622
+ // WORD/EXCEL/DOC/XLS仅支持url插入
623
+
624
+ const fileDataWithUrl = {
625
+ type: PlasoElectronSdk.FILE_TYPE/.WORD/.EXCEL/.DOC/.XLS,
626
+ title: 'xxx',
627
+ url: 'xxx',
661
628
  }
662
629
  ```
663
630
 
@@ -667,15 +634,15 @@ step1、进课堂时,对象 **classOptions.supportShowResourceCenter** 需要
667
634
 
668
635
  step2、在课堂内点击资料中心后,会触发进课堂时传入的回调函数 **onOpenResourceCenterFn**,此时用户在 onOpenResourceCenterFn 函数内打开自己的云盘
669
636
 
670
- step3、选择号文件后,通过 **PlasoElectronSdk.insertObject** 方法插入文件,方法入参参考 insertObject 说明
637
+ step3、选择文件后,通过 **PlasoElectronSdk.insertObject** 方法插入文件,方法入参参考 [insertObject](#insert-object) 说明
671
638
 
672
- step4、insertObject 方法 入参 有 info 时,此时 会触发进课堂时传入的回调函数 **onGetExtFileNameFn** 来获取文件的线上地址
639
+ step4、insertObject 方法 入参 有 info 时,此时 会触发进课堂时传入的回调函数 **onGetExtFileNameFn** 来获取文件的全地址
673
640
 
674
- # 7、历史课堂
641
+ # 7、播放历史课堂
675
642
 
676
- 1、参考文档: [历史课堂接入方式](https://open.plaso.cn/folder-24752679?nav=01HEQ5Y5RXKMCPBPF6S8T3VK56)
643
+ 1、参考文档: **[播放器SDK-Web播放器](https://open.plaso.cn/doc-6285192)**
677
644
 
678
- 2、课堂里插入需要 调用 回调 onGetExtFileNameFn 方法的文件时,对应的历史课堂 则需要自己包装一层,具体逻辑参考 :**[播放历史课堂-jssdk 集成](https://open.plaso.cn/folder-24752679?nav=01HEQ5Y5RXKMCPBPF6S8T3VK56)**
645
+ 2、当课堂中insertObject使用了`info`属性时,SDK内部需要外部传入`getExtFileName`,因此历史课堂需要使用jssdk的接入方式, 详见:**[Web播放器-jssdk接入](https://open.plaso.cn/doc-6285192#jssdk%E6%8E%A5%E5%85%A5)**
679
646
 
680
647
  # 8、注意点
681
648
 
@@ -685,10 +652,10 @@ step4、insertObject 方法 入参 有 info 时,此时 会触发进课堂时
685
652
 
686
653
  ```ts
687
654
  try {
688
- const electronStore = require('@electron/remote/main');
689
- electronStore.initialize();
690
- // mainWindow 预期的渲染进程窗口
691
- electronStore.enable(mainWindow.webContents);
655
+ const electronRemote = require('@electron/remote/main');
656
+ electronRemote.initialize();
657
+ // mainWindow为app启动的渲染进程窗口
658
+ electronRemote.enable(mainWindow.webContents);
692
659
  } catch (error) {
693
660
  console.error(
694
661
  'Module not found',
@@ -703,6 +670,7 @@ try {
703
670
 
704
671
  # 9、附录参数说明
705
672
 
673
+ <a id="record-type"></a>
706
674
  ## 9.1、RecordType
707
675
 
708
676
  | 值 | 说明 |
package/js/render.js CHANGED
@@ -352,9 +352,9 @@ function createPrepareClassWindow(prepareClassWindowProps) {
352
352
  /**
353
353
  * @typedef {Object} fileDataObj
354
354
  * @property {number} type 插入文件的格式,内容参考 FILE_TYPE
355
+ * @property {string} [title] 文件名称,传入后会显示在文件窗口标题栏上,建议带上文件后缀名
356
+ * @property {string} [url] 公开的访问权限的文件全地址,建议https协议全地址
355
357
  * @property {any[]} [info] 具体的文件信息,除备课外,内容都由用户自己定义
356
- * @property {string} [title] 文件名称,需要带后缀
357
- * @property {string} [url] 文件的可下载地址
358
358
  */
359
359
  /**
360
360
  * @param {fileDataObj} fileData 文件数据
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasosdk/plaso-electron-sdk",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "伯索课堂Electron SDK",
5
5
  "main": "index.js",
6
6
  "scripts": {