@choiceform/os-client-core 3.6.57 → 3.6.59

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/index.d.ts CHANGED
@@ -34,19 +34,19 @@ interface CCEnvDev {
34
34
  * 用于在本地开发真实接口时可以让答题核心调用本地的接口地址
35
35
  * 不提供则不做任何转化处理
36
36
  */
37
- parseRealUrl?(url: string): string;
37
+ parseRealUrl?: (url: string) => string;
38
38
  /**
39
39
  * 获取测试数据的方法,这方法是用于在本地开发测试时方便快速切换数据源的。
40
40
  * 没有此类测试需求则不需要配置这个方法
41
41
  * 不配置则默认什么都不做
42
42
  */
43
- getCustomSurveyMeta?(): Promise<CCISurveyMeta>;
43
+ getCustomSurveyMeta?: () => Promise<CCISurveyMeta>;
44
44
  /**
45
45
  * 获取测试数据的方法,这方法是用于在本地开发测试时方便快速切换数据源的。
46
46
  * 没有此类测试需求则不需要配置这个方法
47
47
  * 不配置则默认什么都不做
48
48
  */
49
- getCustomSurveyPayload?(): Promise<CCISurveyPayload>;
49
+ getCustomSurveyPayload?: () => Promise<CCISurveyPayload>;
50
50
  }
51
51
 
52
52
  /**
@@ -59,25 +59,25 @@ interface CCEnvApp {
59
59
  * 不能自身处理奖励的平台则展示一个二维码,
60
60
  * 然后需要领奖者使用能处理领奖流程的app来扫描这个二维码进入领奖流程页面去领奖。
61
61
  */
62
- canHandleReward?(): boolean;
62
+ canHandleReward?: () => boolean;
63
63
  /**
64
64
  * 获取应用程序的参数
65
65
  * 其中肯定包含最重要的问卷id,代表访问的是哪份问卷
66
66
  * 以及可能包含一些系统附加参数,代表访问该问卷时的一些附加数据
67
67
  */
68
- getParams(): CCQueryParams;
68
+ getParams: () => CCQueryParams;
69
69
  /**
70
70
  * 去往答题页面方法,核心中在某些流程中碰到问题,会需要回到首页。
71
71
  * 就会调用这个方法,实现该方法引导程序回到首页。
72
72
  * @param params 参数
73
73
  */
74
- gotoStartPage(params: CCQueryParams): void;
74
+ gotoStartPage: (params: CCQueryParams) => void;
75
75
  /**
76
76
  * 去往答题页面的方法,在开始页面点击开始后,核心需要进入答题页面
77
77
  * 就会调用这个方法。实现该方法引导程序去往答题页面。
78
78
  * @param params 参数
79
79
  */
80
- gotoSurveyPage(params: CCQueryParams): void;
80
+ gotoSurveyPage: (params: CCQueryParams) => void;
81
81
  /**
82
82
  * 获取领奖页面地址的方法,有些问卷是带有奖励的,当完成这些问卷后,核心包会尝试打开领取奖励的页面,
83
83
  * 或者将奖励页面的地址展示为二维码,让访问者扫码领奖,核心包默认会使用主客户端的奖励页面地址,
@@ -87,7 +87,7 @@ interface CCEnvApp {
87
87
  * 其他场合一般使用规模行为即可
88
88
  * 默认行为:使用主客户端的奖励页面
89
89
  */
90
- getRewardUrl?(params: CCQueryParams): string;
90
+ getRewardUrl?: (params: CCQueryParams) => string;
91
91
  /**
92
92
  * 打开一个web页面的方法,核心在某些特殊场合希望打开一个web页面。
93
93
  * 这些场合一般是问卷包含了自定义跳转,自定义数据传输跳转等功能。
@@ -96,14 +96,14 @@ interface CCEnvApp {
96
96
  * 默认行为:不做任何处理
97
97
  * @param url 要打开的地址
98
98
  */
99
- openWebLink?(url: string): void;
99
+ openWebLink?: (url: string) => void;
100
100
  /**
101
101
  * 重新加载当前页面的方法
102
102
  * 核心包在访问者更改某些设置,如切换语言的时候,会需要重新加载程序。
103
103
  * 这时候会调用这个方法
104
104
  * 默认行为:什么也不做,不重新加载程序
105
105
  */
106
- reload?(): void;
106
+ reload?: () => void;
107
107
  }
108
108
 
109
109
  /**
@@ -122,7 +122,7 @@ interface CCEnvSystem {
122
122
  * 如果获取不到来源信息则可不提供
123
123
  * 如果不配置则使用默认值:空字符串
124
124
  */
125
- getReferer?(): string;
125
+ getReferer?: () => string;
126
126
  /**
127
127
  * 多语言翻译方法,核心包提供了基本的翻译实现,但是不支持messageFormat方式的高级翻译功能。
128
128
  * 一般对中文翻译无影响
@@ -134,12 +134,12 @@ interface CCEnvSystem {
134
134
  * @param text 内容代号
135
135
  * @param option 替代变量组
136
136
  */
137
- translate?(text: string, option: { [key: string]: string | number }): string;
137
+ translate?: (text: string, option: Record<string, string | number>) => string;
138
138
  /**
139
139
  * 获取当前系统语言的方法,答题核心获取系统语言后会尽量优先尝试加载与当前系统的默认语言相匹配的问卷内容
140
140
  * 如果不配置则会优先尝试加载中文问卷内容
141
141
  */
142
- getLang?(): string;
142
+ getLang?: () => string;
143
143
  /**
144
144
  * 这个运行平台的Js的Function构造函数
145
145
  * 一般只有小程序中的答题端需要指定,因为小程序的禁止动态执行脚本,所以其中的Function构造函数被阉割掉了。
@@ -157,7 +157,7 @@ interface CCEnvSystem {
157
157
  * }
158
158
  * ```
159
159
  */
160
- newDiv(): HTMLElement;
160
+ newDiv: () => HTMLElement;
161
161
  /**
162
162
  * 生成一个div
163
163
  * 举例,web端提供的该方法为如下,其他端需要使用兼容的方式提供
@@ -167,7 +167,7 @@ interface CCEnvSystem {
167
167
  * }
168
168
  * ```
169
169
  */
170
- newSpan(): HTMLSpanElement;
170
+ newSpan: () => HTMLSpanElement;
171
171
  /**
172
172
  * 生成一个文本节点的方法
173
173
  * 举例,web端提供的该方法为如下,其他端需要使用兼容的方式提供
@@ -177,7 +177,7 @@ interface CCEnvSystem {
177
177
  * }
178
178
  * ```
179
179
  */
180
- newTextNode(text: string): Text;
180
+ newTextNode: (text: string) => Text;
181
181
  }
182
182
 
183
183
  /**
@@ -189,7 +189,7 @@ interface CCEnvUi {
189
189
  * 如果不配置则不应用全局样式。
190
190
  * @param style 样式:css字符形式
191
191
  */
192
- setGlobalStyle?(style: string): void;
192
+ setGlobalStyle?: (style: string) => void;
193
193
  /**
194
194
  * 设置变量自定义样式方法,对于每一种变量,问卷总都可以指定他们的通用样式
195
195
  * 会尝试调用调用该方法运用样式得到各个变量标签。
@@ -197,27 +197,27 @@ interface CCEnvUi {
197
197
  * @param style 样式:css字符形式
198
198
  * @param styleGroup 样式信息:JSON形式
199
199
  */
