Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
e71c00e6
Commit
e71c00e6
authored
Apr 13, 2021
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
富文本编辑器支持自定义上传地址
parent
dcb98395
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
15 deletions
+36
-15
ruoyi-ui/src/components/Editor/index.vue
ruoyi-ui/src/components/Editor/index.vue
+36
-15
No files found.
ruoyi-ui/src/components/Editor/index.vue
View file @
e71c00e6
...
...
@@ -3,14 +3,13 @@
<el-upload
:action=
"uploadUrl"
:on-success=
"handleUploadSuccess"
:before-upload=
"handleBeforeUpload"
:on-error=
"handleUploadError"
name=
"file"
:show-file-list=
"false"
:headers=
"headers"
style=
"display: none
;
"
ref=
'upload'
v-if=
'this.uploadUrl'
style=
"display: none"
ref=
"upload"
v-if=
"this.uploadUrl"
>
</el-upload>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
...
...
@@ -22,6 +21,7 @@ import Quill from "quill";
import
"
quill/dist/quill.core.css
"
;
import
"
quill/dist/quill.snow.css
"
;
import
"
quill/dist/quill.bubble.css
"
;
import
{
getToken
}
from
"
@/utils/auth
"
;
export
default
{
name
:
"
Editor
"
,
...
...
@@ -49,11 +49,14 @@ export default {
/* 上传地址 */
uploadUrl
:
{
type
:
String
,
default
:
''
,
default
:
""
,
}
},
data
()
{
return
{
headers
:
{
Authorization
:
"
Bearer
"
+
getToken
()
},
Quill
:
null
,
currentValue
:
""
,
options
:
{
...
...
@@ -72,7 +75,7 @@ export default {
[{
color
:
[]
},
{
background
:
[]
}],
// 字体颜色、字体背景颜色
[{
align
:
[]
}],
// 对齐方式
[
"
clean
"
],
// 清除文本格式
[
"
link
"
,
"
image
"
,
"
video
"
]
// 链接、图片、视频
[
"
link
"
,
"
image
"
]
// 链接、图片
],
},
placeholder
:
"
请输入内容
"
,
...
...
@@ -115,23 +118,23 @@ export default {
init
()
{
const
editor
=
this
.
$refs
.
editor
;
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
// 如果设置了上传地址则自定义图片和视频的
上传事件
// 如果设置了上传地址则自定义图片
上传事件
if
(
this
.
uploadUrl
)
{
let
toolbar
=
this
.
Quill
.
getModule
(
'
toolbar
'
);
toolbar
.
addHandler
(
'
image
'
,
(
value
)
=>
{
this
.
uploadType
=
'
image
'
;
let
toolbar
=
this
.
Quill
.
getModule
(
"
toolbar
"
);
toolbar
.
addHandler
(
"
image
"
,
(
value
)
=>
{
this
.
uploadType
=
"
image
"
;
if
(
value
)
{
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
}
else
{
this
.
quill
.
format
(
'
image
'
,
false
);
this
.
quill
.
format
(
"
image
"
,
false
);
}
});
toolbar
.
addHandler
(
'
video
'
,
(
value
)
=>
{
this
.
uploadType
=
'
video
'
;
toolbar
.
addHandler
(
"
video
"
,
(
value
)
=>
{
this
.
uploadType
=
"
video
"
;
if
(
value
)
{
this
.
$refs
.
upload
.
$children
[
0
].
$refs
.
input
.
click
();
}
else
{
this
.
quill
.
format
(
'
video
'
,
false
);
this
.
quill
.
format
(
"
video
"
,
false
);
}
});
}
...
...
@@ -154,13 +157,31 @@ export default {
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
>
<
style
>
.editor
,
.ql-toolbar
{
white-space
:
pre-wrap
!important
;
white-space
:
pre-wrap
!important
;
line-height
:
normal
!important
;
}
.quill-img
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment