117 lines
4.2 KiB
JavaScript
117 lines
4.2 KiB
JavaScript
/*
|
|
* @Descripttion : 富文本插件
|
|
* @Versions : 0.1
|
|
* @Author : foxcms team
|
|
* @Date : 2022-01-11 19:54:00
|
|
* @LastEditors : QianFox Team
|
|
* @LastEditTime : 2024-02-29 16:26:54
|
|
*/
|
|
|
|
'use strict';
|
|
// 初始化富文本插件
|
|
tinymceInit('.richText');
|
|
|
|
function tinymceInit(selector) {
|
|
tinymce.remove(selector);
|
|
tinymce.init({
|
|
resize: false, // 禁用拖动放大缩小
|
|
selector: selector,
|
|
branding: false, // 不显示右下角权限信息
|
|
convert_urls: false,
|
|
// menubar: false, // 不显示菜单栏
|
|
content_style: 'img {max-width:100%;}',
|
|
forced_root_block: 'p',
|
|
menu: {
|
|
file: { title: '文件', items: 'newdocument | preview' },
|
|
edit: { title: '编辑', items: 'undo redo | cut copy paste | selectall' },
|
|
view: { title: '查看', items: 'visualaid fullscreen' },
|
|
insert: { title: '插入', items: 'link imagesManager videosManager ' },
|
|
format: { title: '格式', items: 'bold italic underline strikethrough superscript subscript indent2em | formats | forecolor backcolor | removeformat' },
|
|
// table: { title: '表格', items: 'inserttable tableprops deletetable | cell row column' },
|
|
tools: { title: '工具', items: 'code' },
|
|
},
|
|
height: '100%',
|
|
language: 'zh_CN',
|
|
plugins: 'preview lists advlist imagesManager videosManager indent2em code fullscreen link pagebreak table paste',
|
|
toolbar:
|
|
'bold italic underline forecolor backcolor | styleselect fontselect fontsizeselect | alignleft aligncenter alignright alignjustify alignnone | table link imagesManager videosManager | blockquote bullist numlist outdent indent indent2em lineheight | removeformat pagebreak code | fullscreen',
|
|
font_formats: '微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif',
|
|
fontsize_formats: '12px 14px 16px 18px 20px 24px 36px 48px 56px 72px',
|
|
style_formats: [
|
|
{ title: '标题1', block: 'h1' },
|
|
{ title: '标题2', block: 'h2' },
|
|
{ title: '标题3', block: 'h3' },
|
|
{ title: '标题4', block: 'h4' },
|
|
{ title: '标题5', block: 'h5' },
|
|
{ title: '标题6', block: 'h6' },
|
|
{ title: '正文', block: 'p' },
|
|
],
|
|
paste_data_images: true,
|
|
images_upload_handler: function (blobInfo, succFun, failFun) {
|
|
var xhr, formData;
|
|
var file = blobInfo.blob();//转化为易于理解的file对象
|
|
xhr = new XMLHttpRequest();
|
|
xhr.withCredentials = false;
|
|
xhr.open('POST', UPIMG_URL);
|
|
xhr.onload = function() {
|
|
var json;
|
|
if (xhr.status != 200) {
|
|
failFun('HTTP Error: ' + xhr.status);
|
|
return;
|
|
}
|
|
json = JSON.parse(xhr.responseText);
|
|
if (!json || typeof json.location != 'string') {
|
|
//failFun('Invalid JSON: ' + xhr.responseText);
|
|
failFun(json.msg);
|
|
return;
|
|
}
|
|
succFun(json.location);
|
|
};
|
|
formData = new FormData();
|
|
formData.append('file', file, file.name);//此处与源文档不一样
|
|
xhr.send(formData);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @description: 获取富文本内容
|
|
* @param {*}
|
|
* @return {*}
|
|
* @Date: 2022-01-11 21:13:06
|
|
*/
|
|
function getRichTextContent() {
|
|
return tinyMCE.activeEditor.getContent();
|
|
}
|
|
|
|
/**
|
|
* @description: 获取富文本内容
|
|
* @param $id
|
|
* @return {*}
|
|
* @Date: 2022-01-11 21:13:06
|
|
*/
|
|
function getRTtContent(id) {
|
|
let count = tinyMCE.editors.length;
|
|
let content = '';
|
|
if (count > 0) {
|
|
for (let i = 0; i < count; i++) {
|
|
let cid = tinyMCE.editors[i].id;
|
|
if (id == cid) {
|
|
content = tinyMCE.editors[i].getContent();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return content;
|
|
}
|
|
|
|
/**
|
|
* @description: 设置富文本内容
|
|
* @param {*} content
|
|
* @return {*}
|
|
* @Date: 2022-01-11 21:13:27
|
|
*/
|
|
function setRichTextContent(content) {
|
|
tinyMCE.activeEditor.setContent(content);
|
|
}
|