200
- setVarStyle?(style: string, styleGroup: CFPDVarStyleGroup): void;
200
+ setVarStyle?: (style: string, styleGroup: CFPDVarStyleGroup) => void;
201
201
  /**
202
202
  * 初始化一个节点动态模板的方法,该方法去动态获取设计端指定的自定义组件模板来渲染节点。
203
203
  * 只有实现了动态模板机制的答题端需要配置这个方法
204
204
  * 如果不配置则什么都不做
205
205
  * @param template 原始模板信息
206
206
  */
207
- loadNodeComponent?(template: CFPDNodeTemplate, retry: boolean): Promise<CCComponent>;
207
+ loadNodeComponent?: (template: CFPDNodeTemplate, retry: boolean) => Promise<CCComponent>;
208
208
  /**
209
209
  * 预加载当前问卷所有使用到的额UI动态插件的方法
210
210
  * 只有实现了动态模板机制的答题端需要配置这个方法
211
211
  * 如果不配置则什么都不做
212
212
  * @param templates 模板列表
213
213
  */
214
- loadUiEntryTemplates?(templates: string[], retry: boolean): Promise<void>;
214
+ loadUiEntryTemplates?: (templates: string[], retry: boolean) => Promise<void>;
215
215
  /**
216
216
  * 插入预设富文本样式表
217
217
  * @param style 样式:css字符形式
218
218
  * @param styleGroup 样式信息:JSON形式
219
219
  */
220
- setPresetStyle?(style: string, rawStyles: CFPDPresetRichStyle[]): void;
220
+ setPresetStyle?: (style: string, rawStyles: CFPDPresetRichStyle[]) => void;
221
221
  }
222
222
 
223
223
  /**
@@ -275,7 +275,7 @@ interface CCUploadConfig extends CCUploadBaseConfig {
275
275
  * 上传进度回调方法
276
276
  * @param e 进度
277
277
  */
278
- onprogress(e: number): void;
278
+ onprogress: (e: number) => void;
279
279
  /**
280
280
  * 接受的文件格式
281
281
  */
@@ -290,7 +290,7 @@ interface CCEnvNetWork {
290
290
  * 移除上传文件时的处理
291
291
  * @param config 配置信息
292
292
  */
293
- removeUpload(config: CCUploadBaseConfig): Promise<void>;
293
+ removeUpload: (config: CCUploadBaseConfig) => Promise<void>;
294
294
  /**
295
295
  * 上传文件的方法,答题端的上传题需要上传文件,在不同的平台上上传机制不同
296
296
  * 需要独立实现这个方法将文件正确上传到服务器
@@ -298,7 +298,7 @@ interface CCEnvNetWork {
298
298
  * 如果你的上传需要初始化,则可以配置[[CFEnvNetWork.initUploader]]方法先初始化一下状态
299
299
  * @param config 上传配置信息
300
300
  */
301
- upload(config: CCUploadConfig): Promise<CCUploadResult>;
301
+ upload: (config: CCUploadConfig) => Promise<CCUploadResult>;
302
302
  /**
303
303
  * 加载伪造接口文件的方法,伪造的接口是放在网络上的某本js中的,当需要使用这些接口时,核心包需要
304
304
  * 加载这些js文件并运行其中的方法。在不同平台上,加载js的方式不一样,而且伪造接口的初始化流程也需要处理
@@ -314,28 +314,28 @@ interface CCEnvNetWork {
314
314
  * @param options 附加参数
315
315
  * @param retry 加载失败后是否重试
316
316
  */
317
- loadFakeFile(url: string, options: SignStrStr, retry: boolean): Promise<void>;
317
+ loadFakeFile: (url: string, options: SignStrStr, retry: boolean) => Promise<void>;
318
318
  /**
319
319
  * 获取伪造接口应该依附的对象
320
320
  * [[CFEnvNetWork.loadFakeFile]]成功将伪造接口加载成功后会粘附到一个对象上。
321
321
  * 这个方法返回这个对象,当核心需要调用某个伪造接口时,就会通过这个方法获取到接口。
322
322
  * 这个方法必须实现,不实现则无法运行伪造接口
323
323
  */
324
- getFakeHost(): CCPlugin;
324
+ getFakeHost: () => CCPlugin;
325
325
  /**
326
326
  * 初始化上传插件的方法,配合[[CFEnvNetWork.upload]]方法,
327
327
  * 一般的上传插件需要被初始化一些状态才方便后续调用[[CFEnvNetWork.upload]]方法进行上传
328
328
  * 如果不配置则什么都不做
329
329
  * @param state 答题总状态
330
330
  */
331
- initUploader?(): void;
331
+ initUploader?: () => void;
332
332
  /**
333
333
  * 发起网络请求的方法,不同的平台请求网络资源的方式不同,需要通过该方法配置。
334
334
  * @param url 地址
335
335
  * @param options 请求参数
336
336
  * @param retry 请求失败后是否重试
337
337
  */
338
- request(url: string, options: CCApiReqConfig, retry: boolean): Promise<CCApiReqResult>;
338
+ request: (url: string, options: CCApiReqConfig, retry: boolean) => Promise<CCApiReqResult>;
339
339
  /**
340
340
  * 通服务器建立socket连接的的方法,连通后使得客户端可以即时通信接受服务器的一些推送消息:如配额满
341
341
  * 各个运行平台socket连接方式不同,配置到这个方法中。
@@ -346,21 +346,21 @@ interface CCEnvNetWork {
346
346
  * @param responseId
347
347
  * @param collectorId
348
348
  */
349
- connectSocket?(responseId: string, collectorId: string): void;
349
+ connectSocket?: (responseId: string, collectorId: string) => void;
350
350
  /**
351
351
  * 断开socket的方法
352
352
  * 当提交问卷后,不再需要接受服务器的即时通信,核心包会调用这个方法断开socket
353
353
  * 和connectSocket方法配合工作,
354
354
  * 默认行为:什么也不做
355
355
  */
356
- closeSocket?(): void;
356
+ closeSocket?: () => void;
357
357
  /**
358
358
  * 推动socket消息的方法
359
359
  * 默认行为:什么也不做
360
360
  * @param message 消息名
361
361
  * @param payload 附带的数据
362
362
  */
363
- pushSocket?(message: string, payload: object): void;
363
+ pushSocket?: (message: string, payload: object) => void;
364
364
  }
365
365
  /**
366
366
  * 授权相关的配置,不同的运行平台有不同的账户系统,所以授权方式也不一样。
@@ -377,7 +377,7 @@ interface CCEnvAuth {
377
377
  * 有些平台需要初始化授权,为后续的第三放收取做好准备。
378
378
  * @param res 首页元数据
379
379
  */
380
- init?(res: CCISurveyMeta): Promise<void>;
380
+ init?: (res: CCISurveyMeta) => Promise<void>;
381
381
  /**
382
382
  * 授权领奖的方法,该方法仅用于那些需要在微信浏览器中运行微信红包领奖流程的答题端
383
383
  * web核心包中一般需要配置该方法。
@@ -386,19 +386,24 @@ interface CCEnvAuth {
386
386
  * @param componentAppId
387
387
  * @param params
388
388
  */
