@koi-br/ocr-web-sdk 1.0.36 → 1.0.37
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-BBpVx1t-.js → index-DThQgmjy.js} +62 -62
- package/dist/{index-BK8otfpE.mjs → index-Dq2fZsJv.mjs} +2576 -2562
- package/dist/index.cjs.js +2 -2
- package/dist/index.esm.js +2 -2
- package/dist/{tiff.min-DstYahTd.js → tiff.min--tAcEsx1.js} +1 -1
- package/dist/{tiff.min-WauPM8ew.mjs → tiff.min-QOtd-CZv.mjs} +1 -1
- package/package.json +1 -1
- package/preview/ImagePreview.vue +44 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getAugmentedNamespace, a as getDefaultExportFromCjs } from "./index-
|
|
1
|
+
import { g as getAugmentedNamespace, a as getDefaultExportFromCjs } from "./index-Dq2fZsJv.mjs";
|
|
2
2
|
function _mergeNamespaces(U, W) {
|
|
3
3
|
for (var Z = 0; Z < W.length; Z++) {
|
|
4
4
|
const s0 = W[Z];
|
package/package.json
CHANGED
package/preview/ImagePreview.vue
CHANGED
|
@@ -841,10 +841,18 @@ const switchToPage = (page: number) => {
|
|
|
841
841
|
`[data-page-number="${page}"]`
|
|
842
842
|
) as HTMLElement;
|
|
843
843
|
if (pageElement) {
|
|
844
|
+
// 标记这是翻页滚动,不应该被同步滚动干扰
|
|
845
|
+
containerRef.value.dataset.pageScrolling = 'true';
|
|
844
846
|
pageElement.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
845
847
|
// 更新 lastScrollTop,确保滚动方向判断准确
|
|
846
848
|
nextTick(() => {
|
|
847
849
|
lastScrollTop = containerRef.value?.scrollTop || 0;
|
|
850
|
+
// 延迟清除标记,确保滚动完成
|
|
851
|
+
setTimeout(() => {
|
|
852
|
+
if (containerRef.value) {
|
|
853
|
+
delete containerRef.value.dataset.pageScrolling;
|
|
854
|
+
}
|
|
855
|
+
}, 500); // scrollIntoView 的 smooth 动画通常需要 300-500ms
|
|
848
856
|
});
|
|
849
857
|
}
|
|
850
858
|
}
|
|
@@ -1840,6 +1848,33 @@ const saveAnnotation = () => {
|
|
|
1840
1848
|
* 处理滚动事件(隐藏批注按钮和文本块高亮,以及滚动翻页)
|
|
1841
1849
|
*/
|
|
1842
1850
|
const handleScroll = (e: Event) => {
|
|
1851
|
+
const container = e.target as HTMLElement;
|
|
1852
|
+
|
|
1853
|
+
// 检查是否是同步滚动触发的
|
|
1854
|
+
const isSyncing = container?.dataset?.syncingScroll === 'true';
|
|
1855
|
+
if (isSyncing) {
|
|
1856
|
+
// 即使是被同步滚动触发的,也应该立即更新页码(但不触发翻页动画)
|
|
1857
|
+
// 使用 requestAnimationFrame 确保在浏览器渲染后立即更新
|
|
1858
|
+
if (
|
|
1859
|
+
props.enableScrollPaging &&
|
|
1860
|
+
totalPages.value > 1 &&
|
|
1861
|
+
!isScrollPaging.value
|
|
1862
|
+
) {
|
|
1863
|
+
// 立即更新页码,不等待防抖
|
|
1864
|
+
requestAnimationFrame(() => {
|
|
1865
|
+
updateCurrentPageFromScroll();
|
|
1866
|
+
// 清除标记(在页码更新后)
|
|
1867
|
+
delete container.dataset.syncingScroll;
|
|
1868
|
+
});
|
|
1869
|
+
} else {
|
|
1870
|
+
// 如果没有启用滚动翻页,立即清除标记
|
|
1871
|
+
delete container.dataset.syncingScroll;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
// 同步滚动时,不执行其他逻辑(如隐藏批注按钮等)
|
|
1875
|
+
return;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1843
1878
|
if (hideTimer) {
|
|
1844
1879
|
clearTimeout(hideTimer);
|
|
1845
1880
|
}
|
|
@@ -1861,16 +1896,22 @@ const handleScroll = (e: Event) => {
|
|
|
1861
1896
|
scale.value = initialAutoFitScale.value;
|
|
1862
1897
|
}
|
|
1863
1898
|
|
|
1864
|
-
//
|
|
1899
|
+
// 滚动翻页功能(用户主动滚动时)
|
|
1865
1900
|
if (
|
|
1866
1901
|
props.enableScrollPaging &&
|
|
1867
1902
|
totalPages.value > 1 &&
|
|
1868
1903
|
!isScrollPaging.value
|
|
1869
1904
|
) {
|
|
1905
|
+
// 立即更新页码(使用 requestAnimationFrame 确保在渲染后更新)
|
|
1906
|
+
requestAnimationFrame(() => {
|
|
1907
|
+
updateCurrentPageFromScroll();
|
|
1908
|
+
});
|
|
1909
|
+
// 同时使用防抖处理其他逻辑(如事件触发)
|
|
1870
1910
|
handleScrollPaging(e);
|
|
1871
1911
|
}
|
|
1872
1912
|
};
|
|
1873
1913
|
|
|
1914
|
+
|
|
1874
1915
|
// 记录上次滚动位置,用于判断滚动方向
|
|
1875
1916
|
let lastScrollTop = 0;
|
|
1876
1917
|
|
|
@@ -1939,6 +1980,7 @@ const handleScrollPaging = (e: Event) => {
|
|
|
1939
1980
|
}
|
|
1940
1981
|
|
|
1941
1982
|
// 使用防抖,避免频繁触发
|
|
1983
|
+
// 减少延迟到50ms,提高响应速度
|
|
1942
1984
|
scrollPagingTimer = setTimeout(() => {
|
|
1943
1985
|
// 再次检查是否正在翻页
|
|
1944
1986
|
if (isScrollPaging.value) {
|
|
@@ -1947,7 +1989,7 @@ const handleScrollPaging = (e: Event) => {
|
|
|
1947
1989
|
|
|
1948
1990
|
// 更新当前页码(基于视口中心最近的页面)
|
|
1949
1991
|
updateCurrentPageFromScroll();
|
|
1950
|
-
},
|
|
1992
|
+
}, 50);
|
|
1951
1993
|
};
|
|
1952
1994
|
|
|
1953
1995
|
/**
|