From ac3bfb6b80c4d58669acfdeeb286a691a1454905 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=B6=9B?= <1537080775@qq.com>
Date: Wed, 25 Jun 2025 10:42:01 +0800
Subject: [PATCH] =?UTF-8?q?refactor(theme):=20=E4=BC=98=E5=8C=96=E4=B8=BB?=
=?UTF-8?q?=E9=A2=98=E6=A0=B7=E5=BC=8F=E5=B9=B6=E7=A7=BB=E9=99=A4=E5=86=97?=
=?UTF-8?q?=E4=BD=99=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将 @import 替换为 @use,提高代码的可维护性
- 统一使用 index 作为命名空间,避免变量名冲突
- 移除不必要的注释和空格,精简代码
- 删除未使用的 isSocketOpen 属性,简化数据结构
---
web/src/layout/navBars/breadcrumb/user.vue | 11 ++-----
web/src/stores/interface/index.ts | 1 -
web/src/stores/userInfo.ts | 1 -
web/src/theme/element.scss | 4 +--
web/src/theme/index.scss | 16 +++++-----
web/src/theme/media/chart.scss | 8 ++---
web/src/theme/media/cityLinkage.scss | 4 +--
web/src/theme/media/date.scss | 4 +--
web/src/theme/media/dialog.scss | 2 +-
web/src/theme/media/error.scss | 8 ++---
web/src/theme/media/form.scss | 4 +--
web/src/theme/media/home.scss | 6 ++--
web/src/theme/media/layout.scss | 6 ++--
web/src/theme/media/login.scss | 8 ++---
web/src/theme/media/media.scss | 26 ++++++++--------
web/src/theme/media/pagination.scss | 4 +--
web/src/theme/media/personal.scss | 4 +--
web/src/theme/media/scrollbar.scss | 4 +--
web/src/theme/media/tagsView.scss | 4 +--
web/src/views/system/personal/index.vue | 36 +++++++++++-----------
20 files changed, 77 insertions(+), 84 deletions(-)
diff --git a/web/src/layout/navBars/breadcrumb/user.vue b/web/src/layout/navBars/breadcrumb/user.vue
index 92e68c6c7..06b0effe6 100644
--- a/web/src/layout/navBars/breadcrumb/user.vue
+++ b/web/src/layout/navBars/breadcrumb/user.vue
@@ -60,11 +60,9 @@
-
-
-
-
-
+
+
+
{{ userInfos.username === '' ? 'common' : userInfos.username }}
@@ -125,9 +123,6 @@ const layoutUserFlexNum = computed(() => {
return num;
});
-// 定义变量内容
-const { isSocketOpen } = storeToRefs(useUserInfo());
-
// 全屏点击时
const onScreenfullClick = () => {
if (!screenfull.isEnabled) {
diff --git a/web/src/stores/interface/index.ts b/web/src/stores/interface/index.ts
index 9f73c9212..5083cf45b 100644
--- a/web/src/stores/interface/index.ts
+++ b/web/src/stores/interface/index.ts
@@ -23,7 +23,6 @@ export interface UserInfosState {
}
export interface UserInfosStates {
userInfos: UserInfosState;
- isSocketOpen: boolean
}
// 路由缓存列表
diff --git a/web/src/stores/userInfo.ts b/web/src/stores/userInfo.ts
index a33d8cb79..bdaf4bc2a 100644
--- a/web/src/stores/userInfo.ts
+++ b/web/src/stores/userInfo.ts
@@ -32,7 +32,6 @@ export const useUserInfo = defineStore('userInfo', {
},
],
},
- isSocketOpen: false
}),
actions: {
async setPwdChangeCount(count: number) {
diff --git a/web/src/theme/element.scss b/web/src/theme/element.scss
index 6cdebc9ac..741d731ca 100644
--- a/web/src/theme/element.scss
+++ b/web/src/theme/element.scss
@@ -1,4 +1,4 @@
-@import 'mixins/index.scss';
+@use 'mixins/index.scss' as index;
/* Button 按钮
------------------------------- */
@@ -100,7 +100,7 @@
.el-sub-menu .iconfont,
.el-menu-item .fa,
.el-sub-menu .fa {
- @include generalIcon;
+ @include index.generalIcon;
}
// 水平菜单、横向菜单高亮 背景色,鼠标 hover 时,有子级菜单的背景色
.el-menu-item.is-active,
diff --git a/web/src/theme/index.scss b/web/src/theme/index.scss
index a94595ce5..80b7ce000 100644
--- a/web/src/theme/index.scss
+++ b/web/src/theme/index.scss
@@ -1,8 +1,8 @@
-@import './app.scss';
-@import 'common/transition.scss';
-@import './other.scss';
-@import './element.scss';
-@import './media/media.scss';
-@import './waves.scss';
-@import './dark.scss';
-@import './fa/css/font-awesome.min.css';
+@use './app.scss';
+@use 'common/transition.scss';
+@use './other.scss';
+@use './element.scss';
+@use './media/media.scss';
+@use './waves.scss';
+@use './dark.scss';
+@use './fa/css/font-awesome.min.css';
diff --git a/web/src/theme/media/chart.scss b/web/src/theme/media/chart.scss
index 8485e39c2..79883390c 100644
--- a/web/src/theme/media/chart.scss
+++ b/web/src/theme/media/chart.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
.big-data-down-left {
width: 100% !important;
flex-direction: unset !important;
@@ -51,7 +51,7 @@
/* 页面宽度大于768px小于1200px
------------------------------- */
-@media screen and (min-width: $sm) and (max-width: $lg) {
+@media screen and (min-width: index.$sm) and (max-width: index.$lg) {
.chart-warp-bottom {
.big-data-down-left {
width: 50% !important;
@@ -72,7 +72,7 @@
/* 页面宽度小于1200px
------------------------------- */
-@media screen and (max-width: $lg) {
+@media screen and (max-width: index.$lg) {
.chart-warp-top {
.up-left {
display: none;
diff --git a/web/src/theme/media/cityLinkage.scss b/web/src/theme/media/cityLinkage.scss
index 1394156ee..edc6d110c 100644
--- a/web/src/theme/media/cityLinkage.scss
+++ b/web/src/theme/media/cityLinkage.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于576px
------------------------------- */
-@media screen and (max-width: $xs) {
+@media screen and (max-width: index.$xs) {
.el-cascader__dropdown.el-popper {
overflow: auto;
max-width: 100%;
diff --git a/web/src/theme/media/date.scss b/web/src/theme/media/date.scss
index 1a5039706..4b3c5e888 100644
--- a/web/src/theme/media/date.scss
+++ b/web/src/theme/media/date.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
// 时间选择器适配
.el-date-range-picker {
width: 100vw;
diff --git a/web/src/theme/media/dialog.scss b/web/src/theme/media/dialog.scss
index 023ccae0e..64355037b 100644
--- a/web/src/theme/media/dialog.scss
+++ b/web/src/theme/media/dialog.scss
@@ -1,4 +1,4 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于800px
------------------------------- */
diff --git a/web/src/theme/media/error.scss b/web/src/theme/media/error.scss
index f35015fda..3ee65db47 100644
--- a/web/src/theme/media/error.scss
+++ b/web/src/theme/media/error.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
.error {
.error-flex {
flex-direction: column-reverse !important;
@@ -26,7 +26,7 @@
/* 页面宽度大于768px小于992px
------------------------------- */
-@media screen and (min-width: $sm) and (max-width: $md) {
+@media screen and (min-width: index.$sm) and (max-width: index.$md) {
.error {
.error-flex {
padding-left: 30px !important;
@@ -36,7 +36,7 @@
/* 页面宽度小于1200px
------------------------------- */
-@media screen and (max-width: $lg) {
+@media screen and (max-width: index.$lg) {
.error {
.error-flex {
padding: 0 30px;
diff --git a/web/src/theme/media/form.scss b/web/src/theme/media/form.scss
index eb1d88307..ab382f2df 100644
--- a/web/src/theme/media/form.scss
+++ b/web/src/theme/media/form.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于576px
------------------------------- */
-@media screen and (max-width: $xs) {
+@media screen and (max-width: index.$xs) {
.el-form-item__label {
width: 100% !important;
text-align: left !important;
diff --git a/web/src/theme/media/home.scss b/web/src/theme/media/home.scss
index 5a2417e18..88a966988 100644
--- a/web/src/theme/media/home.scss
+++ b/web/src/theme/media/home.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
.home-media,
.home-media-sm {
margin-top: 15px;
@@ -11,7 +11,7 @@
/* 页面宽度小于1200px
------------------------------- */
-@media screen and (max-width: $lg) {
+@media screen and (max-width: index.$lg) {
.home-media-lg {
margin-top: 15px;
}
diff --git a/web/src/theme/media/layout.scss b/web/src/theme/media/layout.scss
index df8ce56ad..620991b9f 100644
--- a/web/src/theme/media/layout.scss
+++ b/web/src/theme/media/layout.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于576px
------------------------------- */
-@media screen and (max-width: $xs) {
+@media screen and (max-width: index.$xs) {
// MessageBox 弹框
.el-message-box {
width: 80% !important;
@@ -11,7 +11,7 @@
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
// Breadcrumb 面包屑
.layout-navbars-breadcrumb-hide {
display: none;
diff --git a/web/src/theme/media/login.scss b/web/src/theme/media/login.scss
index 29cdbb019..f041ffa3b 100644
--- a/web/src/theme/media/login.scss
+++ b/web/src/theme/media/login.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于1200px
------------------------------- */
-@media screen and (max-width: $lg) and (min-width: $xs) {
+@media screen and (max-width: index.$lg) and (min-width: index.$xs) {
.login-container {
.login-left {
.login-left-img {
@@ -23,7 +23,7 @@
/* 页面宽度小于576px
------------------------------- */
-@media screen and (max-width: $xs) {
+@media screen and (max-width: index.$xs) {
.login-container {
.login-left {
display: none;
@@ -59,7 +59,7 @@
/* 页面宽度小于375px
------------------------------- */
-@media screen and (max-width: $us) {
+@media screen and (max-width: index.$us) {
.login-container {
.login-right {
.login-right-warp {
diff --git a/web/src/theme/media/media.scss b/web/src/theme/media/media.scss
index bed1c356a..f5f00c744 100644
--- a/web/src/theme/media/media.scss
+++ b/web/src/theme/media/media.scss
@@ -1,13 +1,13 @@
-@import './login.scss';
-@import './error.scss';
-@import './layout.scss';
-@import './personal.scss';
-@import './tagsView.scss';
-@import './home.scss';
-@import './chart.scss';
-@import './form.scss';
-@import './scrollbar.scss';
-@import './pagination.scss';
-@import './dialog.scss';
-@import './cityLinkage.scss';
-@import './date.scss';
+@use './login.scss';
+@use './error.scss';
+@use './layout.scss';
+@use './personal.scss';
+@use './tagsView.scss';
+@use './home.scss';
+@use './chart.scss';
+@use './form.scss';
+@use './scrollbar.scss';
+@use './pagination.scss';
+@use './dialog.scss';
+@use './cityLinkage.scss';
+@use './date.scss';
diff --git a/web/src/theme/media/pagination.scss b/web/src/theme/media/pagination.scss
index 37af75f26..107703997 100644
--- a/web/src/theme/media/pagination.scss
+++ b/web/src/theme/media/pagination.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于576px
------------------------------- */
-@media screen and (max-width: $xs) {
+@media screen and (max-width: index.$xs) {
.el-pager,
.el-pagination__jump {
display: none !important;
diff --git a/web/src/theme/media/personal.scss b/web/src/theme/media/personal.scss
index 7ec0d4abc..d5c1d8e3c 100644
--- a/web/src/theme/media/personal.scss
+++ b/web/src/theme/media/personal.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
.personal-info {
padding-left: 0 !important;
margin-top: 15px;
diff --git a/web/src/theme/media/scrollbar.scss b/web/src/theme/media/scrollbar.scss
index 968a79d59..9a36d8018 100644
--- a/web/src/theme/media/scrollbar.scss
+++ b/web/src/theme/media/scrollbar.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
// 滚动条的宽度
::-webkit-scrollbar {
width: 3px !important;
diff --git a/web/src/theme/media/tagsView.scss b/web/src/theme/media/tagsView.scss
index b71674ef4..ad531daca 100644
--- a/web/src/theme/media/tagsView.scss
+++ b/web/src/theme/media/tagsView.scss
@@ -1,8 +1,8 @@
-@import './index.scss';
+@use './index.scss' as index;
/* 页面宽度小于768px
------------------------------- */
-@media screen and (max-width: $sm) {
+@media screen and (max-width: index.$sm) {
.tags-view-form {
.tags-view-form-col {
margin-bottom: 20px;
diff --git a/web/src/views/system/personal/index.vue b/web/src/views/system/personal/index.vue
index 216ae7706..8241d40df 100644
--- a/web/src/views/system/personal/index.vue
+++ b/web/src/views/system/personal/index.vue
@@ -32,7 +32,7 @@
角色:
- {{ item.name }}
+ {{ item.name }}
@@ -84,10 +84,10 @@
-
-
-
-
+
+
+
+
@@ -181,8 +181,8 @@ import { Session } from '/@/utils/storage';
import { useRouter } from 'vue-router';
import { useUserInfo } from '/@/stores/userInfo';
import { successMessage } from '/@/utils/message';
-import {dictionary} from "/@/utils/dictionary";
-import {Md5} from "ts-md5";
+import { dictionary } from '/@/utils/dictionary';
+import { Md5 } from 'ts-md5';
const router = useRouter();
// 头像裁剪组件
@@ -237,7 +237,7 @@ const genderList = ref();
const getUserInfo = function () {
api.GetUserInfo({}).then((res: any) => {
const { data } = res;
- genderList.value = dictionary('gender')
+ genderList.value = dictionary('gender');
state.personalForm.avatar = data.avatar || '';
state.personalForm.username = data.username || '';
state.personalForm.name = data.name || '';
@@ -335,10 +335,10 @@ const settingPassword = () => {
if (valid) {
api.UpdatePassword(userPasswordInfo).then((res: any) => {
ElMessage.success('密码修改成功');
- setTimeout(() => {
- Session.remove('token');
- router.push('/login');
- }, 1000);
+ setTimeout(() => {
+ Session.remove('token');
+ router.push('/login');
+ }, 1000);
});
} else {
// 校验失败
@@ -369,7 +369,7 @@ const uploadImg = (data: any) => {