389
- authorizeGift?(appId: string, componentAppId: string, params: CCQueryParams, originFrom: WX_REWARD_PAGE_FROM): void;
389
+ authorizeGift?: (
390
+ appId: string,
391
+ componentAppId: string,
392
+ params: CCQueryParams,
393
+ originFrom: WX_REWARD_PAGE_FROM
394
+ ) => void;
390
395
  /**
391
396
  * 普通授权方法,该方法仅用于那些需要在微信浏览器中运行且需要获取微信信息的答题端
392
397
  * web核心包中一般需要配置该方法。
393
398
  * 其他方式的答题端无需配置这个方法。
394
399
  * @param meta
395
400
  */
396
- authorize?(meta: CCISurveyMeta): void;
401
+ authorize?: (meta: CCISurveyMeta) => void;
397
402
  /**
398
403
  * 问卷在某些平台可能需要第三方授权,这里尝试取回授权之前缓存的数据,
399
404
  * 取到了就不需要继续去后台获取了
400
405
  */
401
- retrieveAuthSurveyMeta?(): CCISurveyMeta;
406
+ retrieveAuthSurveyMeta?: () => CCISurveyMeta;
402
407
  }
403
408
 
404
409
  /**
@@ -410,7 +415,7 @@ interface CCEnvStorage {
410
415
  * @param key
411
416
  * @param value
412
417
  */
413
- set(key: string, value: string): void;
418
+ set: (key: string, value: string) => void;
414
419
  /**
415
420
  * 写缓存方法(至关重要的)
416
421
  * 在离线模式下,有些重要的缓存数据不能写在内嵌的浏览器中,而是要传给App宿主帮写,
@@ -419,29 +424,29 @@ interface CCEnvStorage {
419
424
  * @param key
420
425
  * @param value
421
426
  */
422
- setVital(key: string, value: string): Promise<void>;
427
+ setVital: (key: string, value: string) => Promise<void>;
423
428
  /**
424
429
  * 读缓存方法
425
430
  * @param key
426
431
  */
427
- get(key: string): string;
432
+ get: (key: string) => string;
428
433
  /**
429
434
  * 写缓存方法(至关重要的)
430
435
  * 说明同上
431
436
  * @param key
432
437
  */
433
- getVital(key: string): Promise<string>;
438
+ getVital: (key: string) => Promise<string>;
434
439
  /**
435
440
  * 移除缓存方法
436
441
  * @param key
437
442
  */
438
- remove(key: string): void;
443
+ remove: (key: string) => void;
439
444
  /**
440
445
  * 移除缓存方法(至关重要的)
441
446
  * 说明同上
442
447
  * @param key
443
448
  */
444
- removeVital(key: string): Promise<void>;
449
+ removeVital: (key: string) => Promise<void>;
445
450
  }
446
451
 
447
452
  /**
@@ -454,76 +459,76 @@ interface CCEnvHook {
454
459
  * 初始化即将完成前要执行的钩子
455
460
  * @param core 核心对象
456
461
  */
457
- beforeSetupEnd?(core: CCCore): Promise<void>;
462
+ beforeSetupEnd?: (core: CCCore) => Promise<void>;
458
463
  /**
459
464
  * 初始化完成后的钩子
460
465
  * @param core 核心对象
461
466
  */
462
- afterSetup?(core: CCCore): Promise<void>;
467
+ afterSetup?: (core: CCCore) => Promise<void>;
463
468
  /**
464
469
  * 成功获取首页数据后的钩子
465
470
  * @param data 首页数据
466
471
  */
467
- afterFetchStart?(data: CCStartState): Promise<void>;
472
+ afterFetchStart?: (data: CCStartState) => Promise<void>;
468
473
  /**
469
474
  * 成功获取答题页数据后的钩子
470
475
  * @param data 答题数据
471
476
  */
472
- afterFetchSurvey?(data: CCSurveyState): Promise<void>;
477
+ afterFetchSurvey?: (data: CCSurveyState) => Promise<void>;
473
478
  /**
474
479
  * 成功获取奖励页数据后的钩子
475
480
  * @param data 奖励数据
476
481
  */
477
- afterFetchReward?(data: CCRewardState): Promise<void>;
482
+ afterFetchReward?: (data: CCRewardState) => Promise<void>;
478
483
  /**
479
484
  * 强行离开应用前的回调,在这时候可以做一些善后处理
480
485
  */
481
- beforeForceLeave?(): void;
486
+ beforeForceLeave?: () => void;
482
487
  /**
483
488
  * 当语言发生变化时的回调
484
489
  * @param langItem
485
490
  */
486
- onLangChange?(langItem: CFPDLangTableItem): void;
491
+ onLangChange?: (langItem: CFPDLangTableItem) => void;
487
492
  /**
488
493
  * 当进行上一题/下一题切换题目时的回调
489
494
  */
490
- onSwitchPage?(): void;
495
+ onSwitchPage?: () => void;
491
496
  /**
492
497
  * 当标题发生变更时的回调
493
498
  * @param title 标题内容
494
499
  */
495
- onTitleChange?(title: string): void;
500
+ onTitleChange?: (title: string) => void;
496
501
  /**
497
502
  * 开始一个新回复时的回调,
498
503
  * 非断点续答询问后选择断点续答或重新开始的时候不算做这种情况之内
499
504
  * @param state
500
505
  */
501
- onStartNewSurvey?(state: CCSurveyState): Promise<void>;
506
+ onStartNewSurvey?: (state: CCSurveyState) => Promise<void>;
502
507
  /**
503
508
  * 断点续答询问后后选择重新开始时的回调
504
509
  * @param state
505
510
  */
506
- onRestartSurvey?(state: CCSurveyState): Promise<void>;
511
+ onRestartSurvey?: (state: CCSurveyState) => Promise<void>;
507
512
  /**
508
513
  * 断点续答询问后选择续答时的回调
509
514
  * @param state
510
515
  */
511
- onResumeSurvey?(state: CCSurveyState): Promise<void>;
516
+ onResumeSurvey?: (state: CCSurveyState) => Promise<void>;
512
517
  /**
513
518
  * 即将提交答案,结束回答时的回调
514
519
  * @param state
515
520
  */
516
- beforeEndSurvey?(state: CCSurveyState): Promise<void>;
521
+ beforeEndSurvey?: (state: CCSurveyState) => Promise<void>;
517
522
  /**
518
523
  * 当一个回复完成走到结束节点时的回调,此时数据已经提交了。
519
524
  * @param state
520
525
  */
521
- onEndSurvey?(state: CCSurveyState): Promise<void>;
526
+ onEndSurvey?: (state: CCSurveyState) => Promise<void>;
522
527
  /**
523
528
  * 即将前往下一题前的回调
524
529
  * @param state
525
530
  */
526
- beforeGotoNext?(): Promise<void>;
531
+ beforeGotoNext?: () => Promise<void>;
527
532
  }
528
533
 
529
534
  /**
@@ -697,7 +702,7 @@ interface CCSetupOptions {
697
702
  * 默认行为:什么也不做
698
703
  * @param theme 变化后的主题内容
699
704
  */
700
- setTheme?(theme: CFPDGlobalThemeBack): void;
705
+ setTheme?: (theme: CFPDGlobalThemeBack) => void;
701
706
  /**
702
707
  * 常规消息提示方法,如果一道必答题还没有进行作答就点击下一题按钮
703
708
  * 这时候不会进入下一题,而是会发出类似”必须作答“这样的提示消息,
@@ -705,12 +710,12 @@ interface CCSetupOptions {
705
710
  *
706
711
  * @param message 消息内容
707
712
  */
