@koi-br/ocr-web-sdk 1.0.38 → 1.0.39
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/dist/{index-BrQWl5nv.js → index-B1uZCXKP.js} +46 -46
- package/dist/{index-Ck53H0Dd.mjs → index-CSqGQ8S7.mjs} +1660 -1635
- package/dist/index.cjs.js +2 -2
- package/dist/index.esm.js +2 -2
- package/dist/{tiff.min-BOpS7e2e.mjs → tiff.min-CqXFy9Hv.mjs} +1 -1
- package/dist/{tiff.min-BYCiqS9a.js → tiff.min-D3W7y7O-.js} +1 -1
- package/package.json +1 -1
- package/preview/ImagePreview.vue +53 -22
package/package.json
CHANGED
package/preview/ImagePreview.vue
CHANGED
|
@@ -967,32 +967,48 @@ const onImageLoad = (event: Event, pageNum: number) => {
|
|
|
967
967
|
// 重置用户缩放标记
|
|
968
968
|
isUserZooming.value = false;
|
|
969
969
|
|
|
970
|
-
//
|
|
971
|
-
isImageReady.value
|
|
972
|
-
|
|
970
|
+
// 确保图片是隐藏的(watch 已经设置了,这里再次确认)
|
|
971
|
+
if (!isImageReady.value) {
|
|
972
|
+
isCalculatingAutoFit.value = true;
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
// 设置超时保护,防止一直显示 loading(最多等待 3 秒)
|
|
976
|
+
const timeoutId = setTimeout(() => {
|
|
977
|
+
console.warn('自适应宽度计算超时,强制显示图片');
|
|
978
|
+
isCalculatingAutoFit.value = false;
|
|
979
|
+
isImageReady.value = true;
|
|
980
|
+
}, 3000);
|
|
973
981
|
|
|
974
982
|
// 使用双重 nextTick 确保容器尺寸已确定
|
|
975
983
|
nextTick(() => {
|
|
976
984
|
nextTick(() => {
|
|
977
985
|
// 添加小延迟确保容器完全渲染
|
|
978
986
|
setTimeout(() => {
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
987
|
+
try {
|
|
988
|
+
const autoScale = calculateAutoFitScale();
|
|
989
|
+
if (autoScale > 0) {
|
|
990
|
+
scale.value = autoScale;
|
|
991
|
+
initialAutoFitScale.value = autoScale; // 记录初始自适应缩放比例
|
|
992
|
+
}
|
|
993
|
+
} catch (error) {
|
|
994
|
+
console.warn('计算自适应宽度失败:', error);
|
|
995
|
+
} finally {
|
|
996
|
+
// 清除超时保护
|
|
997
|
+
clearTimeout(timeoutId);
|
|
998
|
+
// 无论计算结果如何,都要更新状态,避免一直显示 loading
|
|
999
|
+
isCalculatingAutoFit.value = false;
|
|
1000
|
+
// 使用 requestAnimationFrame 确保在下一帧显示,避免闪烁
|
|
1001
|
+
requestAnimationFrame(() => {
|
|
1002
|
+
isImageReady.value = true;
|
|
1003
|
+
});
|
|
983
1004
|
}
|
|
984
|
-
// 计算完成后,显示图片并隐藏 loading
|
|
985
|
-
isCalculatingAutoFit.value = false;
|
|
986
|
-
// 使用 requestAnimationFrame 确保在下一帧显示,避免闪烁
|
|
987
|
-
requestAnimationFrame(() => {
|
|
988
|
-
isImageReady.value = true;
|
|
989
|
-
});
|
|
990
1005
|
}, 100); // 增加延迟,确保所有图片都已加载
|
|
991
1006
|
});
|
|
992
1007
|
});
|
|
993
1008
|
} else if (!props.autoFitWidth) {
|
|
994
1009
|
// 如果没有启用自适应宽度,立即显示图片
|
|
995
1010
|
isImageReady.value = true;
|
|
1011
|
+
isCalculatingAutoFit.value = false;
|
|
996
1012
|
}
|
|
997
1013
|
|
|
998
1014
|
// 如果第一页已经加载完成,且当前页不是第一页,也应用自适应宽度
|
|
@@ -2353,19 +2369,34 @@ onMounted(() => {
|
|
|
2353
2369
|
// 隐藏图片,显示 loading
|
|
2354
2370
|
isImageReady.value = false;
|
|
2355
2371
|
isCalculatingAutoFit.value = true;
|
|
2372
|
+
|
|
2373
|
+
// 设置超时保护,防止一直显示 loading(最多等待 3 秒)
|
|
2374
|
+
const timeoutId = setTimeout(() => {
|
|
2375
|
+
console.warn('自适应宽度计算超时,强制显示图片');
|
|
2376
|
+
isCalculatingAutoFit.value = false;
|
|
2377
|
+
isImageReady.value = true;
|
|
2378
|
+
}, 3000);
|
|
2379
|
+
|
|
2356
2380
|
nextTick(() => {
|
|
2357
2381
|
nextTick(() => {
|
|
2358
2382
|
setTimeout(() => {
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2383
|
+
try {
|
|
2384
|
+
const autoScale = calculateAutoFitScale();
|
|
2385
|
+
if (autoScale > 0) {
|
|
2386
|
+
scale.value = autoScale;
|
|
2387
|
+
initialAutoFitScale.value = autoScale;
|
|
2388
|
+
}
|
|
2389
|
+
} catch (error) {
|
|
2390
|
+
console.warn('计算自适应宽度失败:', error);
|
|
2391
|
+
} finally {
|
|
2392
|
+
// 清除超时保护
|
|
2393
|
+
clearTimeout(timeoutId);
|
|
2394
|
+
// 无论计算结果如何,都要更新状态,避免一直显示 loading
|
|
2395
|
+
isCalculatingAutoFit.value = false;
|
|
2396
|
+
requestAnimationFrame(() => {
|
|
2397
|
+
isImageReady.value = true;
|
|
2398
|
+
});
|
|
2363
2399
|
}
|
|
2364
|
-
// 计算完成后,显示图片并隐藏 loading
|
|
2365
|
-
isCalculatingAutoFit.value = false;
|
|
2366
|
-
requestAnimationFrame(() => {
|
|
2367
|
-
isImageReady.value = true;
|
|
2368
|
-
});
|
|
2369
2400
|
}, 100);
|
|
2370
2401
|
});
|
|
2371
2402
|
});
|