@shijiu/jsview-vue 0.9.602 → 0.9.684

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 (86) hide show
  1. package/dom/bin/jsview-browser-debug-dom.min.js +1 -1
  2. package/dom/bin/jsview-dom.min.js +1 -1
  3. package/dom/bin/jsview-engine-js-browser.min.js +1 -0
  4. package/dom/target_core_revision.js +4 -4
  5. package/package.json +1 -1
  6. package/samples/Basic/components/text/TextOverflow.vue +10 -5
  7. package/samples/Collision/App.vue +452 -0
  8. package/samples/DemoHomepage/components/BodyFrame.vue +2 -0
  9. package/samples/DemoHomepage/router.js +25 -0
  10. package/samples/DemoHomepage/views/Homepage.vue +3 -10
  11. package/samples/ImpactStop/App.vue +435 -0
  12. package/samples/Input/App.vue +8 -17
  13. package/samples/Input/InputPanel.vue +18 -11
  14. package/samples/Marquee/App.vue +176 -40
  15. package/samples/Marquee/longText.js +14 -0
  16. package/samples/MetroWidgetDemos/Advanced/App.vue +5 -6
  17. package/samples/MetroWidgetDemos/Advanced/ButtonItem.vue +1 -1
  18. package/samples/MetroWidgetDemos/Advanced/Buttons.vue +5 -5
  19. package/samples/MetroWidgetDemos/Advanced/Mixed.vue +4 -4
  20. package/samples/MetroWidgetDemos/Advanced/widgets/Item.vue +83 -0
  21. package/samples/MetroWidgetDemos/Advanced/widgets/WidgetItem.vue +89 -0
  22. package/samples/MetroWidgetDemos/Advanced/{Widgets.vue → widgets/Widgets.vue} +56 -11
  23. package/samples/MetroWidgetDemos/Advanced/widgets/focus1.png +0 -0
  24. package/samples/MetroWidgetDemos/Item.vue +20 -2
  25. package/samples/MetroWidgetDemos/PingPong/App.vue +3 -3
  26. package/samples/MetroWidgetDemos/PingPong/AppPage.vue +17 -2
  27. package/samples/MetroWidgetDemos/PingPong/AppTab.vue +3 -10
  28. package/samples/MetroWidgetDemos/PingPong/{Item.vue → TabItem.vue} +2 -10
  29. package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +2 -2
  30. package/samples/MetroWidgetDemos/Simple/AbsoluteTemplate.vue +2 -2
  31. package/samples/MetroWidgetDemos/Simple/App.vue +2 -2
  32. package/samples/MetroWidgetDemos/Simple/RelativeTemplate.vue +4 -4
  33. package/samples/MetroWidgetDemos/data.js +2 -1
  34. package/samples/Preload/App.vue +16 -11
  35. package/samples/ScaleDownNeon/App.vue +107 -0
  36. package/samples/TextBox/App.vue +7 -81
  37. package/samples/TextBox/RenderCenter.vue +40 -16
  38. package/samples/TextBox/RenderLeft.vue +48 -19
  39. package/samples/TextBox/RenderOneLine.vue +30 -49
  40. package/samples/TextBox/RenderRight.vue +40 -16
  41. package/samples/TextShadowDemo/App.vue +11 -17
  42. package/samples/TextureAnimation/App2.vue +111 -0
  43. package/samples/TextureAnimation/assets/blackWhiteGrid.png +0 -0
  44. package/samples/TextureAnimation/assets/light.png +0 -0
  45. package/samples/TextureAnimation/assets/light2.png +0 -0
  46. package/samples/TextureAnimation/assets/mask.png +0 -0
  47. package/samples/TextureSize/App.vue +3 -3
  48. package/samples/VisibleSensorDemo/App.vue +92 -25
  49. package/utils/JsViewEngineWidget/MetroWidget/Const.js +11 -0
  50. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +188 -80
  51. package/utils/JsViewEngineWidget/TemplateParser.js +89 -32
  52. package/utils/JsViewEngineWidget/WidgetCommon.js +3 -4
  53. package/utils/JsViewEngineWidget/index.js +3 -2
  54. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +95 -12
  55. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +25 -3
  56. package/utils/JsViewPlugin/JsvPlayer/index.js +22 -1
  57. package/utils/JsViewPlugin/JsvPlayer/version.js +4 -4
  58. package/utils/JsViewVueTools/JsvImpactTracer.js +113 -0
  59. package/utils/JsViewVueTools/index.js +2 -1
  60. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +11 -1
  61. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserTextureAnim.vue +203 -14
  62. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -2
  63. package/utils/JsViewVueWidget/JsvInput/Cursor.vue +4 -2
  64. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +13 -12
  65. package/utils/JsViewVueWidget/JsvMarquee.vue +178 -205
  66. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +35 -27
  67. package/utils/JsViewVueWidget/JsvNinePatch.vue +1 -2
  68. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +37 -41
  69. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +282 -285
  70. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +18 -2
  71. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +22 -2
  72. package/utils/JsViewVueWidget/JsvTextBox.vue +35 -72
  73. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +123 -46
  74. package/utils/JsViewVueWidget/JsvTextureAnim/index.js +9 -5
  75. package/utils/JsViewVueWidget/JsvTouchContainer.vue +3 -4
  76. package/utils/JsViewVueWidget/JsvVideo.vue +9 -12
  77. package/utils/JsViewVueWidget/index.js +2 -2
  78. package/utils/JsViewVueWidget/utils/index.js +8 -0
  79. package/utils/JsViewVueWidget/utils/text.js +19 -0
  80. package/utils/JsViewEngineWidget/MetroPage.js +0 -2128
  81. package/utils/JsViewEngineWidget/SimpleWidget/ContentView.vue +0 -51
  82. package/utils/JsViewEngineWidget/SimpleWidget/Dispatcher.js +0 -19
  83. package/utils/JsViewEngineWidget/SimpleWidget/DivWrapper.vue +0 -53
  84. package/utils/JsViewEngineWidget/SimpleWidget/ItemView.vue +0 -142
  85. package/utils/JsViewEngineWidget/SimpleWidget/RootView.vue +0 -140
  86. package/utils/JsViewEngineWidget/SimpleWidget/SimpleWidget.vue +0 -1629
