【调整】因ckeditor5存在图片不可设置宽度,上传不支持mp4,排版不畅等情况,降级使用ckeditor4版本。

This commit is contained in:
大灰灰
2022-08-12 23:26:08 +08:00
parent be6fa211be
commit fa351430de
743 changed files with 31593 additions and 1505 deletions

View File

@@ -86,7 +86,7 @@
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
@@ -110,7 +110,7 @@
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
@@ -121,7 +121,7 @@
</div>
</div>
</div>
</div>
@@ -134,7 +134,7 @@
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
@@ -157,84 +157,21 @@
form.render();
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('agentNotes', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
});
editor.setData(d.data.configs['agentNotes']['sValue']);
}
});
})
});
var editor2 = CKEDITOR.replace('agentAgreement', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#agentNotes'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#agentNotes-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['agentNotes']['sValue']);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
DecoupledEditor
.create(document.querySelector('#agentAgreement'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#agentAgreement-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['agentAgreement']['sValue']);
window.editor2 = editor;
})
.catch(error => {
console.error(error);
});
});
editor2.setData(d.data.configs['agentAgreement']['sValue']);
form.verify({
money: [/((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, '请输入合法整数或小数'],
@@ -288,7 +225,7 @@
postData.push(entity);
}
var agentAgreement = window.editor2.getData();
var agentAgreement = editor2.getData();
if (!!!agentAgreement) {
layer.msg(d.data.configs['agentAgreement']['sKey'] + '不能为空', { icon: 5 });
return false;

View File

@@ -108,86 +108,13 @@
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
mediaEmbed: {
providers: [
{
name: 'myprovider',
url: [
/^.*/
],
html: match => {
//获取媒体url
const input = match['input'];
return (
'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 70%;">' +
`<iframe src="${input}" ` +
'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" ' +
'frameborder="0" allowtransparency="true" allow="encrypted-media">' +
'</iframe>' +
'</div>'
);
}
}
]
}
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
//封面图图片上传
$('#upBtncoverImage').click(function () {

View File

@@ -109,89 +109,13 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
mediaEmbed: {
providers: [
{
name: 'myprovider',
url: [
/^.*/
],
html: match => {
//获取媒体url
const input = match['input'];
return (
'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 70%;">' +
`<iframe src="${input}" ` +
'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" ' +
'frameborder="0" allowtransparency="true" allow="encrypted-media">' +
'</iframe>' +
'</div>'
);
}
}
]
}
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.model.contentBody);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
editor.setData(d.data.model.contentBody);
//封面图图片上传
$('#upBtncoverImage').click(function () {
cropperImg.cropImg({

View File

@@ -56,65 +56,13 @@
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
laydate.render({
elem: '#createTime-CoreCmsNotice-createTime',

View File

@@ -55,64 +55,12 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.params.data.contentBody);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
editor.setData(d.params.data.contentBody);
laydate.render({
elem: '#editTime-CoreCmsNotice-createTime',

View File

@@ -202,87 +202,21 @@
, search = router.search;
form.render();
//加载编辑器
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('distributionNotes', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
});
editor.setData(d.data.configs['distributionNotes']['sValue']);
}
});
})
});
var editor2 = CKEDITOR.replace('distributionAgreement', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#distributionNotes'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#distributionNotes-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['distributionNotes']['sValue']);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
DecoupledEditor
.create(document.querySelector('#distributionAgreement'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#distributionAgreement-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['distributionAgreement']['sValue']);
window.editor2 = editor;
})
.catch(error => {
console.error(error);
});
});
editor2.setData(d.data.configs['distributionAgreement']['sValue']);
//监听购买商品成为分销商按钮
form.on('radio(distributionGoods)', function (data) {
@@ -293,7 +227,6 @@
}
});
//初始化分销设置是否选中商品
if (d.data.configs.distributionGoodsId) {
var obj = d.data.configs.distributionGoodsId;
@@ -415,7 +348,7 @@
postData.push(entity);
}
var distributionAgreement = window.editor2.getData();
var distributionAgreement = editor2.getData();
if (!!!distributionAgreement) {
layer.msg(d.data.configs['distributionAgreement']['sKey'] + '不能为空', { icon: 5 });
return false;

View File

@@ -556,63 +556,11 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
//获取商品类型
types = d.data.types;

View File

@@ -523,63 +523,12 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.model.intro);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
editor.setData(d.data.model.intro);
//初始化图片
var defaultImg = 'no';

View File

@@ -171,64 +171,12 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
//项目缩略图图片上传
$('#upBtnthumbnail').click(function () {
cropperImg.cropImg({

View File

@@ -187,67 +187,14 @@
initValue: dataStoreIntArr
})
//加载编辑器
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.params.data.model.contentBody);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
editor.setData(d.params.data.model.contentBody);
//项目缩略图图片上传
$('#upBtnthumbnail').click(function () {

View File

@@ -214,63 +214,12 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
goods_show: function () {

View File

@@ -208,63 +208,12 @@
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
editor = CKEDITOR.replace('editor', {
fileTools_requestHeaders: {
'Authorization': Authorization
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.params.data.model.descInfoDesc);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
});
editor.setData(d.params.data.model.descInfoDesc);
if (d.params.data.model.headImg) {
imgs = d.params.data.model.headImg.split(',');