Compare commits

...

2 Commits

Author SHA1 Message Date
891bffba3b feat: 精简登录页面
- 使用纯色背景替代背景图片 (#28273a)
- 隐藏第三方登录入口 (使用v-if保留逻辑)
- 修改底部 Copyright 为 NJCQ Tech

参考项目: otc-boot/plus-ui-ts
2025-12-02 15:12:20 +08:00
07f8ef90bb feat: UI定制 - 精简导航栏和禁用深色模式
- 删除右上角GitHub、文档、全屏、语言、大小图标
- 隐藏消息入口(使用v-if保留逻辑)
- 移除设置面板的深色模式开关
- 注释后端登录欢迎消息推送

参考项目: otc-boot/plus-ui-ts
2025-12-02 15:05:04 +08:00
5 changed files with 19 additions and 60 deletions

View File

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

View File

@@ -27,8 +27,8 @@
<svg-icon class-name="search-icon" icon-class="search" />
</div>
</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>
<el-popover placement="bottom" trigger="click" transition="el-zoom-in-top" :width="300" :persistent="false">
<template #reference>
@@ -42,25 +42,6 @@
</el-popover>
</div>
</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>
<div class="avatar-container">
<el-dropdown class="right-menu-item hover-effect" trigger="click" @command="handleCommand">
@@ -281,6 +262,7 @@ watch(
.avatar-container {
margin-right: 40px;
margin-left: 20px;
.avatar-wrapper {
margin-top: 5px;

View File

@@ -34,12 +34,6 @@
<el-color-picker v-model="theme" :predefine="predefineColors" @change="themeChange" />
</span>
</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 />
@@ -114,22 +108,6 @@ const sideTheme = ref(settingsStore.sideTheme);
const storeSettings = computed(() => settingsStore);
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) => {
if (!val) {
appStore.toggleSideBarHide(false);
@@ -148,11 +126,6 @@ const themeChange = (val: string) => {
};
const handleTheme = (val: string) => {
sideTheme.value = val;
if (isDark.value && val === SideThemeEnum.LIGHT) {
// 暗黑模式颜色不变
settingsStore.sideTheme = SideThemeEnum.DARK;
return;
}
settingsStore.sideTheme = val;
};
const saveSetting = () => {

View File

@@ -44,7 +44,7 @@
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin: 0 0 25px 0">{{ proxy.$t('login.rememberPassword') }}</el-checkbox>
<el-form-item style="float: right">
<el-form-item v-if="false" style="float: right">
<el-button circle :title="proxy.$t('login.social.wechat')" @click="doSocialLogin('wechat')">
<svg-icon icon-class="wechat" />
</el-button>
@@ -73,7 +73,7 @@
</el-form>
<!-- 底部 -->
<div class="el-login-footer">
<span>Copyright © 2018-2025 疯狂的狮子Li All Rights Reserved.</span>
<span>Copyright © 2021-2025 NJCQ Tech All Rights Reserved.</span>
</div>
</div>
</template>
@@ -236,8 +236,9 @@ onMounted(() => {
justify-content: center;
align-items: center;
height: 100%;
background-image: url('../assets/images/login-background.jpg');
background-size: cover;
// background-image: url('../assets/images/login-background.jpg');
background-color: #28273a;
// background-size: cover;
}
.title-box {

View File

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