tmui-cli 2.0.4 → 2.0.5

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.
Files changed (105) hide show
  1. package/data/components.json +1 -1
  2. package/data/config.json +1 -1
  3. package/data/doc-index.json +1 -1
  4. package/data/examples/radio.vue +4 -0
  5. package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +2 -0
  6. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/01.Agent.md +42 -16
  7. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/04.SKILL.md +9 -8
  8. package/data/tmui4x-doc-index.json +1 -1
  9. package/data/uni-app-x-docs/.vuepress/utils/cssJson.json +1 -1
  10. package/data/uni-app-x-docs/.vuepress/utils/example-mapping.json +7 -0
  11. package/data/uni-app-x-docs/.vuepress/utils/utsApiJson.json +1 -1
  12. package/data/uni-app-x-docs/.vuepress/utils/utsComJson.json +1 -1
  13. package/data/uni-app-x-docs/.vuepress/utils/vueJson.json +1 -1
  14. package/data/uni-app-x-docs/_sidebar.md +6 -1
  15. package/data/uni-app-x-docs/api/get-location.md +6 -6
  16. package/data/uni-app-x-docs/api/modal.md +2 -1
  17. package/data/uni-app-x-docs/api/request.md +1 -0
  18. package/data/uni-app-x-docs/api/toast.md +2 -2
  19. package/data/uni-app-x-docs/api/window.md +2 -0
  20. package/data/uni-app-x-docs/collocation/app.md +10 -5
  21. package/data/uni-app-x-docs/collocation/manifest-android.md +15 -15
  22. package/data/uni-app-x-docs/collocation/manifest-ios.md +17 -16
  23. package/data/uni-app-x-docs/collocation/manifest-modules.md +10 -10
  24. package/data/uni-app-x-docs/component/map.md +10 -8
  25. package/data/uni-app-x-docs/component/video.md +8 -4
  26. package/data/uni-app-x-docs/css/_sidebar.md +0 -1
  27. package/data/uni-app-x-docs/css/common/function.md +8 -4
  28. package/data/uni-app-x-docs/css/common/selector.md +2 -0
  29. package/data/uni-app-x-docs/mp/README.md +0 -4
  30. package/data/uni-app-x-docs/mp/native-component-and-wxs.md +166 -0
  31. package/data/uni-app-x-docs/native/download/android.md +106 -19
  32. package/data/uni-app-x-docs/native/download/ios.md +11 -9
  33. package/data/uni-app-x-docs/page.md +2 -0
  34. package/data/uni-app-x-docs/project.md +6 -7
  35. package/data/uni-app-x-docs/release-note-alpha.md +142 -0
  36. package/data/uni-app-x-docs/release.md +263 -0
  37. package/data/uni-app-x-docs/select/native-render-and-self-render.md +386 -0
  38. package/data/uni-app-x-docs/tutorial/android-16kb.md +5 -1
  39. package/data/uni-app-x-docs/tutorial/app-env.md +1 -1
  40. package/data/uni-app-x-docs/tutorial/app-update-wgt.md +13 -0
  41. package/data/uni-app-x-docs/tutorial/store.md +0 -1
  42. package/data/uni-app-x-docs/uts/README.md +27 -25
  43. package/data/uni-app-x-docs/vue/README.md +64 -29
  44. package/data/uni-app-x-docs/vue/built-in.md +1 -1
  45. package/data/uni-app-x-docs/vue/component.md +1 -1
  46. package/data/uni-app-x-docs/vue/composition-api.md +6 -19
  47. package/data/uni-app-x-docs/vue/global-api.md +1 -1
  48. package/data/uniappx/_sidebar.md +6 -1
  49. package/data/uniappx/api/create-editor-context-async.md +3 -3
  50. package/data/uniappx/api/get-app-base-info.md +14 -14
  51. package/data/uniappx/api/get-file-system-manager.md +2 -2
  52. package/data/uniappx/api/get-location.md +6 -6
  53. package/data/uniappx/api/modal.md +2 -1
  54. package/data/uniappx/api/on-tab-bar-mid-button-tap.md +4 -4
  55. package/data/uniappx/api/request.md +1 -0
  56. package/data/uniappx/api/toast.md +4 -4
  57. package/data/uniappx/api/window.md +2 -0
  58. package/data/uniappx/collocation/app.md +10 -5
  59. package/data/uniappx/collocation/manifest-android.md +15 -15
  60. package/data/uniappx/collocation/manifest-ios.md +17 -16
  61. package/data/uniappx/collocation/manifest-modules.md +10 -10
  62. package/data/uniappx/component/checkbox.md +2 -2
  63. package/data/uniappx/component/input.md +9 -15
  64. package/data/uniappx/component/label.md +4 -3
  65. package/data/uniappx/component/map.md +19 -14
  66. package/data/uniappx/component/swiper.md +31 -67
  67. package/data/uniappx/component/switch.md +3 -9
  68. package/data/uniappx/component/textarea.md +4 -8
  69. package/data/uniappx/component/uni-ui-x/uni-badge-view.md +2 -2
  70. package/data/uniappx/component/uni-ui-x/uni-collapse.md +11 -55
  71. package/data/uniappx/component/uni-ui-x/uni-fab-button.md +1 -1
  72. package/data/uniappx/component/uni-ui-x/uni-link.md +1 -1
  73. package/data/uniappx/component/uni-ui-x/uni-number-box.md +2 -2
  74. package/data/uniappx/component/uni-ui-x/uni-rate.md +2 -2
  75. package/data/uniappx/component/uni-ui-x/uni-refresh-box.md +1 -1
  76. package/data/uniappx/component/uni-ui-x/uni-tab.md +44 -2
  77. package/data/uniappx/component/video.md +16 -13
  78. package/data/uniappx/component/web-view.md +10 -21
  79. package/data/uniappx/css/_sidebar.md +1 -2
  80. package/data/uniappx/css/common/function.md +7 -4
  81. package/data/uniappx/css/common/selector.md +14 -14
  82. package/data/uniappx/mp/README.md +0 -4
  83. package/data/uniappx/mp/native-component-and-wxs.md +151 -0
  84. package/data/uniappx/native/download/android.md +106 -19
  85. package/data/uniappx/native/download/ios.md +11 -9
  86. package/data/uniappx/page.md +2 -0
  87. package/data/uniappx/project.md +5 -6
  88. package/data/uniappx/release-note-alpha.md +142 -0
  89. package/data/uniappx/release.md +263 -0
  90. package/data/uniappx/select/native-render-and-self-render.md +382 -0
  91. package/data/uniappx/tutorial/android-16kb.md +5 -1
  92. package/data/uniappx/tutorial/app-env.md +1 -1
  93. package/data/uniappx/tutorial/app-update-wgt.md +9 -0
  94. package/data/uniappx/uts/README.md +27 -25
  95. package/data/uniappx/vue/README.md +11 -82
  96. package/data/uniappx/vue/built-in.md +2 -2
  97. package/data/uniappx/vue/component.md +1 -1
  98. package/data/uniappx/vue/composition-api.md +2 -86
  99. package/data/uniappx/vue/global-api.md +1 -1
  100. package/data/uniappx/vue/modifier.md +3 -3
  101. package/data/uniappx-doc-index.json +44 -16
  102. package/dist/main.mjs +1 -1
  103. package/package.json +1 -1
  104. package/data/uni-app-x-docs/css/css_diff_web.md +0 -802
  105. package/data/uniappx/css/css_diff_web.md +0 -802
