1
This commit is contained in:
@@ -2013,9 +2013,23 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
wbr: 1
|
||||
});
|
||||
|
||||
// 上标数字映射:普通数字 → 上标数字
|
||||
var supNumberMap = {'0': '⁰', '1': '¹', '2': '²', '3': '³', '4': '⁴', '5': '⁵', '6': '⁶', '7': '⁷', '8': '⁸', '9': '⁹'};
|
||||
// 下标数字映射:普通数字 → 下标数字
|
||||
var subNumberMap = {'0': '₀', '1': '₁', '2': '₂', '3': '₃', '4': '₄', '5': '₅', '6': '₆', '7': '₇', '8': '₈', '9': '₉'};
|
||||
// 上标字母映射:普通字母 → 上标字母
|
||||
var supLetterMap = {'a': 'ᵃ', 'b': 'ᵇ', 'c': 'ᶜ', 'd': 'ᵈ', 'e': 'ᵉ', 'f': 'ᶠ', 'g': 'ᵍ', 'h': 'ʰ', 'i': 'ⁱ', 'j': 'ʲ', 'k': 'ᵏ', 'l': 'ˡ', 'm': 'ᵐ', 'n': 'ⁿ', 'o': 'ᵒ', 'p': 'ᵖ', 'r': 'ʳ', 's': 'ˢ', 't': 'ᵗ', 'u': 'ᵘ', 'v': 'ᵛ', 'w': 'ʷ', 'x': 'ˣ', 'y': 'ʸ', 'z': 'ᶻ'};
|
||||
//下标字母映射:普通字母 → 下标字母
|
||||
var subLetterMap = {'a': 'ₐ', 'e': 'ₑ', 'h': 'ₕ', 'i': 'ᵢ', 'j': 'ⱼ', 'k': 'ₖ', 'l': 'ₗ', 'm': 'ₘ', 'n': 'ₙ', 'o': 'ₒ', 'p': 'ₚ', 'r': 'ᵣ', 's': 'ₛ', 't': 'ₜ', 'u': 'ᵤ', 'v': 'ᵥ', 'x': 'ₓ'};
|
||||
|
||||
|
||||
return _({
|
||||
|
||||
// $ 表示自定的属性
|
||||
$supNumberMap: supNumberMap,
|
||||
$subNumberMap: subNumberMap,
|
||||
$supLetterMap: supLetterMap,
|
||||
$subLetterMap: subLetterMap,
|
||||
|
||||
// body外的元素列表.
|
||||
$nonBodyContent: X(V, U, S),
|
||||
@@ -7784,7 +7798,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
if(me.options.from){
|
||||
RichTextUitl.from = me.options.from
|
||||
}
|
||||
//添加删除弹窗
|
||||
var imgPrefix = (RichTextUitl.prefix || RichTextUitl.noteDomain) + '/res/plugin/ueditor/';
|
||||
if(RichTextUitl.intranetMode){
|
||||
@@ -8243,6 +8259,20 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
html = html.replace(xssReg, function () {
|
||||
return arguments[0] + ' ';
|
||||
})
|
||||
// 去掉rtf_content公式中的内容
|
||||
if($(me.body).find('span[data-latexstr]').length > 0){
|
||||
//去掉rtf_content中span[data-latexstr]中的内容
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = html;
|
||||
$(div).find('span[data-latexstr]').each(function (i, elm){
|
||||
elm.innerHTML = ' ';
|
||||
})
|
||||
//去掉ai纠错的样式
|
||||
$(div).find('.error_word').contents().unwrap()
|
||||
html = div.innerHTML;
|
||||
//删除div
|
||||
domUtils.remove(div)
|
||||
}
|
||||
|
||||
var root = UE.htmlparser(html, ignoreBlank);
|
||||
if(html.indexOf('<div class="xiumi">') == -1 && html.indexOf('<div class="unfilter_css">') == -1){
|
||||
@@ -8263,9 +8293,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
//完成时才需要处理的
|
||||
root.traversal(function (node) {
|
||||
switch (node.tagName) {
|
||||
case 'code':
|
||||
node.innerText(node.innerHTML().replace(/<br[^>]+>/g, ' ').replace(/<[^>]+>/g, ''));
|
||||
break;
|
||||
// case 'code':
|
||||
// node.innerText(node.innerHTML().replace(/<br[^>]+>/g, ' ').replace(/<[^>]+>/g, ''));
|
||||
// break;
|
||||
case 'div':
|
||||
// 去除视频iframe wrap宽高
|
||||
if(node.attrs && node.attrs.class && node.attrs.class.includes('editor-iframe') && node.attrs.style && node.innerHTML().includes('insertVideo')) {
|
||||
@@ -8322,7 +8352,34 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
* ```
|
||||
*/
|
||||
getPlainTxt: function () {
|
||||
var $wrap = $(this.body).clone(true);
|
||||
var $wrap = $(this.body).clone(true);
|
||||
//把富文本里的上标<sup>标签和下标<sub>标签换成ASCII码和Unicode上下标专用码位
|
||||
// 数字上标 ⁰¹²³⁴⁵⁶⁷⁸⁹
|
||||
//数字下标 ₀₁₂₃₄₅₆₇₈₉
|
||||
//部分字母 ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ
|
||||
//下标字母 ₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ
|
||||
// 通用替换函数
|
||||
function replaceChars(text, charMap) {
|
||||
for (var char in charMap) {
|
||||
text = text.replace(new RegExp(char, 'g'), charMap[char]);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
$wrap.find("sup").each(function () {
|
||||
var text = $(this).text();
|
||||
text = replaceChars(text, dtd.$supNumberMap);
|
||||
text = replaceChars(text, dtd.$supLetterMap);
|
||||
$(this).text(text);
|
||||
});
|
||||
$wrap.find("sub").each(function () {
|
||||
var text = $(this).text();
|
||||
text = replaceChars(text, dtd.$subNumberMap);
|
||||
text = replaceChars(text, dtd.$subLetterMap);
|
||||
$(this).text(text);
|
||||
});
|
||||
|
||||
|
||||
$wrap.find("ol li").each(function () {
|
||||
$(this).prepend($(this).attr('serialnum') + ". ");
|
||||
});
|
||||
@@ -8346,6 +8403,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
$wrap.find(".drag-image-wrap .editor-image").each(function () {
|
||||
$(this).unwrap();
|
||||
});
|
||||
//清空公式
|
||||
$wrap.find("span[data-latexstr]").each(function () {
|
||||
this.innerHTML = ' '
|
||||
});
|
||||
var html = $wrap.html();
|
||||
var me = this;
|
||||
var root = UE.htmlparser($wrap.html(), true);
|
||||
@@ -8661,7 +8722,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//渲染公式
|
||||
RichTextUitl.renderLatex(me.body)
|
||||
//base64图片改为云盘图片
|
||||
setTimeout(function () { //不加延迟puid和token还没有获取到
|
||||
$(me.body).find('img').each(function (index, image) {
|
||||
@@ -8787,7 +8849,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
$(me.body).find('iframe').each(function (index, iframe) {
|
||||
//iframe加上allowfullscreen=true
|
||||
iframe.setAttribute('allowfullscreen', "true");
|
||||
iframe.setAttribute('src', iframe.getAttribute('src'));
|
||||
if(iframe.getAttribute('src')){
|
||||
iframe.setAttribute('src', iframe.getAttribute('src'));
|
||||
}
|
||||
iframe.onload = function () {
|
||||
if ($(this).height() > 74 && me.autoHeightEnabled) {
|
||||
setTimeout(function () {
|
||||
@@ -8803,10 +8867,12 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'isGetVideoDataFromCenter': RichTextUitl.isGetVideoDataFromCenter,
|
||||
'videoWidth': $(this).attr('video-width'),
|
||||
'videoHeight': $(this).attr('video-height'),
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'isHdVideo': window.obj && window.obj.mirrorDomain && window.obj.mirrorDomain.isMirrorDeploy ? true : '',
|
||||
'videoWidthMax': RichTextUitl.videoWidthMax ? me.body.clientWidth || 0 : 0,
|
||||
}, '*');
|
||||
}else if($(this).attr('module') == 'insertCloud' && typeof iframeOnload == 'function'){
|
||||
iframeOnload(this)
|
||||
iframeOnload(this,me.body)
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -10381,9 +10447,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
},
|
||||
//base64图片替换为云盘地址
|
||||
replaceBase64Img: function (img) {
|
||||
if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
RichTextUitl.getUploadConfig(true);
|
||||
}
|
||||
// if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
// RichTextUitl.getUploadConfig(true);
|
||||
// }
|
||||
var me = this;
|
||||
/* 创建Ajax并提交 */
|
||||
var actionUrl = me.getActionUrl(me.getOpt('imageActionName'));
|
||||
@@ -10392,8 +10458,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var file = me.dataURLtoFile((img.getAttribute('src') || img.getAttribute('_src')));
|
||||
fd.append('file', file, file.name);
|
||||
fd.append('type', 'ajax');
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken){
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
}
|
||||
xhr.open("post", actionUrl, true);
|
||||
xhr.addEventListener('load', function (e) {
|
||||
try {
|
||||
@@ -10408,7 +10476,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
if (RichTextUitl.intranetMode) {
|
||||
imgUrl = data.data.imgUrl;
|
||||
} else {
|
||||
imgUrl = (RichTextUitl.mirrorPhotoDomain || 'https://p.cldisk.com') + '/star3/origin/' + json.data.objectId + "." + suffix;
|
||||
imgUrl = json.data.previewUrl;
|
||||
}
|
||||
img.src = imgUrl;
|
||||
img.onload = function(){
|
||||
@@ -10837,7 +10905,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
if ($(".popUeditorEditSignShowHide #file")[0].files.item(0)) {
|
||||
fileData = $(".popUeditorEditSignShowHide #file")[0].files.item(0);
|
||||
}
|
||||
signAjax("post", window.location.protocol + "//pan-yz.chaoxing.com/upload", { type: "file" }, function (data) {
|
||||
signAjax("post", me.getActionUrl('uploadimage'), { type: "file" }, function (data) {
|
||||
img = new Image();
|
||||
img.src = data.data.previewUrl;
|
||||
hasmyImage = true;
|
||||
@@ -11129,15 +11197,17 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
xhr.open(method, url, true);
|
||||
var fd = new FormData();
|
||||
fd.append("type", "ajax");
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken){
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
}
|
||||
fd.append("file", fileData);
|
||||
xhr.send(fd);
|
||||
}
|
||||
}
|
||||
if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
RichTextUitl.getUploadConfig(true);
|
||||
}
|
||||
// if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
// RichTextUitl.getUploadConfig(true);
|
||||
// }
|
||||
if (url) {
|
||||
img = new Image();
|
||||
img.src = url;
|
||||
@@ -12351,20 +12421,35 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
* ```
|
||||
*/
|
||||
getActionUrl: function (action) {
|
||||
|
||||
var me = this;
|
||||
// 上传图片和文件的地址单独配置
|
||||
if (action == 'uploadimage' || action == 'uploadfile' || action == 'uploadvideo') {
|
||||
//return 'https://pan-yz.chaoxing.com/upload';
|
||||
// 兼容镜像逻辑
|
||||
if (window.location.host.indexOf('course.ustc.edu.cn') > -1 && !(RichTextUitl.prefix && RichTextUitl.prefix.indexOf('chaoxing.com') > -1)) {
|
||||
RichTextUitl.mirrorPhotoDomain = 'https://cs.course.ustc.edu.cn';
|
||||
RichTextUitl.uploadUrl = 'https://pan.course.ustc.edu.cn/upload';
|
||||
}
|
||||
if(window.obj && window.obj.mirrorDomain){
|
||||
RichTextUitl.mirrorPhotoDomain = window.obj.mirrorDomain.photoDomain;
|
||||
if(!RichTextUitl.cloudUrl){
|
||||
RichTextUitl.uploadUrl = window.location.protocol + window.obj.mirrorDomain.panDomain.replace('https:','').replace('http:','')+'/upload';
|
||||
//如果传了puid和token,还用原接口,兼容微信中获取不到puid和token的情况
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken){
|
||||
if(window.obj && window.obj.mirrorDomain) {
|
||||
if (!RichTextUitl.cloudUrl) {
|
||||
RichTextUitl.uploadUrl = window.location.protocol + window.obj.mirrorDomain.panDomain.replace('https:', '').replace('http:', '') + '/upload';
|
||||
}
|
||||
}
|
||||
}else{
|
||||
var from = me.options.from || 'old_note_editor'
|
||||
var url = (RichTextUitl.prefix || RichTextUitl.noteDomain) + '/pc/files/getYunPanUploadUrl?from=' + from;
|
||||
if(RichTextUitl.cloudUrl){
|
||||
url += '&forceUploadToOnline=1'
|
||||
}
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'get',
|
||||
async: false,
|
||||
xhrFields: {
|
||||
withCredentials: true
|
||||
},
|
||||
success:function(res){
|
||||
if(res.result){
|
||||
RichTextUitl.uploadUrl = res.data
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
return RichTextUitl.uploadUrl || 'https://pan-yz.chaoxing.com/upload';
|
||||
} else if (action == "catchimage") {
|
||||
@@ -12424,7 +12509,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
},
|
||||
insertBase64Img: function (imgdata,divstyle,imgstyle,type) {
|
||||
var me = this;
|
||||
RichTextUitl.editorReplaceTarget = null;
|
||||
RichTextUitl.editorReplaceTarget = null;
|
||||
var img = document.createElement('img');
|
||||
/* 创建Ajax并提交 */
|
||||
var actionUrl = me.getActionUrl(me.getOpt('imageActionName'));
|
||||
@@ -12433,8 +12518,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var file = me.dataURLtoFile(imgdata);
|
||||
fd.append('file', file, file.name);
|
||||
fd.append('type', 'ajax');
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
if (RichTextUitl.puid && RichTextUitl.yunToken) {
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
}
|
||||
xhr.open("post", actionUrl, true);
|
||||
xhr.addEventListener('load', function (e) {
|
||||
try {
|
||||
@@ -12449,7 +12536,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
if (RichTextUitl.intranetMode) {
|
||||
imgUrl = data.data.imgUrl;
|
||||
} else {
|
||||
imgUrl = (RichTextUitl.mirrorPhotoDomain || 'https://p.cldisk.com') + '/star3/origin/' + json.data.objectId + "." + suffix;
|
||||
imgUrl = json.data.previewUrl;
|
||||
}
|
||||
var img = new Image();
|
||||
img.src = imgUrl;
|
||||
@@ -14567,6 +14654,11 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
break;
|
||||
case 'iframe':
|
||||
if(me.options.forbidAttachment){ //不允许有附件
|
||||
node.parentNode.removeChild(node)
|
||||
break;
|
||||
}
|
||||
|
||||
//处理从专题粘贴过来的附件TODO
|
||||
if (node.parentNode && node.parentNode.getAttr('class')
|
||||
&& node.parentNode.getAttr('class').indexOf('ans-attach-ct') > -1) {
|
||||
@@ -14598,6 +14690,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
node.tagName = 'span';
|
||||
break;
|
||||
case 'img':
|
||||
if(me.options.forbidImage){ //不允许有图片
|
||||
node.parentNode.removeChild(node)
|
||||
break;
|
||||
}
|
||||
//没有src,也没有_src,移除
|
||||
if ((!node.getAttr('src') || node.getAttr('src') == '' || node.getAttr('src') == 'null') && !node.getAttr('_src') && !node.getAttr('name')) {
|
||||
node.parentNode.removeChild(node)
|
||||
@@ -15180,7 +15276,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
//勾选框不删除2019.10.25
|
||||
if (node.getAttr('class') == 'todo-inner' || node.getAttr('class') == 'todo-mark' || node.getAttr('class') == 'callout-icon' || node.getAttr('class') == 'callout-inner') {
|
||||
return;
|
||||
} else if (node.children && node.children.length == 0 && node.tagName != 'iframe' && node.tagName != 'img' && node.tagName != 'tr' && node.tagName != 'br' && node.tagName != 'canvas' && !(node.getAttr('module') && node.getAttr('module') == "chart")) {
|
||||
} else if (node.children && node.children.length == 0 && node.tagName != 'iframe' && node.tagName != 'img' && node.tagName != 'tr' && node.tagName != 'td' && node.tagName != 'br' && node.tagName != 'canvas' && !(node.getAttr('module') && node.getAttr('module') == "chart")) {
|
||||
//去除空标签
|
||||
node.parentNode.removeChild(node, true);
|
||||
return;
|
||||
@@ -15475,6 +15571,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
return false;
|
||||
}
|
||||
if(node.tagName == 'img'){
|
||||
if(me.options.forbidImage){ //不允许有图片
|
||||
node.parentNode.removeChild(node)
|
||||
return
|
||||
}
|
||||
//插入的秀米图片地址换到_src上
|
||||
if(html.indexOf('<div class="xiumi">') == 0 && node.getAttr('src') && window.obj && window.obj.mirrorDomain && node.getAttr('src').indexOf(window.obj.mirrorDomain.photoDomain.replace('http:','').replace('https:','')) == -1){
|
||||
node.setAttr('_src',node.getAttr('src'))
|
||||
@@ -15500,6 +15600,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
div.appendChild(node.parentNode);
|
||||
node.setAttr('draggable', 'true');
|
||||
}
|
||||
}else if(node.tagName == 'iframe'){
|
||||
if(me.options.forbidAttachment){ //不允许有附件
|
||||
node.parentNode.removeChild(node)
|
||||
}
|
||||
}
|
||||
me.filterWhiteList(node);
|
||||
});
|
||||
@@ -16078,6 +16182,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
if (!isuploadImg ) {
|
||||
me.normalList()
|
||||
}
|
||||
//渲染公式
|
||||
RichTextUitl.renderLatex(me.body);
|
||||
|
||||
setTimeout(function () {
|
||||
//20210317 更新目录
|
||||
if (typeof (updateAllCatalog) == "function") {
|
||||
@@ -19852,8 +19959,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
data.append("lastModifiedDate", fileAudio.lastModifiedDate)
|
||||
data.append("size", fileAudio.size)
|
||||
data.append("type", fileAudio.type)
|
||||
data.append("puid", RichTextUitl.puid)
|
||||
data.append("_token", RichTextUitl.yunToken)
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken) {
|
||||
data.append("puid", RichTextUitl.puid)
|
||||
data.append("_token", RichTextUitl.yunToken)
|
||||
}
|
||||
data.append("file", fileAudio)
|
||||
|
||||
//插入页面
|
||||
@@ -19896,7 +20005,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var doc = iframe.contentDocument || iframe.document;
|
||||
var dom = $(editor.body).find('iframe[cid="' + cid + '"]').parent();
|
||||
var actionUrl = me.getActionUrl(me.getOpt('imageActionName'));
|
||||
|
||||
//上传录音
|
||||
$.ajax({
|
||||
url: actionUrl, //上传接口地址
|
||||
type: "POST",
|
||||
@@ -19947,7 +20056,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'cid': iframe.getAttribute('cid'),
|
||||
'name': iframe.name,
|
||||
'editorId': editor.key,
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}, '*');
|
||||
});
|
||||
} else {
|
||||
@@ -19957,7 +20067,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'cid': iframe.getAttribute('cid'),
|
||||
'name': iframe.name,
|
||||
'editorId': editor.key,
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}, '*');
|
||||
};
|
||||
}
|
||||
@@ -19967,7 +20078,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'cid': iframe.getAttribute('cid'),
|
||||
'name': iframe.name,
|
||||
'editorId': editor.key,
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}, "*");
|
||||
me.fireEvent('contentchange');
|
||||
me.fireEvent('saveScene');
|
||||
@@ -23289,6 +23401,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
//trace:873
|
||||
//去掉展位符
|
||||
me.document.body.innerHTML = root.toHtml();
|
||||
RichTextUitl.renderLatex(me.body)
|
||||
me.fireEvent('afterscencerestore');
|
||||
if (!$(me.body).find(".record-list-tit").last().is("")) {
|
||||
$(me.body).find(".record-list-tit").append("");
|
||||
@@ -23323,7 +23436,20 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var rng = me.selection.getRange(),
|
||||
rngAddress = rng.createAddress(false, true);
|
||||
me.fireEvent('beforegetscene');
|
||||
var root = UE.htmlparser(me.body.innerHTML);
|
||||
var html = me.body.innerHTML;
|
||||
if($(me.body).find('span[data-latexstr]').length > 0) {
|
||||
//去掉rtf_content中span[data-latexstr]中的内容
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = html;
|
||||
// 去掉rtf_content公式中的内容
|
||||
$(div).find('span[data-latexstr]').each(function (i, elm) {
|
||||
elm.innerHTML = ' ';
|
||||
})
|
||||
html = div.innerHTML;
|
||||
//删除div
|
||||
domUtils.remove(div);
|
||||
}
|
||||
var root = UE.htmlparser(html);
|
||||
me.options.autoClearEmptyNode = false;
|
||||
me.filterOutputRule(root);
|
||||
me.options.autoClearEmptyNode = orgState;
|
||||
@@ -24390,6 +24516,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
//粘贴的附件如果协议头不一样,附件加载不出来,变成空白
|
||||
$(div).find('iframe').each(function (index, iframe) {
|
||||
var url = iframe.getAttribute('src');
|
||||
if(!url) return
|
||||
iframe.setAttribute('src', RichTextUitl.convertUrl(url));
|
||||
})
|
||||
|
||||
@@ -24506,20 +24633,20 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
div.innerHTML = titlehtml + $(div).find('.ProseMirror').html();
|
||||
}
|
||||
|
||||
//站内信粘贴的内容去除所有背景色,字体颜色
|
||||
if(window.location.href.includes('notice.chaoxing.com')){
|
||||
$(div).find('p,span').each(function(index, item){
|
||||
if(item.style.color){
|
||||
item.style.color = null
|
||||
}
|
||||
if(item.style.background){
|
||||
item.style.background = null
|
||||
}
|
||||
if(item.style.backgroundColor){
|
||||
item.style.backgroundColor = null
|
||||
}
|
||||
})
|
||||
}
|
||||
//站内信粘贴的内容去除所有背景色,字体颜色
|
||||
if(window.location.href.includes('notice.chaoxing.com')){
|
||||
$(div).find('p,span').each(function(index, item){
|
||||
if(item.style.color){
|
||||
item.style.color = null
|
||||
}
|
||||
if(item.style.background){
|
||||
item.style.background = null
|
||||
}
|
||||
if(item.style.backgroundColor){
|
||||
item.style.backgroundColor = null
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//粘贴的写站内信的原站内信样式去掉
|
||||
$(div).find('.noticeTitle>*').each(function(index, item){
|
||||
@@ -24612,7 +24739,13 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
$(item).unwrap()
|
||||
})
|
||||
html = div.innerHTML;
|
||||
|
||||
//粘贴时把pt换成px
|
||||
html = html.replace(/(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi, function (str, tag, quote, style) {
|
||||
var newStyle = style.replace(/[\d.]+(cm|pt)/g, function (str) {
|
||||
return utils.transUnitToPx(str)
|
||||
});
|
||||
return tag + ' style=' + quote + newStyle + quote;
|
||||
})
|
||||
//20200917 去除不完整的
|
||||
html = html.replace(/(<\w+|"\w+\s+")\s+"=""\s*/gi, function () {
|
||||
return (arguments[1] ? arguments[1] : '') + ' ';
|
||||
@@ -24736,6 +24869,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
}
|
||||
me.execCommand('insertHtml', insthtml, true);
|
||||
|
||||
} else {
|
||||
//文本模式
|
||||
UE.filterNode(root, me.options.filterTxtRules);
|
||||
@@ -24746,6 +24880,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
address = me.selection.getRange().createAddress(true);
|
||||
insthtml = me.getOpt('retainOnlyLabelPasted') === true ? getPureHtml(htmlContent) : htmlContent;
|
||||
insthtml = me.addBlockElementId(insthtml);
|
||||
if(insthtml.replace(new RegExp("", 'g'), '') == ""){
|
||||
return false
|
||||
}
|
||||
//20200605 粘贴数据插入后发送协同数据
|
||||
if (me.options.cooperation) {
|
||||
if (div.querySelectorAll('img').length == 1 && div.querySelector('img').getAttribute('src') && div.querySelector('img').getAttribute('src').indexOf('spacer.gif') > -1) {
|
||||
@@ -24858,15 +24995,6 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var range = me.selection.getRange();
|
||||
range.trimBoundary()
|
||||
|
||||
//获取选中的非富文本内容
|
||||
var selectedText = me.window.getSelection().toString();
|
||||
if (selectedText.trim() == "" || selectedText.indexOf('\n') == -1) return;
|
||||
//部分空格复制到办公同事的软件里时,会变成问号或方框,制表符会变成|,要替换一下
|
||||
if (selectedText.indexOf('\t\n') == 0) {
|
||||
selectedText = selectedText.replace('\t\n', '');
|
||||
}
|
||||
var copyText = selectedText.replace(/\r/g, '').replace(/\t/g, '').replace(/\n\n/g, '\n').replace(/ /g, ' ').replace(/ /g, ' ').replace(/ /g, '');
|
||||
|
||||
//获取选中的富文本内容
|
||||
var tempDiv = document.createElement('div');
|
||||
tempDiv.appendChild(range.cloneContents());
|
||||
@@ -24885,10 +25013,44 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
domUtils.remove(item, true);
|
||||
}
|
||||
})
|
||||
|
||||
//复制时去掉公式里的内容
|
||||
$(tempDiv).find('span[data-latexstr]').each(function (index, item) {
|
||||
item.innerHTML = ''
|
||||
})
|
||||
//复制时去掉ai纠错高亮
|
||||
$(tempDiv).find('.error_word').contents().unwrap()
|
||||
var selectHtml = tempDiv.innerHTML;
|
||||
|
||||
clipboardData.setData('text/plain', copyText);
|
||||
//获取选中的非富文本内容
|
||||
$(tempDiv).find('ol li').each(function (index, item) {
|
||||
$(item).prepend($(item).attr('serialnum') + ". ");
|
||||
})
|
||||
$(tempDiv).find('ul li').each(function (index, item) {
|
||||
$(item).prepend(". ");
|
||||
})
|
||||
var selectedText = tempDiv.innerHTML;
|
||||
|
||||
//部分空格复制到办公同事的软件里时,会变成问号或方框,制表符会变成|,要替换一下
|
||||
if (selectedText.indexOf('\t\n') == 0) {
|
||||
selectedText = selectedText.replace('\t\n', '');
|
||||
}
|
||||
//保留换行
|
||||
var reg = new RegExp(domUtils.fillChar, 'g');
|
||||
selectedText = selectedText.replace(/[\n\r]/g, ''); //ie要先去了\n在处理
|
||||
selectedText = selectedText.replace(/<(ol|ul|li)[^>]*>/g, '').replace(/<(\/ol|\/ul|\/li)>/g, '');
|
||||
selectedText = selectedText.replace(/<(p|div)[^>]*>(<br\/?>| )<\/\1>/gi, '\n')
|
||||
.replace(/<br\/?>/gi, '\n')
|
||||
.replace(/<[^>/]+>/g, '')
|
||||
.replace(/(\n)?<\/([^>]+)>/g, function (a, b, c) {
|
||||
return dtd.$block[c] ? '\n' : b ? b : '';
|
||||
})
|
||||
.replace(/<[^>]+>/g, '');
|
||||
//取出来的空格会有c2a0会变成乱码,处理这种情况\u00a0
|
||||
selectedText = selectedText.replace(reg, '').replace(/\u00a0/g, ' ').replace(/ /g, ' ');
|
||||
|
||||
selectedText = selectedText.replace(/\r/g, '').replace(/\t/g, '').replace(/\n\n/g, '\n').replace(/ /g, ' ').replace(/ /g, ' ').replace(/ /g, '');
|
||||
|
||||
clipboardData.setData('text/plain', selectedText);
|
||||
clipboardData.setData('text/html', selectHtml);
|
||||
e.preventDefault();
|
||||
});
|
||||
@@ -25938,7 +26100,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
return;
|
||||
}else if(domUtils.isStartInblock(rng) && pNode && pNode.innerText.trim() == '' && $(pNode).find('hr,img,iframe').length == 0){
|
||||
//首行为空且没有图片附件,点删除时,光标定位到标题
|
||||
if(window.location.href.indexOf(window.obj.mirrorDomain.GroupWebDomainHttps) > -1 && $('.edit_title input,.edit_title textarea').length > 0){
|
||||
if(window.location.href.indexOf(window.obj && window.obj.mirrorDomain.GroupWebDomainHttps) > -1 && $('.edit_title input,.edit_title textarea').length > 0){
|
||||
domUtils.remove(pNode);
|
||||
var input = $('.edit_title input,.edit_title textarea')[0]
|
||||
// 获取输入框内容的长度
|
||||
@@ -27381,6 +27543,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
domUtils.preventDefault(evt);
|
||||
return;
|
||||
}
|
||||
if(me.options.showAiWritingPlan && RichTextUitl.isOpenAiPartnerBoxByTab){
|
||||
domUtils.preventDefault(evt);
|
||||
return;
|
||||
}
|
||||
var range = me.selection.getRange();
|
||||
me.fireEvent('saveScene');
|
||||
for (var i = 0, txt = '', tabSize = me.options.tabSize || 4, tabNode = me.options.tabNode || ' '; i < tabSize; i++) {
|
||||
@@ -27669,11 +27835,11 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var func = RichTextUitl.customUploadDataAnalysis.toString();
|
||||
targetIframe.contentWindow.postMessage({
|
||||
'msgType': 'openmath',
|
||||
'puid': RichTextUitl.puid,
|
||||
'yunToken': RichTextUitl.yunToken,
|
||||
'puid': RichTextUitl.puid || '',
|
||||
'yunToken': RichTextUitl.yunToken || '',
|
||||
'prdid': me.editor.options.prdid,
|
||||
'iframeId': iframeId,
|
||||
'uploadUrl': me.editor.getActionUrl(me.editor.getOpt('imageActionName')),
|
||||
'from': me.editor.options.from,
|
||||
'text': img.getAttribute('mathdata'),
|
||||
'imgindex': index,
|
||||
'func': func
|
||||
@@ -27681,11 +27847,11 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
} else {
|
||||
targetIframe.contentWindow.postMessage({
|
||||
'msgType': 'openmath',
|
||||
'puid': RichTextUitl.puid,
|
||||
'yunToken': RichTextUitl.yunToken,
|
||||
'puid': RichTextUitl.puid || '',
|
||||
'yunToken': RichTextUitl.yunToken || '',
|
||||
'prdid': me.editor.options.prdid,
|
||||
'iframeId': iframeId,
|
||||
'uploadUrl': me.editor.getActionUrl(me.editor.getOpt('imageActionName')),
|
||||
'from': me.editor.options.from,
|
||||
'text': img.getAttribute('mathdata'),
|
||||
'imgindex': index
|
||||
}, "*");
|
||||
@@ -27716,7 +27882,11 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
});
|
||||
function getObjectIdByImgSrc(src) {
|
||||
if (src.indexOf(window.obj.mirrorDomain.photoDomainHttps.replace('https:','').replace('http:','').replace('//','')) == -1 && src.indexOf('p.ananas.chaoxing.com') == -1 && src.indexOf('p.cldisk.com') == -1) return null;
|
||||
return src.substring(src.lastIndexOf("/") + 1, src.lastIndexOf("."))
|
||||
var objectId = src.substring(src.lastIndexOf("/") + 1, src.lastIndexOf("."))
|
||||
if(src.indexOf('star4') > -1){
|
||||
objectId = src.substring(src.indexOf("star4") + 6, src.lastIndexOf("/"))
|
||||
}
|
||||
return objectId
|
||||
}
|
||||
//设置
|
||||
$(me.resizer).on('click', '.setUp', function () {
|
||||
@@ -28803,7 +28973,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'msgType': 'dataChanged',
|
||||
'cid': iframe[0].getAttribute('cid'),
|
||||
'name': iframe[0].getAttribute('name'),
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}, '*');
|
||||
});
|
||||
} else {
|
||||
@@ -28812,7 +28983,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'msgType': 'dataChanged',
|
||||
'cid': iframe[0].getAttribute('cid'),
|
||||
'name': iframe[0].getAttribute('name'),
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}, '*');
|
||||
};
|
||||
}
|
||||
@@ -28849,6 +29021,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
iframeSrc = appDomain + '/res/Spreadsheets/wpsPC.html?type=attachment&cid='
|
||||
+ iframe.attr('cid') + '&resid=' + (att_clouddisk.residstr ||att_clouddisk.resid) + '&title=' + encodeURIComponent(att_clouddisk.name) + '&editorid=' + me.editor.key;
|
||||
}
|
||||
if(RichTextUitl.useWpsPreview){ //使用wps预览的
|
||||
iframeSrc += '&type=wps'
|
||||
}
|
||||
//湖北群艺馆用单位域名
|
||||
// if (window.location.host.indexOf('hbqyg.cn') > -1) {
|
||||
iframeSrc = RichTextUitl.convertUrl(iframeSrc)
|
||||
@@ -29165,11 +29340,13 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
$(me.resizer).find('.iframeset').css('display', 'none');
|
||||
}
|
||||
//课程活动不显示复制、剪切
|
||||
var iframename = RichTextUitl.b64DecodeUnicode(targetObj.getAttribute('name'));
|
||||
if(iframename.attachmentType == 15 && !(iframename.att_chat_course.type && iframename.att_chat_course.type == 4)){
|
||||
$(me.resizer).find('.iframecopy,.iframecut').css('display', 'none');
|
||||
me.resizer.querySelector('.iframeoperate').style.width = '64px';
|
||||
$(me.resizer).find('.iframedel').css('padding-left', '0');
|
||||
if(targetObj.getAttribute('name')){
|
||||
var iframename = RichTextUitl.b64DecodeUnicode(targetObj.getAttribute('name'));
|
||||
if(iframename.attachmentType == 15 && !(iframename.att_chat_course.type && iframename.att_chat_course.type == 4)){
|
||||
$(me.resizer).find('.iframecopy,.iframecut').css('display', 'none');
|
||||
me.resizer.querySelector('.iframeoperate').style.width = '64px';
|
||||
$(me.resizer).find('.iframedel').css('padding-left', '0');
|
||||
}
|
||||
}
|
||||
me.attachTo(targetObj);
|
||||
},
|
||||
@@ -30344,8 +30521,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
return
|
||||
}else{
|
||||
setTimeout(function(){
|
||||
me.body.style.overflow = 'hidden'
|
||||
},500)
|
||||
if(me.body){
|
||||
me.body.style.overflow = 'hidden'
|
||||
}
|
||||
},1000)
|
||||
}
|
||||
|
||||
var bakOverflow,
|
||||
@@ -30518,6 +30697,49 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
});
|
||||
};
|
||||
|
||||
//ai纠错
|
||||
UE.plugins['aiCorrector'] = function () {
|
||||
var me = this;
|
||||
if(window.location.host.indexOf('chaoxing.com') == -1){
|
||||
return
|
||||
}
|
||||
if(me.options.showAiCorrector){
|
||||
me.addListener('ready', function () {
|
||||
var prefix = (RichTextUitl.prefix || RichTextUitl.noteDomain) + '/res/plugin/ueditor/';
|
||||
if (RichTextUitl.intranetMode) {
|
||||
prefix = RichTextUitl.prefix
|
||||
}
|
||||
utils.loadFile(document, {
|
||||
src: prefix + "third-party/aiCorrector/AICorrector.js",
|
||||
tag: "script",
|
||||
type: "text/javascript",
|
||||
defer: "defer"
|
||||
}, function () {
|
||||
AICorrector.init(me.key)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
//ai教案
|
||||
UE.plugins['aiTeachingPlan'] = function () {
|
||||
var me = this;
|
||||
if (me.options.showAiWritingPlan) {
|
||||
me.addListener('ready', function () {
|
||||
var prefix = (RichTextUitl.prefix || RichTextUitl.noteDomain) + '/res/plugin/ueditor/';
|
||||
if (RichTextUitl.intranetMode) {
|
||||
prefix = RichTextUitl.prefix
|
||||
}
|
||||
utils.loadFile(document, {
|
||||
src: prefix + "third-party/aiTeachingPlan.js",
|
||||
tag: "script",
|
||||
type: "text/javascript",
|
||||
defer: "defer"
|
||||
}, function () {
|
||||
AITeachingPlan.init(me)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
//拖动
|
||||
UE.plugins['sortable'] = function () {
|
||||
var me = this;
|
||||
@@ -36768,8 +36990,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
replaceImgs = [],
|
||||
test = function (src, urls) {
|
||||
var host = location.host;
|
||||
if(RichTextUitl.mirrorPhotoDomain){
|
||||
host = RichTextUitl.mirrorPhotoDomain.replace('https://','').replace('http:','');
|
||||
if(RichTextUitl.photoDomain){
|
||||
host = RichTextUitl.photoDomain.replace('https://','').replace('http:','');
|
||||
}
|
||||
if (src.indexOf(host) != -1 || /(^\.)|(^\/)/.test(src)) {
|
||||
return true;
|
||||
@@ -37291,8 +37513,39 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
UE.plugin.register('autoupload', function () {
|
||||
var me = this;
|
||||
var autouploadVideoInfo = new RMap();
|
||||
if(!RichTextUitl.puid) {
|
||||
RichTextUitl.puid = getCookie('UID')
|
||||
}
|
||||
//获取上传云盘文件夹v2地址
|
||||
function getFolderUploadUrl(folderId){
|
||||
var from = me.options.from || 'old_note_editor';
|
||||
var url = window.location.protocol + window.obj.mirrorDomain.NoteDomainHttps.replace("https:", '').replace('http:','') + '/pc/files/upload/getUploadFileUrl';
|
||||
var uploadUrl = '';
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'get',
|
||||
async: false,
|
||||
data:{
|
||||
from: from,
|
||||
params: JSON.stringify({
|
||||
type: 'ajax',
|
||||
fldid: folderId,
|
||||
hideFile: true
|
||||
})
|
||||
},
|
||||
xhrFields: {
|
||||
withCredentials: true
|
||||
},
|
||||
success:function(res){
|
||||
if(res.result){
|
||||
uploadUrl = res.data
|
||||
}
|
||||
}
|
||||
})
|
||||
return uploadUrl;
|
||||
}
|
||||
|
||||
function sendAndInsertFile(file, editor, folderLoadingId, folderName, folderId) {
|
||||
function sendAndInsertFile(file, editor, folderLoadingId, folderName, folderId, folderUploaderUrl) {
|
||||
var me = editor;
|
||||
if (me.options.closeUpload == 1) {
|
||||
// 关闭了上传功能
|
||||
@@ -37312,13 +37565,23 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
filetype = /image\/\w+/i.test(file.type) ? 'image' : 'file',
|
||||
loadingId = 'loading_' + (+new Date()).toString(36);
|
||||
|
||||
if(me.options.forbidAttachment && filetype == 'file'){ //不允许有附件
|
||||
return
|
||||
}else if(me.options.forbidImage && filetype == 'image'){ //不允许有图片
|
||||
return
|
||||
}
|
||||
|
||||
fieldName = me.getOpt(filetype + 'FieldName');
|
||||
urlPrefix = me.getOpt(filetype + 'UrlPrefix');
|
||||
maxSize = me.getOpt(filetype + 'MaxSize');
|
||||
allowFiles = me.getOpt(filetype + 'AllowFiles');
|
||||
actionUrl = me.getActionUrl(me.getOpt(filetype + 'ActionName'));
|
||||
if (folderId) {
|
||||
actionUrl = "https://pan-yz.chaoxing.com/upload/uploadfile";
|
||||
if(folderUploaderUrl){
|
||||
actionUrl = folderUploaderUrl
|
||||
}else{
|
||||
actionUrl = "https://pan-yz.chaoxing.com/upload/uploadfile";
|
||||
}
|
||||
}
|
||||
errorHandler = function (title) {
|
||||
var loader = me.document.getElementById(loadingId);
|
||||
@@ -37397,7 +37660,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
// 镜像版本,使用接口返回的图片地址
|
||||
link = data.data.imgUrl;
|
||||
} else {
|
||||
link = (RichTextUitl.mirrorPhotoDomain || 'https://p.cldisk.com') + '/star3/origin/' + data.data.objectId + "." + suffix;
|
||||
link = data.data.previewUrl;
|
||||
}
|
||||
//统计添加的图片
|
||||
if (me.options.statsAttach) {
|
||||
@@ -37586,9 +37849,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
errorHandler(me.getLang('autoupload.exceedTypeError'));
|
||||
return;
|
||||
}*/
|
||||
if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
RichTextUitl.getUploadConfig(true);
|
||||
}
|
||||
// if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
// RichTextUitl.getUploadConfig(true);
|
||||
// }
|
||||
|
||||
/* 创建Ajax并提交 */
|
||||
var xhr = new XMLHttpRequest(),
|
||||
@@ -37599,34 +37862,37 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
fd.append(fieldName, file, file.name || ('blob.' + file.type.substr('image/'.length)));
|
||||
fd.append('type', 'ajax');
|
||||
fd.append("puid", RichTextUitl.puid);
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
|
||||
if (folderId) {
|
||||
fd.append("fldid", folderId);
|
||||
fd.append("hideFile ", true);
|
||||
}
|
||||
if(!folderUploaderUrl && RichTextUitl.yunToken) {
|
||||
fd.append("_token", RichTextUitl.yunToken);
|
||||
}
|
||||
xhr.open("post", url, true);
|
||||
// xhr.withCredentials = true;
|
||||
// xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
|
||||
xhr.addEventListener('load', function (e) {
|
||||
try {
|
||||
try {
|
||||
var json = (new Function("return " + utils.trim(e.target.response)))();
|
||||
if (RichTextUitl.intranetMode && typeof RichTextUitl.customUploadDataAnalysis == 'function') {
|
||||
if (RichTextUitl.intranetMode && typeof RichTextUitl.customUploadDataAnalysis == 'function') {
|
||||
// 镜像版本需要处理下接口返回值
|
||||
json = RichTextUitl.customUploadDataAnalysis(json);
|
||||
}
|
||||
if (json.result) {
|
||||
successHandler(json);
|
||||
} else {
|
||||
errorHandler(json.msg);
|
||||
}
|
||||
} catch (er) {
|
||||
json = RichTextUitl.customUploadDataAnalysis(json);
|
||||
}
|
||||
if (json.result) {
|
||||
successHandler(json);
|
||||
} else {
|
||||
errorHandler(json.msg);
|
||||
}
|
||||
} catch (er) {
|
||||
errorHandler(me.getLang('autoupload.loadError'));
|
||||
}
|
||||
});
|
||||
xhr.send(fd);
|
||||
}
|
||||
|
||||
function scanFiles(item, loadingId, folderName, folderId) {
|
||||
function scanFiles(item, loadingId, folderName, folderId,folderUploaderUrl) {
|
||||
if (item && item.isDirectory) {
|
||||
var fileArray = new Array();
|
||||
var hasSubFolder = false;
|
||||
@@ -37683,8 +37949,12 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
RichTextUitl.yunFolderMap = {};
|
||||
}
|
||||
RichTextUitl.yunFolderMap[folderId] = item;
|
||||
var folderUploadUrl = '';
|
||||
if(!(RichTextUitl.puid && RichTextUitl.yunToken)){
|
||||
folderUploadUrl = getFolderUploadUrl(folderId)
|
||||
}
|
||||
for (var fileIndex = 0; fileIndex < fileArray.length; fileIndex++) {
|
||||
scanFiles(fileArray[fileIndex], folderLoadingId, folderName, folderId);
|
||||
scanFiles(fileArray[fileIndex], folderLoadingId, folderName, folderId,folderUploadUrl);
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -37706,7 +37976,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
|
||||
// files.push(file);
|
||||
// var event = {"target": {"files": files}}
|
||||
sendAndInsertFile(file, me, loadingId, folderName, folderId);
|
||||
sendAndInsertFile(file, me, loadingId, folderName, folderId,folderUploaderUrl);
|
||||
})
|
||||
})(item)
|
||||
}
|
||||
@@ -39113,7 +39383,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'cid': $iframe.getAttribute('cid'),
|
||||
'name': $iframe.name,
|
||||
'editorId': me.key,
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}
|
||||
if($iframe.getAttribute('module') == 'insertVideo'){
|
||||
data.isGetVideoDataFromCenter = RichTextUitl.isGetVideoDataFromCenter;
|
||||
@@ -43149,7 +43420,15 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
}
|
||||
}
|
||||
editor.execCommand('inserthtml', $('.convertContainer').html());
|
||||
var html = $('.convertContainer').html()
|
||||
//导入时pt换成px
|
||||
html = html.replace(/(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi, function (str, tag, quote, style) {
|
||||
var newStyle = style.replace(/[\d.]+(cm|pt)/g, function (str) {
|
||||
return utils.transUnitToPx(str)
|
||||
});
|
||||
return tag + ' style=' + quote + newStyle + quote;
|
||||
})
|
||||
editor.execCommand('inserthtml', html);
|
||||
$('.convertContainer').html('');
|
||||
} else {
|
||||
RichTextUitl.showTips(json.msg || '导入失败', 0);
|
||||
@@ -43193,7 +43472,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
doc = iframe.contentDocument || iframe.document;
|
||||
}
|
||||
var acceptExtensions = (editor.getOpt('imageAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, ''),
|
||||
actionUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
|
||||
// actionUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
|
||||
imageMaxSize = editor.getOpt('imageMaxSize'),
|
||||
imageCompressBorder = editor.getOpt('imageCompressBorder'),
|
||||
lang = editor.getLang('insertimage'),
|
||||
@@ -43211,7 +43490,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
mimeTypes: 'image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp'
|
||||
},
|
||||
swf: '../ueditor-1.4.3.3/third-party/webuploader/Uploader.swf',
|
||||
server: actionUrl,
|
||||
server: '',
|
||||
fileVal: editor.getOpt('imageFieldName'),
|
||||
duplicate: true,
|
||||
fileSingleSizeLimit: imageMaxSize,
|
||||
@@ -43241,6 +43520,10 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
|
||||
function addFile(file) {
|
||||
if(editor.options.forbidImage){ //禁止使用图片
|
||||
return
|
||||
}
|
||||
|
||||
if (file && file.source && file.source.source) {
|
||||
var $prgress;
|
||||
var $file;
|
||||
@@ -43385,6 +43668,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
RichTextUitl.showTips('上传功能暂时关闭,请稍后再试', 0);
|
||||
return false;
|
||||
}
|
||||
uploader.options.server = editor.getActionUrl(editor.getOpt('imageActionName'));
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -43397,11 +43681,13 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
uploader.on('uploadBeforeSend', function (file, data, header) {
|
||||
//这里可以通过data对象添加POST参数
|
||||
// header['X-Requested-With'] = 'XMLHttpRequest';
|
||||
if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
RichTextUitl.getUploadConfig(true);
|
||||
// if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
// RichTextUitl.getUploadConfig(true);
|
||||
// }
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken) {
|
||||
data.puid = RichTextUitl.puid;
|
||||
data._token = RichTextUitl.yunToken;
|
||||
}
|
||||
data.puid = RichTextUitl.puid;
|
||||
data._token = RichTextUitl.yunToken;
|
||||
data.prdid = parseInt(editor.options.prdid);
|
||||
});
|
||||
|
||||
@@ -43466,13 +43752,12 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
if ($file) {
|
||||
var $img = $file.parent().find('img').eq(0);
|
||||
var suffix = json.data.suffix || 'jpg';
|
||||
// var imgUrl = 'https://p.cldisk.com/star3/origin/'+json.data.objectId + "." + suffix ;
|
||||
var imgUrl = '';
|
||||
if (RichTextUitl.intranetMode) {
|
||||
// 镜像版本,使用接口返回的图片地址
|
||||
imgUrl = json.data.imgUrl;
|
||||
} else {
|
||||
imgUrl = (RichTextUitl.mirrorPhotoDomain || 'https://p.cldisk.com') + '/star3/origin/' + json.data.objectId + "." + suffix;
|
||||
imgUrl = json.data.previewUrl;
|
||||
}
|
||||
//统计添加的图片
|
||||
if (editor.options.statsAttach) {
|
||||
@@ -43577,7 +43862,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
// var acceptExtensions = (editor.getOpt('fileAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, ''),
|
||||
var acceptExtensions = "", // 去掉文件类型限制
|
||||
actionUrl = editor.getActionUrl(editor.getOpt('fileActionName')),
|
||||
// actionUrl = editor.getActionUrl(editor.getOpt('fileActionName')),
|
||||
fileMaxSize = editor.getOpt('fileMaxSize'),
|
||||
lang = editor.getLang('attachment'),
|
||||
videoInfo = new RMap(),
|
||||
@@ -43590,7 +43875,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
id: id,
|
||||
},
|
||||
swf: '../ueditor-1.4.3.3/third-party/webuploader/Uploader.swf',
|
||||
server: actionUrl,
|
||||
server: '',
|
||||
fileVal: editor.getOpt('fileFieldName'),
|
||||
duplicate: true,
|
||||
fileSingleSizeLimit: fileMaxSize,
|
||||
@@ -43687,6 +43972,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
var rep = new RegExp(/jpg|jpeg|png|gif|bmp|webp/)
|
||||
if (file.type && rep.test(file.type.toLowerCase())) {
|
||||
// 图片
|
||||
if(editor.options.forbidImage){ //禁止使用图片
|
||||
return
|
||||
}
|
||||
var divelementId = domUtils.getRandomId();
|
||||
var html = '<br><div class="editor-image" element-id="' + divelementId + '" contenteditable="false">' +
|
||||
'<div class="imgmask" id="' + file.id + '">' +
|
||||
@@ -43774,7 +44062,9 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
console.log(e);
|
||||
}
|
||||
} else {
|
||||
|
||||
if(editor.options.forbidAttachment){ //禁止使用附件
|
||||
return
|
||||
}
|
||||
// 其他类型文件, cid,name
|
||||
var cid = RichTextUitl.randomUUID();
|
||||
var json;
|
||||
@@ -43933,7 +44223,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
chunkedUpload().init(file, editor);
|
||||
return false;
|
||||
}
|
||||
|
||||
uploader.options.server = editor.getActionUrl(editor.getOpt('fileActionName'));
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -43946,11 +44236,13 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
uploader.on('uploadBeforeSend', function (file, data, header) {
|
||||
//这里可以通过data对象添加POST参数
|
||||
// header['X-Requested-With'] = 'XMLHttpRequest';
|
||||
if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
RichTextUitl.getUploadConfig(true);
|
||||
// if (!RichTextUitl.puid || !RichTextUitl.yunToken) {
|
||||
// RichTextUitl.getUploadConfig(true);
|
||||
// }
|
||||
if(RichTextUitl.puid && RichTextUitl.yunToken) {
|
||||
data.puid = RichTextUitl.puid;
|
||||
data._token = RichTextUitl.yunToken;
|
||||
}
|
||||
data.puid = RichTextUitl.puid;
|
||||
data._token = RichTextUitl.yunToken;
|
||||
data.prdid = parseInt(editor.options.prdid);
|
||||
});
|
||||
|
||||
@@ -44053,12 +44345,11 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
// 图片
|
||||
var $img = $file.parent().find('img').eq(0);
|
||||
var suffix = json.data.suffix || 'jpg';
|
||||
// var imgUrl = 'https://p.cldisk.com/star3/origin/'+ json.data.objectId + "." + suffix;
|
||||
var imgUrl = '';
|
||||
if (RichTextUitl.intranetMode) {
|
||||
imgUrl = json.data.imgUrl;
|
||||
} else {
|
||||
imgUrl = (RichTextUitl.mirrorPhotoDomain || 'https://p.cldisk.com') + '/star3/origin/' + json.data.objectId + "." + suffix;
|
||||
imgUrl = json.data.previewUrl;
|
||||
}
|
||||
if (imgMap.get(file.id)) {
|
||||
imgUrl = imgUrl + '?' + imgMap.get(file.id);
|
||||
@@ -44216,7 +44507,8 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
'cid': $iframe.getAttribute('cid'),
|
||||
'name': $iframe.name,
|
||||
'editorId': editor.key,
|
||||
'cloudUrl': RichTextUitl.cloudUrl
|
||||
'cloudUrl': RichTextUitl.cloudUrl,
|
||||
'openPreview': RichTextUitl.openPreview || null
|
||||
}
|
||||
if($iframe.getAttribute('module') == 'insertVideo'){
|
||||
data.isGetVideoDataFromCenter = RichTextUitl.isGetVideoDataFromCenter;
|
||||
@@ -44863,20 +45155,20 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
$(this)[0].contentWindow.postMessage({
|
||||
'msgType': 'initmath',
|
||||
'iframeId': iframeId,
|
||||
'puid': RichTextUitl.puid,
|
||||
'yunToken': RichTextUitl.yunToken,
|
||||
'puid': RichTextUitl.puid || '',
|
||||
'yunToken': RichTextUitl.yunToken || '',
|
||||
'prdid': editor.options.prdid,
|
||||
'uploadUrl': editor.getActionUrl(editor.getOpt('imageActionName')),
|
||||
'from': editor.options.from,
|
||||
'func': func
|
||||
}, "*");
|
||||
} else {
|
||||
$(this)[0].contentWindow.postMessage({
|
||||
'msgType': 'initmath',
|
||||
'iframeId': iframeId,
|
||||
'puid': RichTextUitl.puid,
|
||||
'yunToken': RichTextUitl.yunToken,
|
||||
'puid': RichTextUitl.puid || '',
|
||||
'yunToken': RichTextUitl.yunToken || '',
|
||||
'prdid': editor.options.prdid,
|
||||
'uploadUrl': editor.getActionUrl(editor.getOpt('imageActionName'))
|
||||
'from': editor.options.from,
|
||||
}, "*");
|
||||
}
|
||||
}
|
||||
@@ -46838,13 +47130,13 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
return parts.length === 2 ? parts.pop().split(";").shift() : null
|
||||
}
|
||||
|
||||
var interval = setInterval(function () {
|
||||
if (typeof jQuery != 'undefined' && typeof RichTextUitl != 'undefined' && !RichTextUitl.intranetMode
|
||||
&& typeof RichTextUitl.getUploadConfig == 'function' && !RichTextUitl.puid && !RichTextUitl.yunToken) {
|
||||
clearInterval(interval);
|
||||
RichTextUitl.getUploadConfig()
|
||||
}
|
||||
}, 500)
|
||||
// var interval = setInterval(function () {
|
||||
// if (typeof jQuery != 'undefined' && typeof RichTextUitl != 'undefined' && !RichTextUitl.intranetMode
|
||||
// && typeof RichTextUitl.getUploadConfig == 'function' && !RichTextUitl.puid && !RichTextUitl.yunToken) {
|
||||
// clearInterval(interval);
|
||||
// RichTextUitl.getUploadConfig()
|
||||
// }
|
||||
// }, 500)
|
||||
|
||||
// 分片上传
|
||||
var chunkedUpload = function(){
|
||||
@@ -46871,7 +47163,7 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
}
|
||||
|
||||
try {
|
||||
this._initChunkTask()
|
||||
this._initChunkTask(editor)
|
||||
} catch(e) {
|
||||
console.log('分片上传异常', e)
|
||||
}
|
||||
@@ -46895,26 +47187,36 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
!imgReg.test(fileType.toLowerCase())
|
||||
},
|
||||
// 初始化分片任务
|
||||
_initChunkTask: function() {
|
||||
_initChunkTask: function(editor) {
|
||||
var that = this
|
||||
if(!RichTextUitl.puid) {
|
||||
RichTextUitl.puid = getCookie('UID')
|
||||
}
|
||||
var from = editor.getOpt('from') || 'old_note_editor'
|
||||
$.ajax({
|
||||
url: (RichTextUitl.uploadUrl || window.location.protocol + '//pan-yz.chaoxing.com/upload') + `/chunk/initTask?puid=${RichTextUitl.puid}&hideFile=1`,
|
||||
type: 'post',
|
||||
url: window.location.protocol + window.obj.mirrorDomain.NoteDomain.replace('https:','').replace('http:','') + `/pc/files/chunk/initTask`,
|
||||
type: 'get',
|
||||
data: {
|
||||
fn: this.wFile.name,
|
||||
fs: this.wFile.size,
|
||||
crc: RichTextUitl.randomUUID().split('-').join(''),
|
||||
panType: 2,
|
||||
_token: RichTextUitl.yunToken
|
||||
puid: RichTextUitl.puid,
|
||||
params:JSON.stringify({
|
||||
fn: this.wFile.name,
|
||||
fs: this.wFile.size,
|
||||
crc: RichTextUitl.randomUUID().split('-').join(''),
|
||||
panType: 2,
|
||||
puid: RichTextUitl.puid,
|
||||
hideFile: 1
|
||||
})
|
||||
},
|
||||
success: function(res) {
|
||||
var taskRes = JSON.parse(res)
|
||||
if(!taskRes.result) {
|
||||
RichTextUitl.showTips(taskRes.msg,0)
|
||||
if(!res.data) return
|
||||
if(!res.result) {
|
||||
RichTextUitl.showTips(res.msg,0)
|
||||
return
|
||||
}
|
||||
if (taskRes && taskRes.data && taskRes.data.fileChunkList) {
|
||||
that.chunkList = taskRes.data.fileChunkList
|
||||
|
||||
if (res && res.data) {
|
||||
var data = res.data;
|
||||
that.chunkList = data.fileChunkList
|
||||
that._addFile()
|
||||
that._uploadChunk()
|
||||
}
|
||||
@@ -47074,7 +47376,6 @@ var isOneFile = true; //发通知那边用,记录单次是否只上传(拖
|
||||
|
||||
var fd = new FormData()
|
||||
fd.append('file', originalFile.slice(target.startByte, target.endByte))
|
||||
fd.append('_token', RichTextUitl.yunToken)
|
||||
|
||||
$.ajax({
|
||||
url: (window.obj.mirrorDomain.panDomain || window.location.protocol + '//pan-yz.chaoxing.com') + `${target.fileChunkUploadUrl}`,
|
||||
|
||||
Reference in New Issue
Block a user