lanan-system-vue/public/static/UEditorPlus/dialogs/contentimport/contentimport.js
2024-09-27 17:22:19 +08:00

92 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var contentImport = {};
var g = $G;
contentImport.data = {
result: null,
};
contentImport.init = function (opt, callbacks) {
addUploadButtonListener();
addOkListener();
};
function processWord(file) {
$('.file-tip').html('正在转换Word文件请稍后...');
$('.file-result').html('').hide();
var reader = new FileReader();
reader.onload = function (loadEvent) {
mammoth.convertToHtml({
arrayBuffer: loadEvent.target.result
})
.then(function displayResult(result) {
$('.file-tip').html('转换成功');
contentImport.data.result = result.value;
$('.file-result').html(result.value).show();
}, function (error) {
$('.file-tip').html('Word文件转换失败:' + error);
});
};
reader.onerror = function (loadEvent) {
$('.file-tip').html('Word文件转换失败:' + loadEvent);
};
reader.readAsArrayBuffer(file);
}
function processMarkdown( markdown ){
var converter = new showdown.Converter();
var html = converter.makeHtml(markdown);
$('.file-tip').html('转换成功');
contentImport.data.result = html;
$('.file-result').html(html).show();
}
function processMarkdownFile(file) {
$('.file-tip').html('正在转换Markdown文件请稍后...');
$('.file-result').html('').hide();
var reader = new FileReader();
reader.onload = function (loadEvent) {
processMarkdown( loadEvent.target.result );
};
reader.onerror = function (loadEvent) {
$('.file-tip').html('Markdown文件转换失败:' + loadEvent);
};
reader.readAsText(file, "UTF-8");
}
function addUploadButtonListener() {
g('contentImport').addEventListener('change', function () {
const file = this.files[0];
const fileName = file.name;
const fileExt = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
switch (fileExt) {
case 'docx':
case 'doc':
processWord(file);
break;
case 'md':
processMarkdownFile(file);
break;
default:
$('.file-tip').html('不支持的文件格式:' + fileExt);
break;
}
});
g('fileInputConfirm').addEventListener('click', function () {
processMarkdown( g('fileInputContent').value );
$('.file-input').hide();
});
}
function addOkListener() {
dialog.onok = function () {
if (!contentImport.data.result) {
alert('请先上传文件识别内容');
return false;
}
editor.fireEvent('saveScene');
editor.execCommand("inserthtml", contentImport.data.result);
editor.fireEvent('saveScene');
};
dialog.oncancel = function () {
};
}