feat: halo-dev/halo#1174 (#270)

pull/272/head
Ryan Wang 4 years ago committed by GitHub
parent 005a0a8292
commit 8b641f9905
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -96,4 +96,15 @@ sheetApi.sheetStatus = {
text: '回收站' text: '回收站'
} }
} }
sheetApi.permalinkType = {
SECONDARY: {
type: 'SECONDARY',
text: '二级路径'
},
ROOT: {
type: 'ROOT',
text: '根路径'
},
}
export default sheetApi export default sheetApi

@ -9,6 +9,7 @@ const keys = [
'attachment_upload_max_files', 'attachment_upload_max_files',
'sheet_prefix', 'sheet_prefix',
'post_permalink_type', 'post_permalink_type',
'sheet_permalink_type',
'archives_prefix', 'archives_prefix',
'path_suffix', 'path_suffix',
'default_editor', 'default_editor',

@ -296,10 +296,20 @@ export default {
return datetimeFormat(new Date(), 'YYYY-MM-DD HH:mm:ss') return datetimeFormat(new Date(), 'YYYY-MM-DD HH:mm:ss')
}, },
fullPath() { fullPath() {
const permalinkType = this.options.sheet_permalink_type
const blogUrl = this.options.blog_url const blogUrl = this.options.blog_url
const sheetPrefix = this.options.sheet_prefix const sheetPrefix = this.options.sheet_prefix
const pathSuffix = this.options.path_suffix ? this.options.path_suffix : '' const pathSuffix = this.options.path_suffix ? this.options.path_suffix : ''
return `${blogUrl}/${sheetPrefix}/${this.selectedSheet.slug ? this.selectedSheet.slug : '{slug}'}${pathSuffix}` switch (permalinkType) {
case 'SECONDARY':
return `${blogUrl}/${sheetPrefix}/${
this.selectedSheet.slug ? this.selectedSheet.slug : '{slug}'
}${pathSuffix}`
case 'ROOT':
return `${blogUrl}/${this.selectedSheet.slug ? this.selectedSheet.slug : '{slug}'}${pathSuffix}`
default:
return ''
}
}, },
}, },
methods: { methods: {

@ -18,13 +18,47 @@
</template> </template>
<a-select v-model="options.post_permalink_type"> <a-select v-model="options.post_permalink_type">
<a-select-option <a-select-option
v-for="item in Object.keys(permalinkType)" v-for="item in Object.keys(postPermalinkType)"
:key="item" :key="item"
:value="item" :value="item"
>{{ permalinkType[item].text }}</a-select-option> >{{ postPermalinkType[item].text }}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="自定义页面前缀:"> <a-form-model-item label="归档前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.archives_prefix }}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.archives_prefix" />
</a-form-model-item>
<a-form-model-item label="分类前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.categories_prefix }}/{slug}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.categories_prefix" />
</a-form-model-item>
<a-form-model-item label="标签前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.tags_prefix }}/{slug}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.tags_prefix" />
</a-form-model-item>
<a-form-model-item label="自定义页面固定链接类型:">
<template slot="help">
<span v-if="options.sheet_permalink_type === 'SECONDARY'">{{ options.blog_url }}/{{ options.sheet_prefix }}/{slug}{{ options.path_suffix }}</span>
<span v-else-if="options.sheet_permalink_type === 'ROOT'">{{ options.blog_url }}/{slug}{{ options.path_suffix }}</span>
</template>
<a-select v-model="options.sheet_permalink_type">
<a-select-option
v-for="item in Object.keys(sheetPermalinkType)"
:key="item"
:value="item"
>{{ sheetPermalinkType[item].text }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item
label="自定义页面前缀:"
v-show="options.sheet_permalink_type === 'SECONDARY'"
>
<template slot="help"> <template slot="help">
<span>{{ options.blog_url }}/{{ options.sheet_prefix }}/{slug}{{ options.path_suffix }}</span> <span>{{ options.blog_url }}/{{ options.sheet_prefix }}/{slug}{{ options.path_suffix }}</span>
</template> </template>
@ -48,24 +82,6 @@
</template> </template>
<a-input v-model="options.journals_prefix" /> <a-input v-model="options.journals_prefix" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="归档前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.archives_prefix }}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.archives_prefix" />
</a-form-model-item>
<a-form-model-item label="分类前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.categories_prefix }}/{slug}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.categories_prefix" />
</a-form-model-item>
<a-form-model-item label="标签前缀:">
<template slot="help">
<span>{{ options.blog_url }}/{{ options.tags_prefix }}/{slug}{{ options.path_suffix }}</span>
</template>
<a-input v-model="options.tags_prefix" />
</a-form-model-item>
<a-form-model-item label="路径后缀:"> <a-form-model-item label="路径后缀:">
<template slot="help"> <template slot="help">
<span>* 格式为<code>.{suffix}</code>仅对内建路径有效</span> <span>* 格式为<code>.{suffix}</code>仅对内建路径有效</span>
@ -89,6 +105,7 @@
</template> </template>
<script> <script>
import postApi from '@/api/post' import postApi from '@/api/post'
import sheetApi from '@/api/sheet'
export default { export default {
name: 'PermalinkTab', name: 'PermalinkTab',
props: { props: {
@ -107,7 +124,8 @@ export default {
}, },
data() { data() {
return { return {
permalinkType: postApi.permalinkType, postPermalinkType: postApi.permalinkType,
sheetPermalinkType: sheetApi.permalinkType,
wrapperCol: { wrapperCol: {
xl: { span: 8 }, xl: { span: 8 },
lg: { span: 8 }, lg: { span: 8 },

Loading…
Cancel
Save