|
@@ -1,6 +1,12 @@
|
|
|
<template>
|
|
|
<div class="tinymce-editor">
|
|
|
- <Editor :id="tinymceId" :init="init" :disabled="disabled" v-model="myValue" @onClick="onClick"></Editor>
|
|
|
+ <Editor
|
|
|
+ :id="tinymceId"
|
|
|
+ :init="init"
|
|
|
+ :disabled="disabled"
|
|
|
+ v-model="myValue"
|
|
|
+ @onClick="onClick"
|
|
|
+ ></Editor>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -20,7 +26,7 @@ import "tinymce/plugins/media"; //插入编辑媒体
|
|
|
import "tinymce/plugins/wordcount"; // 字数统计
|
|
|
// import Cookies from "js-cookie";
|
|
|
|
|
|
-const OSS = require("ali-oss");
|
|
|
+// const OSS = require("ali-oss");
|
|
|
|
|
|
const fonts = [
|
|
|
"宋体=宋体",
|
|
@@ -68,13 +74,13 @@ export default {
|
|
|
//插件
|
|
|
plugins: {
|
|
|
type: [String, Array],
|
|
|
- default: "advlist image lists wordcount media link" // autolink charmap media
|
|
|
+ default: "advlist image lists wordcount " // media link autolink charmap
|
|
|
},
|
|
|
//工具栏
|
|
|
toolbar: {
|
|
|
type: [String, Array],
|
|
|
default:
|
|
|
- "undo redo | formatselect | colorpicker | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | image media link" // | lists image media table
|
|
|
+ "undo redo | formatselect | colorpicker | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | image" // | lists image media table link
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
@@ -102,8 +108,8 @@ export default {
|
|
|
placeholder: "在这里输入文字",
|
|
|
branding: false, //隐藏右下角技术支持
|
|
|
link_context_toolbar: true,
|
|
|
- media_dimensions:false,
|
|
|
- media_alt_source:false,
|
|
|
+ media_dimensions: false,
|
|
|
+ media_alt_source: false,
|
|
|
//图片上传
|
|
|
images_upload_handler: function(blobInfo, success, failure) {
|
|
|
//文件上传的formData传递,忘记为什么要用这个了
|
|
@@ -127,118 +133,68 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- file_picker_callback: function(callback, value, meta) {
|
|
|
- //文件分类
|
|
|
- var filetype =
|
|
|
- ".pdf, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .mp3, .mp4";
|
|
|
- //后端接收上传文件的地址
|
|
|
- //为不同插件指定文件类型及后端地址
|
|
|
- let bucket = "jtxt-file-public";
|
|
|
- let ossPath = "file/";
|
|
|
- switch (meta.filetype) {
|
|
|
- case "image":
|
|
|
- filetype = ".jpg, .jpeg, .png, .gif";
|
|
|
- ossPath = "image/";
|
|
|
- break;
|
|
|
- case "media":
|
|
|
- bucket = "jtxt-video-public";
|
|
|
- filetype = ".mp3, .mp4";
|
|
|
- ossPath = "media/";
|
|
|
- break;
|
|
|
- case "file":
|
|
|
- bucket = "jtxt-file-public";
|
|
|
- filetype =
|
|
|
- ".pdf, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .ppt, .pptx";
|
|
|
- ossPath = "file/";
|
|
|
- break;
|
|
|
- default:
|
|
|
- }
|
|
|
- //模拟出一个input用于添加本地文件
|
|
|
- var input = document.createElement("input");
|
|
|
- input.setAttribute("type", "file");
|
|
|
- input.setAttribute("accept", filetype);
|
|
|
- input.onchange = function(res) {
|
|
|
- console.log("change----" + JSON.stringify(res));
|
|
|
- let file = res.target.files[0];
|
|
|
- window.$_http.get("/assume-oss-writer").then(res => {
|
|
|
- console.log("--oss-writer--" + JSON.stringify(res));
|
|
|
- const client = new OSS({
|
|
|
- // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
|
|
|
- region: "oss-cn-beijing",
|
|
|
- // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
|
|
|
- accessKeyId: res.data.accessKeyId,
|
|
|
- accessKeySecret: res.data.accessKeySecret,
|
|
|
- // 从STS服务获取的安全令牌(SecurityToken)。
|
|
|
- stsToken: res.data.securityToken,
|
|
|
- // 填写Bucket名称。
|
|
|
- bucket: bucket
|
|
|
- });
|
|
|
- // 上传oss
|
|
|
-
|
|
|
- try {
|
|
|
- client.put(ossPath + file.name, file).then(res => {
|
|
|
- console.log(res);
|
|
|
- callback(res.url);
|
|
|
- });
|
|
|
- } catch (e) {
|
|
|
- console.error(e);
|
|
|
- }
|
|
|
- // 回调
|
|
|
- });
|
|
|
- };
|
|
|
- input.click();
|
|
|
- },
|
|
|
-
|
|
|
- // file_picker_callback: function(callback, value, meta, failure) {
|
|
|
+ // file_picker_callback: function(callback, value, meta) {
|
|
|
// //文件分类
|
|
|
// var filetype =
|
|
|
// ".pdf, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .mp3, .mp4";
|
|
|
// //后端接收上传文件的地址
|
|
|
- // var upurl = "/demo/upfile.php";
|
|
|
// //为不同插件指定文件类型及后端地址
|
|
|
+ // let bucket = "jtxt-file-public";
|
|
|
+ // let ossPath = "file/";
|
|
|
// switch (meta.filetype) {
|
|
|
// case "image":
|
|
|
// filetype = ".jpg, .jpeg, .png, .gif";
|
|
|
- // upurl = "upimg.php";
|
|
|
+ // ossPath = "image/";
|
|
|
// break;
|
|
|
// case "media":
|
|
|
+ // bucket = "jtxt-video-public";
|
|
|
// filetype = ".mp3, .mp4";
|
|
|
- // upurl = "upfile.php";
|
|
|
+ // ossPath = "media/";
|
|
|
// break;
|
|
|
// case "file":
|
|
|
+ // bucket = "jtxt-file-public";
|
|
|
+ // filetype =
|
|
|
+ // ".pdf, .txt, .zip, .rar, .7z, .doc, .docx, .xls, .xlsx, .ppt, .pptx";
|
|
|
+ // ossPath = "file/";
|
|
|
+ // break;
|
|
|
// default:
|
|
|
// }
|
|
|
// //模拟出一个input用于添加本地文件
|
|
|
// var input = document.createElement("input");
|
|
|
// input.setAttribute("type", "file");
|
|
|
// input.setAttribute("accept", filetype);
|
|
|
- // input.click();
|
|
|
- // input.onchange = function() {
|
|
|
- // var file = this.files[0];
|
|
|
+ // input.onchange = function(res) {
|
|
|
+ // console.log("change----" + JSON.stringify(res));
|
|
|
+ // let file = res.target.files[0];
|
|
|
+ // window.$_http.get("/assume-oss-writer").then(res => {
|
|
|
+ // console.log("--oss-writer--" + JSON.stringify(res));
|
|
|
+ // const client = new OSS({
|
|
|
+ // // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
|
|
|
+ // region: "oss-cn-beijing",
|
|
|
+ // // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
|
|
|
+ // accessKeyId: res.data.accessKeyId,
|
|
|
+ // accessKeySecret: res.data.accessKeySecret,
|
|
|
+ // // 从STS服务获取的安全令牌(SecurityToken)。
|
|
|
+ // stsToken: res.data.securityToken,
|
|
|
+ // // 填写Bucket名称。
|
|
|
+ // bucket: bucket
|
|
|
+ // });
|
|
|
+ // // 上传oss
|
|
|
|
|
|
- // var xhr, formData;
|
|
|
- // console.log(file.name);
|
|
|
- // xhr = new XMLHttpRequest();
|
|
|
- // xhr.withCredentials = false;
|
|
|
- // xhr.open("POST", upurl);
|
|
|
- // xhr.onload = function() {
|
|
|
- // var json;
|
|
|
- // if (xhr.status != 200) {
|
|
|
- // failure("HTTP Error: " + xhr.status);
|
|
|
- // return;
|
|
|
- // }
|
|
|
- // json = JSON.parse(xhr.responseText);
|
|
|
- // if (!json || typeof json.location != "string") {
|
|
|
- // failure("Invalid JSON: " + xhr.responseText);
|
|
|
- // return;
|
|
|
+ // try {
|
|
|
+ // client.put(ossPath + file.name, file).then(res => {
|
|
|
+ // console.log(res);
|
|
|
+ // callback(res.url);
|
|
|
+ // });
|
|
|
+ // } catch (e) {
|
|
|
+ // console.error(e);
|
|
|
// }
|
|
|
- // callback(json.location);
|
|
|
- // };
|
|
|
- // formData = new FormData();
|
|
|
- // formData.append("file", file, file.name);
|
|
|
- // xhr.send(formData);
|
|
|
+ // // 回调
|
|
|
+ // });
|
|
|
// };
|
|
|
+ // input.click();
|
|
|
// },
|
|
|
+
|
|
|
menu: {
|
|
|
file: { title: "File", items: "newdocument" },
|
|
|
|