@@ -73,8 +73,6 @@ vue的script分组合式和选项式。选项式属于比较老的技术,在
73
73
 
74
74
  可以看出整体和html还是很接近的。但响应式变量和绑定机制,可以免去写大量的dom操作代码,让开发更高效轻松。
75
75
 
76
- 基于选项式的示例,下面章节会提供。
77
-
78
76
  ## template
79
77
 
80
78
  template中文名为`模板`,它类似html的标签。但有2个区别:
@@ -124,23 +122,58 @@ template中文名为`模板`,它类似html的标签。但有2个区别:
124
122
  ## script
125
123
 
126
124
  script中编写逻辑代码。
125
+ uvue文件中只能有一个script标签。
126
+
127
+ script标签有2个属性,lang和setup。
128
+
129
+ ```vue
130
+ <script setup lang="ts">
131
+ ```
132
+
133
+ ### lang
134
+
135
+ #### VDOM模式
136
+ VDOM模式lang的值域只有uts。Android平台按uts2kt执行,此时要求强类型。其他平台按uts2js执行,不要求强类型。
137
+
138
+ #### 蒸汽模式
139
+ 蒸汽模式,lang最终运行在js环境中,不再要求强类型。
140
+
141
+ ##### HBuilderX 5.31以前统一uts2js
142
+ 不能手动指定lang,script均按uts2js执行,强行设置lang为ts/js反而会触发bug。
127
143
 
128
- uvue中只能有一个script标签。
144
+ 页面外链的脚本文件,不管是`*.js`、`*.ts`、`*.uts`,统一执行uts2js。并且推荐使用uts文件,更稳定。
129
145
 
130
- script标签的属性如下:
131
- - lang
132
- 目前不推荐设置此项。
146
+ 按uts2js执行时,uts里也可以使用ts/js的写法。此时写类型不严谨的js时,可能触发类型校验告警,但忽略即可。
133
147
 
134
- 在VDOM模式,lang只能使用uts,Android平台按uts2kt执行。其他平台按uts2js执行。
148
+ ##### 5.31+,js/ts/uts变成3种独立策略@utstsjs
149
+
150
+ 页面script的lang可以设置uts、ts和js。
135
151
 
136
- 在蒸汽模式,在HBuilderX 5.27以前,仅支持uts,按uts2js执行,强行设置ts/js会触发bug。从5.27+,lang可以设置ts和js
152
+ 页面外链的脚本文件,也可以独立使用 `*.js`、`*.ts`、`*.uts`。不再统一执行uts2js。
137
153
 
138
- 设置js、ts、uts,会影响编译速度,编译速度逐渐变慢。ts需要执行ts2js编译,uts还需要再追加uts2js编译。
154
+ 如果页面script未设置,则根据全局配置 manifest.json 中 蒸汽模式下 script lang 的默认值来执行。如果未改动manifest默认值,则默认为`ts`。
139
155
 
140
- uts2js,为了拉齐uts编译的强类型整体表现,支持UTSJSONObject、把部分js内置API返回值从undefined改为null、type没有擦除而是编译成了class。不使用uts时,将无法再使用UTSJSONObject,type会被擦除,所有API表现均与标准js一致。
156
+ 注意:默认值是 `ts`。不是uni-app默认的`js`,也不是uni-app x VDOM模式默认的`uts`。
157
+ 默认值之所以调整,一是为了方便AI,二是为了提升编译速度。
141
158
 
142
- - setup
143
- setup属性声明代表script里的代码为组合式写法,如果没有setup属性则为选项式写法。
159
+ 此时uts、ts、js三者将有不同的编译逻辑,见下。
160
+
161
+ 蒸汽模式下,使用uts、ts,实际也需要经过uts2js、ts2js的编译流程。uts、ts和js的区别:
162
+ - js:没有额外的编译流程。编译速度快。
163
+ - ts:需执行ts2js的编译器,类型仅对开发阶段生效,实际运行时会擦除类型。编译速度中。
164
+ - uts:需执行uts2js编译器。编译速度慢。为了拉齐uts编译原生强类型的跨端表现,运行时与标准js有略微差异:
165
+ + 支持UTSJSONObject
166
+ + type没有擦除而是编译成了class
167
+ + 把部分js内置API返回值从undefined改为null
168
+
169
+ 不使用uts时,将无法再使用UTSJSONObject,UTSJSONObject变成了普通的object,type会被擦除,运行时内置API被改成`null`的会还原为`undefined`。
170
+
171
+ 如果你之前使用过UTSJSONObject的专有方法,比如getString、getNumber、getArray等方法,在5.31+运行,由于默认按ts编译,会造成控制台报警找不到相关类型和方法,此时有如下处理方案:
172
+ 1. 把相关页面的script的lang,显式指定为uts。
173
+ 2. 把UTSJSONObject的写法,改成普通object写法。
174
+
175
+ ### setup
176
+ setup属性声明代表script里的代码为组合式写法,如果没有setup属性则为选项式写法。蒸汽模式只支持setup。
144
177
 
145
178
  **注意:** 所有 `vue` 公开的 `API` 都是不需要 `import` 的, `uni-app x` 会自动引入。
146
179
 
@@ -151,9 +184,11 @@ import { ref } from 'vue';
151
184
 
152
185
  ### 组合式和选项式的区别
153
186
 
154
- vue最初只有选项式API,从vue3起,新增了组合式API。uni-app x仅支持vue3。
187
+ vue自身最初只有选项式API,从vue3起,新增了组合式API。再推出蒸汽模式后仅支持组合式API
155
188
 
