feat(phone-image): add save button and state management

This commit is contained in:
augushong
2026-05-03 21:16:00 +08:00
parent a65025add9
commit c51cd8beb5
2 changed files with 67 additions and 0 deletions

View File

@@ -1260,6 +1260,48 @@ var PhoneImageEngine = (function () {
return deferred.promise();
}
/**
* 保存排版配置到服务端(不生成图片)
* @param {number} postId 文章ID
* @param {Object} saveConfig 配置信息 {size, fontSize, watermark, content_html}
* @param {string} url 保存接口URL
* @returns {Promise} jQuery Deferred, resolves with {output_id}
*/
function saveConfig(postId, saveConfig, url) {
var deferred = $.Deferred();
var payload = {
post_id: postId,
output_type: 'phone_image',
config: {
size: saveConfig.size || config.size,
fontSize: saveConfig.fontSize || config.fontSize,
watermark: saveConfig.watermark || config.watermark,
pageAlignments: config.pageAlignments || {}
},
content_html: saveConfig.content_html || postData.content_html
};
$.ajax({
url: url || '',
type: 'POST',
data: JSON.stringify(payload),
contentType: 'application/json',
success: function (result) {
if (result.code === 0) {
deferred.resolve(result.data || {});
} else {
deferred.reject(result.msg || '保存失败');
}
},
error: function (xhr) {
deferred.reject('网络错误: ' + xhr.statusText);
}
});
return deferred.promise();
}
/**
* 将生成的canvas数组显示为缩略图
* @param {Array} canvases canvas对象数组
@@ -1382,6 +1424,7 @@ var PhoneImageEngine = (function () {
render: render,
generateImages: generateImages,
saveImages: saveImages,
saveConfig: saveConfig,
showGeneratedThumbnails: showGeneratedThumbnails,
switchSize: switchSize,
getConfig: getConfig,