feat: refactor option forms.

pull/3445/head
ruibaby 2019-11-19 14:23:10 +08:00
parent 02a10ddcd9
commit ab7596a245
7 changed files with 125 additions and 358 deletions

View File

@ -77,12 +77,14 @@
:key="index.toString()"
:tab="group.label"
>
<a-form layout="vertical">
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item
v-for="(item, index1) in group.items"
:label="item.label + ''"
:key="index1"
:wrapper-col="wrapperCol"
>
<a-input
v-model="themeSettings[item.name]"

View File

@ -87,11 +87,6 @@ export default {
data() {
return {
toolbars,
wrapperCol: {
xl: { span: 24 },
sm: { span: 24 },
xs: { span: 24 }
},
attachmentDrawerVisible: false,
postSettingVisible: false,
postToStage: {},

View File

@ -31,7 +31,7 @@
<a-input v-model="selectedPost.url" />
</a-form-item>
<a-form-item label="访问密码:">
<a-input-password v-model="selectedPost.password" />
<a-input-password v-model="selectedPost.password" autocomplete="new-password"/>
</a-form-item>
<a-form-item label="发表时间:">

View File

@ -80,11 +80,6 @@ export default {
data() {
return {
toolbars,
wrapperCol: {
xl: { span: 24 },
sm: { span: 24 },
xs: { span: 24 }
},
attachmentDrawerVisible: false,
sheetSettingVisible: false,
sheetToStage: {}

View File

@ -62,7 +62,9 @@
</div>
<a-divider />
<div style="margin-top:15px">
<a-empty v-if="journals.length==0" />
<a-list
v-else
itemLayout="vertical"
:pagination="false"
:dataSource="journals"
@ -99,9 +101,7 @@
<template slot="actions">
<span>
<a href="javascript:void(0);">
<a-icon
type="like-o"
/>
<a-icon type="like-o" />
{{ item.likes }}
</a>
</span>
@ -110,9 +110,7 @@
href="javascript:void(0);"
@click="handleCommentShow(item)"
>
<a-icon
type="message"
/>
<a-icon type="message" />
{{ item.commentCount }}
</a>
</span>

View File

@ -225,22 +225,6 @@ import recoveryApi from '@/api/recovery'
export default {
data() {
return {
formItemLayout: {
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
lg: { span: 4 },
xl: { span: 4 },
xxl: { span: 3 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 19 },
lg: { span: 20 },
xl: { span: 20 },
xxl: { span: 21 }
}
},
installation: {},
migrationUploadName: 'file',
migrationData: null,

View File

@ -8,26 +8,20 @@
<span slot="tab">
<a-icon type="tool" />常规设置
</span>
<a-form layout="vertical">
<a-form-item
label="博客标题:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="博客标题:">
<a-input v-model="options.blog_title" />
</a-form-item>
<a-form-item
label="博客地址:"
:wrapper-col="wrapperCol"
>
<a-form-item label="博客地址:">
<a-input
v-model="options.blog_url"
placeholder="如https://halo.run"
/>
</a-form-item>
<a-form-item
label="Logo"
:wrapper-col="wrapperCol"
>
<a-form-item label="Logo">
<a-input v-model="options.blog_logo">
<a
href="javascript:void(0);"
@ -38,10 +32,7 @@
</a>
</a-input>
</a-form-item>
<a-form-item
label="Favicon"
:wrapper-col="wrapperCol"
>
<a-form-item label="Favicon">
<a-input v-model="options.blog_favicon">
<a
href="javascript:void(0);"
@ -52,10 +43,7 @@
</a>
</a-input>
</a-form-item>
<a-form-item
label="页脚信息:"
:wrapper-col="wrapperCol"
>
<a-form-item label="页脚信息:">
<a-input
type="textarea"
:autosize="{ minRows: 5 }"
@ -75,26 +63,20 @@
<span slot="tab">
<a-icon type="global" />SEO 设置
</span>
<a-form layout="vertical">
<a-form-item
label="屏蔽搜索引擎:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="屏蔽搜索引擎:">
<a-switch v-model="options.seo_spider_disabled" />
</a-form-item>
<a-form-item
label="关键词: "
:wrapper-col="wrapperCol"
>
<a-form-item label="关键词: ">
<a-input
v-model="options.seo_keywords"
placeholder="多个关键词以英文状态下的逗号隔开"
/>
</a-form-item>
<a-form-item
label="博客描述:"
:wrapper-col="wrapperCol"
>
<a-form-item label="博客描述:">
<a-input
type="textarea"
:autosize="{ minRows: 5 }"
@ -113,39 +95,30 @@
<span slot="tab">
<a-icon type="form" />文章设置
</span>
<a-form layout="vertical">
<a-form-item
label="首页文章排序:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="首页文章排序:">
<a-select v-model="options.post_index_sort">
<a-select-option value="createTime">创建时间</a-select-option>
<a-select-option value="editTime">最后编辑时间</a-select-option>
<a-select-option value="visits">点击量</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="首页显示条数:"
:wrapper-col="wrapperCol"
>
<a-form-item label="首页显示条数:">
<a-input
type="number"
v-model="options.post_index_page_size"
/>
</a-form-item>
<a-form-item
label="RSS 显示条数:"
:wrapper-col="wrapperCol"
>
<a-form-item label="RSS 显示条数:">
<a-input
type="number"
v-model="options.rss_page_size"
/>
</a-form-item>
<a-form-item
label="文章摘要字数:"
:wrapper-col="wrapperCol"
>
<a-form-item label="文章摘要字数:">
<a-input
type="number"
v-model="options.post_summary_length"
@ -163,11 +136,11 @@
<span slot="tab">
<a-icon type="message" />评论设置
</span>
<a-form layout="vertical">
<a-form-item
label="评论者头像:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="评论者头像:">
<a-select v-model="options.comment_gravatar_default">
<a-select-option value="mm">默认</a-select-option>
<a-select-option value="identicon">抽象几何图形</a-select-option>
@ -178,34 +151,19 @@
<a-select-option value="blank">不显示头像</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="评论审核后才显示:"
:wrapper-col="wrapperCol"
>
<a-form-item label="评论审核后才显示:">
<a-switch v-model="options.comment_new_need_check" />
</a-form-item>
<a-form-item
label="新评论通知:"
:wrapper-col="wrapperCol"
>
<a-form-item label="新评论通知:">
<a-switch v-model="options.comment_new_notice" />
</a-form-item>
<a-form-item
label="评论回复通知对方:"
:wrapper-col="wrapperCol"
>
<a-form-item label="评论回复通知对方:">
<a-switch v-model="options.comment_reply_notice" />
</a-form-item>
<a-form-item
label="API 评论开关:"
:wrapper-col="wrapperCol"
>
<a-form-item label="API 评论开关:">
<a-switch v-model="options.comment_api_enabled" />
</a-form-item>
<a-form-item
label="评论模块 JS"
:wrapper-col="wrapperCol"
>
<a-form-item label="评论模块 JS">
<a-input
type="textarea"
:autosize="{ minRows: 2 }"
@ -213,24 +171,18 @@
placeholder="该设置仅对内置的评论模块有效"
/>
</a-form-item>
<a-form-item
label="每页显示条数: "
:wrapper-col="wrapperCol"
>
<a-form-item label="每页显示条数: ">
<a-input
type="number"
v-model="options.comment_page_size"
/>
</a-form-item>
<a-form-item
label="占位提示:"
:wrapper-col="wrapperCol"
>
<a-form-item label="占位提示:">
<a-input v-model="options.comment_content_placeholder" />
</a-form-item>
<!-- <a-form-item
label="自定义样式:"
:wrapper-col="wrapperCol"
>
<a-input
type="textarea"
@ -250,35 +202,26 @@
<span slot="tab">
<a-icon type="picture" />附件设置
</span>
<a-form layout="vertical">
<a-form-item
label="上传图片时预览:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="上传图片时预览:">
<a-switch v-model="options.attachment_upload_image_preview_enable" />
</a-form-item>
<a-form-item
label="最大上传文件数:"
:wrapper-col="wrapperCol"
>
<a-form-item label="最大上传文件数:">
<a-input
type="number"
v-model="options.attachment_upload_max_files"
/>
</a-form-item>
<a-form-item
label="同时上传文件数:"
:wrapper-col="wrapperCol"
>
<a-form-item label="同时上传文件数:">
<a-input
type="number"
v-model="options.attachment_upload_max_parallel_uploads"
/>
</a-form-item>
<a-form-item
label="存储位置:"
:wrapper-col="wrapperCol"
>
<a-form-item label="存储位置:">
<a-select
@change="handleAttachChange"
v-model="options.attachment_type"
@ -294,10 +237,7 @@
class="smmsForm"
v-show="smmsFormVisible"
>
<a-form-item
label="Secret Token"
:wrapper-col="wrapperCol"
>
<a-form-item label="Secret Token">
<a-input-password
v-model="options.smms_api_secret_token"
placeholder="需要到 sm.ms 官网注册后获取"
@ -308,61 +248,37 @@
class="upyunForm"
v-show="upyunFormVisible"
>
<a-form-item
label="绑定域名协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名协议:">
<a-select v-model="options.oss_upyun_domain_protocol">
<a-select-option value="https://">HTTPS</a-select-option>
<a-select-option value="http://">HTTP</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="绑定域名:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名:">
<a-input
v-model="options.oss_upyun_domain"
placeholder="无需再加上 http:// 或者 https://"
/>
</a-form-item>
<a-form-item
label="空间名称:"
:wrapper-col="wrapperCol"
>
<a-form-item label="空间名称:">
<a-input v-model="options.oss_upyun_bucket" />
</a-form-item>
<a-form-item
label="操作员名称:"
:wrapper-col="wrapperCol"
>
<a-form-item label="操作员名称:">
<a-input v-model="options.oss_upyun_operator" />
</a-form-item>
<a-form-item
label="操作员密码:"
:wrapper-col="wrapperCol"
>
<a-form-item label="操作员密码:">
<a-input-password v-model="options.oss_upyun_password" />
</a-form-item>
<a-form-item
label="文件目录:"
:wrapper-col="wrapperCol"
>
<a-form-item label="文件目录:">
<a-input v-model="options.oss_upyun_source" />
</a-form-item>
<a-form-item
label="图片处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="图片处理策略:">
<a-input
v-model="options.oss_upyun_style_rule"
placeholder="间隔标识符+图片处理版本名称"
/>
</a-form-item>
<a-form-item
label="缩略图处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="缩略图处理策略:">
<a-input
v-model="options.oss_upyun_thumbnail_style_rule"
placeholder="间隔标识符+图片处理版本名称,一般为后台展示所用"
@ -373,28 +289,19 @@
class="qnyunForm"
v-show="qnyunFormVisible"
>
<a-form-item
label="绑定域名协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名协议:">
<a-select v-model="options.oss_qiniu_domain_protocol">
<a-select-option value="https://">HTTPS</a-select-option>
<a-select-option value="http://">HTTP</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="绑定域名:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名:">
<a-input
v-model="options.oss_qiniu_domain"
placeholder="无需再加上 http:// 或者 https://"
/>
</a-form-item>
<a-form-item
label="区域:"
:wrapper-col="wrapperCol"
>
<a-form-item label="区域:">
<a-select v-model="options.oss_qiniu_zone">
<a-select-option value="auto">自动选择</a-select-option>
<a-select-option value="z0">华东</a-select-option>
@ -404,40 +311,25 @@
<a-select-option value="as0">东南亚</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="Access Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Access Key">
<a-input-password v-model="options.oss_qiniu_access_key" />
</a-form-item>
<a-form-item
label="Secret Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Secret Key">
<a-input-password v-model="options.oss_qiniu_secret_key" />
</a-form-item>
<a-form-item
label="Bucket"
:wrapper-col="wrapperCol"
>
<a-form-item label="Bucket">
<a-input
v-model="options.oss_qiniu_bucket"
placeholder="存储空间名称"
/>
</a-form-item>
<a-form-item
label="图片处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="图片处理策略:">
<a-input
v-model="options.oss_qiniu_style_rule"
placeholder="样式分隔符+图片处理样式名称"
/>
</a-form-item>
<a-form-item
label="缩略图处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="缩略图处理策略:">
<a-input
v-model="options.oss_qiniu_thumbnail_style_rule"
placeholder="样式分隔符+图片处理样式名称,一般为后台展示所用"
@ -448,64 +340,40 @@
class="aliyunForm"
v-show="aliyunFormVisible"
>
<a-form-item
label="绑定域名协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名协议:">
<a-select v-model="options.oss_aliyun_domain_protocol">
<a-select-option value="https://">HTTPS</a-select-option>
<a-select-option value="http://">HTTP</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="绑定域名:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名:">
<a-input
v-model="options.oss_aliyun_domain"
placeholder="如不填写,路径根域名将为 Bucket + EndPoint"
/>
</a-form-item>
<a-form-item
label="Bucket"
:wrapper-col="wrapperCol"
>
<a-form-item label="Bucket">
<a-input
v-model="options.oss_aliyun_bucket_name"
placeholder="存储空间名称"
/>
</a-form-item>
<a-form-item
label="EndPoint地域节点"
:wrapper-col="wrapperCol"
>
<a-form-item label="EndPoint地域节点">
<a-input v-model="options.oss_aliyun_endpoint" />
</a-form-item>
<a-form-item
label="Access Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Access Key">
<a-input-password v-model="options.oss_aliyun_access_key" />
</a-form-item>
<a-form-item
label="Access Secret"
:wrapper-col="wrapperCol"
>
<a-form-item label="Access Secret">
<a-input-password v-model="options.oss_aliyun_access_secret" />
</a-form-item>
<a-form-item
label="图片处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="图片处理策略:">
<a-input
v-model="options.oss_aliyun_style_rule"
placeholder="请到阿里云控制台的图片处理获取"
/>
</a-form-item>
<a-form-item
label="缩略图处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="缩略图处理策略:">
<a-input
v-model="options.oss_aliyun_thumbnail_style_rule"
placeholder="请到阿里云控制台的图片处理获取,一般为后台展示所用"
@ -516,64 +384,40 @@
class="baiduyunForm"
v-show="baiduyunFormVisible"
>
<a-form-item
label="绑定域名协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名协议:">
<a-select v-model="options.bos_baiduyun_domain_protocol">
<a-select-option value="https://">HTTPS</a-select-option>
<a-select-option value="http://">HTTP</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="绑定域名:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名:">
<a-input
v-model="options.bos_baiduyun_domain"
placeholder="如不填写,路径根域名将为 Bucket + EndPoint"
/>
</a-form-item>
<a-form-item
label="Bucket"
:wrapper-col="wrapperCol"
>
<a-form-item label="Bucket">
<a-input
v-model="options.bos_baiduyun_bucket_name"
placeholder="存储空间名称"
/>
</a-form-item>
<a-form-item
label="EndPoint地域节点"
:wrapper-col="wrapperCol"
>
<a-form-item label="EndPoint地域节点">
<a-input v-model="options.bos_baiduyun_endpoint" />
</a-form-item>
<a-form-item
label="Access Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Access Key">
<a-input-password v-model="options.bos_baiduyun_access_key" />
</a-form-item>
<a-form-item
label="Secret Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Secret Key">
<a-input-password v-model="options.bos_baiduyun_secret_key" />
</a-form-item>
<a-form-item
label="图片处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="图片处理策略:">
<a-input
v-model="options.bos_baiduyun_style_rule"
placeholder="请到百度云控制台的图片处理获取"
/>
</a-form-item>
<a-form-item
label="缩略图处理策略:"
:wrapper-col="wrapperCol"
>
<a-form-item label="缩略图处理策略:">
<a-input
v-model="options.bos_baiduyun_thumbnail_style_rule"
placeholder="请到百度云控制台的图片处理获取,一般为后台展示所用"
@ -584,37 +428,25 @@
class="tencentyunForm"
v-show="tencentyunFormVisible"
>
<a-form-item
label="绑定域名协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名协议:">
<a-select v-model="options.cos_tencentyun_domain_protocol">
<a-select-option value="https://">HTTPS</a-select-option>
<a-select-option value="http://">HTTP</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="绑定域名:"
:wrapper-col="wrapperCol"
>
<a-form-item label="绑定域名:">
<a-input
v-model="options.cos_tencentyun_domain"
placeholder="如不填写,路径根域名将为 Bucket + 区域地址"
/>
</a-form-item>
<a-form-item
label="Bucket"
:wrapper-col="wrapperCol"
>
<a-form-item label="Bucket">
<a-input
v-model="options.cos_tencentyun_bucket_name"
placeholder="存储桶名称"
/>
</a-form-item>
<a-form-item
label="区域:"
:wrapper-col="wrapperCol"
>
<a-form-item label="区域:">
<a-select v-model="options.cos_tencentyun_region">
<a-select-option value="ap-beijing-1">北京一区</a-select-option>
<a-select-option value="ap-beijing">北京</a-select-option>
@ -624,16 +456,10 @@
<a-select-option value="ap-chongqing">重庆</a-select-option>
</a-select>
</a-form-item>
<a-form-item
label="Secret Id"
:wrapper-col="wrapperCol"
>
<a-form-item label="Secret Id">
<a-input-password v-model="options.cos_tencentyun_secret_id" />
</a-form-item>
<a-form-item
label="Secret Key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Secret Key">
<a-input-password v-model="options.cos_tencentyun_secret_key" />
</a-form-item>
</div>
@ -655,50 +481,32 @@
tab="发信设置"
key="1"
>
<a-form layout="vertical">
<a-form-item
label="是否启用:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="是否启用:">
<a-switch v-model="options.email_enabled" />
</a-form-item>
<a-form-item
label="SMTP 地址:"
:wrapper-col="wrapperCol"
>
<a-form-item label="SMTP 地址:">
<a-input v-model="options.email_host" />
</a-form-item>
<a-form-item
label="发送协议:"
:wrapper-col="wrapperCol"
>
<a-form-item label="发送协议:">
<a-input v-model="options.email_protocol" />
</a-form-item>
<a-form-item
label="SSL 端口:"
:wrapper-col="wrapperCol"
>
<a-form-item label="SSL 端口:">
<a-input v-model="options.email_ssl_port" />
</a-form-item>
<a-form-item
label="邮箱账号:"
:wrapper-col="wrapperCol"
>
<a-form-item label="邮箱账号:">
<a-input v-model="options.email_username" />
</a-form-item>
<a-form-item
label="邮箱密码:"
:wrapper-col="wrapperCol"
>
<a-form-item label="邮箱密码:">
<a-input-password
v-model="options.email_password"
placeholder="部分邮箱可能是授权码"
/>
</a-form-item>
<a-form-item
label="发件人:"
:wrapper-col="wrapperCol"
>
<a-form-item label="发件人:">
<a-input v-model="options.email_from_name" />
</a-form-item>
<a-form-item>
@ -713,23 +521,17 @@
tab="发送测试"
key="2"
>
<a-form layout="vertical">
<a-form-item
label="收件人:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="收件人:">
<a-input v-model="mailParam.to" />
</a-form-item>
<a-form-item
label="主题:"
:wrapper-col="wrapperCol"
>
<a-form-item label="主题:">
<a-input v-model="mailParam.subject" />
</a-form-item>
<a-form-item
label="内容:"
:wrapper-col="wrapperCol"
>
<a-form-item label="内容:">
<a-input
type="textarea"
:autosize="{ minRows: 5 }"
@ -751,17 +553,14 @@
<span slot="tab">
<a-icon type="thunderbolt" />API 设置
</span>
<a-form layout="vertical">
<a-form-item
label="API 服务:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="API 服务:">
<a-switch v-model="options.api_enabled" />
</a-form-item>
<a-form-item
label="Access key"
:wrapper-col="wrapperCol"
>
<a-form-item label="Access key">
<a-input-password v-model="options.api_access_key" />
</a-form-item>
<a-form-item>
@ -776,20 +575,17 @@
<span slot="tab">
<a-icon type="align-left" />其他设置
</span>
<a-form layout="vertical">
<a-form-item
label="CDN 加速域名:"
:wrapper-col="wrapperCol"
>
<a-form
layout="vertical"
:wrapperCol="wrapperCol"
>
<a-form-item label="CDN 加速域名:">
<a-input
v-model="options.blog_cdn_domain"
placeholder="请确保已经正确配置好了 CDN"
/>
</a-form-item>
<a-form-item
label="自定义 head"
:wrapper-col="wrapperCol"
>
<a-form-item label="自定义 head">
<a-input
type="textarea"
:autosize="{ minRows: 5 }"
@ -797,10 +593,7 @@
placeholder="将放置于每个页面的<head></head>标签中"
/>
</a-form-item>
<a-form-item
label="统计代码:"
:wrapper-col="wrapperCol"
>
<a-form-item label="统计代码:">
<a-input
type="textarea"
:autosize="{ minRows: 5 }"
@ -810,7 +603,7 @@
</a-form-item>
<!-- <a-form-item
label="黑名单 IP"
:wrapper-col="wrapperCol"
>
<a-input
type="textarea"