Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
beyond-clouds-front
Commits
8f5830c2
Commit
8f5830c2
authored
Feb 10, 2020
by
xuebiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
博客发布页面完善
parent
0ba564f5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
113 additions
and
82 deletions
+113
-82
components/common/cropper/src/cropper.vue
+1
-1
components/pc/select/selectCard.vue
+1
-2
pages/answer/release/index.vue
+111
-79
pages/blog/release/index.vue
+0
-0
No files found.
components/common/cropper/src/cropper.vue
View file @
8f5830c2
...
@@ -123,7 +123,7 @@
...
@@ -123,7 +123,7 @@
let
that
=
this
;
let
that
=
this
;
// this.addImg(this.img)
// this.addImg(this.img)
this
.
$refs
.
cropper
.
getCropData
((
e
)
=>
{
this
.
$refs
.
cropper
.
getCropData
((
e
)
=>
{
this
.
loading
=
true
this
.
loading
=
true
;
let
bytes
=
window
.
atob
(
e
.
split
(
','
)[
1
]);
let
bytes
=
window
.
atob
(
e
.
split
(
','
)[
1
]);
let
array
=
[];
let
array
=
[];
for
(
let
i
=
0
;
i
<
bytes
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
bytes
.
length
;
i
++
){
...
...
components/pc/select/selectCard.vue
View file @
8f5830c2
...
@@ -129,7 +129,6 @@ export default {
...
@@ -129,7 +129,6 @@ export default {
async
handleSearch
(){
async
handleSearch
(){
this
.
isShow
=
true
;
this
.
isShow
=
true
;
this
.
isShow2
=
true
;
this
.
isShow2
=
true
;
console
.
log
(
111
);
if
(
this
.
value
.
tag
!==
""
)
{
if
(
this
.
value
.
tag
!==
""
)
{
let
tagSearch
=
await
this
.
$axios
.
$get
(
config
.
api
.
get
.
Tag
.
search
,
{
let
tagSearch
=
await
this
.
$axios
.
$get
(
config
.
api
.
get
.
Tag
.
search
,
{
params
:
{
params
:
{
...
@@ -138,7 +137,7 @@ export default {
...
@@ -138,7 +137,7 @@ export default {
size
:
12
size
:
12
}
}
});
});
console
.
log
(
tagSearch
);
//
console.log(tagSearch);
this
.
isSearch
=
true
;
// 用于 有无搜索结果
this
.
isSearch
=
true
;
// 用于 有无搜索结果
this
.
searchList
=
[];
this
.
searchList
=
[];
if
(
tagSearch
.
data
.
dataList
.
length
!==
0
)
{
if
(
tagSearch
.
data
.
dataList
.
length
!==
0
)
{
...
...
pages/answer/release/index.vue
View file @
8f5830c2
...
@@ -22,13 +22,13 @@
...
@@ -22,13 +22,13 @@
<div
class=
"answer-release"
>
<div
class=
"answer-release"
>
<div
class=
"answer-release__header"
>
<div
class=
"answer-release__header"
>
<span>
*
</span>
<span>
*
</span>
<input
type=
"text"
placeholder=
"请一句话说明问题,并以问号结尾"
>
<input
type=
"text"
v-model=
"questionDetail"
placeholder=
"请一句话说明问题,并以问号结尾"
>
</div>
</div>
<div
class=
"answer-release__content"
>
<div
class=
"answer-release__content"
>
<span>
*
</span>
<span>
*
</span>
<div
class=
"editor-container"
>
<div
class=
"editor-container"
>
<mavon-editor
<mavon-editor
v-model=
"
value
"
v-model=
"
questionDetail
"
:toolbars=
"markdownOption"
:toolbars=
"markdownOption"
class=
"editor"
class=
"editor"
placeholder=
"问题详情...."
placeholder=
"问题详情...."
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
<span>
*
</span>
<span>
*
</span>
<select-card
selectType=
"1"
></select-card>
<select-card
selectType=
"1"
></select-card>
</div>
</div>
<select-card
selectType=
"2"
:class-list=
"classList"
placeholder=
"请选择问题分类"
></select-card>
<select-card
selectType=
"2"
:class-list=
"classList"
@
handleClass=
"handleBlogClass"
placeholder=
"请选择问题分类"
></select-card>
</div>
</div>
<div
class=
"answer-release__footer"
>
<div
class=
"answer-release__footer"
>
<p>
已自动存为草稿
</p>
<p>
已自动存为草稿
</p>
...
@@ -60,88 +60,120 @@
...
@@ -60,88 +60,120 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
CardContainer
from
"../../../components/pc/cardContainer"
;
import
CardContainer
from
"../../../components/pc/cardContainer"
;
import
SelectCard
from
"../../../components/pc/select/selectCard"
;
import
SelectCard
from
"../../../components/pc/select/selectCard"
;
import
config
from
"../../../action/config"
;
export
default
{
components
:
{
SelectCard
,
CardContainer
},
data
()
{
return
{
markdownOption
:
{
bold
:
true
,
// 粗体
italic
:
true
,
// 斜体
header
:
true
,
// 标题
underline
:
true
,
// 下划线
strikethrough
:
true
,
// 中划线
mark
:
true
,
// 标记
superscript
:
true
,
// 上角标
subscript
:
true
,
// 下角标
quote
:
true
,
// 引用
ol
:
true
,
// 有序列表
ul
:
true
,
// 无序列表
link
:
true
,
// 链接
imagelink
:
true
,
// 图片链接
code
:
true
,
// code
table
:
true
,
// 表格
fullscreen
:
true
,
// 全屏编辑
readmodel
:
true
,
// 沉浸式阅读
htmlcode
:
true
,
// 展示html源码
help
:
false
,
// 帮助
undo
:
true
,
// 上一步
redo
:
true
,
// 下一步
trash
:
true
,
// 清空
save
:
true
,
// 保存(触发events中的save事件)
navigation
:
true
,
// 导航目录
alignleft
:
true
,
// 左对齐
subfield
:
true
,
// 单双栏模式
preview
:
true
// 预览
},
zIndex
:
100
,
value
:
''
,
lastSaveTime
:
new
Date
(),
classList
:
[
'web'
,
'java'
,
'javascript'
]
}
},
methods
:
{
handleBlogClass
(
value
)
{
this
.
blogClass
=
value
;
if
(
value
==
"web"
){
this
.
blogClass
=
1
}
else
if
(
value
==
"java"
){
this
.
blogClass
=
2
}
else
if
(
value
==
"javascript"
){
this
.
blogClass
=
3
}
console
.
log
(
this
.
blogClass
);
},
postQuestion
(){
this
.
$axios
.
$post
(
config
.
api
.
post
.
question
.
release
,{
categoryId
:
this
.
blogClass
,
questionAbstract
:
"摘要"
,
//摘要
questionDetail
:
this
.
questionDetail
,
questionTitle
:
this
.
questionTitle
,
tagIds
:
[
//标签id
"java"
],
topicIds
:
[
//话题id
"话题id"
]
export
default
{
}).
then
((
response
)
=>
{
components
:
{
SelectCard
,
CardContainer
},
//处理response
data
()
{
})
return
{
markdownOption
:
{
bold
:
true
,
// 粗体
italic
:
true
,
// 斜体
header
:
true
,
// 标题
underline
:
true
,
// 下划线
strikethrough
:
true
,
// 中划线
mark
:
true
,
// 标记
superscript
:
true
,
// 上角标
subscript
:
true
,
// 下角标
quote
:
true
,
// 引用
ol
:
true
,
// 有序列表
ul
:
true
,
// 无序列表
link
:
true
,
// 链接
imagelink
:
true
,
// 图片链接
code
:
true
,
// code
table
:
true
,
// 表格
fullscreen
:
true
,
// 全屏编辑
readmodel
:
true
,
// 沉浸式阅读
htmlcode
:
true
,
// 展示html源码
help
:
false
,
// 帮助
undo
:
true
,
// 上一步
redo
:
true
,
// 下一步
trash
:
true
,
// 清空
save
:
true
,
// 保存(触发events中的save事件)
navigation
:
true
,
// 导航目录
alignleft
:
true
,
// 左对齐
subfield
:
true
,
// 单双栏模式
preview
:
true
// 预览
},
},
zIndex
:
100
,
value
:
''
,
lastSaveTime
:
new
Date
(),
classList
:
[
'web'
,
'java'
,
'javascript'
]
}
},
methods
:
{
imgAdd
(
pos
,
file
)
{
//添加图片,pos为位置
// 第一步.将图片上传到服务器.
let
formData
=
new
FormData
();
formData
.
append
(
'image'
,
file
);
axios
({
url
:
'server url'
,
method
:
'post'
,
data
:
formdata
,
headers
:
{
'Content-Type'
:
'multipart/form-data'
},
}).
then
((
url
)
=>
{
// 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)
/**
* $vm 指为mavonEditor实例,可以通过如下两种方式获取
* 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor`
* 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
*/
$vm
.
$img2Url
(
pos
,
url
);
})
},
imgDel
(
pos
,
url
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
console
.
log
(
pos
);
console
.
log
(
url
);
},
save
()
{
//保存文章内容
},
intervalSave
()
{
//自动保存
let
now
=
new
Date
();
imgAdd
(
pos
,
file
)
{
if
(
now
-
this
.
lastSaveTime
>=
2
*
60
*
1000
)
{
//添加图片,pos为位置
this
.
lastSaveTime
=
now
;
// 第一步.将图片上传到服务器.
let
formData
=
new
FormData
();
formData
.
append
(
'image'
,
file
);
axios
({
url
:
'server url'
,
method
:
'post'
,
data
:
formdata
,
headers
:
{
'Content-Type'
:
'multipart/form-data'
},
}).
then
((
url
)
=>
{
// 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)
/**
* $vm 指为mavonEditor实例,可以通过如下两种方式获取
* 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor`
* 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
*/
$vm
.
$img2Url
(
pos
,
url
);
})
},
imgDel
(
pos
,
url
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
console
.
log
(
pos
);
console
.
log
(
url
);
},
save
()
{
//保存文章内容
},
intervalSave
()
{
//自动保存
let
now
=
new
Date
();
if
(
now
-
this
.
lastSaveTime
>=
2
*
60
*
1000
)
{
this
.
lastSaveTime
=
now
;
}
},
readScreen
(
boolean
,
str
){
// 预览
this
.
zIndex
=
8000
;
boolean
=
true
;
}
}
},
readScreen
(
boolean
,
str
){
// 预览
this
.
zIndex
=
8000
;
boolean
=
true
;
}
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
pages/blog/release/index.vue
View file @
8f5830c2
This diff is collapsed.
Click to expand it.
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