样式美化

pull/9/head
ruibaby 2019-04-16 22:01:37 +08:00
parent e0591f7749
commit 4799a7ec31
9 changed files with 104 additions and 65 deletions

View File

@ -1,7 +1,10 @@
<template> <template>
<div class="footer"> <div class="footer">
<div class="copyright"> <div class="copyright">
Proudly power by <a target="_blank" href="https://github.com/halo-dev/halo">Halo</a> Proudly power by
<router-link :to="{ name:'About' }">
<a href="javascript:void(0);">Halo</a>
</router-link>
</div> </div>
</div> </div>
</template> </template>

View File

@ -176,6 +176,13 @@ export const asyncRouterMap = [
name: 'ToolList', name: 'ToolList',
component: () => import('@/views/system/ToolList'), component: () => import('@/views/system/ToolList'),
meta: { title: '小工具', hiddenHeaderContent: false } meta: { title: '小工具', hiddenHeaderContent: false }
},
{
path: '/system/about',
name: 'About',
component: () => import('@/views/system/About'),
hidden: true,
meta: { title: '关于 Halo', hiddenHeaderContent: false }
} }
] ]
} }

View File

@ -2,7 +2,6 @@
<div class="page-header-index-wide"> <div class="page-header-index-wide">
<a-row :gutter="12"> <a-row :gutter="12">
<a-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24"> <a-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
<a-card>
<div style="margin-bottom: 16px"> <div style="margin-bottom: 16px">
<a-input <a-input
v-model="postToStage.title" v-model="postToStage.title"
@ -11,14 +10,9 @@
placeholder="请输入页面标题" placeholder="请输入页面标题"
/> />
</div> </div>
<a-button type="primary" @click="showDrawer"></a-button>
</a-card>
<a-card>
<div id="editor"> <div id="editor">
<mavon-editor v-model="postToStage.originalContent"/> <mavon-editor v-model="postToStage.originalContent" :boxShadow="false" :ishljs="true"/>
</div> </div>
</a-card>
</a-col> </a-col>
<a-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24"> <a-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
@ -34,17 +28,17 @@
<h3 class="post-setting-drawer-title">基本设置</h3> <h3 class="post-setting-drawer-title">基本设置</h3>
<div class="post-setting-drawer-item"> <div class="post-setting-drawer-item">
<a-form layout="vertical"> <a-form layout="vertical">
<a-form-item label="页面路径:" :help="'https://localhost:8090/p/'+ (postToStage.url ? postToStage.url : '{auto_generate}')"> <a-form-item
label="页面路径:"
:help="'https://localhost:8090/p/'+ (postToStage.url ? postToStage.url : '{auto_generate}')"
>
<a-input v-model="postToStage.url"/> <a-input v-model="postToStage.url"/>
</a-form-item> </a-form-item>
<a-form-item label="页面密码:"> <a-form-item label="页面密码:">
<a-input type="password" v-model="postToStage.password"/> <a-input type="password" v-model="postToStage.password"/>
</a-form-item> </a-form-item>
<a-form-item label="是否关闭评论:"> <a-form-item label="是否关闭评论:">
<a-radio-group <a-radio-group v-model="postToStage.disallowComment" :defaultValue="false">
v-model="postToStage.disallowComment"
:defaultValue="false"
>
<a-radio :value="false">开启</a-radio> <a-radio :value="false">开启</a-radio>
<a-radio :value="true">关闭</a-radio> <a-radio :value="true">关闭</a-radio>
</a-radio-group> </a-radio-group>
@ -76,11 +70,19 @@
</a-drawer> </a-drawer>
</a-col> </a-col>
</a-row> </a-row>
<footer-tool-bar
:style="{ width: isSideMenu() && isDesktop() ? `calc(100% - ${sidebarOpened ? 256 : 80}px)` : '100%'}"
>
<a-button type="primary" @click="showDrawer"></a-button>
<a-button type="dashed" style="margin-left: 8px;">附件库</a-button>
</footer-tool-bar>
</div> </div>
</template> </template>
<script> <script>
import { mavonEditor } from 'mavon-editor' import { mavonEditor } from 'mavon-editor'
import FooterToolBar from '@/components/FooterToolbar'
import { mixin, mixinDevice } from '@/utils/mixin.js' import { mixin, mixinDevice } from '@/utils/mixin.js'
import 'mavon-editor/dist/css/index.css' import 'mavon-editor/dist/css/index.css'
import postApi from '@/api/post' import postApi from '@/api/post'
@ -88,9 +90,9 @@ import themeApi from '@/api/theme'
export default { export default {
name: 'Editor', name: 'Editor',
components: { components: {
mavonEditor mavonEditor,
FooterToolBar
}, },
mixins: [mixin, mixinDevice], mixins: [mixin, mixinDevice],
data() { data() {
return { return {
@ -179,17 +181,9 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
#editor {
margin: auto;
width: 100%;
}
.v-note-wrapper { .v-note-wrapper {
z-index: 1000; z-index: 1000;
} min-height: 540px;
.ant-card {
margin-bottom: 16px;
} }
.ant-form-vertical .ant-form-item { .ant-form-vertical .ant-form-item {

View File

@ -11,9 +11,11 @@
<div class="card-container"> <div class="card-container">
<a-tabs type="card"> <a-tabs type="card">
<a-tab-pane <a-tab-pane
tab="内置页面"
key="internal" key="internal"
> >
<span slot="tab">
<a-icon type="pushpin" />内置页面
</span>
<a-table <a-table
:columns="internalColumns" :columns="internalColumns"
:dataSource="internalPages" :dataSource="internalPages"
@ -45,9 +47,12 @@
</a-table> </a-table>
</a-tab-pane> </a-tab-pane>
<a-tab-pane <a-tab-pane
tab="自定义页面"
key="custom" key="custom"
>自定义页面</a-tab-pane> >
<span slot="tab">
<a-icon type="fork" />内置页面
</span>
自定义页面</a-tab-pane>
</a-tabs> </a-tabs>
</div> </div>
</a-col> </a-col>

View File

@ -497,10 +497,6 @@ export default {
min-height: 540px; min-height: 540px;
} }
.ant-card {
margin-bottom: 16px;
}
.ant-form-vertical .ant-form-item { .ant-form-vertical .ant-form-item {
padding-bottom: 0; padding-bottom: 0;
} }

View File

@ -0,0 +1,10 @@
<template>
<div class="page-header-index-wide">About page</div>
</template>
<script>
export default {}
</script>
<style scoped>
</style>

View File

@ -2,7 +2,10 @@
<div class="page-header-index-wide"> <div class="page-header-index-wide">
<div class="card-container"> <div class="card-container">
<a-tabs type="card"> <a-tabs type="card">
<a-tab-pane tab="资源文件备份" key="1"> <a-tab-pane key="1">
<span slot="tab">
<a-icon type="folder" />资源文件备份
</span>
<a-table :columns="columns" :dataSource="ResourcesData"> <a-table :columns="columns" :dataSource="ResourcesData">
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a href="javascript:;" @click="downResources('ResourcesData',record.id)"></a> <a href="javascript:;" @click="downResources('ResourcesData',record.id)"></a>
@ -14,7 +17,10 @@
</a-table> </a-table>
<a-button type="primary" @click="backupData('ResourcesData')"></a-button> <a-button type="primary" @click="backupData('ResourcesData')"></a-button>
</a-tab-pane> </a-tab-pane>
<a-tab-pane tab="数据库备份" key="2"> <a-tab-pane key="2">
<span slot="tab">
<a-icon type="database" />资源文件备份
</span>
<a-table :columns="columns" :dataSource="DataBaseData"> <a-table :columns="columns" :dataSource="DataBaseData">
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a href="javascript:;" @click="downResources('DataBaseData',record.id)"></a> <a href="javascript:;" @click="downResources('DataBaseData',record.id)"></a>
@ -26,7 +32,10 @@
</a-table> </a-table>
<a-button type="primary" @click="backupData('DataBaseData')"></a-button> <a-button type="primary" @click="backupData('DataBaseData')"></a-button>
</a-tab-pane> </a-tab-pane>
<a-tab-pane tab="文章备份" key="3"> <a-tab-pane key="3">
<span slot="tab">
<a-icon type="read" />文章备份
</span>
<a-table :columns="columns" :dataSource="FileData"> <a-table :columns="columns" :dataSource="FileData">
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a href="javascript:;" @click="downResources('FileData',record.id)"></a> <a href="javascript:;" @click="downResources('FileData',record.id)"></a>
@ -125,11 +134,8 @@ export default {
<style> <style>
.card-container { .card-container {
background: #f5f5f5; background: #f5f5f5;
overflow: hidden;
padding: 24px;
} }
.card-container > .ant-tabs-card > .ant-tabs-content { .card-container > .ant-tabs-card > .ant-tabs-content {
/* height: 120px; */
margin-top: -16px; margin-top: -16px;
} }
@ -151,4 +157,7 @@ export default {
border-color: #fff; border-color: #fff;
background: #fff; background: #fff;
} }
.ant-form-vertical .ant-form-item {
padding-bottom: 0;
}
</style> </style>

View File

@ -35,7 +35,7 @@
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="seo"> <a-tab-pane key="seo">
<span slot="tab"> <span slot="tab">
<a-icon type="read" />SEO设置 <a-icon type="global" />SEO设置
</span> </span>
<a-form layout="vertical"> <a-form layout="vertical">
<a-form-item label="关键词: " :wrapper-col="wrapperCol"> <a-form-item label="关键词: " :wrapper-col="wrapperCol">

View File

@ -4,23 +4,32 @@
<a-col :lg="10" :md="24" :style="{ 'padding-bottom': '12px' }"> <a-col :lg="10" :md="24" :style="{ 'padding-bottom': '12px' }">
<a-card :bodyStyle="{ padding: '16' }" :bordered="false"> <a-card :bodyStyle="{ padding: '16' }" :bordered="false">
<div class="profile-center-avatarHolder"> <div class="profile-center-avatarHolder">
<a-tooltip placement="right" :trigger="['hover']" title="点击可修改头像">
<template slot="title">
<span>prompt text</span>
</template>
<div class="avatar"> <div class="avatar">
<img :src="user.avatar || 'https://gravatar.loli.net/avatar/?s=256&d=mm'" /> <img :src="user.avatar || 'https://gravatar.loli.net/avatar/?s=256&d=mm'">
</div> </div>
</a-tooltip>
<div class="username">{{ user.nickname }}</div> <div class="username">{{ user.nickname }}</div>
<div class="bio">{{ user.description }}</div> <div class="bio">{{ user.description }}</div>
</div> </div>
<div class="profile-center-detail"> <div class="profile-center-detail">
<p> <p>
<a-icon type="mail" /> <a-icon type="link"/>
<a href="http://localhost:8090" target="method">http://localhost:8090</a>
</p>
<p>
<a-icon type="mail"/>
{{ user.email }} {{ user.email }}
</p> </p>
<p> <p>
<a-icon type="calendar" /> <a-icon type="calendar"/>
{{ counts.establishDays || 0 }} {{ counts.establishDays || 0 }}
</p> </p>
</div> </div>
<a-divider /> <a-divider/>
<div class="general-profile"> <div class="general-profile">
<a-list :loading="countsLoading" itemLayout="horizontal"> <a-list :loading="countsLoading" itemLayout="horizontal">
<a-list-item>累计发表了 {{ counts.postCount || 0 }} 篇文章</a-list-item> <a-list-item>累计发表了 {{ counts.postCount || 0 }} 篇文章</a-list-item>
@ -37,43 +46,48 @@
<a-card :bodyStyle="{ padding: '0' }" :bordered="false" title="个人资料"> <a-card :bodyStyle="{ padding: '0' }" :bordered="false" title="个人资料">
<div class="card-container"> <div class="card-container">
<a-tabs type="card"> <a-tabs type="card">
<a-tab-pane key="1" tab="基本资料"> <a-tab-pane key="1">
<span slot="tab">
<a-icon type="idcard"/>基本资料
</span>
<a-form layout="vertical"> <a-form layout="vertical">
<a-form-item label="用户名:"> <a-form-item label="用户名:">
<a-input v-model="user.username" /> <a-input v-model="user.username"/>
</a-form-item> </a-form-item>
<a-form-item label="昵称:"> <a-form-item label="昵称:">
<a-input v-model="user.nickname" /> <a-input v-model="user.nickname"/>
</a-form-item> </a-form-item>
<a-form-item label="邮箱:"> <a-form-item label="邮箱:">
<a-input v-model="user.email" /> <a-input v-model="user.email"/>
</a-form-item> </a-form-item>
<a-form-item label="个人说明:"> <a-form-item label="个人说明:">
<a-input :autosize="{ minRows: 5 }" type="textarea" v-model="user.description" /> <a-input :autosize="{ minRows: 5 }" type="textarea" v-model="user.description"/>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-button @click="updateProfile" type="primary">保存</a-button> <a-button @click="updateProfile" type="primary">保存</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="密码"> <a-tab-pane key="2">
<span slot="tab">
<a-icon type="lock"/>密码
</span>
<a-form layout="vertical"> <a-form layout="vertical">
<a-form-item label="原密码:"> <a-form-item label="原密码:">
<a-input type="password" v-model="passwordParam.oldPassword" /> <a-input type="password" v-model="passwordParam.oldPassword"/>
</a-form-item> </a-form-item>
<a-form-item label="新密码:"> <a-form-item label="新密码:">
<a-input type="password" v-model="passwordParam.newPassword" /> <a-input type="password" v-model="passwordParam.newPassword"/>
</a-form-item> </a-form-item>
<a-form-item label="确认密码:"> <a-form-item label="确认密码:">
<a-input type="password" v-model="passwordParam.confirmPassword" /> <a-input type="password" v-model="passwordParam.confirmPassword"/>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-button <a-button
:disabled="passwordUpdateButtonDisabled" :disabled="passwordUpdateButtonDisabled"
@click="updatePassword" @click="updatePassword"
type="primary" type="primary"
>确认更改 >确认更改</a-button>
</a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-tab-pane> </a-tab-pane>
@ -162,6 +176,7 @@ export default {
margin-bottom: 20px; margin-bottom: 20px;
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
cursor: pointer;
img { img {
height: 100%; height: 100%;