From 325a5fb0c4a83b20849578c22dc49c0453c01dec Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期四, 09 五月 2024 18:13:43 +0800
Subject: [PATCH] 优化logo显示逻辑
---
src/assets/logo-2t.jpg | 0
src/assets/logo-t.png | 0
src/layout/index.vue | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
src/views/demography/login.vue | 1 -
4 files changed, 52 insertions(+), 8 deletions(-)
diff --git a/src/assets/logo-t.jpg b/src/assets/logo-2t.jpg
similarity index 100%
rename from src/assets/logo-t.jpg
rename to src/assets/logo-2t.jpg
Binary files differ
diff --git a/src/assets/logo-t.png b/src/assets/logo-t.png
new file mode 100644
index 0000000..40dcb70
--- /dev/null
+++ b/src/assets/logo-t.png
Binary files differ
diff --git a/src/layout/index.vue b/src/layout/index.vue
index ca5a298..abbd80c 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -8,11 +8,14 @@
</div>
<div class="head-user" style="float:left;">
<el-dropdown trigger="click" placement="bottom">
+ <!--
<el-image v-if="productType=='API_Fan'" :style="{'max-height': isMobile?'50px':'50px','margin-top':'5px','height':logoHeight+'px'}" :src="require('@/assets/logo-apifan.png')" fit="fill"></el-image>
<el-image @load="imageLoad" @error="imageError" v-else-if="logo!='none'" :style="{'max-height': isMobile?'50px':'50px','margin-top':'5px','height':logoHeight+'px'}" :src="logo" fit="fill"></el-image>
<el-badge v-else-if="logo=='none'" style="height: 50px;">
<el-avatar class="el-dropdown-avatar" size="medium" :src="userInfo.imagePath === null ? require('@/assets/logo-t.jpg') : userInfo.imagePath"></el-avatar>
</el-badge>
+ -->
+ <el-image v-if="logoUrl != null" :style="{'max-height': isMobile?'50px':'50px','margin-top':'5px','height':logoHeight+'px'}" :src="logoUrl" fit="fill"></el-image>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item divided>淇濆瓨閫�鍑�</el-dropdown-item>-->
</el-dropdown-menu>
@@ -36,20 +39,51 @@
return {
defaultUrl: '/index',
logoHeight: 50,
- logoUrl: null,
userInfo: {
imagePath: null
},
+ logoUrl: null,
langSelect: 'langSelect',
isMobile: /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obile|ini)/.test(navigator.userAgent)
}
},
created () {
},
- computed: {
-
+ watch: {
+ logo: function (val) {
+ let sessionLogoUrl = sessionStorage.getItem('logoUrl')
+ if (this.productType === 'API_Fan') {
+ this.logoUrl = require('@/assets/logo-apifan.png')
+ } else if (val === 'none') {
+ this.logoUrl = require('@/assets/logo-t.png')
+ } else if (val !== null) {
+ this.logoUrl = val
+ } else if (sessionLogoUrl !== null) {
+ this.logoUrl = sessionLogoUrl
+ }
+ console.log('logoUrl:' + this.logoUrl)
+ sessionStorage.setItem('logoUrl', this.logoUrl)
+ }
+ },
+ mounted () {
+ let sessionLogoUrl = sessionStorage.getItem('logoUrl')
+ if (sessionLogoUrl !== null) {
+ this.logoUrl = sessionLogoUrl
+ }
+ window.addEventListener('beforeunload', this.handleBeforeUnload)
+ window.addEventListener('unload', this.handleUnload)
+ },
+ beforeDestroy () {
+ window.removeEventListener('beforeunload', this.handleBeforeUnload)
+ window.removeEventListener('unload', this.handleUnload)
},
methods: {
+ handleBeforeUnload: function () {
+ sessionStorage.setItem('logoUrl', this.logoUrl)
+ },
+ handleUnload: function () {
+ console.log('宸茬粡鍒锋柊')
+ },
logout: function () {
window.opener = null
window.open('about:blank', '_top').close()
@@ -58,7 +92,6 @@
},
imageLoad: function (e) {
- sessionStorage.setItem('logoUrl', this.logo)
let that = this
var img = new Image()
img.onload = function () {
@@ -70,9 +103,6 @@
img.src = that.logo
},
imageError: function (e) {
- if (this.logo === null) {
- this.setLogo(sessionStorage.getItem('logoUrl'))
- }
},
...mapMutations('user', ['setLogo'])
},
@@ -80,6 +110,21 @@
'langSelect': LangSelect
},
computed: {
+ // logoUrl: function () {
+ // console.log('this.logo')
+ // console.log(this.logo)
+ // let sessionLogoUrl = this.setLogo(sessionStorage.getItem('logoUrl'))
+ // if (this.productType === 'API_Fan') {
+ // return require('@/assets/logo-apifan.png')
+ // } else if (this.logo === 'none') {
+ // return require('@/assets/logo-t.jpg')
+ // } else if (this.logo === null && sessionLogoUrl !== null) {
+ // return sessionLogoUrl
+ // } else {
+ // sessionStorage.setItem('logoUrl', this.logo)
+ // return this.logo
+ // }
+ // },
...mapState('user', { langFlag: state => state.langFlag }),
...mapState('user', { logo: state => state.logo }),
...mapState('exam', { productType: state => state.productType })
diff --git a/src/views/demography/login.vue b/src/views/demography/login.vue
index d83388d..a1d50ae 100644
--- a/src/views/demography/login.vue
+++ b/src/views/demography/login.vue
@@ -36,7 +36,6 @@
} else {
_this.setLogo(re.response.logoUrl)
}
- console.log('response')
console.log(re.response)
_this.setProductType(re.response.productType)
if (re.response.finish === 1) {
--
Gitblit v1.9.1