708
- notify(message: string): void;
713
+ notify: (message: string) => void;
709
714
  /**
710
715
  * 弹框方式提示消息,比提示消息更重要一些,需要弹框,并且用户点击后才消失
711
716
  * @param message
712
717
  */
713
- alert(message: string): void;
718
+ alert: (message: string) => void;
714
719
  /**
715
720
  * 严重错误消息提示方法
716
721
  * 如尝试下载某份问卷进行作答,但这份问卷已经下线,则不会得到问卷内容
@@ -719,12 +724,12 @@ interface CCSetupOptions {
719
724
  * 发生任何错误后,不允许继续操作。
720
725
  * @param message 错误内容
721
726
  */
722
- error(message: string): void;
727
+ error: (message: string) => void;
723
728
  /**
724
729
  * 加载因失败次数挂起的提示
725
730
  * @param data 消息,如果有内容说明加载失败,等待用户手动重试,如果没有内容,则说明重试后加载成功
726
731
  */
727
- markLoadRetry(data: CCLoadRetry): void;
732
+ markLoadRetry: (data: CCLoadRetry) => void;
728
733
  /**
729
734
  * 上传日志的方法,核心包运行时会生成一些有利于追踪已知错误的日志,希望能通过这个方法上传。
730
735
  * 如果不设置则不会上传错误。而是在控制台打印出来
@@ -732,7 +737,7 @@ interface CCSetupOptions {
732
737
  * @param message
733
738
  * @param level
734
739
  */
735
- uploadLog?(message: string, level?: 'log' | 'error' | 'warning'): void;
740
+ uploadLog?: (message: string, level?: 'log' | 'error' | 'warning') => void;
736
741
  /**
737
742
  * 如果在单页模式中有很多题目,进行作答后点击下一题,其中某道题目的答案不满足要求,
738
743
  * 这时候可能这道题目不再滚动条所在的可见范围内,
@@ -744,7 +749,7 @@ interface CCSetupOptions {
744
749
  * @param result 错误信息
745
750
  * @param state 总状态
746
751
  */
747
- locateError?(result: CCIValidateResult, state: CCSurveyState): void;
752
+ locateError?: (result: CCIValidateResult, state: CCSurveyState) => void;
748
753
  /**
749
754
  * 如果觉得核心包中逻辑相关的提示文字多语言翻译不满足你的要求,或者支持的语言不够多
750
755
  * 你可以配置该属性指定使用自己准备的翻译文本,这个配置的每个属性的属性名是语言代号,
@@ -778,7 +783,7 @@ interface CCSetupOptions {
778
783
  *
779
784
  * 默认值:空
780
785
  */
781
- langSrcMap?: { [key: string]: any };
786
+ langSrcMap?: Record<string, any>;
782
787
 
783
788
  /**
784
789
  * 设置该方法来监听核心包的多语言变化,当核心包多语言切换时,会调用该方法
@@ -788,14 +793,14 @@ interface CCSetupOptions {
788
793
  * 默认行为:什么都不做
789
794
  * @param key 变化后的语言代号,如zh_cn,
790
795
  */
791
- setLocale?(key: string): void;
796
+ setLocale?: (key: string) => void;
792
797
  /**
793
798
  * 自定义中断回调方法
794
799
  * 当核心包中运行发生异常,或者需要去往外部程序时,会中断答题流程,同时触发调用这个方法
795
800
  * 客户端中可以配置该方法来在此时机做一些自定义的事情。
796
801
  * 默认行为:总是会在方法被调用的一秒内压制系统消息
797
802
  */
798
- customAbort?(): void;
803
+ customAbort?: () => void;
799
804
  /**
800
805
  * 自定义的去往开始页面方法,只有使用web核心包是需要关注这个方法
801
806
  *
@@ -808,7 +813,7 @@ interface CCSetupOptions {
808
813
  * 默认行为:浏览器原生location.replace跳转
809
814
  * @param routeParam 路由信息
810
815
  */
811
- switchRoute?(routeParam: CCRouteSwitchParam): void;
816
+ switchRoute?: (routeParam: CCRouteSwitchParam) => void;
812
817
  }
813
818
 
814
819
  /**
@@ -898,47 +903,47 @@ interface CCUtil {
898
903
  * 将JSON样式配置转成css样式
899
904
  * @param varStyle
900
905
  */
901
- convertVarStyle(varStyle: CFPDRichTextStyle): string;
906
+ convertVarStyle: (varStyle: CFPDRichTextStyle) => string;
902
907
  /**
903
908
  * 获取当前答题任务已完成的概要信息
904
909
  */
905
- getTaskInfo(): Promise<CCTaskInfo>;
910
+ getTaskInfo: () => Promise<CCTaskInfo>;
906
911
  /**
907
912
  * 获取一道题目的答案
908
913
  * @param node 题目
909
914
  */
910
- getAnswer(node: CCBQuestionNode): CCIAnswer;
915
+ getAnswer: (node: CCBQuestionNode) => CCIAnswer;
911
916
  /**
912
917
  * 初始化变量依赖信息
913
918
  * @param depends
914
919
  */
915
- initVarDepends(depends: CCIVarRelatedDependency): void;
920
+ initVarDepends: (depends: CCIVarRelatedDependency) => void;
916
921
  /**
917
922
  * 为开始状态中添加动态内容
918
923
  */
919
- addStartStateDynamics(state: CCStartState): void;
924
+ addStartStateDynamics: (state: CCStartState) => void;
920
925
  /**
921
926
  * 为问卷状态中的添加态内容
922
927
  */
923
- addSurveyStateDynamics(state: CCSurveyState): void;
928
+ addSurveyStateDynamics: (state: CCSurveyState) => void;
924
929
  /**
925
930
  * 为题目状态添加动态内容
926
931
  */
927
- addNodeDynamics(node: CCBNode): void;
932
+ addNodeDynamics: (node: CCBNode) => void;
928
933
  /**
929
934
  * 为选项状态添加动态内容
930
935
  */
931
- addOptionDynamics(option: CCOption): void;
936
+ addOptionDynamics: (option: CCOption) => void;
932
937
  /**
933
938
  * 为图片列表粘附变量解析能力
934
939
  * @param imageList
935
940
  */
936
- extendImageListGetter(imageList: CFPDImage[]): void;
941
+ extendImageListGetter: (imageList: CFPDImage[]) => void;
937
942
  /**
938
943
  * 加载fake脚本
939
944
  * @param startState
940
945
  */
941
- loadFakeServers(startState: CCStartState): Promise<void>;
946
+ loadFakeServers: (startState: CCStartState) => Promise<void>;
942
947
  }
943
948
 
944
949
  /**
@@ -1067,7 +1072,7 @@ interface CCCore extends CCSetupOptions {
1067
1072
  * 如果使用的是已经配置好的web包,则不需要调用该方法
1068
1073
  * @param options 具体的环境配置内容
1069
1074
  */
1070
- registerEnv(options: CCEnvOptions): void;
1075
+ registerEnv: (options: CCEnvOptions) => void;
1071
1076
  /**
1072
1077
  * 初始化方法
1073
1078
  * 多次调用时,调用前请先调用[[CCCore.reset]]方法,才会重新setup
@@ -1076,25 +1081,25 @@ interface CCCore extends CCSetupOptions {
1076
1081
  * 如果使用的是已经配置好的包,如web适配包则可以直接初始化
1077
1082
  * @param options 初始化配置
1078
1083
  */