@@ -10,7 +10,12 @@ const baseStyle = {
10
10
  backgroundColor: "rgba(255, 255, 0, 0.5)",
11
11
  color: "rgba(255, 0, 0, 1)",
12
12
  };
13
- const multiLine =
13
+ const multiLineCut =
14
+ "多行文字(末尾截断):" +
15
+ '\n第一行:我末尾有个"\\n"' +
16
+ "\n第二行:一二三四五六七八九十,一二三四五六七八九十,一二三四五六七八九十" +
17
+ "\n第三行:一二三四五六七八九十,一二三四五六七八九十,一二三四五六七八九十";
18
+ const multiLineEllipsis =
14
19
  "多行文字(末尾省略):" +
15
20
  '\n第一行:我末尾有个"\\n"' +
16
21
  "\n第二行:一二三四五六七八九十,一二三四五六七八九十,一二三四五六七八九十" +
@@ -77,11 +82,11 @@ const multiLine =
77
82
  top: (blockSize.height + gap) * 4,
78
83
  height: 65,
79
84
  whiteSpace: 'pre-wrap',
80
- textOverflow: 'ellipsis',
85
+ textOverflow: 'clip',
81
86
  overflow: 'hidden',
82
87
  }"
83
88
  >
84
- 5.{{ multiLine }}
89
+ 5.{{ multiLineCut }}
85
90
  </div>
86
91
 
87
92
  <div
@@ -91,11 +96,11 @@ const multiLine =
91
96
  top: (blockSize.height + gap) * 4 + 67,
92
97
  height: 65,
93
98
  whiteSpace: 'pre-wrap',
94
- textOverflow: 'clip',
99
+ textOverflow: 'ellipsis',
95
100
  overflow: 'hidden',
96
101
  }"
97
102
  >
98
- 6.{{ multiLine }}
103
+ 6.{{ multiLineEllipsis }}
99
104
  </div>
100
105
  </div>
101
106
  </template>
@@ -0,0 +1,452 @@
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2022-08-30 10:58:38
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2022-08-30 14:20:46
6
+ * @Description: file content
7
+ -->
8
+ <script setup>
9
+ import { createImpactTracer, createImpactCallback } from "jsview";
10
+ import { ref, onMounted, onBeforeUnmount } from "vue";
11
+ import { useRouter } from "vue-router";
12
+
13
+ const router = useRouter();
14
+
15
+ const transEle1 = ref(null),
16
+ transEle2 = ref(null),
17
+ rotateEle1 = ref(null),
18
+ rotateEle2 = ref(null),
19
+ rotateEle3 = ref(null),
20
+ rotateEle4 = ref(null),
21
+ scaleEle1 = ref(null),
22
+ scaleEle2 = ref(null),
23
+ skewEle1 = ref(null),
24
+ skewEle2 = ref(null);
25
+
26
+ let sensors = [];
27
+
28
+ const tLeftColor = ref("#FF0000"),
29
+ tRightColor = ref("#00FF00"),
30
+ rLeftColor = ref("#FF0000"),
31
+ rRightColor = ref("#00FF00"),
32
+ r2LeftColor = ref("#FF0000"),
33
+ r2RightColor = ref("#00FF00"),
34
+ sLeftColor = ref("#FF0000"),
35
+ sRightColor = ref("#00FF00"),
36
+ skLeftColor = ref("#FF0000"),
37
+ skRightColor = ref("#00FF00");
38
+
39
+ const lastItemVisibility = ref("hidden"); // 验证View先声明碰撞检测再显示的场景,是否碰撞能正常生效
40
+ const lastItemGone = ref(false); // 验证碰撞对象关联的View从ViewTree拿掉后是否触发Native端的自清理处理
41
+
42
+ setTimeout(() => {
43
+ lastItemVisibility.value = "visible";
44
+ }, 1000);
45
+ setTimeout(() => {
46
+ lastItemGone.value = true;
47
+ }, 5000);
48
+
49
+ const onKeyDown = (ev) => {
50
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
51
+ router?.go(-1); // 有router时,是从DemoHomepage进入,回退
52
+ }
53
+ return true;
54
+ };
55
+
56
+ onMounted(() => {
57
+ const translate_sensor = createImpactTracer(
58
+ transEle1.value,
59
+ transEle2.value,
60
+ createImpactCallback(
61
+ () => {
62
+ tLeftColor.value = "#00FFFF";
63
+ tRightColor.value = "#FFFF00";
64
+ },
65
+ () => {
66
+ tLeftColor.value = "#FF0000";
67
+ tRightColor.value = "#00FF00";
68
+ }
69
+ )
70
+ );
71
+ sensors.push(translate_sensor);
72
+
73
+ const rotate_count = { count: 0 };
74
+ const rotate_sensor = createImpactTracer(
75
+ rotateEle1.value,
76
+ rotateEle2.value,
77
+ createImpactCallback(
78
+ () => {
79
+ rLeftColor.value = "#00FFFF";
80
+ rRightColor.value = "#FFFF00";
81
+ },
82
+ () => {
83
+ rotate_count.count++;
84
+ if (rotate_count.count >= 2) {
85
+ // 旋转有头尾连续两次碰撞
86
+ console.log("Finish collision of rotate element");
87
+ }
88
+ rLeftColor.value = "#FF0000";
89
+ rRightColor.value = "#00FF00";
90
+ }
91
+ )
92
+ );
93
+ sensors.push(rotate_sensor);
94
+
95
+ const rotate2_sensor = createImpactTracer(
96
+ rotateEle3.value,
97
+ rotateEle4.value,
98
+ createImpactCallback(
99
+ () => {
100
+ r2LeftColor.value = "#00FFFF";
101
+ r2RightColor.value = "#FFFF00";
102
+ },
103
+ () => {
104
+ r2LeftColor.value = "#FF0000";
105
+ r2RightColor.value = "#00FF00";
106
+ }
107
+ )
108
+ );
109
+ sensors.push(rotate2_sensor);
110
+
111
+ const scale_sensor = createImpactTracer(
112
+ scaleEle1.value,
113
+ scaleEle2.value,
114
+ createImpactCallback(
115
+ () => {
116
+ sLeftColor.value = "#00FFFF";
117
+ sRightColor.value = "#FFFF00";
118
+ },
119
+ () => {
120
+ sLeftColor.value = "#FF0000";
121
+ sRightColor.value = "#00FF00";
122
+ }
123
+ )
124
+ );
125
+ sensors.push(scale_sensor);
126
+
127
+ const skew_sensor = createImpactTracer(
128
+ skewEle1.value,
129
+ skewEle2.value,
130
+ createImpactCallback(
131
+ () => {
132
+ skLeftColor.value = "#00FFFF";
133
+ skRightColor.value = "#FFFF00";
134
+ },
135
+ () => {
136
+ skLeftColor.value = "#FF0000";
137
+ skRightColor.value = "#00FF00";
138
+ }
139
+ )
140
+ );
141
+ sensors.push(skew_sensor);
142
+ });
143
+
144
+ onBeforeUnmount(() => {
145
+ for (let i = 0; i < sensors.length; i++) {
146
+ sensors[i].Recycle();
147
+ }
148
+ sensors = [];
149
+ });
150
+ </script>
151
+
152
+ <template>
153
+ <jsv-focus-block
154
+ autoFocus
155
+ :style="{
156
+ width: 1920,
157
+ height: 1080,
158
+ backgroundColor: '#007788',
159
+ }"
160
+ :onAction="{
161
+ onKeyDown: onKeyDown,
162
+ }"
163
+ >
164
+ <div
165
+ :style="{
166
+ textAlign: 'center',
167
+ fontSize: '30px',
168
+ lineHeight: '50px',
169
+ color: '#ffffff',
170
+ left: 100,
171
+ top: 20,
172
+ width: 1280 - 200,
173
+ height: 50,
174
+ backgroundColor: 'rgba(27,38,151,0.8)',
175
+ }"
176
+ >
177
+ 原生端辅助的高效率碰撞检测处理
178
+ </div>
179
+ <div :style="{ top: 200, left: 100 }">
180
+ <div
181
+ ref="transEle1"
182
+ :style="{
183
+ left: 0,
184
+ width: 100,
185
+ height: 100,
186
+ backgroundColor: tLeftColor,
187
+ animation: 'toRight 5s',
188
+ }"
189
+ >
190
+ view1
191
+ </div>
192
+ <div :style="{ left: 300 }">
193
+ <div
194
+ ref="transEle2"
195
+ :style="{
196
+ width: 100,
197
+ height: 100,
198
+ backgroundColor: tRightColor,
199
+ animation: 'toLeft 5s',
200
+ }"
201
+ >
202
+ view2
203
+ </div>
204
+ </div>
205
+ </div>
206
+
207
+ <div :style="{ top: 500, left: 100 }">
208
+ <div
209
+ ref="rotateEle1"
210
+ :style="{
211
+ left: 0,
212
+ width: 20,
213
+ height: 150,
214
+ backgroundColor: rLeftColor,
215
+ animation: 'rotate1 5s',
216
+ }"
217
+ >
218
+ view1
219
+ </div>
220
+ <div
221
+ ref="rotateEle2"
222
+ :style="{
223
+ left: 100,
224
+ width: 20,
225
+ height: 150,
226
+ backgroundColor: rRightColor,
227
+ animation: 'rotate2 5s',
228
+ }"
229
+ >
230
+ view2
231
+ </div>
232
+ </div>
233
+
234
+ <div :style="{ top: 500, left: 500 }">
235
+ <div
236
+ :style="{
237
+ top: 50,
238
+ left: 0,
239
+ width: 150,
240
+ height: 150,
241
+ backgroundColor: 'rgba(255,255,255,0.5)',
242
+ animation: 'rotate3 5s',
243
+ }"
244
+ >
245
+ <div
246
+ ref="rotateEle3"
247
+ :style="{
248
+ left: (150 - 20) / 2,
249
+ width: 20,
250
+ height: 150,
251
+ backgroundColor: r2LeftColor,
252
+ }"
253
+ >
254
+ view1
255
+ </div>
256
+ </div>
257
+ <div
258
+ :style="{
259
+ top: 0,
260
+ left: 100,
261
+ width: 150,
262
+ height: 150,
263
+ backgroundColor: 'rgba(255,255,255,0.5)',
264
+ animation: 'rotate4 5s',
265
+ }"
266
+ >
267
+ <div
268
+ ref="rotateEle4"
269
+ :style="{
270
+ left: 0,
271
+ top: (150 - 20) / 2,
272
+ width: 150,
273
+ height: 20,
274
+ backgroundColor: r2RightColor,
275
+ }"
276
+ >
277
+ view2
278
+ </div>
279
+ </div>
280
+ </div>
281
+
282
+ <div :style="{ top: 200, left: 500 }">
283
+ <div
284
+ ref="scaleEle1"
285
+ :style="{
286
+ left: 100,
287
+ width: 100,
288
+ height: 100,
289
+ backgroundColor: sLeftColor,
290
+ animation: 'scale1 5s',
291
+ }"
292
+ >
293
+ view1
294
+ </div>
295
+ <div
296
+ ref="scaleEle2"
297
+ :style="{
298
+ left: 250,
299
+ width: 100,
300
+ height: 100,
301
+ backgroundColor: sRightColor,
302
+ animation: 'scale2 5s',
303
+ }"
304
+ >
305
+ view2
306
+ </div>
307
+ </div>
308
+
309
+ <div
310
+ v-if="!lastItemGone"
311
+ :style="{
312
+ top: 500,
313
+ left: 800,
314
+ visibility: lastItemVisibility,
315
+ }"
316
+ >
317
+ <div
318
+ ref="skewEle1"
319
+ :style="{
320
+ left: 100,
321
+ width: 100,
322
+ height: 100,
323
+ backgroundColor: skLeftColor,
324
+ animation: 'skew1 5s',
325
+ }"
326
+ >
327
+ viewA
328
+ </div>
329
+ <div
330
+ ref="skewEle2"
331
+ :style="{
332
+ left: 300,
333
+ width: 100,
334
+ height: 100,
335
+ backgroundColor: skRightColor,
336
+ animation: 'skew2 5s',
337
+ }"
338
+ >
339
+ viewB
340
+ </div>
341
+ </div>
342
+ </jsv-focus-block>
343
+ </template>
344
+
345
+ <style scoped>
346
+ @keyframes toLeft {
347
+ from {
348
+ transform: translate3d(0, 0, 0) scale3d(0.5, 0.5, 1);
349
+ }
350
+ to {
351
+ transform: translate3d(-300px, 0, 0) scale3d(1.5, 1.5, 1);
352
+ }
353
+ }
354
+
355
+ @keyframes toRight {
356
+ from {
357
+ transform: translate3d(0, 0, 0) scale3d(0.5, 0.5, 1);
358
+ }
359
+ to {
360
+ transform: translate3d(300px, 0, 0) scale3d(1.5, 1.5, 1);
361
+ }
362
+ }
363
+
364
+ @keyframes rotate1 {
365
+ from {
366
+ transform: rotate3d(0, 0, 1, 0deg);
367
+ }
368
+ to {
369
+ transform: rotate3d(0, 0, 1, 360deg);
370
+ }
371
+ }
372
+
373
+ /* webview中 旋转轴为(0,0,-1)会导致getComputeStyle中的transform为单位矩阵*/
374
+ @keyframes rotate2 {
375
+ from {
376
+ transform: rotate3d(0, 0, 1, 0deg);
377
+ }
378
+ to {
379
+ transform: rotate3d(0, 0, 1, -360deg);
380
+ }
381
+ }
382
+
383
+ @keyframes scale1 {
384
+ 0% {
385
+ transform: scale3d(1, 1, 1);
386
+ }
387
+ 50% {
388
+ transform: scale3d(2, 2, 1);
389
+ }
390
+ 100% {
391
+ transform: scale3d(1, 1, 1);
392
+ }
393
+ }
394
+
395
+ @keyframes scale2 {
396
+ 0% {
397
+ transform: scale3d(1, 1, 1);
398
+ }
399
+ 50% {
400
+ transform: scale3d(2, 2, 1);
401
+ }
402
+ 100% {
403
+ transform: scale3d(1, 1, 1);
404
+ }
405
+ }
406
+
407
+ @keyframes skew1 {
408
+ 0% {
409
+ transform: skew(0, 0);
410
+ }
411
+ 50% {
412
+ transform: skew(-60deg, 0);
413
+ }
414
+ 100% {
415
+ transform: skew(0, 0);
416
+ }
417
+ }
418
+
419
+ @keyframes skew2 {
420
+ 0% {
421
+ transform: skew(0, 0);
422
+ }
423
+ 50% {
424
+ transform: skew(60deg, 0);
425
+ }
426
+ 100% {
427
+ transform: skew(0, 0);
428
+ }
429
+ }
430
+
431
+ @keyframes rotate3 {
432
+ from {
433
+ transform: rotate3d(0, 0, 1, 0deg);
434
+ transform-origin: center top;
435
+ }
436
+ to {
437
+ transform: rotate3d(0, 0, 1, -360deg);
438
+ transform-origin: center top;
439
+ }
440
+ }
441
+
442
+ @keyframes rotate4 {
443
+ from {
444
+ transform: rotate3d(0, 0, 1, 0deg);
445
+ transform-origin: center center;
446
+ }
447
+ to {
448
+ transform: rotate3d(0, 0, 1, -360deg);
449
+ transform-origin: center center;
450
+ }
451
+ }
452
+ </style>
@@ -12,6 +12,7 @@ export default {
12
12
  data: Array,
13
13
  name: String,
14
14
  onEdge: Function,
15
+ tabId: Number,
15
16
  },
