|
|
@ -1,4 +1,3 @@ |
|
|
|
|
|
|
|
<script setup> |
|
|
|
import { |
|
|
|
Promotion, |
|
|
@ -20,89 +19,93 @@ const handleClose = (key, keyPath) => { |
|
|
|
// console.log('菜单关闭:', key, keyPath) |
|
|
|
} |
|
|
|
|
|
|
|
// const handleLogout = () => { |
|
|
|
// ElMessageBox.confirm('确定要退出登录吗?', '提示', { |
|
|
|
// confirmButtonText: '确定', |
|
|
|
// cancelButtonText: '取消', |
|
|
|
// type: 'warning' |
|
|
|
// }).then(async () => { |
|
|
|
// try { |
|
|
|
// const response = await adminlogout({ |
|
|
|
// token: localStorage.getItem('token') |
|
|
|
// }); |
|
|
|
// console.log('response:', response); |
|
|
|
// // ✅ 正确访问 response.data.code |
|
|
|
// if (response.code == 200) { |
|
|
|
// ElMessage.success('退出成功'); |
|
|
|
// localStorage.removeItem('token'); |
|
|
|
// router.push('/homePage'); |
|
|
|
// } else { |
|
|
|
// ElMessage.error(response.data.message || '退出失败'); |
|
|
|
// } |
|
|
|
// } catch (error) { |
|
|
|
// ElMessage.error('请求失败,请稍后再试'); |
|
|
|
// console.error('退出错误:', error); |
|
|
|
// } |
|
|
|
// }).catch(() => { |
|
|
|
// router.back() |
|
|
|
// ElMessage.info('已取消退出'); |
|
|
|
// }); |
|
|
|
// }; |
|
|
|
const handleLogout = () => { |
|
|
|
ElMessageBox.confirm('确定要退出登录吗?', '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(async () => { |
|
|
|
try { |
|
|
|
const response = await adminlogout({ |
|
|
|
token: localStorage.getItem('token') |
|
|
|
}); |
|
|
|
console.log('response:', response); |
|
|
|
// ✅ 正确访问 response.data.code |
|
|
|
if (response.code == 200) { |
|
|
|
ElMessage.success('退出成功'); |
|
|
|
localStorage.removeItem('token'); |
|
|
|
router.push('/homePage'); |
|
|
|
} else { |
|
|
|
ElMessage.error(response.data.message || '退出失败'); |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
ElMessage.error('请求失败,请稍后再试'); |
|
|
|
console.error('退出错误:', error); |
|
|
|
} |
|
|
|
}).catch(() => { |
|
|
|
router.back() |
|
|
|
ElMessage.info('已取消退出'); |
|
|
|
}); |
|
|
|
}; |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
<div class="common-layout"> |
|
|
|
<el-container class="el-container"> |
|
|
|
<!-- 左侧菜单 --> |
|
|
|
<el-aside class="aside"> |
|
|
|
<el-menu |
|
|
|
active-text-color="#ffd04b" |
|
|
|
background-color="#545c64" |
|
|
|
class="el-menu-vertical-demo" |
|
|
|
default-active="/index" |
|
|
|
text-color="#fff" |
|
|
|
@open="handleOpen" |
|
|
|
@close="handleClose" |
|
|
|
style="height: 100%;" |
|
|
|
router |
|
|
|
> |
|
|
|
<el-menu-item index="/zhongchou/mainimg" > |
|
|
|
<el-icon><Promotion /></el-icon> |
|
|
|
<span>后台管理系统</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/levelManagement" > |
|
|
|
<el-icon><location /></el-icon> |
|
|
|
<span>等级管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/giftManagement" > |
|
|
|
<el-icon><icon-menu /></el-icon> |
|
|
|
<span>礼品管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/winningManagement"> |
|
|
|
<el-icon><document /></el-icon> |
|
|
|
<span>中奖管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/activityManagement"> |
|
|
|
<el-icon><HelpFilled /></el-icon> |
|
|
|
<span>活动管理</span> |
|
|
|
</el-menu-item> |
|
|
|
<el-container class="el-container"> |
|
|
|
<!-- 左侧菜单 --> |
|
|
|
<el-aside class="aside"> |
|
|
|
<el-menu active-text-color="#ffd04b" background-color="#545c64" class="el-menu-vertical-demo" |
|
|
|
default-active="/index" text-color="#fff" @open="handleOpen" @close="handleClose" style="height: 100%;" |
|
|
|
router> |
|
|
|
<el-menu-item index="/zhongchou/mainimg"> |
|
|
|
<el-icon> |
|
|
|
<Promotion /> |
|
|
|
</el-icon> |
|
|
|
<span>后台管理系统</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/levelManagement"> |
|
|
|
<el-icon> |
|
|
|
<location /> |
|
|
|
</el-icon> |
|
|
|
<span>等级管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/giftManagement"> |
|
|
|
<el-icon><icon-menu /></el-icon> |
|
|
|
<span>礼品管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/winningManagement"> |
|
|
|
<el-icon> |
|
|
|
<document /> |
|
|
|
</el-icon> |
|
|
|
<span>中奖管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
<el-menu-item index="/zhongchou/userManagement"> |
|
|
|
<el-icon><User /></el-icon> |
|
|
|
<span>管理员管理</span> |
|
|
|
</el-menu-item> |
|
|
|
<el-menu-item index="/zhongchou/activityManagement"> |
|
|
|
<el-icon> |
|
|
|
<HelpFilled /> |
|
|
|
</el-icon> |
|
|
|
<span>活动管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
</el-menu> |
|
|
|
</el-aside> |
|
|
|
|
|
|
|
<el-main class="el-main"> |
|
|
|
<router-view></router-view> |
|
|
|
</el-main> |
|
|
|
</el-container> |
|
|
|
<el-menu-item index="/zhongchou/userManagement"> |
|
|
|
<el-icon> |
|
|
|
<User /> |
|
|
|
</el-icon> |
|
|
|
<span>管理员管理</span> |
|
|
|
</el-menu-item> |
|
|
|
|
|
|
|
</el-menu> |
|
|
|
</el-aside> |
|
|
|
<el-header class="el-header"> |
|
|
|
<el-button @click="handleLogout">退出登录</el-button> |
|
|
|
</el-header> |
|
|
|
<el-main class="el-main"> |
|
|
|
<router-view></router-view> |
|
|
|
</el-main> |
|
|
|
</el-container> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
@ -131,8 +134,13 @@ a { |
|
|
|
} |
|
|
|
|
|
|
|
.el-main { |
|
|
|
flex: 1; /* 关键:自动撑满剩余空间 */ |
|
|
|
flex: 1; |
|
|
|
/* 关键:自动撑满剩余空间 */ |
|
|
|
padding: 20px; |
|
|
|
overflow: auto; |
|
|
|
} |
|
|
|
|
|
|
|
.el-header { |
|
|
|
|
|
|
|
} |
|
|
|
</style> |