diff --git a/src/config/router.config.js b/src/config/router.config.js
index 981e57118..53772c7e3 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -1,5 +1,5 @@
// eslint-disable-next-line
-import { BasicLayout, RouteView, BlankLayout, PageView } from '@/layouts'
+import { BasicLayout, PageView } from '@/layouts'
export const asyncRouterMap = [
{
diff --git a/src/views/post/PostEdit.vue b/src/views/post/PostEdit.vue
index c01647850..519e9e935 100644
--- a/src/views/post/PostEdit.vue
+++ b/src/views/post/PostEdit.vue
@@ -45,6 +45,10 @@
type="danger"
@click="handleSaveDraft"
>保存草稿
+ 预览
import { mixin, mixinDevice } from '@/utils/mixin.js'
+import { mapGetters } from 'vuex'
import moment from 'moment'
import PostSetting from './components/PostSetting'
import AttachmentDrawer from '../attachment/components/AttachmentDrawer'
@@ -125,6 +130,9 @@ export default {
}
next()
},
+ computed: {
+ ...mapGetters(['options'])
+ },
methods: {
handleSaveDraft() {
this.postToStage.status = 'DRAFT'
@@ -178,6 +186,29 @@ export default {
handleShowPostSetting() {
this.postSettingVisible = true
},
+ handlePreview() {
+ this.postToStage.status = 'DRAFT'
+ if (!this.postToStage.title) {
+ this.postToStage.title = moment(new Date()).format('YYYY-MM-DD-HH-mm-ss')
+ }
+ if (!this.postToStage.originalContent) {
+ this.postToStage.originalContent = '开始编辑...'
+ }
+ if (this.postToStage.id) {
+ // Update the post
+ postApi.update(this.postToStage.id, this.postToStage, false).then(response => {
+ this.$log.debug('Updated post', response.data.data)
+ window.open(`${this.options.blog_url}/api/admin/posts/preview/${this.postToStage.id}`, '_blank')
+ })
+ } else {
+ // Create the post
+ postApi.create(this.postToStage, false).then(response => {
+ this.$log.debug('Created post', response.data.data)
+ this.postToStage = response.data.data
+ window.open(`${this.options.blog_url}/api/admin/posts/preview/${this.postToStage.id}`, '_blank')
+ })
+ }
+ },
// 关闭文章设置抽屉
onPostSettingsClose() {
this.postSettingVisible = false
diff --git a/src/views/sheet/SheetEdit.vue b/src/views/sheet/SheetEdit.vue
index 3a3cba8de..15aaa2c86 100644
--- a/src/views/sheet/SheetEdit.vue
+++ b/src/views/sheet/SheetEdit.vue
@@ -39,6 +39,10 @@
type="danger"
@click="handleSaveDraft"
>保存草稿
+ 预览
import { mixin, mixinDevice } from '@/utils/mixin.js'
+import { mapGetters } from 'vuex'
import moment from 'moment'
import { toolbars } from '@/core/const'
import SheetSetting from './components/SheetSetting'
@@ -115,6 +120,9 @@ export default {
}
next()
},
+ computed: {
+ ...mapGetters(['options'])
+ },
methods: {
handleSaveDraft() {
this.sheetToStage.status = 'DRAFT'
@@ -166,6 +174,27 @@ export default {
handleShowSheetSetting() {
this.sheetSettingVisible = true
},
+ handlePreview() {
+ this.sheetToStage.status = 'DRAFT'
+ if (!this.sheetToStage.title) {
+ this.sheetToStage.title = moment(new Date()).format('YYYY-MM-DD-HH-mm-ss')
+ }
+ if (!this.sheetToStage.originalContent) {
+ this.sheetToStage.originalContent = '开始编辑...'
+ }
+ if (this.sheetToStage.id) {
+ sheetApi.update(this.sheetToStage.id, this.sheetToStage, false).then(response => {
+ this.$log.debug('Updated sheet', response.data.data)
+ window.open(`${this.options.blog_url}/api/admin/sheets/preview/${this.sheetToStage.id}`, '_blank')
+ })
+ } else {
+ sheetApi.create(this.sheetToStage, false).then(response => {
+ this.$log.debug('Created sheet', response.data.data)
+ this.sheetToStage = response.data.data
+ window.open(`${this.options.blog_url}/api/admin/sheets/preview/${this.sheetToStage.id}`, '_blank')
+ })
+ }
+ },
onSheetSettingsClose() {
this.sheetSettingVisible = false
},
diff --git a/src/views/system/OptionForm.vue b/src/views/system/OptionForm.vue
index 2c00adc34..9044f8036 100644
--- a/src/views/system/OptionForm.vue
+++ b/src/views/system/OptionForm.vue
@@ -660,7 +660,7 @@
label="CDN 加速域名:"
:wrapper-col="wrapperCol"
>
-
+