@dolphinweex/weex-harmony 0.1.76 → 0.1.78
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/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
|
|
3
|
+
<div class="progress-container" v-if="progressText">
|
|
4
|
+
<img class="progress-loading" src="data:image/gif;base64,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" alt="loading" />
|
|
5
|
+
<text class="progress-text">{{progressText}}</text>
|
|
6
|
+
</div>
|
|
4
7
|
<iframe
|
|
5
8
|
:id="embedId"
|
|
6
9
|
v-if="url.length > 0 && pluginType != 'old-h5'"
|
|
@@ -40,6 +43,9 @@ export default {
|
|
|
40
43
|
height: '0px',
|
|
41
44
|
_resizeObserver: null,
|
|
42
45
|
_heightCheckTimer: null,
|
|
46
|
+
_weexRoot: null,
|
|
47
|
+
_useChildrenTotalHeight: false,
|
|
48
|
+
_parentElement: null, // 符合条件的父级元素
|
|
43
49
|
};
|
|
44
50
|
},
|
|
45
51
|
components: {
|
|
@@ -80,6 +86,7 @@ export default {
|
|
|
80
86
|
if (args.progressText) {
|
|
81
87
|
this.progressText = args.progressText;
|
|
82
88
|
} else if (args.url) {
|
|
89
|
+
this.progressText = ''
|
|
83
90
|
this.url = args.url;
|
|
84
91
|
this.backgroundColor = args.pageBackgroundColor;
|
|
85
92
|
this.pluginType = args.pluginType
|
|
@@ -124,6 +131,16 @@ export default {
|
|
|
124
131
|
return null;
|
|
125
132
|
};
|
|
126
133
|
this._wrapperEl = findWrapperFromParent(); // 保存容器引用
|
|
134
|
+
|
|
135
|
+
// 直接获取父级元素,如果 hmcomponentindex 属性存在且值为 midea-common-weex-view,则保存引用
|
|
136
|
+
const parentEl = this.$el;
|
|
137
|
+
if (parentEl) {
|
|
138
|
+
const hmComponentIndex = parentEl.getAttribute('hmcomponentindex');
|
|
139
|
+
if (hmComponentIndex === 'midea-common-weex-view') {
|
|
140
|
+
this._parentElement = parentEl;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
127
144
|
// 优化手势处理性能
|
|
128
145
|
this._rafId = null;
|
|
129
146
|
this._pendingGesture = null;
|
|
@@ -167,6 +184,40 @@ export default {
|
|
|
167
184
|
}
|
|
168
185
|
},
|
|
169
186
|
|
|
187
|
+
// 计算 weex-root 所有子元素的高度总和
|
|
188
|
+
calculateWeexRootChildrenHeight(weexRoot) {
|
|
189
|
+
if (!weexRoot || !weexRoot.children || weexRoot.children.length === 0) {
|
|
190
|
+
return 0;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
let totalHeight = 0;
|
|
194
|
+
const children = Array.from(weexRoot.children);
|
|
195
|
+
|
|
196
|
+
// 方法1: 计算所有子元素的 bottom 位置的最大值,减去第一个子元素的 top 位置
|
|
197
|
+
if (children.length > 0) {
|
|
198
|
+
const firstChildRect = children[0].getBoundingClientRect();
|
|
199
|
+
const rootRect = weexRoot.getBoundingClientRect();
|
|
200
|
+
let maxBottom = firstChildRect.bottom;
|
|
201
|
+
|
|
202
|
+
children.forEach((child) => {
|
|
203
|
+
const rect = child.getBoundingClientRect();
|
|
204
|
+
maxBottom = Math.max(maxBottom, rect.bottom);
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
totalHeight = maxBottom - rootRect.top;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// 如果方法1计算出的高度为0或太小,则累加所有子元素的高度
|
|
211
|
+
if (totalHeight <= 0) {
|
|
212
|
+
children.forEach((child) => {
|
|
213
|
+
const childHeight = child.offsetHeight || child.clientHeight || child.scrollHeight || 0;
|
|
214
|
+
totalHeight += childHeight;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return totalHeight;
|
|
219
|
+
},
|
|
220
|
+
|
|
170
221
|
// 监听 iframe 内 .weex-root 第一个子元素或 .weex-scroller-inner 的高度
|
|
171
222
|
startWeexRootHeightMonitoring() {
|
|
172
223
|
// 尝试多次查找元素(因为 iframe 内容可能还在加载)
|
|
@@ -189,8 +240,9 @@ export default {
|
|
|
189
240
|
const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
|
|
190
241
|
let targetElement = null;
|
|
191
242
|
let elementDesc = '';
|
|
243
|
+
let useChildrenTotalHeight = false; // 标记是否使用子元素总高度
|
|
192
244
|
|
|
193
|
-
// 查找 .weex-root
|
|
245
|
+
// 查找 .weex-root
|
|
194
246
|
const weexRoot = iframeDocument.querySelector('.weex-root');
|
|
195
247
|
const weexRootFirstChild = (weexRoot && weexRoot.children.length > 0) ? weexRoot.children[0] : null;
|
|
196
248
|
|
|
@@ -199,20 +251,29 @@ export default {
|
|
|
199
251
|
|
|
200
252
|
// 如果两个都找到了,比较高度,谁大用谁
|
|
201
253
|
if (weexRootFirstChild && weexScrollerInner) {
|
|
202
|
-
|
|
254
|
+
// 计算 weex-root 所有子元素的总高度
|
|
255
|
+
const rootChildrenTotalHeight = this.calculateWeexRootChildrenHeight(weexRoot);
|
|
256
|
+
const rootFirstChildHeight = weexRootFirstChild.offsetHeight || weexRootFirstChild.clientHeight || 0;
|
|
257
|
+
// 使用子元素总高度和第一个子元素高度的较大值
|
|
258
|
+
const rootHeight = Math.max(rootChildrenTotalHeight, rootFirstChildHeight);
|
|
203
259
|
const scrollerHeight = weexScrollerInner.offsetHeight || weexScrollerInner.clientHeight || 0;
|
|
204
260
|
|
|
205
261
|
if (rootHeight >= scrollerHeight) {
|
|
206
262
|
targetElement = weexRootFirstChild;
|
|
207
|
-
|
|
263
|
+
useChildrenTotalHeight = rootChildrenTotalHeight > rootFirstChildHeight;
|
|
264
|
+
elementDesc = useChildrenTotalHeight
|
|
265
|
+
? `.weex-root 的所有子元素总高度 (${rootChildrenTotalHeight}px)`
|
|
266
|
+
: `.weex-root 的第一个子元素 (高度: ${rootHeight}px)`;
|
|
208
267
|
} else {
|
|
209
268
|
targetElement = weexScrollerInner;
|
|
210
269
|
elementDesc = `.weex-scroller-inner (高度: ${scrollerHeight}px)`;
|
|
211
270
|
}
|
|
212
271
|
} else if (weexRootFirstChild) {
|
|
213
|
-
// 只找到 .weex-root
|
|
272
|
+
// 只找到 .weex-root 的第一个子元素,使用所有子元素的总高度
|
|
214
273
|
targetElement = weexRootFirstChild;
|
|
215
|
-
|
|
274
|
+
useChildrenTotalHeight = true;
|
|
275
|
+
const rootChildrenTotalHeight = this.calculateWeexRootChildrenHeight(weexRoot);
|
|
276
|
+
elementDesc = `.weex-root 的所有子元素总高度 (${rootChildrenTotalHeight}px)`;
|
|
216
277
|
} else if (weexScrollerInner) {
|
|
217
278
|
// 只找到 .weex-scroller-inner
|
|
218
279
|
targetElement = weexScrollerInner;
|
|
@@ -223,6 +284,10 @@ export default {
|
|
|
223
284
|
if (targetElement) {
|
|
224
285
|
console.log(`找到 ${elementDesc},开始监听高度变化`, targetElement);
|
|
225
286
|
|
|
287
|
+
// 保存 weexRoot 引用和是否使用子元素总高度的标记
|
|
288
|
+
this._weexRoot = weexRoot;
|
|
289
|
+
this._useChildrenTotalHeight = useChildrenTotalHeight;
|
|
290
|
+
|
|
226
291
|
// 清除定时器,找到了就不再尝试
|
|
227
292
|
clearInterval(this._heightCheckTimer);
|
|
228
293
|
|
|
@@ -230,10 +295,24 @@ export default {
|
|
|
230
295
|
this.updateIframeHeightFromElement(targetElement);
|
|
231
296
|
|
|
232
297
|
// 使用 ResizeObserver 监听元素高度变化
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
298
|
+
// 如果使用子元素总高度,需要监听 weexRoot 的所有子元素
|
|
299
|
+
if (useChildrenTotalHeight && weexRoot) {
|
|
300
|
+
// 监听 weexRoot 本身的变化
|
|
301
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
302
|
+
this.updateIframeHeightFromElement(targetElement);
|
|
303
|
+
});
|
|
304
|
+
this._resizeObserver.observe(weexRoot);
|
|
305
|
+
|
|
306
|
+
// 同时监听所有子元素的变化
|
|
307
|
+
Array.from(weexRoot.children).forEach((child) => {
|
|
308
|
+
this._resizeObserver.observe(child);
|
|
309
|
+
});
|
|
310
|
+
} else {
|
|
311
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
312
|
+
this.updateIframeHeightFromElement(targetElement);
|
|
313
|
+
});
|
|
314
|
+
this._resizeObserver.observe(targetElement);
|
|
315
|
+
}
|
|
237
316
|
|
|
238
317
|
} else if (attempts >= maxAttempts) {
|
|
239
318
|
clearInterval(this._heightCheckTimer);
|
|
@@ -252,8 +331,17 @@ export default {
|
|
|
252
331
|
updateIframeHeightFromElement(element) {
|
|
253
332
|
if (!element) return;
|
|
254
333
|
|
|
255
|
-
|
|
256
|
-
|
|
334
|
+
let elementHeight = 0;
|
|
335
|
+
|
|
336
|
+
// 如果标记了使用子元素总高度,且 weexRoot 存在,计算所有子元素的总高度
|
|
337
|
+
if (this._useChildrenTotalHeight && this._weexRoot) {
|
|
338
|
+
elementHeight = this.calculateWeexRootChildrenHeight(this._weexRoot);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// 如果子元素总高度为0或未使用,则使用元素本身的高度
|
|
342
|
+
if (elementHeight <= 0) {
|
|
343
|
+
elementHeight = element.offsetHeight || element.clientHeight || element.scrollHeight;
|
|
344
|
+
}
|
|
257
345
|
|
|
258
346
|
if (elementHeight > 0) {
|
|
259
347
|
// 限制最大高度,防止死循环
|
|
@@ -289,7 +377,13 @@ export default {
|
|
|
289
377
|
if (this.height !== newHeight) {
|
|
290
378
|
this.height = newHeight;
|
|
291
379
|
console.log(`iframe 高度已更新: ${finalHeight}px -> ${newHeight} (embedId: ${this.embedId}, max: ${maxHeight}px)`);
|
|
380
|
+
// 如果父级元素存在且符合条件,也给父级元素设置高度
|
|
381
|
+
if (this._parentElement) {
|
|
382
|
+
this._parentElement.style.height = `${finalHeight}px`;
|
|
383
|
+
}
|
|
292
384
|
}
|
|
385
|
+
|
|
386
|
+
|
|
293
387
|
}
|
|
294
388
|
},
|
|
295
389
|
handleGestureBubble(gestureData) {
|
|
@@ -349,6 +443,10 @@ export default {
|
|
|
349
443
|
this._heightCheckTimer = null;
|
|
350
444
|
}
|
|
351
445
|
|
|
446
|
+
// 清理引用
|
|
447
|
+
this._weexRoot = null;
|
|
448
|
+
this._useChildrenTotalHeight = false;
|
|
449
|
+
|
|
352
450
|
// 清理RAF避免内存泄漏
|
|
353
451
|
if (this._rafId) {
|
|
354
452
|
cancelAnimationFrame(this._rafId);
|
|
@@ -367,4 +465,27 @@ export default {
|
|
|
367
465
|
.common-view-iframe {
|
|
368
466
|
height: 100%;
|
|
369
467
|
}
|
|
468
|
+
.progress-container {
|
|
469
|
+
position: absolute;
|
|
470
|
+
top: 50%;
|
|
471
|
+
left: 50%;
|
|
472
|
+
transform: translate(-50%, -50%);
|
|
473
|
+
z-index: 10;
|
|
474
|
+
display: flex;
|
|
475
|
+
flex-direction: column;
|
|
476
|
+
align-items: center;
|
|
477
|
+
justify-content: center;
|
|
478
|
+
}
|
|
479
|
+
.progress-loading {
|
|
480
|
+
width:80px;
|
|
481
|
+
height:80px;
|
|
482
|
+
display: block;
|
|
483
|
+
margin-bottom: 40px;
|
|
484
|
+
}
|
|
485
|
+
.progress-text {
|
|
486
|
+
font-size: 24px;
|
|
487
|
+
color: #333;
|
|
488
|
+
text-align: center;
|
|
489
|
+
font-weight: 400;
|
|
490
|
+
}
|
|
370
491
|
</style>
|
|
@@ -56,17 +56,13 @@
|
|
|
56
56
|
>
|
|
57
57
|
{{ item.label }}
|
|
58
58
|
</div>
|
|
59
|
-
<
|
|
60
|
-
class="edit-btn"
|
|
59
|
+
<img
|
|
61
60
|
@click.stop.prevent="() => onEditClick(item, index)"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
alt="编辑"
|
|
68
|
-
/>
|
|
69
|
-
</button>
|
|
61
|
+
class="edit-icon"
|
|
62
|
+
:src="'data:image/png;base64,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'"
|
|
63
|
+
:style="{ width: scalePx(data.editBtnSize, 12) + 'px', height: scalePx(data.editBtnSize, 12) + 'px' }"
|
|
64
|
+
alt="编辑"
|
|
65
|
+
/>
|
|
70
66
|
</div>
|
|
71
67
|
</div>
|
|
72
68
|
</div>
|
|
@@ -463,7 +459,6 @@
|
|
|
463
459
|
font-weight:300
|
|
464
460
|
}
|
|
465
461
|
.label {
|
|
466
|
-
width: 100%;
|
|
467
462
|
text-align: center;
|
|
468
463
|
white-space: nowrap;
|
|
469
464
|
overflow: hidden;
|
|
@@ -473,15 +468,11 @@
|
|
|
473
468
|
width: 100%;
|
|
474
469
|
display: flex;
|
|
475
470
|
align-items: center;
|
|
471
|
+
flex-direction: row;
|
|
472
|
+
justify-content: center;
|
|
476
473
|
gap: 8px;
|
|
477
474
|
}
|
|
478
|
-
.edit-
|
|
479
|
-
margin-left: auto;
|
|
480
|
-
padding: 4px 8px;
|
|
481
|
-
border: none;
|
|
482
|
-
border-radius: 4px;
|
|
483
|
-
background: #f5f5f5;
|
|
484
|
-
color: #333;
|
|
475
|
+
.edit-icon {
|
|
485
476
|
}
|
|
486
477
|
.drag-clone {
|
|
487
478
|
box-sizing: border-box;
|