16
17
  setup() {
17
18
  return {
@@ -36,6 +37,7 @@ export default {
36
37
  }
37
38
  this.$router.push(data.path);
38
39
  localStorage.curFocusId = index;
40
+ localStorage.curTab = this.tabId;
39
41
  },
40
42
  _provideData() {
41
43
  return this.data;
@@ -129,11 +129,36 @@ const routeList = [
129
129
  path: "/feature/TextureAnimation",
130
130
  component: () => import("jsview/samples/TextureAnimation/App"),
131
131
  },
132
+ {
133
+ name: "焦点框旋转光效果",
134
+ path: "/feature/TextureAnimation2",
135
+ component: () => import("jsview/samples/TextureAnimation/App2"),
136
+ },
132
137
  {
133
138
  name: "公祭日黑白效果",
134
139
  path: "/feature/GrayDown",
135
140
  component: () => import("jsview/samples/FilterDemo/App"),
136
141
  },
142
+ {
143
+ name: "预加载",
144
+ path: "/feature/Preload",
145
+ component: () => import("jsview/samples/Preload/App"),
146
+ },
147
+ {
148
+ name: "图片缩小算法",
149
+ path: "/feature/ScaleDownNeon",
150
+ component: () => import("jsview/samples/ScaleDownNeon/App"),
151
+ },
152
+ // {
153
+ // name: "碰撞检测",
154
+ // path: "/feature/Collision",
155
+ // component: () => import("jsview/samples/Collision/App"),
156
+ // },
157
+ // {
158
+ // name: "碰撞即停",
159
+ // path: "/feature/ImpactStop",
160
+ // component: () => import("jsview/samples/ImpactStop/App"),
161
+ // },
137
162
 
138
163
  // MetroWidget示例
139
164
  {
@@ -89,15 +89,12 @@ export default {
89
89
  }
90
90
  },
91
91
  tabItemFocus(data) {
92
- console.log("cchtest tabItemFocus");
93
92
  if (data.id != this.tabId) {
94
93
  this.tabId = data.id;
95
94
  this.contentData = dataList[this.tabId];
96
- localStorage.curTab = this.tabId;
97
95
  }
98
96
  },
99
97
  onDialogAction(msg) {
100
- console.log("cchtes dialog onaction", msg);
101
98
  this.showExitDialog = false;
102
99
  this.changeFocus(this.preFocusName);
103
100
  switch (msg) {
@@ -115,19 +112,14 @@ export default {
115
112
  },
116
113
  },
117
114
  created() {
118
- console.log("cchtest homepage beforeCreated", localStorage.curTab);
119
115
  if (typeof localStorage.curTab !== "undefined") {
120
116
  this.tabId = parseInt(localStorage.curTab);
121
117
  }
122
118
  localStorage.curTab = 0;
123
119
  this.contentData = dataList[this.tabId];
124
120
  },
125
- mounted() {
126
- console.log("cchtest homepage mounted", localStorage.curTab);
127
- },
128
- beforeUnmount() {
129
- console.log("cchtest homePage beforeUnmount");
130
- },
121
+ mounted() {},
122
+ beforeUnmount() {},
131
123
  };
132
124
  </script>
133
125
 
@@ -165,6 +157,7 @@ export default {
165
157
  :data="contentData"
166
158
  :name="name + '/bodyFrame'"
167
159
  :onEdge="onContentEdge"
160
+ :tabId="tabId"
168
161
  />
169
162
  </div>
170
163