156
- 所谓选项式,就是把script的内容在export default {} 中约定不同的对象,在其中通过多个选项的对象来定义data、method和生命周期。
189
+ uni-app x 仅支持vue3,uni-app x 蒸汽模式也仅支持组合式API。
190
+
191
+ 所谓选项式,就是把script的内容在 `export default {}` 中约定不同的对象,在其中通过多个选项的对象来定义data、method和生命周期。
157
192
 
158
193
  框定好这些后,开发者就在这个框框里分别写自己的业务逻辑。
159
194
 
@@ -161,7 +196,7 @@ vue最初只有选项式API,从vue3起,新增了组合式API。uni-app x仅
161
196
 
162
197
  vue3新增的组合式API,是纯编程的,解决了选项式不够灵活的问题。同时维持了易学的特点。让vue变的即容易、又灵活。
163
198
 
164
- vue3中,组合式和选项式是可以混合使用的。
199
+ uni-app x VDOM模式中,组合式和选项式是可以混合使用的。
165
200
  1. 可以A页面使用组合式,B页面使用选项式,互相跳转。
166
201
  2. 可以页面使用组合式,其中的某些组件使用选项式。反之亦然。
167
202
  3. 一个页面或组件内,可以混合使用组合式和选项式
@@ -170,17 +205,17 @@ vue3新增的组合式API,是纯编程的,解决了选项式不够灵活的
170
205
 
171
206
  但注意不支持一个页面/组件有2个script,分别写选项式和组合式。
172
207
 
208
+ 在 uni-app x 蒸汽模式中,仅支持组合式,不支持选项式混合使用。
209
+
173
210
  开发者可以根据自己的喜好选择2种写法,但还有几个差别需要注意:
174
211
  1. vue推出了蒸汽模式,该模式抛弃了VNode,让页面加载速度更快。但该模式仅支持组合式。为了更高的性能,推荐使用组合式。
