Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
e71c00e6
提交
e71c00e6
authored
4月 13, 2021
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
富文本编辑器支持自定义上传地址
上级
dcb98395
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
36 行增加
和
15 行删除
+36
-15
index.vue
ruoyi-ui/src/components/Editor/index.vue
+36
-15
没有找到文件。
ruoyi-ui/src/components/Editor/index.vue
浏览文件 @
e71c00e6
...
@@ -3,14 +3,13 @@
...
@@ -3,14 +3,13 @@
<el-upload
<el-upload
:action=
"uploadUrl"
:action=
"uploadUrl"
:on-success=
"handleUploadSuccess"
:on-success=
"handleUploadSuccess"
:before-upload=
"handleBeforeUpload"
:on-error=
"handleUploadError"
:on-error=
"handleUploadError"
name=
"file"
name=
"file"
:show-file-list=
"false"
:show-file-list=
"false"
:headers=
"headers"
:headers=
"headers"
style=
"display: none
;
"
style=
"display: none"
ref=
'upload'
ref=
"upload"
v-if=
'this.uploadUrl'
v-if=
"this.uploadUrl"
>
>
</el-upload>
</el-upload>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
...
@@ -22,6 +21,7 @@ import Quill from "quill";
...
@@ -22,6 +21,7 @@ import Quill from "quill";
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
import
"quill/dist/quill.bubble.css"
;
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
export
default
{
name
:
"Editor"
,
name
:
"Editor"
,
...
@@ -49,11 +49,14 @@ export default {
...
@@ -49,11 +49,14 @@ export default {
/* 上传地址 */
/* 上传地址 */
uploadUrl
:
{
uploadUrl
:
{
type
:
String
,
type
:
String
,
default
:
''
,
default
:
""
,
}
}
},
},
data
()
{
data
()
{
return
{
return
{
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
Quill
:
null
,
Quill
:
null
,
currentValue
:
""
,
currentValue
:
""
,
options
:
{
options
:
{
...
@@ -72,7 +75,7 @@ export default {
...
@@ -72,7 +75,7 @@ export default {
[{
color
:
[]
},
{
background
:
[]
}],
// 字体颜色、字体背景颜色
[{
color
:
[]
},
{
background
:
[]
}],
// 字体颜色、字体背景颜色
[{
align
:
[]
}],
// 对齐方式
[{
align
:
[]
}],
// 对齐方式
[
"clean"
],
// 清除文本格式
[
"clean"
],
// 清除文本格式
[
"link"
,
"image"
,
"video"
]
// 链接、图片、视频
[
"link"
,
"image"
]
// 链接、图片
],
],
},
},
placeholder
:
"请输入内容"
,
placeholder
:
"请输入内容"
,
...
@@ -115,23 +118,23 @@ export default {
...
@@ -115,23 +118,23 @@ export default {
init
()
{
init
()
{
const
editor
=
this
.
$refs
.
editor
;
const
editor
=
this
.
$refs
.
editor
;
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
// 如果设置了上传地址则自定义图片和视频的
上传事件
// 如果设置了上传地址则自定义图片
上传事件
if
(
this
.
uploadUrl
)
{
if
(
this
.
uploadUrl
)
{
let
toolbar
=
this
.
Quill
.
getModule
(
'toolbar'
);
let
toolbar
=
this
.
Quill
.
getModule
(
"toolbar"
);
toolbar
.
addHandler
(
'image'
,
(
value
)
=>
{
toolbar
.
addHandler
(
"image"
,
(
value
)
=>
{
this
.
uploadType
=
'image'
;
this
.
uploadType
=
"image"
;
if
(
value
)
{
if
(
value
)
{
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
}
else
{
}
else
{
this
.
quill
.
format
(
'image'
,
false
);
this
.
quill
.
format
(
"image"
,
false
);
}
}
});
});
toolbar
.
addHandler
(
'video'
,
(
value
)
=>
{
toolbar
.
addHandler
(
"video"
,
(
value
)
=>
{
this
.
uploadType
=
'video'
;
this
.
uploadType
=
"video"
;
if
(
value
)
{
if
(
value
)
{
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
}
else
{
}
else
{
this
.
quill
.
format
(
'video'
,
false
);
this
.
quill
.
format
(
"video"
,
false
);
}
}
});
});
}
}
...
@@ -154,13 +157,31 @@ export default {
...
@@ -154,13 +157,31 @@ export default {
this
.
$emit
(
"on-editor-change"
,
eventName
,
...
args
);
this
.
$emit
(
"on-editor-change"
,
eventName
,
...
args
);
});
});
},
},
handleUploadSuccess
(
res
,
file
)
{
// 获取富文本组件实例
let
quill
=
this
.
Quill
;
// 如果上传成功
if
(
res
.
code
==
200
)
{
// 获取光标所在位置
let
length
=
quill
.
getSelection
().
index
;
// 插入图片 res.url为服务器返回的图片地址
quill
.
insertEmbed
(
length
,
"image"
,
res
.
url
);
// 调整光标到最后
quill
.
setSelection
(
length
+
1
);
}
else
{
this
.
$message
.
error
(
"图片插入失败"
);
}
},
handleUploadError
()
{
this
.
$message
.
error
(
"图片插入失败"
);
},
},
},
};
};
</
script
>
</
script
>
<
style
>
<
style
>
.editor
,
.ql-toolbar
{
.editor
,
.ql-toolbar
{
white-space
:
pre-wrap
!important
;
white-space
:
pre-wrap
!important
;
line-height
:
normal
!important
;
line-height
:
normal
!important
;
}
}
.quill-img
{
.quill-img
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论