1079
- setup(options: CCSetupOptions): Promise<CCCore>;
1084
+ setup: (options: CCSetupOptions) => Promise<CCCore>;
1080
1085
  /**
1081
1086
  * 获取首页数据的方法
1082
1087
  * 多次调用,只有第一次会发送请求
1083
1088
  * 请求的数据会放到缓存中,后面几次获得的都是返回的缓存数据
1084
1089
  */
1085
- fetchStartState(): Promise<CCStartState | null>;
1090
+ fetchStartState: () => Promise<CCStartState | null>;
1086
1091
  /**
1087
1092
  * 获取答题也数据的方法
1088
1093
  * 多次调用,只有第一次会发送请求
1089
1094
  * 请求的数据会放到缓存中,后面几次获得的都是返回的缓存数据
1090
1095
  */
1091
- fetchSurveyState(): Promise<CCSurveyState | null>;
1096
+ fetchSurveyState: () => Promise<CCSurveyState | null>;
1092
1097
  /**
1093
1098
  * 获取奖励页面数据的方法
1094
1099
  * 多次调用,只有第一次会发送请求
1095
1100
  * 请求的数据会放到缓存中,后面几次获得的都是返回的缓存数据
1096
1101
  */
1097
- fetchRewardState(): Promise<CCRewardState | null>;
1102
+ fetchRewardState: () => Promise<CCRewardState | null>;
1098
1103
  /**
1099
1104
  * 获取主题
1100
1105
  */
