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
3e6ce363
Commit
3e6ce363
authored
Feb 10, 2020
by
yanju
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'xue' into 'master'
问答发布页面初次完成 See merge request pigbigbig/beyond-clouds-front!40
parents
08538cf5
ca4b4ec4
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
160 additions
and
63 deletions
+160
-63
pages/answer/release/index.vue
+127
-35
pages/blog/release/index.vue
+33
-28
No files found.
pages/answer/release/index.vue
View file @
3e6ce363
...
...
@@ -22,13 +22,14 @@
<div
class=
"answer-release"
>
<div
class=
"answer-release__header"
>
<span>
*
</span>
<input
type=
"text"
v-model=
"question
Detail
"
placeholder=
"请一句话说明问题,并以问号结尾"
>
<input
type=
"text"
v-model=
"question
Title"
ref=
"questionTitle
"
placeholder=
"请一句话说明问题,并以问号结尾"
>
</div>
<div
class=
"answer-release__content"
>
<span>
*
</span>
<div
class=
"editor-container"
>
<mavon-editor
v-model=
"questionDetail"
ref=
"questionDetail"
:toolbars=
"markdownOption"
class=
"editor"
placeholder=
"问题详情...."
...
...
@@ -44,14 +45,14 @@
<div
class=
"select__wrap"
>
<div
class=
"select-content"
>
<span>
*
</span>
<select-card
selectType=
"1"
></select-card>
<select-card
selectType=
"1"
@
handleTag=
"handleTagList"
ref=
"tagIds"
></select-card>
</div>
<select-card
selectType=
"2"
:class-list=
"classList"
@
handleClass=
"handle
B
logClass"
placeholder=
"请选择问题分类"
></select-card>
<select-card
selectType=
"2"
:class-list=
"classList"
@
handleClass=
"handle
Class"
ref=
"b
logClass"
placeholder=
"请选择问题分类"
></select-card>
</div>
<div
class=
"answer-release__footer"
>
<p>
已自动存为草稿
</p>
<button
class=
"preview"
@
click=
"readScreen"
>
预览
</button>
<button
class=
"submit"
>
提交
</button>
<button
class=
"submit"
@
click=
"dataPostQuestion"
>
提交
</button>
</div>
</div>
</card-container>
...
...
@@ -98,74 +99,158 @@
},
zIndex
:
100
,
value
:
''
,
tagList
:
''
,
i
:
0
,
blogClass
:
''
,
questionDetail
:
''
,
questionTitle
:
''
,
lastSaveTime
:
new
Date
(),
classList
:
[
'web'
,
'java'
,
'javascript'
]
}
},
methods
:
{
handle
Blog
Class
(
value
)
{
this
.
blogClass
=
value
;
if
(
value
==
"web"
){
handleClass
(
value
)
{
this
.
blogClass
=
value
.
tag
;
if
(
value
.
tag
==
"web"
){
this
.
blogClass
=
1
}
else
if
(
value
==
"java"
){
}
else
if
(
value
.
tag
==
"java"
){
this
.
blogClass
=
2
}
else
if
(
value
==
"javascript"
){
}
else
if
(
value
.
tag
==
"javascript"
){
this
.
blogClass
=
3
}
console
.
log
(
this
.
blogClass
);
},
// 获得得标签数组
handleTagList
(
tagList
)
{
this
.
tagIds
=
tagList
;
//console.log(this.tagIds);
//console.log(this.tagIds.length);
for
(
this
.
i
;
this
.
i
<
this
.
tagIds
.
length
;
this
.
i
++
){
this
.
tagList
+=
this
.
tagIds
[
this
.
i
].
tag
+
" "
}
console
.
log
(
this
.
tagList
)
},
//参数判断
dataPostQuestion
(){
console
.
log
(
this
.
questionTitle
.
slice
(
this
.
questionTitle
.
length
-
1
,
this
.
questionTitle
.
length
));
if
(
this
.
questionTitle
===
''
){
this
.
$refs
.
questionTitle
.
focus
();
this
.
$message
({
message
:
"请输入您的问题,并以问号结尾"
,
type
:
'warning'
});
return
false
;
}
if
(
this
.
questionDetail
===
''
){
this
.
$refs
.
questionDetail
.
textAreaFocus
();
this
.
$message
({
message
:
"请输入问题详情"
,
type
:
'warning'
});
return
false
;
}
if
(
this
.
tagList
===
''
){
//this.$refs.tagIds.focus();
this
.
$refs
.
tagIds
.
handleShow
();
this
.
$refs
.
tagIds
.
$refs
.
tag
.
focus
();
this
.
$message
({
message
:
"请添加或创建您的问题标签"
,
type
:
'warning'
});
return
false
;
}
if
(
this
.
blogClass
===
''
){
this
.
$refs
.
blogClass
.
handleShow
();
this
.
$refs
.
blogClass
.
$refs
.
select
.
focus
();
this
.
$message
({
message
:
"请选择问题分类"
,
type
:
'warning'
});
return
false
;
}
this
.
postQuestion
()
},
postQuestion
(){
this
.
$axios
.
$post
(
config
.
api
.
post
.
q
uestion
.
release
,{
this
.
$axios
.
$post
(
config
.
api
.
post
.
Q
uestion
.
release
,{
categoryId
:
this
.
blogClass
,
questionAbstract
:
"
摘要
"
,
//摘要
questionAbstract
:
"
无
"
,
//摘要
questionDetail
:
this
.
questionDetail
,
questionTitle
:
this
.
questionTitle
,
tagIds
:
[
//标签id
"java"
this
.
tagList
],
topicIds
:
[
//话题id
"话题id"
"
无
话题id"
]
}).
then
((
response
)
=>
{
//处理response
if
(
response
.
code
===
0
){
this
.
$message
({
message
:
"提交成功"
,
type
:
'success'
});
/* setTimeout(() => {
this.$router.push('/personal-center/home/blog')
}, 500);*/
this
.
$router
.
push
(
'/personal-center/home/answer?type=my'
)
}
else
{
this
.
$message
({
message
:
response
.
msg
,
type
:
'warning'
})
}
})
},
imgAdd
(
pos
,
file
)
{
//
添加图片,pos为位置
//
filename: 写在md中的文件名, File: File Object
// 第一步.将图片上传到服务器.
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
);
let
formdata
=
new
window
.
FormData
();
formdata
.
append
(
'file'
,
file
);
formdata
.
append
(
'type'
,
5
);
this
.
$axios
.
$post
(
config
.
api
.
post
.
Resource
.
file
,
formdata
)
.
then
((
res
)
=>
{
console
.
log
(
res
);
let
url
=
res
.
data
;
this
.
$refs
.
editor
.
$img2Url
(
pos
,
url
);
this
.
$message
({
type
:
'success'
,
message
:
'上传图片成功'
})
})
.
catch
(
err
=>
{
this
.
$message
({
type
:
'warning'
,
message
:
'图片上传失败'
})
})
},
imgDel
(
pos
,
url
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
imgDel
(
pos
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
// filename: 写在md中的文件名
console
.
log
(
pos
);
console
.
log
(
url
);
},
save
()
{
//保存文章内容
save
(
value
,
render
)
{
//保存文章内容
this
.
projectDetail
=
render
;
console
.
log
(
'save'
);
},
intervalSave
()
{
//自动保存
intervalSave
(
value
,
render
)
{
// 自动保存
// render: value 经过markdown解析后的结果
let
now
=
new
Date
();
if
(
now
-
this
.
lastSaveTime
>=
2
*
60
*
1000
)
{
if
(
now
-
this
.
lastSaveTime
>=
2
*
1000
)
{
this
.
lastSaveTime
=
now
;
this
.
projectDetail
=
render
;
console
.
log
(
'zdsava'
);
}
},
readScreen
(
boolean
,
str
){
// 预览
...
...
@@ -177,6 +262,13 @@
</
script
>
<
style
lang=
"scss"
scoped
>
input
{
border
:
1
*$
length
solid
transparent
;
@extend
%animate-transition;
&:focus{
border
:
1
*$
length
solid
#00AAE6
;
}
}
.answer-release-container
{
width
:
$
pageWidth
;
margin
:
24
*$
length
auto
32
*$
length
auto
;
...
...
pages/blog/release/index.vue
View file @
3e6ce363
...
...
@@ -183,7 +183,6 @@
blogTitle
:
''
,
content
:
''
,
tagIds
:
''
,
blogList
:
''
,
i
:
0
,
tagList
:[],
img
:
""
,
...
...
@@ -195,7 +194,6 @@
toDetail
(){
this
.
$router
.
push
(
'/detail'
)
},
// 获得下拉框得内容
handleBlogClass
(
value
)
{
this
.
blogClass
=
value
.
tag
;
...
...
@@ -225,6 +223,7 @@
},
//上传图片
async
changeToUploadCover
(
e
)
{
let
formData
=
new
window
.
FormData
();
formData
.
append
(
'file'
,
e
.
target
.
files
[
0
]);
formData
.
append
(
'type'
,
1
);
...
...
@@ -297,7 +296,6 @@
});
return
false
;
}
if
(
this
.
originLink
!==
''
){
if
(
this
.
originLink
.
slice
(
0
,
12
)
===
"https://www."
||
this
.
originLink
===
"无"
){
this
.
dataPostSaveUserInfo
();
...
...
@@ -356,40 +354,47 @@
},
imgAdd
(
pos
,
file
)
{
//
添加图片,pos为位置
//
filename: 写在md中的文件名, File: File Object
// 第一步.将图片上传到服务器.
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);
console
.
log
(
url
)
let
formdata
=
new
window
.
FormData
();
formdata
.
append
(
'file'
,
file
);
formdata
.
append
(
'type'
,
5
);
this
.
$axios
.
$post
(
config
.
api
.
post
.
Resource
.
file
,
formdata
)
.
then
((
res
)
=>
{
console
.
log
(
res
);
let
url
=
res
.
data
;
this
.
$refs
.
editor
.
$img2Url
(
pos
,
url
);
this
.
$message
({
type
:
'success'
,
message
:
'上传图片成功'
})
})
.
catch
(
err
=>
{
this
.
$message
({
type
:
'warning'
,
message
:
'图片上传失败'
})
})
},
imgDel
(
pos
,
url
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
imgDel
(
pos
)
{
//删除图片,并不是修改就会触发,仅支持工具栏操作
// filename: 写在md中的文件名
console
.
log
(
pos
);
console
.
log
(
url
);
},
save
()
{
//保存文章内容
save
(
value
,
render
)
{
//保存文章内容
this
.
projectDetail
=
render
;
console
.
log
(
'save'
);
},
intervalSave
()
{
//自动保存
intervalSave
(
value
,
render
)
{
// 自动保存
// render: value 经过markdown解析后的结果
let
now
=
new
Date
();
if
(
now
-
this
.
lastSaveTime
>=
2
*
60
*
1000
)
{
if
(
now
-
this
.
lastSaveTime
>=
2
*
1000
)
{
this
.
lastSaveTime
=
now
;
this
.
projectDetail
=
render
;
console
.
log
(
'zdsava'
);
}
},
...
...
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