This commit is contained in:
ChuXun
2026-01-04 17:58:44 +08:00
parent cf8f4c5c3a
commit ec3b5157fe
180 changed files with 4677 additions and 18032 deletions

View File

@@ -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, '&#10;').replace(/<[^>]+>/g, ''));
break;
// case 'code':
// node.innerText(node.innerHTML().replace(/<br[^>]+>/g, '&#10;').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\/?>|&nbsp;)<\/\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(/&nbsp;/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 || '&nbsp;'; 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}`,