@@ -1102,12 +1107,12 @@ interface CCCore extends CCSetupOptions {
1102
1107
  /**
1103
1108
  * 初始化实时预览
1104
1109
  */
1105
- initRealtimePreview(): void;
1110
+ initRealtimePreview: () => void;
1106
1111
  /**
1107
1112
  * 重置,重置以后需要重新进行初始化流程
1108
1113
  * 适用于多问卷应用中切换问卷的时候使用
1109
1114
  */
1110
- reset(): void;
1115
+ reset: () => void;
1111
1116
  /**
1112
1117
  * 工具类
1113
1118
  */
@@ -1352,7 +1357,7 @@ declare const enum EVENT_NAME {
1352
1357
  /**
1353
1358
  * 发生选项被取消选中
1354
1359
  */
1355
- OPT_DESELECT = 'OPT_SELECT',
1360
+ OPT_DESELECT = 'OPT_DESELECT',
1356
1361
  /**
1357
1362
  * 结束恢复答案
1358
1363
  */
@@ -1923,7 +1928,7 @@ interface CCINextRule {
1923
1928
  * @param state 总状态
1924
1929
  * @returns 下一个节点的信息
1925
1930
  */
1926
- findNext(list: CFPDBNode[], node: CCMNodeBase, state: CCSurveyState): Promise<CCINextNodeStatus>;
1931
+ findNext: (list: CFPDBNode[], node: CCMNodeBase, state: CCSurveyState) => Promise<CCINextNodeStatus>;
1927
1932
  }
1928
1933
 
1929
1934
  /**
@@ -2179,24 +2184,18 @@ interface CCIValidateResult extends CCIRequestResult {
2179
2184
  * @ignore
2180
2185
  * 属性可以是任何内容的类型
2181
2186
  */
2182
- interface SignStrAny {
2183
- [key: string]: any;
2184
- }
2187
+ type SignStrAny = Record<string, any>;
2185
2188
  /**
2186
2189
  * @ignore
2187
2190
  * 每个属性都是字符串的类型
2188
2191
  */
2189
- interface SignStrStr {
2190
- [key: string]: string;
2191
- }
2192
+ type SignStrStr = Record<string, string>;
2192
2193
 
2193
2194
  /**
2194
2195
  * @ignore
2195
2196
  * 每个属性都是字符串的类型
2196
2197
  */
2197
- interface SignStrStrArr {
2198
- [key: string]: string[];
2199
- }
2198
+ type SignStrStrArr = Record<string, string[]>;
2200
2199
  /**
2201
2200
  * @ignore
2202
2201
  * 把方法的返回值替换成指定类型
@@ -2231,9 +2230,7 @@ interface CCComponent {}
2231
2230
  /**
2232
2231
  * 动态UI组件组
2233
2232
  */
2234
- interface CCUiComGroups {
2235
- [key: string]: CCComponent;
2236
- }
2233
+ type CCUiComGroups = Record<string, CCComponent>;
2237
2234
 
2238
2235
  /**
2239
2236
  * 使用了往全局追加属性的加载方式加载核心包时
@@ -2255,7 +2252,7 @@ interface Window {
2255
2252
  */
2256
2253
  interface CCMessageFormat {
2257
2254
  new (): CCMessageFormat;
2258
- compile(message: string): {
2255
+ compile: (message: string) => {
2259
2256
  (options: any): string;
2260
2257
  };
2261
2258
  }
@@ -2267,12 +2264,12 @@ interface CCI18n {
2267
2264
  /**
2268
2265
  * 获取多语言资源配置
2269
2266
  */
2270
- getLangSrcMap(): SignStrAny;
2267
+ getLangSrcMap: () => SignStrAny;
2271
2268
  /**
2272
2269
  * 合并多言翻译资源配置
2273
2270
  * @ignore
2274
2271
  */
2275
- mergeLangSrcMap(map: SignStrAny): void;
2272
+ mergeLangSrcMap: (map: SignStrAny) => void;
2276
2273
  /**
2277
2274
  * messageformat类型,参考https://github.com/messageformat/messageformat
2278
2275
  * 这是核心包中使用的多语言翻译工具
@@ -2287,9 +2284,7 @@ interface CCI18n {
2287
2284
  /**
2288
2285
  * 伪造结构服务表
2289
2286
  */
2290
- interface CCFakeServer {
2291
- [key: string]: CCIRequestFn;
2292
- }
2287
+ type CCFakeServer = Record<string, CCIRequestFn>;
2293
2288
 
2294
2289
  /**
2295
2290
  * 插件对象
@@ -2547,7 +2542,7 @@ interface CCCascadeNode extends CCBQuestionNode, CCMOtherOptionNode {
2547
2542
  * 如果该级联题重新生成,则缓存会重开.
2548
2543
  * @ignore
2549
2544
  */
2550
- cachedCasMenuOpts: { [key: string]: CCCasMenuOptParseResult };
2545
+ cachedCasMenuOpts: Record<string, CCCasMenuOptParseResult>;
2551
2546
  }
2552
2547
 
2553
2548
 
@@ -2613,20 +2608,22 @@ interface CCFillNode extends CCBQuestionNode, CCMOptionGroupNode, CCMOtherOption
2613
2608
 
2614
2609
  // -------------- types/outer/node/gift.d.ts ---------------
2615
2610
 
2616
- interface CCIBackEndGiftI18n {
2617
- [key: string]: {
2611
+ type CCIBackEndGiftI18n = Record<
2612
+ string,
2613
+ {
2618
2614
  gift_name: string;
2619
2615
  gift_wishing: string;
2620
2616
  end_btn_text: string;
2621
2617
  logo_text: string;
2622
- };
2623
- }
2618
+ }
2619
+ >;
2624
2620
 
2625
- interface CCIFrontEndGiftI18n {
2626
- [key: string]: CFPDGiftI18nText & {
2621
+ type CCIFrontEndGiftI18n = Record<
2622
+ string,
2623
+ CFPDGiftI18nText & {
2627
2624
  logoText: string;
2628
- };
2629
- }
2625
+ }
2626
+ >;
2630
2627
 
2631
2628
  /**
2632
2629
  * 前端渲染时使用的奖励节点的多语言包稍微不一样,
@@ -3005,15 +3002,15 @@ interface CCMaxDiffNode extends CCBQuestionNode {
3005
3002
  /**
3006
3003
  * 要求核心包切换到上一页
3007
3004
  */
3008
- gotoNextTask(): void;
3005
+ gotoNextTask: () => void;
3009
3006
  /**
3010
3007
  * 要求核心包切换到下一页
3011
3008
  */
3012
- gotoPrevTask(): void;
3009
+ gotoPrevTask: () => void;
3013
3010
  /**
3014
3011
  * 要求核心包切换到某一页
3015
3012
  */
3016
- gotoTask(task: CCMaxDiffTask): void;
3013
+ gotoTask: (task: CCMaxDiffTask) => void;
3017
3014
  itemCountPerTask: number;
3018
3015
  taskCount: number;
3019
3016
  /**
@@ -3625,15 +3622,15 @@ interface CCSlideRateNode extends CCBQuestionNode, CCMOtherOptionNode {
3625
3622
  /**
3626
3623
  * 切换到前一个选项
3627
3624
  */
3628
- gotoNextOption(): void;
3625
+ gotoNextOption: () => void;
3629
3626
  /**
3630
3627
  * 切换到后一个选项
3631
3628
  */
3632
- gotoPrevOption(): void;
3629
+ gotoPrevOption: () => void;
3633
3630
  /**
3634
3631
  * 切换到指定选项
3635
3632
  */
3636
- gotoOption(option: CCSlideRateOption): void;
3633
+ gotoOption: (option: CCSlideRateOption) => void;
3637
3634
  }
3638
3635
 
3639
3636
 
@@ -4286,13 +4283,13 @@ interface CCAtcp {
4286
4283
  * @param rule 匹配规则
4287
4284
  * @param strict 是否严格匹配,严格匹配值检查是否完全相等,不进行模糊匹配和拼音推测匹配
4288
4285
  */
4289
- getAutoCompleteData(
4286
+ getAutoCompleteData: (
4290
4287
  text: string,
4291
4288
  existed: string[],
4292
4289
  source: CFPDCpltData[],
4293
4290
  rule: PINYIN_MATCH,
4294
4291
  strict?: boolean
4295
- ): CCAutoCptlResult;
4292
+ ) => CCAutoCptlResult;
4296
4293
  }
4297
4294
 
4298
4295
  //#endregion
@@ -4697,12 +4694,7 @@ interface CCIRequestBodyBase {
4697
4694
  /**
4698
4695
  * 发送请求的数据格式
4699
4696
  */
4700
- interface CCIRequestBodyData extends CCIRequestBodyBase {
4701
- /**
4702
- * 其他自定义的参数
4703
- */
4704
- [key: string]: string | undefined;
4705
- }
4697
+ type CCIRequestBodyData = CCIRequestBodyBase & Record<string, string | undefined>;
4706
4698
 
4707
4699
  type CCIRequestFn = (data: CCIRequestBodyData, core: CCCore) => CCIRequestResult | Promise<CCIRequestResult>;
4708
4700
 
@@ -5679,25 +5671,25 @@ interface CCEventHub {
5679
5671
  * @param name 事件名
5680
5672
  * @param cb 回调函数
5681
5673
  */
5682
- on(name: EVENT_NAME, cb: CCEventHubCb): void;
5674
+ on: (name: EVENT_NAME, cb: CCEventHubCb) => void;
5683
5675
  /**
5684
5676
  * 解除对事件的监听
5685
5677
  * @param name 事件名,如果不提供,则解除所有事件监听,否则直接该事件名相关的监听。
5686
5678
  * @param cb 回调函数,如果不提供则解除指定事件名称的所有监听,提供了则只解除指定事件名的指定回调函数的监听
5687
5679
  */
5688
- off(name?: EVENT_NAME, cb?: CCEventHubCb): void;
5680
+ off: (name?: EVENT_NAME, cb?: CCEventHubCb) => void;
5689
5681
  /**
5690
5682
  * 对某个事件监听一次
5691
5683
  * @param name 事件名
5692
5684
  * @param cb 回调函数
5693
5685
  */
5694
- one(name: EVENT_NAME, cb: CCEventHubCb): void;
5686
+ one: (name: EVENT_NAME, cb: CCEventHubCb) => void;
5695
5687
  /**
5696
5688
  * 触发某个事件
5697
5689
  * @param name 事件名
5698
5690
  * @param data 额外携带的参数
5699
5691
  */
5700
- trigger(name: EVENT_NAME, data?: any): void;
5692
+ trigger: (name: EVENT_NAME, data?: any) => void;
5701
5693
  }
5702
5694
 
5703
5695
  //#endregion
@@ -5747,16 +5739,17 @@ interface CCILangTargets {
5747
5739
  * @ignore
5748
5740
  */
5749
5741
  interface CCILangStore {
5750
- nodes?: { [key: string]: CCILangNodeStore };
5751
- variables?: { [key: string]: CCILangVarStore };
5752
- groups?: { [key: string]: CCILangNodeGroupStore };
5742
+ nodes?: Record<string, CCILangNodeStore>;
5743
+ variables?: Record<string, CCILangVarStore>;
5744
+ groups?: Record<string, CCILangNodeGroupStore>;
5753
5745
  }
5754
5746
 
5755
- interface CCILangNodeOptGroupStore {
5756
- [key: string]: {
5747
+ type CCILangNodeOptGroupStore = Record<
5748
+ string,
5749
+ {
5757
5750
  groupTitle: string;
5758
- };
5759
- }
5751
+ }
5752
+ >;
5760
5753
  /**
5761
5754
  * @ignore
5762
5755
  */
@@ -5792,7 +5785,7 @@ interface CCILangValidateStore {
5792
5785
  * @ignore
5793
5786
  */
5794
5787
  interface CCILangSubjectNodeStore extends CCILangNodeStore {
5795
- options: { [key: string]: CCILangOptStore };
5788
+ options: Record<string, CCILangOptStore>;
5796
5789
  validation: CCILangValidateStore;
5797
5790
  }
5798
5791
 
@@ -6178,30 +6171,30 @@ interface CCPreviewBookmark {
6178
6171
  * 可以回到该节点
6179
6172
  * @param node 节点
6180
6173
  */
6181
- jumpToNode(node: CCBNode): Promise<void>;
6174
+ jumpToNode: (node: CCBNode) => Promise<void>;
6182
6175
  /**
6183
6176
  * 取到某个书签
6184
6177
  * @param item 预览历史项
6185
6178
  */
6186
- applyBookmark(item: CCPreviewBookmarkData): Promise<void>;
6179
+ applyBookmark: (item: CCPreviewBookmarkData) => Promise<void>;
6187
6180
  /**
6188
6181
  * 删除某个预览历史书签
6189
6182
  * @param item 预览历史项
6190
6183
  */
6191
- deleteBookmark(item: CCPreviewBookmarkData): Promise<void>;
6184
+ deleteBookmark: (item: CCPreviewBookmarkData) => Promise<void>;
6192
6185
  /**
6193
6186
  * 点击保存当前预览记录为历史项的按钮时的回调
6194
6187
  * @param name 用户填入的项目名
6195
6188
  */
6196
- saveBookmarks(name: string): Promise<void>;
6189
+ saveBookmarks: (name: string) => Promise<void>;
6197
6190
  /**
6198
6191
  * 选择从文件系统上传导入书签
6199
6192
  */
6200
- uploadBookmark(): Promise<void>;
6193
+ uploadBookmark: () => Promise<void>;
6201
6194
  /**
6202
6195
  * 导出某个书签下载到为文件系统
6203
6196
  */
6204
- downloadBookmark(item: CCPreviewBookmarkData): Promise<void>;
6197
+ downloadBookmark: (item: CCPreviewBookmarkData) => Promise<void>;
6205
6198
  }
6206
6199
 
6207
6200
  /**
@@ -6225,7 +6218,7 @@ interface CCPreviewTime {
6225
6218
  * 点击上传按钮时的回调
6226
6219
  * @param name 用户填写的名称
6227
6220
  */
6228
- uploadTime(name: string): Promise<void>;
6221
+ uploadTime: (name: string) => Promise<void>;
6229
6222
  }
6230
6223
 
6231
6224
  /**
@@ -6254,15 +6247,15 @@ interface CCPreviewTool {
6254
6247
  /**
6255
6248
  * 打开
6256
6249
  */
6257
- open(): void;
6250
+ open: () => void;
6258
6251
  /**
6259
6252
  * 点击关闭的回调函数
6260
6253
  */
6261
- close(): void;
6254
+ close: () => void;
6262
6255
  /**
6263
6256
  * 切换打开/关闭的回调函数
6264
6257
  */
6265
- handleToggleOpen(): void;
6258
+ handleToggleOpen: () => void;
6266
6259
  }
6267
6260
 
6268
6261
  /**
@@ -6600,20 +6593,20 @@ interface CCAnswerResumer {
6600
6593
  /**
6601
6594
  * 确定使用断点续答时的回调函数
6602
6595
  */
6603
- handleSure(): Promise<void>;
6596
+ handleSure: () => Promise<void>;
6604
6597
  /**
6605
6598
  * 拒绝使用断点续答时的回调函数
6606
6599
  */
6607
- handleDeny(): Promise<void>;
6600
+ handleDeny: () => Promise<void>;
6608
6601
  }
6609
6602
 
6610
6603
  /**
6611
6604
  * @ignore
6612
6605
  */
6613
6606
  interface CCIResumeHandler {
6614
- onSuspend?(): void;
6615
- onEnd(data: { failed: boolean; error: any }): void;
6616
- onProgress(e: string): void;
6607
+ onSuspend?: () => void;
6608
+ onEnd: (data: { failed: boolean; error: any }) => void;
6609
+ onProgress: (e: string) => void;
6617
6610
  }
6618
6611
 
6619
6612
  /**
@@ -6654,17 +6647,13 @@ interface CCIMaxDiffTaskCache {
6654
6647
  /**
6655
6648
  * @ignore
6656
6649
  */
6657
- interface CCIResumeData {
6658
- [key: string]: CCIQuestionCache;
6659
- }
6650
+ type CCIResumeData = Record<string, CCIQuestionCache>;
6660
6651
 
6661
6652
  interface CCIResumeQuesError {
6662
6653
  error: string;
6663
- options: { [key: string]: string };
6664
- }
6665
- interface CCIResumeError {
6666
- [key: string]: CCIResumeQuesError;
6654
+ options: Record<string, string>;
6667
6655
  }
6656
+ type CCIResumeError = Record<string, CCIResumeQuesError>;
6668
6657
 
6669
6658
  /**
6670
6659
  * 题目答题状态缓存,混合了各个题目的内容,但是针对单个题目只会包含这里面的部分内容。
@@ -6783,32 +6772,32 @@ interface CCUIEventHandler {
6783
6772
  * 选择语言后的回调
6784
6773
  * @param item 多语言项
6785
6774
  */
6786
- handleLangChange(item: CFPDLangTableItem): Promise<void>;
6775
+ handleLangChange: (item: CFPDLangTableItem) => Promise<void>;
6787
6776
  /**
6788
6777
  * 输入手机号码后的回调
6789
6778
  * @param number 手机号码
6790
6779
  * @param node
6791
6780
  */
6792
- handleInputPhone?(number: string, node: CCBNode | CCRewardState): Promise<void>;
6781
+ handleInputPhone?: (number: string, node: CCBNode | CCRewardState) => Promise<void>;
6793
6782
  /**
6794
6783
  * 输入验证码后的回调
6795
6784
  * @param code 验证码
6796
6785
  * @param node 关联的问题
6797
6786
  */
6798
- handleInputCode?(code: string, node: CCBNode): Promise<void>;
6787
+ handleInputCode?: (code: string, node: CCBNode) => Promise<void>;
6799
6788
  /**
6800
6789
  * 系统自动定位后的回调
6801
6790
  * @param location 定位信息
6802
6791
  * @param node 关联的问题
6803
6792
  */
6804
- handleAutoLocate?(location: CCMapLocation, node: CCBNode): Promise<void>;
6793
+ handleAutoLocate?: (location: CCMapLocation, node: CCBNode) => Promise<void>;
6805
6794
  /**
6806
6795
  * 手动选择省市区位置后的回调
6807
6796
  * @param indexes 省市区分别在各自列表中的序号,用一个空格分隔,序号从零开始计算
6808
6797
  * 如`0 2 4` 代表 省份列表中的第1个省级项目,该省的第三个市级项目,该市的第5个县级项目
6809
6798
  * @param node 关联的问题
6810
6799
  */
6811
- handleManualLocate?(indexes: string, node: CCBNode): Promise<void>;
6800
+ handleManualLocate?: (indexes: string, node: CCBNode) => Promise<void>;
6812
6801
 
6813
6802
  /**
6814
6803
  * 选项点击回调,适用题型:
@@ -6816,7 +6805,7 @@ interface CCUIEventHandler {
6816
6805
  * @param option 点击的选项
6817
6806
  * @param node 所在题目
6818
6807
  */
6819
- handleOptionClick?(option: CCOption, node: CCBNode): Promise<void>;
6808
+ handleOptionClick?: (option: CCOption, node: CCBNode) => Promise<void>;
6820
6809
 
6821
6810
  /**
6822
6811
  * 菜单项选择变化回调,适用题型:菜单题
@@ -6824,7 +6813,7 @@ interface CCUIEventHandler {
6824
6813
  * @param node 所在题目
6825
6814
  * @returns 由逻辑层控制后真正使用的项目文字列表
6826
6815
  */
6827
- handleMenuClick?(index: number, node: CCMenuNode): Promise<string[]>;
6816
+ handleMenuClick?: (index: number, node: CCMenuNode) => Promise<string[]>;
6828
6817
 
6829
6818
  /**
6830
6819
  * 级联菜单项选择变化回调,适用题型:级联菜单题
@@ -6833,7 +6822,7 @@ interface CCUIEventHandler {
6833
6822
  * @param node 所在题目
6834
6823
  * @returns 由逻辑层控制后真正使用的项目文字列表
6835
6824
  */
6836
- handleCascadeClick?(index: number, cascade: CCCascade, node: CCCascadeNode): Promise<void>;
6825
+ handleCascadeClick?: (index: number, cascade: CCCascade, node: CCCascadeNode) => Promise<void>;
6837
6826
 
6838
6827
  /**
6839
6828
  * 级联菜单项被输入时的回调,适用题型:级联菜单题
@@ -6842,7 +6831,7 @@ interface CCUIEventHandler {
6842
6831
  * @param cascade 菜单项所在的级联组
6843
6832
  * @param node 所在题目
6844
6833
  */
6845
- handleCascadeInput?(text: string, index: number, cascade: CCCascade, node: CCCascadeNode): Promise<void>;
6834
+ handleCascadeInput?: (text: string, index: number, cascade: CCCascade, node: CCCascadeNode) => Promise<void>;
6846
6835
 
6847
6836
  /**
6848
6837
  * 获取验证码按钮点击回调,适用题目,验证节点,奖励节点
@@ -6850,7 +6839,7 @@ interface CCUIEventHandler {
6850
6839
  * 当发送成功会返回Promise<true>,否则返回Promise<false>
6851
6840
  * @param target 使用短信的对象
6852
6841
  */
6853
- handleGetCodeClick?(target: CCVerifyNode | CCRewardState): Promise<boolean>;
6842
+ handleGetCodeClick?: (target: CCVerifyNode | CCRewardState) => Promise<boolean>;
6854
6843
 
6855
6844
  /**
6856
6845
  * 选项输入回调函数:适用题目填空题,打分题,数值分配题,连续评价题,上传题,输入方式排序或挑选方式排序的排序题以及有其他选项需要输入的题型
@@ -6859,7 +6848,7 @@ interface CCUIEventHandler {
6859
6848
  * @param option 所在的选项
6860
6849
  * @param node 所在的题目
6861
6850
  */
6862
- handleOptionInput?(data: CFOptionInputData, option: CCOption, node: CCBNode): Promise<void>;
6851
+ handleOptionInput?: (data: CFOptionInputData, option: CCOption, node: CCBNode) => Promise<void>;
6863
6852
  /**
6864
6853
  * 选项辅助输入回调函数
6865
6854
  * @param data 输入数据
@@ -6867,14 +6856,14 @@ interface CCUIEventHandler {
6867
6856
  * @param option 选项
6868
6857
  * @param node
6869
6858
  */
6870
- handleOptionAssistInput?(data: string, key: CCIAssistPropKeys, option: CCOption, node: CCBNode): Promise<void>;
6859
+ handleOptionAssistInput?: (data: string, key: CCIAssistPropKeys, option: CCOption, node: CCBNode) => Promise<void>;
6871
6860
  /**
6872
6861
  * 自动提示的提示文字输入时触发
6873
6862
  * @param value 输入搜索关键字
6874
6863
  * @param option 所在的选项
6875
6864
  * @param node 所在的题目
6876
6865
  */
6877
- handleAutoCpltInput?(value: string, option: CCOption, node: CCBNode): Promise<void>;
6866
+ handleAutoCpltInput?: (value: string, option: CCOption, node: CCBNode) => Promise<void>;
6878
6867
  /**
6879
6868
  * 问题级别的输入回调函数 适用题目 定位题 精准定位题 地域题 验证节点 奖励节点,图片热力图
6880
6869
  * @param data 输入的数据,对于不同的题型内容稍有不同
@@ -6884,20 +6873,20 @@ interface CCUIEventHandler {
6884
6873
  * 对于图片热力题,是一个[[ICoords]]坐标
6885
6874
  * @param node 所在题目,或奖励页面数据模型
6886
6875
  */
6887
- handleQuestionInput?(data: CFQuestionInputData, node: CCBNode | CCRewardState): Promise<void>;
6876
+ handleQuestionInput?: (data: CFQuestionInputData, node: CCBNode | CCRewardState) => Promise<void>;
6888
6877
  /**
6889
6878
  * 定位失败回调函数
6890
6879
  * @param node 相关问题
6891
6880
  */
6892
- handleLocateFailed?(node: CCBNode): Promise<void>;
6881
+ handleLocateFailed?: (node: CCBNode) => Promise<void>;
6893
6882
  /**
6894
6883
  * 点击上一题按钮回调
6895
6884
  */
6896
- handlePrevClick?(): Promise<void>;
6885
+ handlePrevClick?: () => Promise<void>;
6897
6886
  /**
6898
6887
  * 点击下一题按钮回调
6899
6888
  */
6900
- handleNextClick?(): Promise<void>;
6889
+ handleNextClick?: () => Promise<void>;
6901
6890
  /**
6902
6891
  * 排序题排序后的回调函数,适用目前 「拖拽排序」「挑选排序」「挑选跌落排序」「穿梭拖拽排序」所有四种排序方式。
6903
6892
  * 真正的排序逻辑在 UI 中处理,这里接受的两个参数为预期达成的排序结果。
@@ -6910,12 +6899,12 @@ interface CCUIEventHandler {
6910
6899
  * @param sortTargetOpt 此次排序被操作的选项
6911
6900
  * @param node 关联的题目
6912
6901
  */
6913
- handleSequenceInput?(
6902
+ handleSequenceInput?: (
6914
6903
  uiIndexesMap: Map<CCSequenceOption, number> | [],
6915
6904
  sortNosMap: Map<CCSequenceOption, number>,
6916
6905
  node: CCSequenceNode,
6917
6906
  sortTargetOpt: CCSequenceOption
6918
- ): Promise<void>;
6907
+ ) => Promise<void>;
6919
6908
  /**
6920
6909
  * MaxDiff问题评分后的回调
6921
6910
  * @param value 分值,只能是-1或者1
@@ -6923,21 +6912,21 @@ interface CCUIEventHandler {
6923
6912
  * @param task 关联的任务
6924
6913
  * @param node 关联的题目
6925
6914
  */
6926
- handleMaxDiffInput?(
6915
+ handleMaxDiffInput?: (
6927
6916
  value: MAX_DIFF_VALUE,
6928
6917
  item: CCMaxDiffTaskItem,
6929
6918
  task: CCMaxDiffTask,
6930
6919
  node: CCMaxDiffNode
6931
- ): Promise<void>;
6920
+ ) => Promise<void>;
6932
6921
  /**
6933
6922
  * 处理快速答题
6934
6923
  * @param node
6935
6924
  */
6936
- handleQuickAnswer?(node: CCBNode): Promise<void>;
6925
+ handleQuickAnswer?: (node: CCBNode) => Promise<void>;
6937
6926
  /**
6938
6927
  * 扫描二维码后领取微信红包需要用户点击网页上的按钮进行授权
6939
6928
  */
6940
- handleGetRewardWX?(): Promise<void>;
6929
+ handleGetRewardWX?: () => Promise<void>;
6941
6930
  }
6942
6931
 
6943
6932
  //#endregion
@@ -7151,7 +7140,7 @@ interface CCIVarPart {
7151
7140
  * 如果是动态的,则说明该会随运行条件变换形态
7152
7141
  * 需要调用该方法获得最新形态
7153
7142
  */
7154
- getDynamicProps?(node: CCBQuestionNode): Partial<CCIVarPart>;
7143
+ getDynamicProps?: (node: CCBQuestionNode) => Partial<CCIVarPart>;
7155
7144
  type: VAR_TYPE;
7156
7145
  uuid: string;
7157
7146
  inBunch?: boolean;