From 4eb1c43635c367153f55e786e7d377ba74c13988 Mon Sep 17 00:00:00 2001 From: jmal Date: Mon, 29 Aug 2022 21:48:36 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E7=BD=91=E7=9B=98logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Logo/index.vue | 8 ++++++-- src/layout/components/Sidebar/Logo.vue | 28 +++++++++++++++++++++----- src/permission.js | 3 +++ src/store/modules/user.js | 4 +++- src/utils/get-page-title.js | 1 + src/utils/logo.js | 25 +++++++++++++++++++++++ src/views/login/index.vue | 2 +- src/views/setting/cloudManager.vue | 3 +++ 8 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 src/utils/logo.js diff --git a/src/components/Logo/index.vue b/src/components/Logo/index.vue index 3e80d7a..6e98490 100644 --- a/src/components/Logo/index.vue +++ b/src/components/Logo/index.vue @@ -1,7 +1,7 @@ @@ -18,6 +18,10 @@ export default { width: { type: Number, default: 50 + }, + padding: { + type: Number, + default: 0 } }, data() { diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 017b64a..541db8e 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -6,10 +6,10 @@ - + - +

{{ title }}

@@ -29,6 +29,21 @@ export default { required: true } }, + computed: { + title() { + console.log('this.$store.state.user', this.$store.state.user) + if (this.$store.state.user.netdiskName) { + return this.$store.state.user.netdiskName + } + return 'jmalcloud' + }, + netdiskLogo() { + if (this.$store.state.user.netdiskLogo) { + return this.$store.state.user.netdiskLogo + } + return '' + } + }, mounted() { Bus.$on('updateLogo', () => { console.log('updateLogo', this.$store.state.user.netdiskLogo) @@ -37,8 +52,6 @@ export default { }, data() { return { - title: 'jmalcloud', - netdiskLogo: '' } } } @@ -94,8 +107,13 @@ export default { &.collapse { .sidebar-logo { - margin-right: 0px; + margin-right: 0; } } + + .logo-expand { + display: inline-flex !important; + width: auto !important; + } } diff --git a/src/permission.js b/src/permission.js index 930234d..4c47206 100644 --- a/src/permission.js +++ b/src/permission.js @@ -5,6 +5,8 @@ import 'nprogress/nprogress.css' // 进度条样式 import { getToken } from '@/utils/auth' // 认证获取token import getPageTitle from '@/utils/get-page-title' +import { getLogoName, getLogo } from '@/utils/logo' + NProgress.configure({ showSpinner: false }) // NProgress配置 const whiteList = ['/login','/s','/s/','/s_m','/s_m/'] // 白名单 @@ -13,6 +15,7 @@ router.beforeEach(async(to, from, next) => { // 开始进度条 NProgress.start() // 设置页面标题 + console.log('to.meta.title', to.meta.title) document.title = getPageTitle(to.meta.title) // 确认用户是否已登录 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 7346ffe..c4c6400 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -112,13 +112,15 @@ const actions = { // reject('Verification failed, please Login again.') } - const { id, username, showName, avatar } = data + const { id, username, showName, avatar, netdiskName, netdiskLogo} = data commit('SET_NAME', username) commit('SET_SHOW_NAME', showName) commit('SET_AVATAR', avatar) commit('SET_USERID', id) commit('SET_USER_INFO', data) + commit('SET_NETDISK_NAME', netdiskName) + commit('SET_NETDISK_LOGO', netdiskLogo) sessionStorage.setItem('store', JSON.stringify(state)) resolve(data) }).catch(error => { diff --git a/src/utils/get-page-title.js b/src/utils/get-page-title.js index a6de99d..88bf77c 100644 --- a/src/utils/get-page-title.js +++ b/src/utils/get-page-title.js @@ -4,6 +4,7 @@ const title = defaultSettings.title || 'Vue Admin Template' export default function getPageTitle(pageTitle) { if (pageTitle) { + console.log('title', title) return `${pageTitle} - ${title}` } return `${title}` diff --git a/src/utils/logo.js b/src/utils/logo.js new file mode 100644 index 0000000..bd730cc --- /dev/null +++ b/src/utils/logo.js @@ -0,0 +1,25 @@ +import Cookies from 'js-cookie' + +const titleKey = 'netdisk-name' + +const logoKey = 'netdisk-logo' + +export function getLogoName() { + const res = Cookies.get(titleKey) + return !res || res === 'undefined' ? res : 'jmalcloud' +} + +export function getLogo() { + const res = Cookies.get(logoKey) + return !res || res === 'undefined' ? res : '' +} + +export function setLogoName(logoName, logo) { + Cookies.set(titleKey, logoName) + return Cookies.set(logoKey, logo) +} + +export function removeLogo() { + Cookies.remove(titleKey) + return Cookies.remove(logoKey) +} diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 09ed569..94ee91c 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -13,7 +13,7 @@
-
{{ webstieRecord.netdiskName }}
+
{{ webstieRecord.netdiskName ? webstieRecord.netdiskName : 'jmalcloud' }}
diff --git a/src/views/setting/cloudManager.vue b/src/views/setting/cloudManager.vue index 8c6698a..b3558aa 100644 --- a/src/views/setting/cloudManager.vue +++ b/src/views/setting/cloudManager.vue @@ -142,6 +142,9 @@ export default { const reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]+$/; if(reg.test(this.netdiskName)) { settingApi.updateNetdiskName({netdiskName: this.netdiskName}).then(() => { + this.$store.dispatch('user/setLogo', {netdiskName: this.netdiskName, netdiskLogo: this.logoFileName}).then(()=> { + Bus.$emit('updateLogo') + }) this.$message.success("网盘名称 修改成功") this.setInputBlur() }).catch(()=>{