-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.d.ts
994 lines (941 loc) · 33.3 KB
/
index.d.ts
1
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
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
import type {
DefineComponent, ComputedOptions,
MethodOptions, ComponentOptionsMixin,
VNodeProps, AllowedComponentProps, ComponentCustomProps,
ExtractPropTypes, EmitsOptions
} from 'vue'
type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
type TComponent<P extends Record<string, any>, E extends EmitsOptions> = DefineComponent<Pick<P, 'value'>, {}, {}, ComputedOptions, MethodOptions, ComponentOptionsMixin, ComponentOptionsMixin, E, string, PublicProps, Readonly<ExtractPropTypes<Omit<P, 'value'>>>>
interface EventHandler<T = any> extends Event {
detail: T;
[x: string]: any;
}
/** block节点 */
type TBlock = TComponent<{
}, {}>;
/** 基本视图容器 */
type TView = TComponent<{
/** 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 */
hoverClass: string;
/** 指定是否阻止本节点的祖先节点出现点击态 */
hoverStopPropagation: boolean;
/** 按住后多久出现点击态,单位毫秒 */
hoverStartTime: number;
/** 手指松开后点击态保留时间,单位毫秒 */
hoverStayTime: number;
}, {}>;
/** 可滚动视图区域 */
type TScrollView = TComponent<{
/** 允许横向滚动 */
scrollX: boolean;
/** 允许纵向滚动 */
scrollY: boolean;
/** 距顶部/左边多远时(单位px),触发 scrolltoupper 事件 */
upperThreshold: number;
/** 距底部/右边多远时(单位px),触发 scrolltolower 事件 */
lowerThreshold: number;
/** 设置竖向滚动条位置 */
scrollTop: string | number;
/** 设置横向滚动条位置 */
scrollLeft: string | number;
/** 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素 */
scrollIntoView: string;
/** 在设置滚动条位置时使用动画过渡 */
scrollWithAnimation: boolean;
/**
* iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向
* @supports app-nvue,微信小程序
*/
enableBackToTop: boolean;
/**
* 控制是否出现滚动条
* @supports App-nvue 2.1.5+
*/
showScrollbar: boolean;
/**
* 开启自定义下拉刷新
* @supports H5、app-vue 2.5.12+,微信小程序基础库2.10.1+
*/
refresherEnabled: boolean;
/**
* 设置自定义下拉刷新阈值
* @supports H5、app-vue 2.5.12+,微信小程序基础库2.10.1+
*/
refresherThreshold: number;
/**
* 设置自定义下拉刷新默认样式,支持设置 black,white,none,none 表示不使用默认样式
* @default black
* @supports H5、app-vue 2.5.12+,微信小程序基础库2.10.1+
*/
refresherDefaultStyle: string;
/**
* 设置自定义下拉刷新区域背景颜色
* @default #FFF
* @supports H5、app-vue 2.5.12+,微信小程序基础库2.10.1+
*/
refresherBackground: string;
/**
* 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发
* @supports H5、app-vue 2.5.12+,微信小程序基础库2.10.1+
*/
refresherTriggered: boolean;
/**
* 启用 flexbox 布局。开启后,当前节点声明了 display: flex 就会成为 flex container,并作用于其孩子节点。
* @supports 微信小程序 2.7.3
*/
enableFlex: boolean;
/**
* 开启 scroll anchoring 特性,即控制滚动位置不随内容变化而抖动,仅在 iOS 下生效,安卓下可参考 CSS overflow-anchor 属性。
* @supports 微信小程序 2.8.2
*/
scrollAnchoring: boolean;
}, {}>;
/** media query 匹配检测节点 */
type TMatchMedia = TComponent<{
/** 页面宽度(px 为单位) */
width: number;
/** 页面最小宽度(px 为单位) */
minWidth: number;
/** 页面最大宽度(px 为单位) */
maxWidth: number;
/** 页面高度(px 为单位) */
height: number;
/** 页面最小高度(px 为单位) */
minHeight: number;
/** 页面最大高度(px 为单位) */
maxHeight: number;
/** 画面方向,可选值有 vertical,horizontal */
orientation: 'vertical' | 'horizontal';
}, {}>;
/** 滑块视图容器 */
type TSwiper = TComponent<{
/** 是否显示面板指示点 */
indicatorDots: boolean;
/** 指示点颜色 */
indicatorColor: string;
/** 当前选中的指示点颜色 */
indicatorActiveColor: string;
/** swiper-item 可见时的 class */
activeClass: string;
/** acceleration 设置为 {{true}} 时且处于滑动过程中,中间若干屏处于可见时的class */
changingClass: boolean;
/** 当开启时,会根据滑动速度,连续滑动多屏 */
acceleration: boolean;
/** 是否禁用代码变动触发 swiper 切换时使用动画。 */
disableProgrammaticAnimation: boolean;
/** 是否禁止用户 touch 操作 */
disableTouch: boolean;
/** 是否监听用户的触摸事件 */
touchable: boolean;
/** 指定 swiper 切换缓动动画类型,有效值:default、linear、easeInCubic、easeOutCubic、easeInOutCubic */
easingFunction: string;
/** 自动播放 */
autoplay: boolean;
/** 当前所在滑块的 index */
current: number;
/** 当前所在滑块的 item-id ,不能与 current 被同时指定 */
currentItemId: string;
/** 自动切换时间间隔 */
interval: number;
/** 指定视频长度 */
duration: number;
/** 是否采用衔接滑动 */
circular: boolean;
/** 滑动方向是否为纵向 */
vertical: boolean;
/** 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值 */
previousMargin: string;
/** 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值 */
nextMargin: string;
/** 同时显示的滑块数量 */
displayMultipleItems: number;
/** 是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息 */
skipHiddenItemLayout: boolean;
}, {}>;
/** 仅可放置在 swiper 组件中,宽高自动设置为100% */
type TSwiperItem = TComponent<{
/** 该 swiper-item 的标识符 */
itemId: string;
}, {}>;
/** 可移动的视图容器,在页面中可以拖拽滑动 */
type TMovableView = TComponent<{
/** movable-view 的移动方向。 */
direction: 'all' | 'vertical' | 'horizontal' | 'none';
/** movable-view 是否带有惯性。 */
inertia: boolean;
/** 超过可移动区域后,movable-view 是否还可以移动。 */
outOfBounds: boolean;
/** 定义 x 轴方向的偏移,如果 x 的值不在可移动范围内,会自动移动到可移动范围;改变 x 的值会触发动画。 */
x: string | number;
/** 定义 y 轴方向的偏移,如果 y 的值不在可移动范围内,会自动移动到可移动范围;改变 y 的值会触发动画。 */
y: string | number;
/** 阻尼系数,用于控制 x 或 y 改变时的动画和过界回弹的动画,值越大移动越快。 */
damping: number;
/** 摩擦系数,用于控制惯性滑动的动画,值越大摩擦力越大,滑动越快停止;必须大于0,否则会被设置成默认值 2。 */
friction: number;
/** 是否禁用。 */
disabled: boolean;
/** 是否支持双指缩放,默认缩放手势生效区域是在 movable-view 内。 */
scale: boolean;
/** 定义缩放倍数最小值,默认为 0.5。 */
scaleMin: number;
/** 定义缩放倍数最大值,默认为 10。 */
scaleMax: number;
/** 定义缩放倍数,取值范围为 0.5 - 10 */
scaleValue: number;
/** 是否使用动画,默认为 true。 */
animation: boolean;
}, {}>;
/** movable-view 的可移动区域 */
type TMovableArea = TComponent<{
}, {}>;
/** 文本 */
type TText = TComponent<{
/** 文本是否可选 */
selectable: boolean;
/** 显示连续空格 */
space: 'ensp' | 'emsp' | 'nbsp';
/** 是否解码 */
decode: boolean;
}, {}>;
/** 富文本 */
type TRichText = TComponent<{
/** 节点列表 */
nodes: any[];
}, {}>;
/** 进度条 */
type TProgress = TComponent<{
/** 百分比0~100 */
percent: number;
/** 在进度条右侧显示百分比 */
showInfo: boolean;
/** 进度条线的宽度,单位px */
strokeWidth: number;
/** switch 的颜色,同 css 的 color */
color: string;
/** radio已选择的颜色 */
activeColor: string;
/** radio背景条的颜色 */
backgroundColor: string;
/** 进度条从左往右的动画 */
active: boolean;
/** backwards: 动画从头播;forwards:动画从上次结束点接着播 */
activeMode: string;
}, {}>;
/** 按钮 */
type TButton = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 */
hoverClass: string;
/** 指定是否阻止本节点的祖先节点出现点击态 */
hoverStopPropagation: boolean;
/** 按住后多久出现点击态,单位毫秒 */
hoverStartTime: number;
/** 手指松开后点击态保留时间,单位毫秒 */
hoverStayTime: number;
/** 按钮的大小 */
size: 'default' | 'mini';
/** 开放数据类型 */
type: string;
/** 按钮是否镂空,背景色透明 */
plain: boolean;
/** 是否在导航条显示 loading 加载提示 */
loading: boolean;
/** 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 */
formType: 'submit' | 'reset';
/** 跳转方式 */
openType: 'navigate' | 'redirect' | 'switchTab' | 'reLaunch' | 'navigateBack';
/** */
lang: 'ts';
/** 会话来源 */
sessionFrom: string;
/** 会话内消息卡片标题 */
sendMessageTitle: string;
/** 会话内消息卡片点击跳转应用路径 */
sendMessagePath: string;
/** 会话内消息卡片图片 */
sendMessageImg: string;
/** 显示会话内消息卡片 */
showMessageCard: boolean;
/** 打开 APP 时,向 APP 传递的参数 */
appParameter: string;
}, {}>;
/** 多项选择器,内部由多个checkbox组成 */
type TCheckboxGroup = TComponent<{
}, {}>;
/** 多选项目 */
type TCheckbox = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** radio当前取值 */
value: number;
/** 是否选中 */
checked: boolean;
/** switch 的颜色,同 css 的 color */
color: string;
}, {}>;
/** 表单 */
type TForm = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** 是否返回 formId 用于发送模板消息 */
reportSubmit: boolean;
}, {}>;
/** 输入框 */
type TInput = TComponent<{
/** 输入框的初始内容 */
value: string;
/** 开放数据类型 */
type: string;
/** 文本区域的语义,根据类型自动填充
* @description 仅 App-nvue-iOS 支持
*/
textContentType: string;
/** 是否是密码类型 */
password: boolean;
/** 提示信息。 */
placeholder: string;
/** 指定 placeholder 的样式 */
placeholderStyle: string;
/** 指定 placeholder 的样式类 */
placeholderClass: string;
/** 是否禁用。 */
disabled: boolean;
/** 最大输入长度,设置为 -1 的时候不限制最大长度 */
maxlength: number;
/** 指定光标与键盘的距离,单位 px 。取 textarea 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 */
cursorSpacing: number;
/** 获取焦点 */
autoFocus: boolean;
/** 获取焦点 */
focus: boolean;
/**
* 设置键盘右下角按钮的文字
* @default 'done'
*/
confirmType: 'send' | 'search' | 'next' | 'go' | 'done';
/**
* 点击键盘右下角按钮时是否保持键盘不收起
* @default false
*/
confirmHold: boolean;
/** 指定focus时的光标位置 */
cursor: number;
/** 光标起始位置,自动聚集时有效,需与selection-end搭配使用 */
selectionStart: number;
/** 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 */
selectionEnd: number;
/**
* 键盘弹起时,是否自动上推页面
* @default true
*/
adjustPosition: boolean;
/**
* focus时,点击页面的时候不收起键盘
* @description 微信小程序2.8.2
* @default false
*/
holdKeyboard: boolean;
/**
* 键盘收起时,是否自动失去焦点
* @description App-Vue 3.0.0+
* @default false
*/
autoBlur: boolean;
}, {
input: (eventHandler: EventHandler<{ value: string }>) => void;
focus: (eventHandler: EventHandler<{ value: string, height: number }>) => void;
blur: (eventHandler: EventHandler<{ value: string }>) => void;
confirm: (eventHandler: EventHandler<{ value: string }>) => void;
keyboardheightchange: (eventHandler: EventHandler<{ height: number, duration: number }>) => void;
}>;
/** 用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件 */
type TLabel = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** 绑定控件的 id */
for: string;
}, {}>;
/** 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。 */
type TPicker = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** selector 普通选择器, multiSelector 多列选择器, time 时间选择器, date 日期选择器, region 省市区选择器 */
mode: 'selector' | 'multiSelector' | 'time' | 'date' | 'region';
/** mode为 selector 或 multiSelector 时,range 有效 */
range: any[];
/** 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容 */
rangeKey: string;
/** radio当前取值 */
value: number;
/**
* 大屏时UI类型,支持 picker、select、auto,默认在 iPad 以 picker 样式展示而在 PC 以 select 样式展示
* @description H5 2.9.9+
* @default 'auto'
*/
selectorType: 'picker' | 'select' | 'auto';
/**
* mode为time:表示有效时间范围的开始,字符串格式为 `hh:mm`
* mode为date:表示有效日期范围的开始,字符串格式为 `YYYY-MM-DD`
*/
start: string;
/**
* mode为time:表示有效时间范围的结束,字符串格式为 `hh:mm`
* mode为date:表示有效日期范围的结束,字符串格式为 `YYYY-MM-DD`
*/
end: string;
/**
* 有效值 year,month,day,表示选择器的粒度
* @description H5、App 2.6.3+、微信小程序、百度小程序、字节跳动小程序、飞书小程序
* @default 'day'
*/
fields: 'year' | 'month' | 'day';
/** 可为每一列的顶部添加一个自定义的项 */
customItem: string;
}, {
change: (eventHandler: EventHandler<{ value: number[] }>) => void;
cancel: (eventHandler: EventHandler) => void;
}>;
/** 嵌入页面的滚动选择器 */
type TPickerView = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** radio当前取值 */
value: number[];
/** 设置选择器中间选中框的样式 */
indicatorStyle: string;
/** 设置选择器中间选中框的类名 */
indicatorClass: string;
/** 设置蒙层的样式 */
maskStyle: string;
/** 设置蒙层的类名 */
maskClass: string;
/** 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件 */
immediateChange: boolean;
}, {
change: (eventHandler: EventHandler<{ value: number[] }>) => void;
pickstart: (eventHandler: EventHandler) => void;
pickend: (eventHandler: EventHandler) => void;
}>;
/** 单项选择器,内部由多个 radio 组成 */
type TRadioGroup = TComponent<{
/** 是否禁用。 */
disabled: boolean;
}, {}>;
/** 单选项目 */
type TRadio = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** radio当前取值 */
value: number;
/** 是否选中 */
checked: boolean;
/** switch 的颜色,同 css 的 color */
color: string;
}, {}>;
/** 滑动选择器 */
type TSlider = TComponent<{
/** 是否禁用。 */
disabled: boolean;
/** radio 最小值 */
min: number;
/** radio最大值 */
max: number;
/** radio步长,取值必须大于 0,并且可被(max - min)整除 */
step: number;
/** radio当前取值 */
value: number;
/** switch 的颜色,同 css 的 color */
color: string;
/** radio已选择的颜色 */
selectColor: string;
/** radio已选择的颜色 */
activeColor: string;
/** radio背景条的颜色 */
backgroundColor: string;
/** radio滑块的大小,取值范围为 12 - 28 */
blockSize: number;
/** 滑块颜色 */
blockColor: string;
/** 是否显示当前 value */
showValue: boolean;
}, {}>;
/** 开关选择器 */
type TSwitch = TComponent<{
/** 是否选中 */
checked: boolean;
/** 开放数据类型 */
type: string;
/** switch 的颜色,同 css 的 color */
color: string;
/** 是否禁用。 */
disabled: boolean;
}, {}>;
/** 多行输入框 */
type TTextarea = TComponent<{
/** radio当前取值 */
value: number;
/** 提示信息。 */
placeholder: string;
/** 指定 placeholder 的样式 */
placeholderStyle: string;
/** 指定 placeholder 的样式类 */
placeholderClass: string;
/** 最大输入长度,设置为 -1 的时候不限制最大长度 */
maxlength: number;
/** 获取焦点 */
autoFocus: boolean;
/** 获取焦点 */
focus: boolean;
/** 指定focus时的光标位置 */
cursor: number;
/** 设置键盘右下角按钮的文字 */
confirmType: 'send' | 'search' | 'next' | 'go' | 'done';
/** 是否自动增高,设置auto-height时,style.height不生效 */
autoHeight: boolean;
/** 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true */
fixed: boolean;
/** 指定光标与键盘的距离,单位 px 。取 textarea 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 */
cursorSpacing: number;
/** 是否显示键盘上方带有”完成“按钮那一栏 */
showConfirmBar: boolean;
/** 光标起始位置,自动聚集时有效,需与selection-end搭配使用 */
selectionStart: number;
/** 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 */
selectionEnd: number;
/** 键盘弹起时,是否自动上推页面 */
adjustPosition: boolean;
}, {}>;
/** 页面链接 */
type TNavigator = TComponent<{
/** 在哪个目标上发生跳转,默认当前应用 */
target: string;
/** 推流地址。目前仅支持 flv, rtmp 格式 */
url: string;
/** 跳转方式 */
openType: 'navigate' | 'redirect' | 'switchTab' | 'reLaunch' | 'navigateBack';
/** 当 open-type 为 navigateBack 时有效,表示回退的层数 */
delta: number;
/** 当target="miniProgram"时有效,要打开的小程序 appId */
appId: string;
/** 当target="miniProgram"时有效,打开的页面路径,如果为空则打开首页 */
path: string;
/** 当target="miniProgram"时有效,需要传递给目标应用的数据,目标应用可在 App.onLaunch(),App.onShow() 中获取到这份数据 */
extraData: Record<string, any>;
/** 当target="miniProgram"时有效,要打开的小程序版本,有效值 develop(开发版),trial(体验版),release(正式版),仅在当前小程序为开发版或体验版时此参数有效;如果当前小程序是体验版或正式版,则打开的小程序必定是正式版 */
version: string;
/** 当 open-type="navigateTo" 或 open-type="navigateBack" 时有效,窗口的显示/关闭的动画类型。 */
animationType: 'auto' | 'none' | 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'pop-in' | 'slide-out-right' | 'slide-out-left' | 'slide-out-top' | 'slide-out-bottom' | 'fade-out' | 'zoom-in' | 'zoom-fade-in' | 'pop-out';
/** 当 open-type="navigateTo" 或 open-type="navigateBack" 时有效,窗口的显示/关闭动画的持续时间。 */
animationDuration: number;
/** 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 */
hoverClass: string;
/** 指定是否阻止本节点的祖先节点出现点击态 */
hoverStopPropagation: boolean;
/** 按住后多久出现点击态,单位毫秒 */
hoverStartTime: number;
/** 手指松开后点击态保留时间,单位毫秒 */
hoverStayTime: number;
}, {}>;
/** 音频 */
type TAudio = TComponent<{
/** 是否循环播放 */
loop: boolean;
/** webview 指向网页的链接 */
src: string | string;
/** 控件 */
controls: any[];
/** 视频封面的图片网络资源地址,如果 controls 属性值为 false 则设置 poster 无效 */
poster: string;
/** 默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效 */
name: string;
/** 默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效 */
author: string;
}, {}>;
/** 图片 */
type TImage = TComponent<{
/** 是否循环播放 */
loop: boolean;
/** webview 指向网页的链接 */
src: string | string;
/** 图片裁剪、缩放的模式 */
mode: 'scaleToFill' | 'aspectFit' | 'aspectFill' | 'widthFix' | 'heightFix' | 'top' | 'bottom' | 'center' | 'left' | 'right' | 'top left' | 'top right' | 'bottom left' | 'bottom right';
/** 图片懒加载。只针对page与scroll-view下的image有效 */
lazyLoad: boolean;
/** 图片显示动画效果 */
fadeShow: boolean;
/** 默认不解析 webP 格式,只支持网络资源 */
webp: boolean;
/** 开启长按图片显示识别小程序码菜单 */
showMenuByLongpress: boolean;
}, {}>;
/** 视频 */
type TVideo = TComponent<{
/** 是否循环播放 */
loop: boolean;
/** webview 指向网页的链接 */
src: string | string;
/** 指定视频初始播放位置 */
initialTime: number;
/** 指定视频长度 */
duration: number;
/** 控件 */
controls: any[];
/** 弹幕列表 */
danmuList: any[];
/** 是否显示弹幕按钮,只在初始化时有效,不能动态变更 */
danmuBtn: boolean;
/** 是否展示弹幕,只在初始化时有效,不能动态变更 */
enableDanmu: boolean;
/** 自动播放 */
autoplay: boolean;
/** 是否静音 */
muted: boolean;
/** 在非全屏模式下,是否开启亮度与音量调节手势 */
pageGesture: boolean;
/** movable-view 的移动方向。 */
direction: 'all' | 'vertical' | 'horizontal' | 'none';
/** 若不设置,宽度大于240时才会显示 */
showProgress: boolean;
/** 是否显示全屏按钮 */
showFullscreenBtn: boolean;
/** 是否显示视频底部控制栏的播放按钮 */
showPlayBtn: boolean;
/** 是否显示视频中间的播放按钮 */
showCenterPlayBtn: boolean;
/** 是否开启控制进度的手势 */
enableProgressGesture: boolean;
/** 当视频大小与 video 容器大小不一致时,视频的表现形式。 */
objectFit: 'contain' | 'fill' | 'cover';
/** 视频封面的图片网络资源地址,如果 controls 属性值为 false 则设置 poster 无效 */
poster: string;
/** 是否显示静音按钮 */
showMuteBtn: boolean;
/** 视频的标题,全屏时在顶部展示 */
title: string;
/** 播放按钮的位置 */
playBtnPosition: string;
/** 是否开启播放手势,即双击切换播放、暂停 */
enablePlayGesture: boolean;
/** 当跳转到其它小程序页面时,是否自动暂停本页面的视频 */
autoPauseIfNavigate: boolean;
/** 当跳转到其它微信原生页面时,是否自动暂停本页面的视频 */
autoPauseIfOpenNative: boolean;
/** 在非全屏模式下,是否开启亮度与音量调节手势(同 page-gesture) */
vslideGesture: boolean;
/** 在全屏模式下,是否开启亮度与音量调节手势 */
vslideGestureInFullscreen: boolean;
/** 视频前贴广告单元ID */
adUnitId: string;
/** 用于给搜索等场景作为视频封面展示,建议使用无播放 icon 的视频封面图,只支持网络地址 */
posterForCrawler: string;
/** 解码器选择 */
codec: string;
/** 是否对 http、https 视频源开启本地缓存 */
httpCache: boolean;
/** 播放策略 */
playStrategy: number;
}, {}>;
/** 地图 */
type TMap = TComponent<{
/** 中心经度 */
longitude: number;
/** 中心纬度 */
latitude: number;
/** 是否支持双指缩放,默认缩放手势生效区域是在 movable-view 内。 */
scale: boolean;
/** 标记点 */
markers: any[];
/** 即将移除,请使用 markers */
covers: any[];
/** 路线 */
polyline: any[];
/** 圆 */
circles: any[];
/** 控件 */
controls: any[];
/** 缩放视野以包含所有给定的坐标点 */
includePoints: any[];
/** 显示带有方向的当前定位点 */
showLocation: boolean;
}, {}>;
/** 画布 */
type TCanvas = TComponent<{
/** canvas 组件的唯一标识符 */
canvasId: string;
/** 当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新 */
disableScroll: boolean;
}, {}>;
/** 承载网页的容器 */
type TWebView = TComponent<{
/** webview 指向网页的链接 */
src: string | string;
/** webview 的样式 */
webviewStyles: Record<string, any> | boolean;
}, {}>;
/** 覆盖在原生组件之上的文本视图,可覆盖的原生组件包括map、video、canvas、camera,只支持嵌套cover-view、cover-image */
type TCoverView = TComponent<{
}, {}>;
/** 覆盖在原生组件之上的图片视图,可覆盖的原生组件同cover-view,支持嵌套在cover-view里。 */
type TCoverImage = TComponent<{
/** webview 指向网页的链接 */
src: string | string;
}, {}>;
/** 图标 */
type TIcon = TComponent<{
/** 开放数据类型 */
type: string;
/** 按钮的大小 */
size: 'default' | 'mini';
/** switch 的颜色,同 css 的 color */
color: string;
}, {}>;
/** 仅可放置于 picker-view 中,其孩子节点的高度会自动设置成与picker-view的选中框的高度一致 */
type TPickerViewColumn = TComponent<{
/** 是否禁用。 */
disabled: boolean;
}, {}>;
/** 相机组件 */
type TCamera = TComponent<{
/** 前置或后置,值为front, back */
flash: 'back' | 'front';
/** 闪光灯,值为auto, on, off */
devicePosition: string;
}, {}>;
/** 实时音视频播放 */
type TLivePlayer = TComponent<{
/** webview 指向网页的链接 */
src: string | string;
/** live(直播),RTC(实时通话,该模式时延更低) */
mode: 'live' | 'RTC';
/** 自动播放 */
autoplay: boolean;
/** 是否静音 */
muted: boolean;
/** 画面方向,可选值有 vertical,horizontal */
orientation: 'vertical' | 'horizontal';
/** 填充模式,可选值有 contain,fillCrop */
objectFit: 'contain' | 'fillCrop';
/** 进入后台时是否静音 */
backgroundMute: boolean;
/** 最小缓冲区,单位s */
minCache: string;
/** 最大缓冲区,单位s */
maxCache: string;
}, {}>;
/** 实时音视频录制 */
type TLivePusher = TComponent<{
/** 推流地址。目前仅支持 flv, rtmp 格式 */
url: string;
/** 推流视频模式,可取值:SD(标清), HD(高清), FHD(超清)。 */
mode: 'SD' | 'HD' | 'FHD';
/** 自动推流 */
autopush: boolean;
/** 是否静音 */
muted: boolean;
/** 开启摄像头 */
enableCamera: boolean;
/** 获取焦点 */
autoFocus: boolean;
/** 画面方向,可选值有 vertical,horizontal */
orientation: 'vertical' | 'horizontal';
/** 美颜 */
beauty: number;
/** 美白 */
aspect: number;
/** 最小码率 */
minBitrate: string;
/** 最大码率 */
maxBitrate: string;
/** 进入后台时推流的等待画面 */
waitingImage: string;
/** 等待画面资源的MD5值 */
waitingImageMd5: string;
/** 进入后台时是否静音 */
backgroundMute: boolean;
}, {}>;
/** 用于展示微信开放的数据 */
type TOpenData = TComponent<{
/** 开放数据类型 */
type: string;
/** 当 type="groupName" 时生效, 群id */
openGid: string;
/** */
lang: 'ts';
}, {}>;
/** 广告 */
type TAd = TComponent<{
/** App广告位id,在uni-AD官网申请广告位 */
adpid: string;
}, {}>;
/** Draw 信息流广告 */
type TAdDraw = TComponent<{
/** App广告位id,在uni-AD官网申请广告位 */
adpid: string;
}, {}>;
/** 页面导航条配置节点 */
type TNavigationBar = TComponent<{
/** 视频的标题,全屏时在顶部展示 */
title: string;
/** 标题icon */
titleIcon: boolean;
/** 标题icon圆角 */
titleIconRadius: boolean;
/** */
subtitleText: boolean;
/** */
subtitleSize: boolean;
/** */
subtitleColor: boolean;
/** */
subtitleOverflow: boolean;
/** */
titleAlign: boolean;
/** */
backgroundImage: boolean;
/** */
backgroundRepeat: boolean;
/** */
blurEffect: boolean;
/** 是否在导航条显示 loading 加载提示 */
loading: boolean;
/** 导航条前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */
frontColor: boolean;
/** 窗口的背景色,必须为十六进制颜色值 */
backgroundColor: string;
/** 改变导航栏颜色时的动画时长,默认为 0 (即没有动画效果) */
colorAnimationDuration: boolean;
/** 改变导航栏颜色时的动画方式,支持 linear 、 easeIn 、 easeOut 和 easeInOut */
colorAnimationTimingFunc: boolean;
}, {}>;
/** 自定义tabBar */
type TCustomTabBar = TComponent<{
/** movable-view 的移动方向。 */
direction: 'all' | 'vertical' | 'horizontal' | 'none';
/** 是否显示icon */
showIcon: boolean;
/** 选中的tabBar选项索引值 */
selected: number;
}, {}>;
/** 自定义tabBar */
type TPageMeta = TComponent<{
/** 下拉背景字体、loading 图的样式,仅支持 dark 和 light */
backgroundTextStyle: string;
/** 窗口的背景色,必须为十六进制颜色值 */
backgroundColor: string;
/** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
backgroundColorTop: string;
/** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
backgroundColorBottom: string;
/** 滚动位置,可以使用 px 或者 rpx 为单位,在被设置时,页面会滚动到对应位置 */
scrollTop: string;
/** 滚动动画时长 */
scrollDuration: number;
/** 页面根节点样式,页面根节点是所有页面节点的祖先节点,相当于 HTML 中的 body 节点 */
pageStyle: string;
/** 页面的根字体大小,页面中的所有 rem 单位,将使用这个字体大小作为参考值,即 1rem 等于这个字体大小 */
rootFontSize: string;
/** */
enablePullDownRefresh: boolean;
}, {}>;
/** 富文本编辑器,可以对图片、文字进行编辑。 */
type TEditor = TComponent<{
/** 设置编辑器为只读。 */
readOnly: boolean;
/** 提示信息。 */
placeholder: string;
/** 点击图片时显示图片大小控件。 */
showImgSize: boolean;
/** 点击图片时显示工具栏控件。 */
showImgToolbar: boolean;
/** 点击图片时显示修改尺寸控件。 */
showImgResize: string;
}, {}>;
/** 是一个数据库查询组件,它是对uni-clientdb的js库的再封装。 */
type TUnicloudDb = TComponent<{
/** 表名 */
collection: string | string;
/** 查询字段,多个字段用 `,` 分割 */
field: string | string;
/** 查询条件 */
where: string | string;
/** 云端执行数据库查询的前或后,触发某个action函数操作,进行预处理或后处理 */
action: string | string;
/** 排序字段及正序倒叙设置 */
orderby: string;
/** 对数据进行分组 */
groupby: string;
/** 对数据进行分组统计 */
groupField: string;
/** 是否对数据查询结果中重复的记录进行去重 */
distinct: boolean;
/** add 多次查询的集合, replace 当前查询的集合 */
pageData: 'add' | 'replace';
/** 当前页 */
pageCurrent: number;
/** 每页数据数量 */
pageSize: number;
/** 指定查询结果是否返回数组第一条数据,默认 false。在false情况下返回的是数组,即便只有一条结果,也需要[0]的方式获取。在true下,直接返回结果数据,少一层数组 */
getone: boolean;
/** 是否查询总数量 */
getcount: boolean;
/** 是否查询树状结构数据 */
gettree: boolean;
/** gettree的第一层级条件,此初始条件可以省略,不传startWith时默认从最顶级开始查询 */
startwith: string;
/** gettree查询返回的树的最大层级。超过设定层级的节点不会返回。默认10级,最大15,最小1 */
limitlevel: number;
/** 是否手动加载数据,默认为 false,页面onready时自动联网加载数据 */
manual: boolean;
}, {}>;
declare module '@vue/runtime-core' {
export interface GlobalComponents {
Block: TBlock;
View: TView;
ScrollView: TScrollView;
MatchMedia: TMatchMedia;
Swiper: TSwiper;
SwiperItem: TSwiperItem;
MovableView: TMovableView;
MovableArea: TMovableArea;
Text: TText;
RichText: TRichText;
Progress: TProgress;
Button: TButton;
CheckboxGroup: TCheckboxGroup;
Checkbox: TCheckbox;
Form: TForm;
Input: TInput;
Label: TLabel;
Picker: TPicker;
PickerView: TPickerView;
RadioGroup: TRadioGroup;
Radio: TRadio;
Slider: TSlider;
Switch: TSwitch;
Textarea: TTextarea;
Navigator: TNavigator;
Audio: TAudio;
Image: TImage;
Video: TVideo;
Map: TMap;
Canvas: TCanvas;
WebView: TWebView;
CoverView: TCoverView;
CoverImage: TCoverImage;
Icon: TIcon;
PickerViewColumn: TPickerViewColumn;
Camera: TCamera;
LivePlayer: TLivePlayer;
LivePusher: TLivePusher;
OpenData: TOpenData;
Ad: TAd;
AdDraw: TAdDraw;
NavigationBar: TNavigationBar;
CustomTabBar: TCustomTabBar;
PageMeta: TPageMeta;
Editor: TEditor;
UnicloudDb: TUnicloudDb;
}
}