175
212
  1. 组合式API的组件,可以监听引用其页面的页面级生命周期。而选项式是不能的。有相关需求的组件,需使用组合式API,或在选项式中使用setup函数。[详见](./component.md#component-page-lifecycle)
176
213
  2. 选项式的type类型定义在`export default {}`外,这些都是应用级全局的,略微影响性能。[见下](#export-default-out)
177
- 3. uts插件的兼容模式组件,其中的根index.vue,只支持选项式。兼容模式组件已经不再推荐使用,推荐使用标准模式组件。
178
-
214
+ 3. uts插件的兼容模式组件,其中的根index.vue,只支持选项式。兼容模式组件已经不再推荐使用,蒸汽模式也不支持,推荐使用uts标准模式组件。
179
215
 
180
216
  一般推荐的建议是:
181
- 1. 如果有历史的选项式代码需要复用,这些选项式代码仍然可以使用。
182
- 2. 如果新写页面和组件,建议直接使用组合式。
183
- 3. 虽然选项式可以用,但强烈推荐通过[uni-agent](https://doc.dcloud.net.cn/uni-app-x/ai/)来转换选项式代码为组合式,可以使用如下提示词:[见下](#ai)
217
+ 1. 如果新写页面和组件,建议直接使用组合式。
218
+ 2. 历史选项式页面和组件,强烈推荐通过[uni-agent](https://doc.dcloud.net.cn/uni-app-x/ai/)来转换选项式代码为组合式,其已经内置了转换相关的skill。如果使用其他AI,可以参考如下的提示词 [见下](#ai)
184
219
 
185
220
  ### 组合式API
186
221
  组合式 API,也称 Composition API,或 setup函数。
@@ -301,7 +336,7 @@ vue3新增的组合式API,是纯编程的,解决了选项式不够灵活的
301
336
 
302
337
  ### JSX/TSX
303
338
 
304
- uni-app x 目前不支持使用 JSX/TSX 编写页面和组件,请使用 Vue 的 `template` 模板语法。
339
+ uni-app x 除web平台外,其他平台不支持使用 JSX/TSX 编写页面和组件,请使用 Vue 的 `template` 模板语法。
305
340
 
306
341
  在 App 端蒸汽模式下,视图层代码,即 Vue 文件中 `template` 和 `style` 内的代码,会在编译期进行静态分析,并直接编译为高度优化的机器码或字节码,它的运行速度远快于arkts、kotlin及k/n。
307
342
 
@@ -309,7 +344,7 @@ JSX/TSX 是编写在 JavaScript/TypeScript 中的表达式语法,目前不支
309
344
 
310
345
  ## style(CSS功能) @css
311
346
 
312
- style的写法与web的css基本相同。但在App端,由于并非webview渲染,支持的css有限。[详见](../css/README.md)
347
+ style的写法与web的css基本相同。但在App端,由于并非webview渲染,支持的css是子集。[详见](../css/README.md)
313
348
 
314
349
  本章节重点讲解uvue下样式的使用注意事项。
315
350
 
@@ -336,8 +371,8 @@ style通过lang属性,可以支持less、scss、stylus等css预处理语言。
336
371
 
337
372
  ### Class 与 Style 绑定 @class-style
338
373
 
339
- - `uni-app x` 支持绑定 `UTSJSONObject` 和 `Map` 类型数据。
340
- - App-Android平台上 `Map` 的性能高于 `UTSJSONObject` 数据类型。从 `uni-app x 4.01` 起,Web平台也支持了 `Map` 类型绑定。
374
+ - `uni-app x` 在VDOM模式下支持绑定 `UTSJSONObject` 和 `Map` 类型数据。蒸汽模式不支持 `Map` 类型数据。
375
+ - VDOM模式下,在App-Android平台上 `Map` 的性能高于 `UTSJSONObject` 数据类型。从 `uni-app x 4.01` 起,Web平台在uts2js时也支持了 `Map` 类型绑定。
341
376
 
342
377
  如下示例中,给 view 组件的 style 和 class 分别绑定了两个响应式变量,就可以通过在逻辑代码里修改变量而实现动态修改样式。
343
378
  ```vue
@@ -456,6 +491,8 @@ useCssModule('classes')
456
491
 
457
492
  单文件组件的 `<style>` 标签支持使用 `v-bind` CSS 函数将 CSS 的值链接到动态的组件状态:
458
493
 
494
+ 选项式写法:
495
+
459
496
  ```vue
460
497
  <template>
461
498
  <text class="text">hello</text>
@@ -478,7 +515,7 @@ export default {
478
515
  </style>
479
516
  ```
480
517
 
481
- 这个语法同样也适用于 `<script setup>`,且支持 UTS 表达式 (需要用引号包裹起来):
518
+ 组合式写法: `<script setup>`,且支持 UTS 表达式 (需要用引号包裹起来):
482
519
 
483
520
  ```vue
484
521
  <script setup>
@@ -501,8 +538,8 @@ const theme = {
501
538
 
502
539
  ## 利用AI将选项式转换为组合式@ai
503
540
 
504
- 推荐使用[uni-agent](https://doc.dcloud.net.cn/uni-app-x/ai/),可以直接转换选项式代码为组合式代码,并自动监控控制台报错然后自动修复。
505
- 官方的很多页面如hello uni-app x,都是这样转的。
541
+ 推荐使用[uni-agent](https://doc.dcloud.net.cn/uni-app-x/ai/),可以直接转换选项式代码为组合式代码,并自动监控控制台报错然后自动修复。\
542
+ 官方的很多页面如 hello uni-app x,都是这样转的。
506
543
 
507
544
  如果您使用其他AI,可以使用下面的提示词:
508
545
 
@@ -523,8 +560,6 @@ const theme = {
523
560
  11. 在页面生命周期中,`onPullDownRefresh` 应作为页面生命周期函数处理,而不是写成普通方法。
524
561
  12. 检查控制台的编译报错,如果有报错自行修复,并再次检查编译报错,直到无报错编译通过。
525
562
 
526
-
527
-
528
563
  ## 利用 AI 适配蒸汽模式@ai-vapor
529
564
 
530
565
  下面提示词用于把已有 uni-app x 页面适配到蒸汽模式。
@@ -33,7 +33,7 @@
33
33
  更新元素的内容,并且不会被解析。
34
34
 
35
35
  ::: warning 注意
36
- 在 `App-android` 平台,`v-html` 指令通过编译为 [rich-text](../component/rich-text.md) 组件实现。因此,`v-html` 指令的内容必须是 `rich-text` 支持的格式, 并且要遵循标签嵌套规则,例如, `swiper` 标签内只允许嵌套 `swiper-item` 标签。\
36
+ 在 `App-android` 平台,`v-html` 指令通过编译为 [rich-text](../component/rich-text.md) 组件实现。因此,`v-html` 指令的内容必须是 `rich-text` 支持的格式。\
37
37
  同时,受限于 `rich-text` 组件不支持 `class` 样式,`v-html` 指令中同样不支持 `class` 样式。\
38
38
  绑定 `v-html` 的标签内的内容会被忽略,`v-html` 指令的内容会编译为 `rich-text` 组件渲染为该标签的子节点。
39
39
  :::
@@ -348,7 +348,7 @@ Uni`组件名(驼峰)`Element
348
348
 
349
349
  **bug&tips**
350
350
 
351
- - 目前uts组件,即封装原生ui给uni-app或uni-app x的页面中使用,类型与内置组件的 Uni`组件名(驼峰)`Element 方式相同。目前没有代码提示。
351
+ - 目前uts插件 - uni-app兼容模式组件,即封装原生ui给uni-app或uni-app x VDOM模式的页面中使用,类型与内置组件的 Uni`组件名(驼峰)`Element 方式相同。目前没有代码提示。
352
352
 
353
353
  ### 组件监听应用、页面生命周期 @component-page-lifecycle
354
354
 
@@ -108,7 +108,7 @@ watch(
108
108
  若要避免深层响应式转换,只想保留对这个对象顶层次访问的响应性,请使用 [shallowReactive()](#shallowreactive) 作替代。
109
109
 
110
110
  ::: warning 注意
111
- - `reactive` 在 app-android 平台目前不支持对 class 做响应式,推荐使用 type 定义存储数据的对象类型。
111
+ - `reactive` 在 App-Android VDOM 模式不支持对 class 做响应式,推荐使用 type 定义存储数据的对象类型。
112
112
  :::
113
113
 
114
114
  - 示例 [详情](<!-- VUEJSON.E_reactivity.core_reactive_reactive.gitUrl -->)
@@ -189,7 +189,7 @@ watch(
189
189
  <!-- VUEJSON.reactivity_utilities.example -->
190
190
 
191
191
  ::: warning 注意
192
- - `toRefs()` 仅支持 `Array` 和 `UTSJSONObject`, 不支持自定义类型。
192
+ - App-Android VDOM 模式 `toRefs()` 仅支持 `Array` 和 `UTSJSONObject`, 不支持自定义类型。
193
193
  :::
194
194
 
195
195
  ### 示例代码 @example
@@ -512,21 +512,6 @@ onReady(() => {
512
512
 
513
513
  ## \<script setup> @script_setup
514
514
 
515
- ### 基本语法 @basic-syntax
516
-
517
- - 仅支持 `export default {}` 方式定义组件。
518
- - `data` 仅支持函数返回对象字面量方式。
519
- ```ts
520
- <script lang="uts">
521
- export default {
522
- data() {
523
- return {
524
- // 必须写这里
525
- }
526
- }
527
- }
528
- </script>
529
- ```
530
515
  <!-- VUEJSON.script.description -->
531
516
 
532
517
  <!-- VUEJSON.script.compatibility -->
@@ -669,8 +654,6 @@ defineExpose({
669
654
 
670
655
  在底层,这个宏声明了一个 model prop 和一个相应的值更新事件。如果第一个参数是一个字符串字面量,它将被用作 prop 名称;否则,prop 名称将默认为 `"modelValue"`。在这两种情况下,你都可以再传递一个额外的对象,它可以包含 prop 的选项和 model ref 的值转换选项。
671
656
 
672
- **注意:** android 端 `defineModel` 暂不支持创建 `Array` 类型 `prop`。
673
-
674
657
  #### 示例
675
658
 
676
659
  [详情](<!-- VUEJSON.E_directive.v-model_Foo-composition.gitUrl -->)
@@ -704,6 +687,10 @@ defineExpose({
704
687
 
705
688
  在 `<script setup>` 使用 `slots` 和 `attrs` 的情况应该是相对来说较为罕见的,因为可以在模板中直接通过 `$slots` 和 `$attrs` 来访问它们。在你的确需要使用它们的罕见场景中,可以分别用 `useSlots` 和 `useAttrs` 两个辅助函数:
706
689
 
690
+ ::: warning 注意
691
+ - `useSlots` 在 App 蒸汽模式下仅能用于判断插槽是否存在,不能调用插槽函数获取 dom 节点数组。
692
+ :::
693
+
707
694
  #### useSlots() 示例 @useslots-example
708
695
 
709
696
  [详情](<!-- VUEJSON.E_directive.v-slot_v-slot-composition.gitUrl -->)
@@ -106,4 +106,4 @@ uni-app x 新增了 [onLastPageBackPress](../collocation/App.md#applifecycle)
106
106
 
107
107
  ### nextTick 使用注意事项 @nexttick
108
108
 
109
- 目前 nextTick 可以保证当前数据已经同步到 DOM,但是由于排版和渲染是异步的的,所以 nextTick 不能保证 DOM 排版以及渲染完毕。如果需要获取排版后的节点信息推荐使用 [uni.createSelectorQuery](../api/nodes-info.md) 不推荐直接使用 [Element](../dom/unielement.md) 对象。在修改 DOM 后,立刻使用 [Element](../dom/unielement.md) 对象的同步接口获取 DOM 状态可能获取到的是排版之前的,而 [uni.createSelectorQuery](../api/nodes-info.md) 可以保障获取到的节点信息是排版之后的。
109
+ 目前 nextTick 可以保证当前数据已经同步到 DOM,但是由于排版和渲染是异步的的,所以 nextTick 不能完全保证 DOM 排版以及渲染完毕(蒸汽模式在 5.21 版本之后可以保障渲染完毕)。如果需要获取排版后的节点信息推荐使用 [uni.createSelectorQuery](../api/nodes-info.md) 不推荐直接使用 [Element](../dom/unielement.md) 对象。在修改 DOM 后,立刻使用 [Element](../dom/unielement.md) 对象的同步接口获取 DOM 状态可能获取到的是排版之前的,而 [uni.createSelectorQuery](../api/nodes-info.md) 可以保障获取到的节点信息是排版之后的。
@@ -67,6 +67,8 @@
67
67
  * [概述](mp/README.md)
68
68
  * [AI 开发模式接入指南](mp/mp-weixin-ai-develop.md)
69
69
  * [独立分包](mp/independent-subpackage.md)
70
+ * [组件和 WXS](mp/native-component-and-wxs.md)
71
+ * [分包异步化](mp/miniprogram-subcontract-asynchrony.md)
70
72
  * [适配 glass-easel](mp/mp-weixin-glass-easel.md)
71
73
  * 运行和调试
72
74
  * [Android/iOS运行](tutorial/run-app.md)
@@ -90,7 +92,9 @@
90
92
  * [Android性能评测基准报告](benchmark/vapor-benchmark-android.md)
91
93
  * [iOS性能评测基准报告](benchmark/vapor-benchmark-ios.md)
92
94
  * [鸿蒙性能评测基准报告](benchmark/vapor-benchmark-harmony.md)
93
- * [uni-app 升级 uni-app x](./uniapptox.md)
95
+ * 选型参考
96
+ * [一文讲透原生渲染和自渲染](./select/native-render-and-self-render.md)
97
+ * [uni-app 升级 uni-app x](uniapptox.md)
94
98
  * 安全专题
95
99
  * [综述](tutorial/safe.md)
96
100
  * 客户端安全
@@ -127,6 +131,7 @@
127
131
  * [uni-push2.0、uni-id、uni统计的组合](https://doc.dcloud.net.cn/uniCloud/uni-cloud-push/mate.html)
128
132
  * [安卓、鸿蒙厂商推送配置](uni-push/vendor_config.md)
129
133
  * [谷歌FCM配置](uni-push/google-fcm.md)
134
+ * [uni统计](https://uniapp.dcloud.net.cn/uni-stat-uniappx)
130
135
  * cursor/vscode插件
131
136
  * [语言服务插件](tutorial/ls-plugin.md)
132
137
  * [AI Rules/MCP](tutorial/rules_mcp.md)
@@ -10,9 +10,9 @@
10
10
  本API是 [editor组件](../component/editor.md) 的上下文对象。
11
11
 
12
12
  ### createEditorContextAsync 兼容性
13
- | Web | 微信小程序 | Android(VDOM) | Android(Vapor) | iOS(VDOM) | iOS(Vapor) | HarmonyOS |
14
- | :- | :- | :- | :- | :- | :- | :- |
15
- | 5.08 | 5.08 | 5.08 | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | 5.08 | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | 5.08 |
13
+ | Web | 微信小程序 | Android | iOS | HarmonyOS |
14
+ | :- | :- | :- | :- | :- |
15
+ | 5.08 | 5.08 | 5.08 | 5.08 | 5.08 |
16
16
 
17
17
  ### 参数
18
18
 
@@ -28,30 +28,28 @@
28
28
  | **GetAppBaseInfoResult** |
29
29
  | 名称 | 类型 | 必备 | 兼容性 | 描述 |
30
30
  | :- | :- | :- | :-: | :- |
31
- | appId | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | `manifest.json` 中的应用标识,即DCloud AppID<br/> |
32
- | appName | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | `manifest.json` 中的应用名称<br/> |
33
- | appVersion | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | `manifest.json` 中的应用版本名称<br/> |
34
- | appVersionCode | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | `manifest.json` 中的应用版本号<br/> |
35
- | appLanguage | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 应用的语言en、zh-Hans、zh-Hant、fr、es<br/> |
31
+ | appId | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | 应用的标识,即DCloud AppID<br/> |
32
+ | appName | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | 应用的名称<br/> |
33
+ | appVersion | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | 应用的版本名称,app平台为原生应用安装包的版本名称<br/> |
34
+ | appVersionCode | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 应用的版本号,app平台为原生应用安装包的版本名称<br/> |
35
+ | appLanguage | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 应用的语言,如en、zh-Hans、zh-Hant、fr、es<br/> |
36
36
  | appTheme | string | 否 | Web x / 微信小程序 x / Android 4.18 / iOS 4.18 / HarmonyOS 4.61(部分支持,见上) | 应用的主题<br/> |
37
37
  @@| 合法值 |
38
38
  @@| :- |
39
39
  @@| light |
40
40
  @@| dark |
41
41
  @@| auto |
42
- | channel | string | 否 | Web x / 微信小程序 x / Android 4.28 / iOS 4.31 / HarmonyOS x(部分支持,见上) | 应用的分发渠道<br/> |
43
- | language | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 应用设置的语言<br/> |
44
- | appWgtVersion | string | 否 | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS 4.61(部分支持,见上) | 应用资源(wgt)的版本名称<br/> |
42
+ | appWgtVersion | string | 否 | Web x / 微信小程序 x / Android 3.91 / iOS 4.11 / HarmonyOS 4.61(部分支持,见上) | 应用资源(wgt)的版本名称,app平台为当前应用资源`manifest.json`中的版本名称<br/> |
45
43
  | hostLanguage | string | 否 | Web x / 微信小程序 4.41 / Android x / iOS x / HarmonyOS 4.61(部分支持,见上) | 小程序宿主语言<br/> |
46
44
  | hostVersion | string | 否 | Web x / 微信小程序 4.41 / Android x / iOS x / HarmonyOS x(部分支持,见上) | App、小程序宿主版本。<br/> |
47
45
  | hostName | string | 否 | Web x / 微信小程序 4.41 / Android x / iOS x / HarmonyOS x(部分支持,见上) | 小程序宿主名称<br/> |
48
46
  | hostPackageName | string | 否 | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS x(不支持) | 小程序宿主包名<br/> |
49
47
  | hostSDKVersion | string | 否 | Web x / 微信小程序 4.41 / Android x / iOS x / HarmonyOS x(部分支持,见上) | uni小程序SDK版本、小程序客户端基础库版本<br/> |
50
48
  | hostTheme | string | 否 | Web 4.0 / 微信小程序 4.41 / Android x / iOS x / HarmonyOS x(部分支持,见上) | 系统当前主题,取值为light或dark。微信小程序全局配置"darkmode":true时才能获取,否则为 null (不支持小游戏)<br/> |
51
- | isUniAppX | boolean | 否 | Web 4.18 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 是否uni-app x<br/> |
52
- | uniCompilerVersion | string | 否 | Web 4.18 / 微信小程序 4.41 / Android 4.0 / iOS 4.11 / HarmonyOS 4.61 | uni 编译器版本<br/> |
49
+ | isUniAppX | boolean | 否 | Web 4.18 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | 是否 uni-app x 项目<br/> |
50
+ | uniCompilerVersion | string | 否 | Web 4.18 / 微信小程序 4.41 / Android 4.0 / iOS 4.11 / HarmonyOS 4.61 | uni 编译器版本名称<br/> |
53
51
  | uniCompilerVersionCode | number | 否 | Web 4.18 / 微信小程序 4.41 / Android 4.0 / iOS 4.11 / HarmonyOS 4.61 | uni 编译器版本号<br/> |
54
- | uniRuntimeVersion | string | 否 | Web 4.18 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | uni 运行时版本<br/> |
52
+ | uniRuntimeVersion | string | 否 | Web 4.18 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.0 | uni 运行时版本名称<br/> |
55
53
  | uniRuntimeVersionCode | number | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | uni 运行时版本号<br/> |
56
54
  | uniPlatform | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61 | uni-app 运行平台<br/> |
57
55
  @@| 合法值 |
@@ -70,7 +68,8 @@
70
68
  @@| quickapp-webview |
71
69
  @@| quickapp-webview-union |
72
70
  @@| quickapp-webview-huawei |
73
- | packageName | string | 否 | Web x / 微信小程序 5.13 / Android 3.97 / iOS x / HarmonyOS 4.61(部分支持,见上) | 微信小程序: 小程序appId<br/>Android: 包名<br/>iOS: Bundle ID<br/>鸿蒙: bundleName<br/> |
71
+ | channel | string | 否 | Web x / 微信小程序 x / Android 4.28 / iOS 4.31 / HarmonyOS x(部分支持,见上) | 应用的分发渠道<br/> |
72
+ | packageName | string | 否 | Web x / 微信小程序 5.13 / Android 3.97 / iOS 5.11 / HarmonyOS 4.61(部分支持,见上) | 微信小程序: 小程序appId<br/>Android: 包名<br/>iOS: Bundle ID<br/>鸿蒙: bundleName<br/> |
74
73
  | bundleName | string | 否 | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS 4.61(部分支持,见上) | 鸿蒙的包名<br/> |
75
74
  | bundleId | string | 否 | Web x / 微信小程序 x / Android x / iOS 4.11 / HarmonyOS x(部分支持,见上) | iOS的Bundle ID<br/> |
76
75
  | signature | string | 否 | Web x / 微信小程序 x / Android 3.97 / iOS 4.11 / HarmonyOS x(部分支持,见上) | Android: 应用签名证书的SHA1值(全部为小写,中间不包含“:”)。<br/>iOS: 应用签名证书中绑定的Bundle ID(AppleID)的md5值(全部为小写)。<br/> |
@@ -88,9 +87,10 @@
88
87
  @@| :- |
89
88
  @@| dark |
90
89
  @@| light |
91
- | ~~version~~ | string | 否 | Web x / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61(部分支持,见上) | 引擎版本号。已废弃,仅为了向下兼容保留 **已废弃,仅为了向下兼容保留** |
92
- | ~~uniCompileVersion~~ | string | 否 | Web x / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | uni 编译器版本 **已废弃,仅为了向下兼容保留** |
90
+ | ~~uniCompileVersion~~ | string | 否 | Web x / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | uni 编译器版本名称 **已废弃,仅为了向下兼容保留** |
93
91
  | ~~uniCompileVersionCode~~ | number | 否 | Web x / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61(部分支持,见上) | uni 编译器版本号 **已废弃,仅为了向下兼容保留** |
92
+ | ~~language~~ | string | 否 | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS x(部分支持,见上) | 应用的语言 **已废弃,仅为了向下兼容保留** |
93
+ | ~~version~~ | string | 否 | Web x / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 4.61(部分支持,见上) | 引擎版本号 **已废弃,仅为了向下兼容保留** |
94
94
 
95
95
  #### appTheme @apptheme
96
96
  获取应用的主题配置信息,仅app平台支持。
@@ -1447,7 +1447,7 @@ readCompressedFile
1447
1447
  ##### readCompressedFile 兼容性
1448
1448
  | Web | 微信小程序 | Android | iOS | HarmonyOS |
1449
1449
  | :- | :- | :- | :- | :- |
1450
- | x | 4.41 | 4.13 | 4.61 | 4.61 |
1450
+ | x | 4.41 | 4.13 | 4.61 | x |
1451
1451
 
1452
1452
  ##### 参数
1453
1453
 
@@ -1510,7 +1510,7 @@ readCompressedFileSync
1510
1510
  ##### readCompressedFileSync 兼容性
1511
1511
  | Web | 微信小程序 | Android | iOS | HarmonyOS |
1512
1512
  | :- | :- | :- | :- | :- |
1513
- | x | 4.41 | 4.13 | 4.61 | 4.61 |
1513
+ | x | 4.41 | 4.13 | 4.61 | x |
1514
1514
 
1515
1515
  ##### 参数
1516
1516
 
@@ -133,23 +133,23 @@ web平台也分系统定位的SDK定位。系统定位只有wgs84坐标。三方
133
133
  小程序平台的定位,是小程序引擎自身集成的定位SDK。比如微信小程序使用的是腾讯定位、支付宝小程序使用的是高德定位。由小程序平台免费给开发者提供。
134
134
 
135
135
  #### Android平台
136
- 参考 [Android平台配置“uni-location(定位)”](../collocation/manifest-android.md#modulesLocation)
136
+ 参考 [Android平台配置“uni-location(定位)”](../collocation/manifest-android.md#moduleslocation)
137
137
 
138
- 使用腾讯定位时,需配置对应的Key,参考[Android平台配置腾讯定位](../collocation/manifest-android.md#locationTencent)
138
+ 使用腾讯定位时,需配置对应的Key,参考[Android平台配置腾讯定位](../collocation/manifest-android.md#locationtencent)
139
139
 
140
140
  #### iOS平台
141
- 参考 [iOS平台配置“uni-location(定位)”](../collocation/manifest-ios.md#modulesLocation)。
141
+ 参考 [iOS平台配置“uni-location(定位)”](../collocation/manifest-ios.md#moduleslocation)。
142
142
 
143
143
  使用腾讯定位时,需配置对应的Key,参考[iOS平台配置腾讯定位](../collocation/manifest-ios.md#locationtencent)。
144
144
 
145
145
  使用高精度定位,需要配置 `NSLocationTemporaryUsageDescriptionDictionary`,参考[](../collocation/manifest-ios.md#hightprecision)。
146
146
 
147
- 如果应用需要后台定位能力,需在 `manifest.json` 中的 [后台运行能力](../collocation/manifest-ios.md#backgroundModes) 配置 `location`。
147
+ 如果应用需要后台定位能力,需在 `manifest.json` 中的 [后台运行能力](../collocation/manifest-ios.md#backgroundmodes) 配置 `location`。
148
148
 
149
149
  #### 鸿蒙平台
150
- 参考 [鸿蒙平台配置“uni-location(定位)”](../collocation/manifest-harmony#modulesLocation)。
150
+ 参考 [鸿蒙平台配置“uni-location(定位)”](../collocation/manifest-harmony#moduleslocation)。
151
151
 
152
- 鸿蒙平台暂时仅支持系统定位,参考 [鸿蒙平台配置“系统定位”](../collocation/manifest-harmony.md#locationSystem)。
152
+ 鸿蒙平台暂时仅支持系统定位,参考 [鸿蒙平台配置“系统定位”](../collocation/manifest-harmony.md#locationsystem)。
153
153
 
154
154
  ### 权限@permission
155
155
 
@@ -229,4 +229,5 @@ uni.showModal({
229
229
  success: function (showRet : ShowModalSuccess) {
230
230
  }
231
231
  })
232
- ```
232
+ ```
233
+ * `uni.showModal` 是跨平台模态弹框 API。如需在 App iOS 26+ 的蒸汽模式中使用液态玻璃效果,可使用 [uni-glass-modal](https://ext.dcloud.net.cn/plugin?name=uni-glass-modal) 插件(HBuilderX 5.25+);iOS 26 以下将降级为系统毛玻璃效果。
@@ -11,12 +11,12 @@
11
11
 
12
12
  | 名称 | 类型 | 必填 | 兼容性 |
13
13
  | :- | :- | :- | :-: |
14
- | options | () => void | 是 | 微信小程序 x / HarmonyOS x(部分支持,见上) |
14
+ | options | () => void | 是 | 微信小程序 x / Android x / iOS x / HarmonyOS x(部分支持,见上) |
15
15
 
16
16
  ### onTabBarMidButtonTap 兼容性
17
- | Web | 微信小程序 | Android | iOS(VDOM) | iOS(Vapor) | HarmonyOS |
18
- | :- | :- | :- | :- | :- | :- |
19
- | 4.0 | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | | | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> |
17
+ | Web | 微信小程序 | Android | iOS | HarmonyOS |
18
+ | :- | :- | :- | :- | :- |
19
+ | 4.0 | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> | <a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a> |
20
20
 
21
21
  ### 参见
22
22
  - [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.onTabBarMidButtonTap)
@@ -507,6 +507,7 @@ complete: () => {
507
507
 
508
508
  如不释放,在调用Task对象的方法将导致控制台报错:
509
509
  `error: instance object does not exist: id:15`
510
+ * Android release 包默认禁止 http 明文请求(Android 9+ targetSdkVersion≥28)。会导致联网失败。优先推荐使用 https 来解决。如果确定坚持不安全的http,那么方案如下:在项目根目录新建 AndroidManifest.xml,给 application 节点加 android:usesCleartextTraffic="true",配置方式见 https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html
510
511
 
511
512
  ## 通用类型
512
513
 
@@ -25,8 +25,8 @@
25
25
  @@| :- | :-: | :- |
26
26
  @@| "success" | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.25 | 显示成功图标 |
27
27
  @@| error | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.25 | 显示错误图标 |
28
- @@| fail | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS 5.25(部分支持,见上) | 显示错误图标,此时title文本无长度显示,支付宝、抖音小程序生效 |
29
- @@| exception | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS 5.25(部分支持,见上) | 显示异常图标,此时title文本无长度显示,支付宝小程序生效 |
28
+ @@| fail | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS x(不支持) | 显示错误图标,此时title文本无长度显示,支付宝、抖音小程序生效 |
29
+ @@| exception | Web x / 微信小程序 x / Android x / iOS x / HarmonyOS x(不支持) | 显示异常图标,此时title文本无长度显示,支付宝小程序生效 |
30
30
  @@| loading | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.25 | 显示加载图标 |
31
31
  @@| none | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.25 | 不显示图标 |
32
32
  | image | string.ImageURIString | 否 | | Web 4.0 / 微信小程序 4.41 / Android 3.91 / iOS 4.11 / HarmonyOS 5.25 | 自定义图标的本地路径(app-android/app-ios端暂不支持gif) |
@@ -165,8 +165,8 @@
165
165
  - 只有系统 toast ,和 App window 绑定
166
166
  - 不支持 icon 图标,仅支持文字
167
167
  - 5.25 及以上:
168
- * position 设为 bottom 时,为系统 toast。position 不为 bottom 时仍与页面绑定
169
- * position 设为除 bottom 之外的值时,支持 icon、mask、image 参数
168
+ * position 设为 top、center、bottom 时,为系统 toast,和页面绑定
169
+ * 当没有传递 position 参数时,支持 icon、mask、image 参数,和页面绑定
170
170
  - 当 Toast 和页面绑定时:
171
171
  + 当showToast执行时,会寻找当前页面栈顶的窗体(包括 dialogPage),找到后进行绑定,然后弹出 Toast。
172
172
  + 在支持 dialogPage 的平台(Web和App),[uni.showModal](./modal.md)、[uni.showActionSheet](./action-sheet.md) 也是 dialogPage 实现的,此时 toast 会绑定到这些 dialogPage 上
@@ -5,6 +5,8 @@
5
5
 
6
6
  文档: [http://uniapp.dcloud.io/api/ui/window?id=onwindowresize](http://uniapp.dcloud.io/api/ui/window?id=onwindowresize)
7
7
 
8
+ App平台暂未提供全局的uni监听API,而是需要在页面生命周期onResize 中监听页面尺寸变化。[另见](../page.md#onresize)
9
+
8
10
  ### onWindowResize 兼容性
9
11
  | Web | 微信小程序 | Android | iOS | HarmonyOS |
10
12
  | :- | :- | :- | :- | :- |
@@ -68,11 +68,11 @@
68
68
  - App平台可通过以下方法配置使用 scheme(deeplink) 启动应用,打包后生效
69
69
  + Android平台在 `manifest.json` 的可视化界面配置 scheme,参考[Android平台配置URL Schemes](../collocation/manifest-android.md#urlschemes)
70
70
  + iOS平台在 `manifest.json` 的可视化界面配置 scheme,参考[Android平台配置URL Schemes](../collocation/manifest-ios.md#urlschemes)
71
- + 鸿蒙平台需在原生工程的 json5 中配置
71
+ + 鸿蒙平台在HBuilderX 5.26+ 支持在manifest中配置。低版本需在原生工程的 json5 中配置
72
72
  - App平台可通过以下方法配置使用 applink(通用链接) 启动应用,打包后生效
73
73
  + Android平台暂未支持 applink(通用链接)
74
74
  + iOS平台需先在 `manifest.json` 的可视化界面配置[关联域(Associated Domains)](../collocation/manifest-ios.md#associateddomains),再在服务器配置`apple-app-site-association`,完整教程参考[iOS通用链接配置教程](https://uniapp.dcloud.net.cn/tutorial/app-ios-capabilities.html#%E9%80%9A%E7%94%A8%E9%93%BE%E6%8E%A5-universal-link)
75
- + 鸿蒙平台需在原生工程的 json5 中配置
75
+ + 鸿蒙平台在HBuilderX 5.26+ 支持在manifest中配置。低版本需在原生工程的 json5 中配置
76
76
  - 如开发App页面直达功能,需先配置 scheme(deeplink) 或 applink(通用链接) 启动应用,在应用的 `onShow` 生命周期获取启动并解析appScheme或appLink参数,然后自行写 [uni.navigatorTo](../api/navigator.md#navigateto) 等路由API跳转页面。 `onShow` 生命周期的好处是不管首页启动还是后台激活到前台都触发,当然如果是初次启动,仍然会先打开App的首页再执行开发者编写的路由代码。
77
77
  - Web的页面直达无需使用scheme或通用链接,所有页面地址都可以直接在地址栏访问。
78
78
 
@@ -123,7 +123,7 @@
123
123
 
124
124
  无法监听异步逻辑(例如:`setTimeout`)中的错误和应用初始化之前、 App 崩溃等错误。
125
125
 
126
- onError里打印的错误,是拦截转发的。可能会丢失错误堆栈,导致无法精准定位问题。真机运行时尽量避免全局监听onError。
126
+ onError里打印的错误,是拦截转发的。可能会丢失错误堆栈,导致无法精准定位问题所在代码行号。真机运行时尽量避免全局监听onError。
127
127
 
128
128
  #### onError 兼容性
129
129
  | Web | 微信小程序 | Android | iOS | HarmonyOS |
@@ -248,7 +248,12 @@ onError里打印的错误,是拦截转发的。可能会丢失错误堆栈,
248
248
 
249
249
  > HBuilderX 3.99+
250
250
 
251
- 小程序有 globalData,这是一种简单的全局变量机制。这套机制在 uni-app-x 里也可以使用,仅 `iOS uts 插件` 环境不支持。
251
+ 小程序有 globalData,这是一种简单的全局变量机制。这套机制在 uni-app x 里也可以使用。
252
+
253
+ globalData依赖于vue和js环境,在页面里都使用,但在uts插件中使用有限制:
254
+
255
+ - VDOM模式:仅 `iOS uts 插件` 环境不支持。
256
+ - 蒸汽模式:Android和iOS的uts插件环境均不支持,鸿蒙在页面script驱动为ArkTS时,uts插件可以globalData,但页面script驱动为jsvm时,uts插件也不能使用globalData
252
257
 
253
258
  **以下是 App.uvue 中定义globalData的相关配置:**
254
259
 
@@ -278,7 +283,7 @@ onError里打印的错误,是拦截转发的。可能会丢失错误堆栈,
278
283
 
279
284
  ::: warning 注意
280
285
  - `uni-app x` 中 `globalData` 的数据结构与类型通过 `App.uvue` 中的 `globalData` 初始值定义,后续只能读取或修改,不能新增或删除。
281
- - 在组合式 API App.uvue 中使用 `globalData` 时,无法像选项式 API 那样通过 `this.globalData` 访问,而是需要通过 `getApp().globalData` 访问。但部分生命周期中 App 实例还未初始化,需要注意时机问题。
286
+ - 在组合式 API App.uvue 中使用 `globalData` 时,无法像选项式 API 那样通过 `this.globalData` 访问,而是需要通过 `getApp().globalData` 访问。但部分生命周期中 App 实例可能还未初始化,需要注意时机问题。
282
287
 
283
288
  globalData是简单的全局变量,其他状态管理方式,可参考文档[全局变量和状态管理](../tutorial/store.md)。
284
289