mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-07-01 14:52:48 +08:00
feat(typesetting): 纯图片页统一走SnapDOM截图 - 包含品牌页头和页码
- 移除runCaptureLoop中纯图片页的特殊处理分支 - 纯图片页不再跳过截图,统一走snapdom.toCanvas - 品牌header和页码自然包含在纯图片页中 - isPureImagePage/getPureImageSrc/renderPureImageToCanvas标注@deprecated - 修复普通截图回调缺少pageProgressCallback调用的bug
This commit is contained in:
@@ -1097,6 +1097,7 @@ var PhoneImageEngine = (function () {
|
||||
// ===== 纯图片页优化 =====
|
||||
|
||||
/**
|
||||
* @deprecated 纯图片页已统一走SnapDOM截图流程,此函数不再被调用
|
||||
* 检测staging区域中的页面元素是否为纯图片页
|
||||
* 纯图片页: .page-body 内 .page-content 只含1个img且无文字内容
|
||||
* @param {jQuery} $pageElem - .phone-image-page 元素
|
||||
@@ -1125,6 +1126,7 @@ var PhoneImageEngine = (function () {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 纯图片页已统一走SnapDOM截图流程,此函数不再被调用
|
||||
* 从纯图片页元素中获取img的src
|
||||
* @param {jQuery} $pageElem
|
||||
* @returns {string}
|
||||
@@ -1135,6 +1137,7 @@ var PhoneImageEngine = (function () {
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 纯图片页已统一走SnapDOM截图流程,此函数不再被调用
|
||||
* 将原始图片绘制到canvas(用于高质量保存路径)
|
||||
* @param {string} src - 图片src
|
||||
* @param {number} width - 目标宽度
|
||||
@@ -1245,36 +1248,11 @@ var PhoneImageEngine = (function () {
|
||||
|
||||
var $elem = $pageElems.eq(idx);
|
||||
|
||||
// 纯图片页优化
|
||||
if (isPureImagePage($elem)) {
|
||||
var pureSrc = getPureImageSrc($elem);
|
||||
if (pureSrc) {
|
||||
if (opts.outputCanvas) {
|
||||
// 保存模式: 高质量绘制原图到canvas
|
||||
renderPureImageToCanvas(pureSrc, opts.sizeConfig.width, opts.sizeConfig.height).then(function (canvas) {
|
||||
results.push(canvas);
|
||||
if (opts.streaming && opts.onPageReady) opts.onPageReady(canvas, idx);
|
||||
if (pageProgressCallback) pageProgressCallback(idx + 1, total);
|
||||
idx++;
|
||||
captureNext();
|
||||
}).catch(function () {
|
||||
// 加载失败,回退到SnapDOM截图
|
||||
capturePageViaHtml2Canvas($elem, $staging, opts, results, deferred, function () { if (opts.streaming && opts.onPageReady) opts.onPageReady(results[results.length - 1], idx); if (pageProgressCallback) pageProgressCallback(idx + 1, total); idx++; captureNext(); });
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
// 缩略图模式: 直接用src
|
||||
results.push(pureSrc);
|
||||
if (opts.streaming && opts.onPageReady) opts.onPageReady(pureSrc, idx);
|
||||
if (pageProgressCallback) pageProgressCallback(idx + 1, total);
|
||||
idx++;
|
||||
captureNext();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 纯图片页统一走SnapDOM截图,不再跳过截图流程
|
||||
// 这样纯图片页也会包含品牌header和页码
|
||||
|
||||
capturePageViaHtml2Canvas($elem, $staging, opts, results, deferred, function () { if (opts.streaming && opts.onPageReady) opts.onPageReady(results[results.length - 1], idx); idx++; captureNext(); });
|
||||
// 统一截图流程
|
||||
capturePageViaHtml2Canvas($elem, $staging, opts, results, deferred, function () { if (opts.streaming && opts.onPageReady) opts.onPageReady(results[results.length - 1], idx); if (pageProgressCallback) pageProgressCallback(idx + 1, total); idx++; captureNext(); });
|
||||
}
|
||||
|
||||
captureNext();
|
||||
|
||||
Reference in New Issue
Block a user