Commit 739e82fd by yanju

Merge branch 'xue' into 'master'

博客发布页面完善

See merge request pigbigbig/beyond-clouds-front!38
parents 5dabf285 8f5830c2
......@@ -123,7 +123,7 @@
let that = this;
// this.addImg(this.img)
this.$refs.cropper.getCropData((e) => {
this.loading = true
this.loading = true;
let bytes = window.atob(e.split(',')[1]);
let array = [];
for(let i = 0;i<bytes.length;i++){
......
......@@ -129,7 +129,6 @@ export default {
async handleSearch(){
this.isShow = true;
this.isShow2 = true;
console.log(111);
if (this.value.tag !== "") {
let tagSearch = await this.$axios.$get(config.api.get.Tag.search, {
params: {
......@@ -138,7 +137,7 @@ export default {
size: 12
}
});
console.log(tagSearch);
//console.log(tagSearch);
this.isSearch = true; // 用于 有无搜索结果
this.searchList = [];
if (tagSearch.data.dataList.length !== 0) {
......
......@@ -22,13 +22,13 @@
<div class="answer-release">
<div class="answer-release__header">
<span>*</span>
<input type="text" placeholder="请一句话说明问题,并以问号结尾">
<input type="text" v-model="questionDetail" placeholder="请一句话说明问题,并以问号结尾">
</div>
<div class="answer-release__content">
<span>*</span>
<div class="editor-container">
<mavon-editor
v-model="value"
v-model="questionDetail"
:toolbars="markdownOption"
class="editor"
placeholder="问题详情...."
......@@ -46,7 +46,7 @@
<span>*</span>
<select-card selectType="1"></select-card>
</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 class="answer-release__footer">
<p>已自动存为草稿</p>
......@@ -60,88 +60,120 @@
</template>
<script>
import CardContainer from "../../../components/pc/cardContainer";
import SelectCard from "../../../components/pc/select/selectCard";
import CardContainer from "../../../components/pc/cardContainer";
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 {
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 // 预览
}).then((response)=>{
//处理response
})
},
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();
if (now - this.lastSaveTime >= 2 * 60 * 1000) {
this.lastSaveTime = now;
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();
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>
<style lang="scss" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment