| | |
| | | toolbarConfig: {}, |
| | | editorConfig: { |
| | | placeholder: "请输入内容...", |
| | | MENU_CONF: { |
| | | // 图片上传配置 |
| | | uploadImage: { |
| | | server: process.env.VUE_APP_BASE_API + "/common/uploadSort", |
| | | fieldName: "file", |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | // 自定义插入 |
| | | customInsert: (res, insertFn) => { |
| | | const url = res.url || res.data || res.filePath; |
| | | if (url) { |
| | | // 处理内网地址转换 |
| | | const processedUrl = url.replace( |
| | | "http://192.168.191.181:8095/profile/upload", |
| | | "http://m.zjtongde.com:13871/prod-api/profile/upload" |
| | | ); |
| | | insertFn(processedUrl); |
| | | } |
| | | }, |
| | | }, |
| | | |
| | | // 视频上传配置 |
| | | uploadVideo: { |
| | | server: process.env.VUE_APP_BASE_API + "/common/uploadSort", |
| | | fieldName: "file", |
| | | maxFileSize: 50 * 1024 * 1024, // 50MB |
| | | allowedFileTypes: ["video/*"], |
| | | headers: { |
| | | "Content-Type": "multipart/form-data", |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | // 自定义插入 |
| | | customInsert: (res, insertFn) => { |
| | | const url = res.url || res.data || res.filePath; |
| | | if (url) { |
| | | // 处理内网地址转换 |
| | | const processedUrl = url.replace( |
| | | "http://192.168.191.181:8095/profile/upload", |
| | | "http://m.zjtongde.com:13871/prod-api/profile/upload" |
| | | ); |
| | | insertFn(processedUrl, "视频"); |
| | | } |
| | | }, |
| | | onSuccess: (file, res) => { |
| | | console.log("视频上传成功", res); |
| | | return res.url || res.data || res.filePath; |
| | | }, |
| | | onFailed: (file, res) => { |
| | | this.$message.error("视频上传失败"); |
| | | console.error("视频上传失败", res); |
| | | }, |
| | | onError: (file, err, res) => { |
| | | this.$message.error("视频上传出错"); |
| | | console.error("视频上传出错", err); |
| | | }, |
| | | }, |
| | | }, |
| | | menus: [ |
| | | "head", |
| | | "bold", |
| | | "italic", |
| | | "underline", |
| | | "image", |
| | | "video", // 确保有 video |
| | | "link", |
| | | "list", |
| | | "undo", |
| | | "redo", |
| | | "file", // 添加自定义文件上传菜单 |
| | | "file", |
| | | ], |
| | | uploadImgServer: process.env.VUE_APP_BASE_API + "/common/uploadSort", // 图片上传接口 |
| | | uploadImgHeaders: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, // 自定义上传的 headers |
| | | uploadImgParams: { key: "value" }, // 自定义上传的参数 |
| | | uploadImgMaxSize: 2 * 1024 * 1024, // 图片最大大小,单位 Byte |
| | | uploadImgMaxLength: 1, // 一次最多上传图片数量 |
| | | uploadImgTimeout: 3 * 60 * 1000, // 超时时间,单位 ms |
| | | uploadImgHooks: { |
| | | customInsert: (insertImgFn, result) => { |
| | | const url = result.url; // 获取图片地址 |
| | | insertImgFn(url); // 插入图片 |
| | | }, |
| | | }, |
| | | customMenus: { |
| | | file: { |
| | | tip: "上传文件", |
| | | click: (editor) => { |
| | | const input = document.createElement("input"); |
| | | input.type = "file"; |
| | | input.accept = |
| | | "application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // 支持的文件类型 |
| | | input.onchange = (e) => { |
| | | const file = e.target.files[0]; |
| | | if (!file) return; |
| | | const formData = new FormData(); |
| | | formData.append("file", file); |
| | | |
| | | // 确保 process.env.VUE_APP_BASE_API 是正确的 |
| | | const uploadUrl = |
| | | process.env.VUE_APP_BASE_API + "/common/uploadSort"; |
| | | axios |
| | | .post(uploadUrl, formData, { |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | const url = res.data.url; // 获取文件地址 |
| | | // 插入文件链接作为普通文本 |
| | | editor.txt.append(url + " "); |
| | | // 或者插入文件链接作为超链接 |
| | | // editor.cmd.do('insertLink', { name: '文件链接', url: url }); |
| | | }) |
| | | .catch((err) => { |
| | | console.error("文件上传失败", err); |
| | | }); |
| | | }; |
| | | input.click(); |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | modes: "default", // or 'simple' |
| | | headers: { |
| | |
| | | |
| | | // 定义要替换的新旧URL |
| | | var oldUrlBase = this.oldPattern; |
| | | var newUrlBase =this.newPattern; |
| | | var newUrlBase = this.newPattern; |
| | | |
| | | // 获取所有的video元素 |
| | | var videos = doc.querySelectorAll("video"); |