From 3fbbe8a7f0d262aad1dae34c81d212457e114aa6 Mon Sep 17 00:00:00 2001 From: Pan Date: Wed, 29 Aug 2018 14:58:38 +0800 Subject: [PATCH] add global size option --- src/components/SizeSelect/index.vue | 61 ++++++++++++++++++++++++++ src/icons/svg/size.svg | 2 + src/main.js | 4 +- src/router/index.js | 11 +++++ src/store/getters.js | 1 + src/store/modules/app.js | 10 ++++- src/views/layout/components/Navbar.vue | 4 ++ src/views/redirect/index.vue | 11 +++++ 8 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 src/components/SizeSelect/index.vue create mode 100644 src/icons/svg/size.svg create mode 100644 src/views/redirect/index.vue diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue new file mode 100644 index 00000000..77f931c6 --- /dev/null +++ b/src/components/SizeSelect/index.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/src/icons/svg/size.svg b/src/icons/svg/size.svg new file mode 100644 index 00000000..def290f7 --- /dev/null +++ b/src/icons/svg/size.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 1dc4af9e..1ce709c9 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,7 @@ import Vue from 'vue' +import Cookies from 'js-cookie' + import 'normalize.css/normalize.css' // A modern alternative to CSS resets import Element from 'element-ui' @@ -20,7 +22,7 @@ import './mock' // simulation data import * as filters from './filters' // global filters Vue.use(Element, { - size: 'medium', // set element-ui default size + size: Cookies.get('size') || 'medium', // set element-ui default size i18n: (key, value) => i18n.t(key, value) }) diff --git a/src/router/index.js b/src/router/index.js index 6c0c0f0d..2daae31f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -31,6 +31,17 @@ import nestedRouter from './modules/nested' } **/ export const constantRouterMap = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path*', + component: () => import('@/views/redirect/index') + } + ] + }, { path: '/login', component: () => import('@/views/login/index'), diff --git a/src/store/getters.js b/src/store/getters.js index d68251fd..cf314f5c 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -1,6 +1,7 @@ const getters = { sidebar: state => state.app.sidebar, language: state => state.app.language, + size: state => state.app.size, device: state => state.app.device, visitedViews: state => state.tagsView.visitedViews, cachedViews: state => state.tagsView.cachedViews, diff --git a/src/store/modules/app.js b/src/store/modules/app.js index d89664f8..bc4fb478 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -7,7 +7,8 @@ const app = { withoutAnimation: false }, device: 'desktop', - language: Cookies.get('language') || 'en' + language: Cookies.get('language') || 'en', + size: Cookies.get('size') || 'medium' }, mutations: { TOGGLE_SIDEBAR: state => { @@ -30,6 +31,10 @@ const app = { SET_LANGUAGE: (state, language) => { state.language = language Cookies.set('language', language) + }, + SET_SIZE: (state, size) => { + state.size = size + Cookies.set('size', size) } }, actions: { @@ -44,6 +49,9 @@ const app = { }, setLanguage({ commit }, language) { commit('SET_LANGUAGE', language) + }, + setSize({ commit }, size) { + commit('SET_SIZE', size) } } } diff --git a/src/views/layout/components/Navbar.vue b/src/views/layout/components/Navbar.vue index 07244584..95eae4cd 100644 --- a/src/views/layout/components/Navbar.vue +++ b/src/views/layout/components/Navbar.vue @@ -11,6 +11,8 @@ + + @@ -48,6 +50,7 @@ import Breadcrumb from '@/components/Breadcrumb' import Hamburger from '@/components/Hamburger' import ErrorLog from '@/components/ErrorLog' import Screenfull from '@/components/Screenfull' +import SizeSelect from '@/components/SizeSelect' import LangSelect from '@/components/LangSelect' import ThemePicker from '@/components/ThemePicker' @@ -57,6 +60,7 @@ export default { Hamburger, ErrorLog, Screenfull, + SizeSelect, LangSelect, ThemePicker }, diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue new file mode 100644 index 00000000..fdf0a897 --- /dev/null +++ b/src/views/redirect/index.vue @@ -0,0 +1,11 @@ +