mes跳转过来用户不变的问题和不允许操作退出

This commit is contained in:
2026-08-18 14:20:09 +08:00
parent 2a82167c23
commit 774f54ede5
7 changed files with 26 additions and 28 deletions

View File

@@ -17,7 +17,7 @@ VUE_APP_TITLE = 洛玻集团驾驶舱
# VUE_APP_BASE_API = 'http://192.168.0.35:8080' # VUE_APP_BASE_API = 'http://192.168.0.35:8080'
# 闫阳 # 闫阳
# VUE_APP_BASE_API = 'http://172.16.19.131:7070' # VUE_APP_BASE_API = 'http://172.16.19.131:7070'
VUE_APP_BASE_API = 'http://172.16.20.187:7070' VUE_APP_BASE_API = 'http://dashboard.kszny.picaiba.com'
# 路由懒加载 # 路由懒加载

View File

@@ -11,20 +11,14 @@
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="require(`../../assets/images/choicepart/avatar.png`)" class="user-avatar"> <img :src="require(`../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span> <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" /> <!-- <i class="el-icon-caret-bottom" /> -->
</div> </div>
<el-dropdown-menu slot="dropdown"> <!-- <el-dropdown-menu slot="dropdown">
<!-- <router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link> -->
<!-- <el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item> -->
<el-dropdown-item @click.native="logout"> <el-dropdown-item @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item> <el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu> -->
</el-dropdown> </el-dropdown>
</div> </div>
</div> </div>
@@ -180,7 +174,7 @@ export default {
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; // cursor: pointer;
width: 35px; width: 35px;
height: 35px; height: 35px;
border-radius: 50%; border-radius: 50%;

View File

@@ -56,11 +56,15 @@ const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/regi
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()
// === MES SSO 跳转URL 参数中携带 token自动存储并登录 === // === MES SSO 跳转URL 参数中携带 token自动存储并登录 ===
// 本地 token 与 URL token 不一致(换用户或首次跳转)时,覆盖并强制重新登录
const searchParams = new URLSearchParams(window.location.search) const searchParams = new URLSearchParams(window.location.search)
const urlAccessToken = searchParams.get('accessToken') || searchParams.get('access_token') const urlAccessToken = searchParams.get('accessToken') || searchParams.get('access_token')
const urlRefreshToken = searchParams.get('refreshToken') || searchParams.get('refresh_token') const urlRefreshToken = searchParams.get('refreshToken') || searchParams.get('refresh_token')
if (urlAccessToken && urlRefreshToken && !getAccessToken()) { if (urlAccessToken && urlRefreshToken && urlAccessToken !== getAccessToken()) {
setToken({ accessToken: urlAccessToken, refreshToken: urlRefreshToken }) setToken({ accessToken: urlAccessToken, refreshToken: urlRefreshToken })
// 清空已加载的用户状态,否则 roles 已存在时守卫不会重新 GetInfo导致显示旧用户
store.commit('SET_ROLES', [])
store.commit('SET_PERMISSIONS', [])
next({ path: '/', replace: true }) next({ path: '/', replace: true })
return return
} }

View File

@@ -12,14 +12,14 @@
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar"> <img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span> <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" /> <!-- <i class="el-icon-caret-bottom" /> -->
</div> </div>
<el-dropdown-menu slot="dropdown"> <!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout"> <el-dropdown-item @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item> <el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu> -->
</el-dropdown> </el-dropdown>
<el-button type="text" class="screen-btn" @click="changeHomeSider"> <el-button type="text" class="screen-btn" @click="changeHomeSider">
<svg-icon style="color: #0B58FF;" v-if="openSider" icon-class="closeSider" /> <svg-icon style="color: #0B58FF;" v-if="openSider" icon-class="closeSider" />
@@ -389,7 +389,7 @@ export default {
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; // cursor: pointer;
width: 32px; width: 32px;
height: 32px; height: 32px;
border-radius: 50%; border-radius: 50%;

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar"> <img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span> <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" /> <!-- <i class="el-icon-caret-bottom" /> -->
</div> </div>
<el-dropdown-menu slot="dropdown"> <!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout"> <el-dropdown-item @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item> <el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu> -->
</el-dropdown> </el-dropdown>
<!-- <el-button type="text" class="return-btn" :title="'返回'" @click="handleReturn"> <!-- <el-button type="text" class="return-btn" :title="'返回'" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" /> <svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -378,7 +378,7 @@ export default {
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; // cursor: pointer;
width: 32px; width: 32px;
height: 32px; height: 32px;
border-radius: 50%; border-radius: 50%;

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar"> <img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span> <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" /> <!-- <i class="el-icon-caret-bottom" /> -->
</div> </div>
<el-dropdown-menu slot="dropdown"> <!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout"> <el-dropdown-item @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item> <el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu> -->
</el-dropdown> </el-dropdown>
<el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn"> <el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" /> <svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -408,7 +408,7 @@ export default {
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; // cursor: pointer;
width: 32px; width: 32px;
height: 32px; height: 32px;
border-radius: 50%; border-radius: 50%;

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar"> <img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span> <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" /> <!-- <i class="el-icon-caret-bottom" /> -->
</div> </div>
<el-dropdown-menu slot="dropdown"> <!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout"> <el-dropdown-item @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item> <el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu> -->
</el-dropdown> </el-dropdown>
<el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn"> <el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" /> <svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -476,7 +476,7 @@ export default {
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; // cursor: pointer;
width: 32px; width: 32px;
height: 32px; height: 32px;
border-radius: 50%; border-radius: 50%;