feat: UI定制 - 精简导航栏和禁用深色模式

- 删除右上角GitHub、文档、全屏、语言、大小图标
- 隐藏消息入口(使用v-if保留逻辑)
- 移除设置面板的深色模式开关
- 注释后端登录欢迎消息推送

参考项目: otc-boot/plus-ui-ts
This commit is contained in:
2025-12-02 15:05:04 +08:00
parent e076e42b86
commit 07f8ef90bb
4 changed files with 14 additions and 56 deletions

View File

@@ -3,7 +3,9 @@
"allow": [ "allow": [
"Bash(tree:*)", "Bash(tree:*)",
"Bash(mvn clean package:*)", "Bash(mvn clean package:*)",
"Bash(echo:*)" "Bash(echo:*)",
"Bash(git add:*)",
"Bash(git commit:*)"
], ],
"deny": [], "deny": [],
"ask": [] "ask": []

View File

@@ -27,8 +27,8 @@
<svg-icon class-name="search-icon" icon-class="search" /> <svg-icon class-name="search-icon" icon-class="search" />
</div> </div>
</el-tooltip> </el-tooltip>
<!-- 消息 --> <!-- 消息 - 已隐藏 -->
<el-tooltip :content="proxy.$t('navbar.message')" effect="dark" placement="bottom"> <el-tooltip v-if="false" :content="proxy.$t('navbar.message')" effect="dark" placement="bottom">
<div> <div>
<el-popover placement="bottom" trigger="click" transition="el-zoom-in-top" :width="300" :persistent="false"> <el-popover placement="bottom" trigger="click" transition="el-zoom-in-top" :width="300" :persistent="false">
<template #reference> <template #reference>
@@ -42,25 +42,6 @@
</el-popover> </el-popover>
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip content="Github" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip :content="proxy.$t('navbar.document')" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip :content="proxy.$t('navbar.full')" effect="dark" placement="bottom">
<screenfull id="screenfull" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip :content="proxy.$t('navbar.language')" effect="dark" placement="bottom">
<lang-select id="lang-select" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip :content="proxy.$t('navbar.layoutSize')" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
</template> </template>
<div class="avatar-container"> <div class="avatar-container">
<el-dropdown class="right-menu-item hover-effect" trigger="click" @command="handleCommand"> <el-dropdown class="right-menu-item hover-effect" trigger="click" @command="handleCommand">
@@ -281,6 +262,7 @@ watch(
.avatar-container { .avatar-container {
margin-right: 40px; margin-right: 40px;
margin-left: 20px;
.avatar-wrapper { .avatar-wrapper {
margin-top: 5px; margin-top: 5px;

View File

@@ -34,12 +34,6 @@
<el-color-picker v-model="theme" :predefine="predefineColors" @change="themeChange" /> <el-color-picker v-model="theme" :predefine="predefineColors" @change="themeChange" />
</span> </span>
</div> </div>
<div class="drawer-item">
<span>深色模式</span>
<span class="comp-style">
<el-switch v-model="isDark" class="drawer-switch" @change="toggleDark" />
</span>
</div>
<el-divider /> <el-divider />
@@ -114,22 +108,6 @@ const sideTheme = ref(settingsStore.sideTheme);
const storeSettings = computed(() => settingsStore); const storeSettings = computed(() => settingsStore);
const predefineColors = ref(['#409EFF', '#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585']); const predefineColors = ref(['#409EFF', '#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585']);
// 是否暗黑模式
const isDark = useDark({
storageKey: 'useDarkKey',
valueDark: 'dark',
valueLight: 'light'
});
// 匹配菜单颜色
watch(isDark, () => {
if (isDark.value) {
settingsStore.sideTheme = SideThemeEnum.DARK;
} else {
settingsStore.sideTheme = sideTheme.value;
}
});
const toggleDark = () => useToggle(isDark);
const topNavChange = (val: any) => { const topNavChange = (val: any) => {
if (!val) { if (!val) {
appStore.toggleSideBarHide(false); appStore.toggleSideBarHide(false);
@@ -148,11 +126,6 @@ const themeChange = (val: string) => {
}; };
const handleTheme = (val: string) => { const handleTheme = (val: string) => {
sideTheme.value = val; sideTheme.value = val;
if (isDark.value && val === SideThemeEnum.LIGHT) {
// 暗黑模式颜色不变
settingsStore.sideTheme = SideThemeEnum.DARK;
return;
}
settingsStore.sideTheme = val; settingsStore.sideTheme = val;
}; };
const saveSetting = () => { const saveSetting = () => {

View File

@@ -103,13 +103,14 @@ public class AuthController {
// 登录 // 登录
LoginVo loginVo = IAuthStrategy.login(body, client, grantType); LoginVo loginVo = IAuthStrategy.login(body, client, grantType);
Long userId = LoginHelper.getUserId(); // 注释掉登录欢迎消息推送 - UI定制需求
scheduledExecutorService.schedule(() -> { // Long userId = LoginHelper.getUserId();
SseMessageDto dto = new SseMessageDto(); // scheduledExecutorService.schedule(() -> {
dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统"); // SseMessageDto dto = new SseMessageDto();
dto.setUserIds(List.of(userId)); // dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统");
SseMessageUtils.publishMessage(dto); // dto.setUserIds(List.of(userId));
}, 5, TimeUnit.SECONDS); // SseMessageUtils.publishMessage(dto);
// }, 5, TimeUnit.SECONDS);
return R.ok(loginVo); return R.ok(loginVo);
} }