{
@@ -9,7 +11,7 @@ export const useRenderMenuTitle = () => {
return icon ? (
<>
-
+
diff --git a/src/components/Screenfull/src/Screenfull.vue b/src/components/Screenfull/src/Screenfull.vue
index 8d02ef4..93a3bed 100644
--- a/src/components/Screenfull/src/Screenfull.vue
+++ b/src/components/Screenfull/src/Screenfull.vue
@@ -1,10 +1,11 @@
-
+
-
@@ -285,7 +282,7 @@ watch(
:ref="itemRefs.set"
:schema="[
{
- icon: 'ant-design:sync-outlined',
+ icon: AppIcons.refresh,
label: t('common.reload'),
disabled: selectedTag?.fullPath !== item.fullPath,
command: () => {
@@ -293,7 +290,7 @@ watch(
}
},
{
- icon: 'ant-design:close-outlined',
+ icon: AppIcons.close,
label: t('common.closeTab'),
disabled: !!visitedViews?.length && selectedTag?.meta.affix,
command: () => {
@@ -302,7 +299,7 @@ watch(
},
{
divided: true,
- icon: 'ant-design:vertical-right-outlined',
+ icon: AppIcons.splitRight,
label: t('common.closeTheLeftTab'),
disabled:
!!visitedViews?.length &&
@@ -313,7 +310,7 @@ watch(
}
},
{
- icon: 'ant-design:vertical-left-outlined',
+ icon: AppIcons.splitLeft,
label: t('common.closeTheRightTab'),
disabled:
!!visitedViews?.length &&
@@ -325,7 +322,7 @@ watch(
},
{
divided: true,
- icon: 'ant-design:tag-outlined',
+ icon: AppIcons.tag,
label: t('common.closeOther'),
disabled: selectedTag?.fullPath !== item.fullPath,
command: () => {
@@ -333,7 +330,7 @@ watch(
}
},
{
- icon: 'ant-design:line-outlined',
+ icon: AppIcons.line,
label: t('common.closeAll'),
command: () => {
closeAllTags()
@@ -358,7 +355,7 @@ watch(
@click="navigate"
class="h-full flex justify-center items-center whitespace-nowrap pl-15px"
>
-
{{ t(item?.meta?.title as string) }}
-
@@ -389,8 +386,8 @@ watch(
class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] flex items-center justify-center cursor-pointer"
@click="move(200)"
>
-
@@ -400,8 +397,8 @@ watch(
class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] flex items-center justify-center cursor-pointer"
@click="refreshSelectedTag(selectedTag)"
>
-
@@ -410,14 +407,14 @@ watch(
trigger="click"
:schema="[
{
- icon: 'ant-design:sync-outlined',
+ icon: AppIcons.refresh,
label: t('common.reload'),
command: () => {
refreshSelectedTag(selectedTag)
}
},
{
- icon: 'ant-design:close-outlined',
+ icon: AppIcons.close,
label: t('common.closeTab'),
disabled: !!visitedViews?.length && selectedTag?.meta.affix,
command: () => {
@@ -426,7 +423,7 @@ watch(
},
{
divided: true,
- icon: 'ant-design:vertical-right-outlined',
+ icon: AppIcons.splitRight,
label: t('common.closeTheLeftTab'),
disabled: !!visitedViews?.length && selectedTag?.fullPath === visitedViews[0].fullPath,
command: () => {
@@ -434,7 +431,7 @@ watch(
}
},
{
- icon: 'ant-design:vertical-left-outlined',
+ icon: AppIcons.splitLeft,
label: t('common.closeTheRightTab'),
disabled:
!!visitedViews?.length &&
@@ -445,14 +442,14 @@ watch(
},
{
divided: true,
- icon: 'ant-design:tag-outlined',
+ icon: AppIcons.tag,
label: t('common.closeOther'),
command: () => {
closeOthersTags()
}
},
{
- icon: 'ant-design:line-outlined',
+ icon: AppIcons.line,
label: t('common.closeAll'),
command: () => {
closeAllTags()
@@ -464,8 +461,8 @@ watch(
:class="`${prefixCls}__tool`"
class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] flex items-center justify-center cursor-pointer block"
>
-
@@ -542,8 +539,8 @@ watch(
&__item.is-active {
color: var(--el-color-white);
- background-color: var(--el-color-primary);
- border: 1px solid var(--el-color-primary);
+ background-color: var(--app-primary-strong);
+ border: 1px solid var(--app-primary-strong);
.@{prefix-cls}__item--close {
:deep(svg) {
color: var(--el-color-white) !important;
diff --git a/src/components/ThemeSwitch/src/ThemeSwitch.vue b/src/components/ThemeSwitch/src/ThemeSwitch.vue
index 5fdfb68..267effe 100644
--- a/src/components/ThemeSwitch/src/ThemeSwitch.vue
+++ b/src/components/ThemeSwitch/src/ThemeSwitch.vue
@@ -6,6 +6,7 @@ import { useAppStore } from '@/store/modules/app'
import { ElSwitch } from 'element-plus'
import { useIcon } from '@/hooks/web/useIcon'
import { useDesign } from '@/hooks/web/useDesign'
+import { AppIcons } from '@/constants/icons'
const { getPrefixCls } = useDesign()
@@ -13,18 +14,15 @@ const emit = defineEmits(['change'])
const prefixCls = getPrefixCls('theme-switch')
-const Sun = useIcon({ icon: 'emojione-monotone:sun', color: '#fde047' })
+const Sun = useIcon({ icon: AppIcons.lightMode, color: '#fde047' })
-const CrescentMoon = useIcon({ icon: 'emojione-monotone:crescent-moon', color: '#fde047' })
+const CrescentMoon = useIcon({ icon: AppIcons.darkMode, color: '#fde047' })
const appStore = useAppStore()
// 初始化获取是否是暗黑主题
const isDark = ref(appStore.getIsDark)
-// 设置switch的背景颜色
-const blackColor = 'var(--el-color-black)'
-
const themeChange = (val: boolean) => {
appStore.setIsDark(val)
emit('change', val)
@@ -36,9 +34,6 @@ const themeChange = (val: boolean) => {
:class="prefixCls"
v-model="isDark"
inline-prompt
- :border-color="blackColor"
- :inactive-color="blackColor"
- :active-color="blackColor"
:active-icon="Sun"
:inactive-icon="CrescentMoon"
@change="themeChange"
@@ -46,7 +41,20 @@ const themeChange = (val: boolean) => {
diff --git a/src/components/UserInfo/src/UserInfo.vue b/src/components/UserInfo/src/UserInfo.vue
index 8902785..f0a8ecc 100644
--- a/src/components/UserInfo/src/UserInfo.vue
+++ b/src/components/UserInfo/src/UserInfo.vue
@@ -9,6 +9,8 @@ import { ref, computed } from 'vue'
import LockPage from './components/LockPage.vue'
import { useLockStore } from '@/store/modules/lock'
import { useUserStore } from '@/store/modules/user'
+import { AppIcon } from '@/components/AppIcon'
+import { AppIcons } from '@/constants/icons'
const userStore = useUserStore()
@@ -22,6 +24,12 @@ const prefixCls = getPrefixCls('user-info')
const { t } = useI18n()
+const displayName = computed(
+ () => userStore.getUserInfo?.name || userStore.getUserInfo?.username || '-'
+)
+
+const avatarUrl = computed(() => userStore.getUserInfo?.avatar || '')
+
const loginOut = () => {
userStore.logoutConfirm()
}
@@ -38,12 +46,19 @@ const lockScreen = () => {

+
+
+
diff --git a/src/components/UserInfo/src/components/LockDialog.vue b/src/components/UserInfo/src/components/LockDialog.vue
index ed3606e..2aa2d51 100644
--- a/src/components/UserInfo/src/components/LockDialog.vue
+++ b/src/components/UserInfo/src/components/LockDialog.vue
@@ -12,6 +12,9 @@ import { FormSchema } from '@/components/Form'
import { ElButton } from 'element-plus'
import { useDesign } from '@/hooks/web/useDesign'
import { useLockStore } from '@/store/modules/lock'
+import { useUserStore } from '@/store/modules/user'
+import { AppIcon } from '@/components/AppIcon'
+import { AppIcons } from '@/constants/icons'
const { getPrefixCls } = useDesign()
const prefixCls = getPrefixCls('lock-dialog')
@@ -21,6 +24,12 @@ const { required } = useValidator()
const { t } = useI18n()
const lockStore = useLockStore()
+const userStore = useUserStore()
+
+const displayName = computed(
+ () => userStore.getUserInfo?.name || userStore.getUserInfo?.username || '-'
+)
+const avatarUrl = computed(() => userStore.getUserInfo?.avatar || '')
const props = defineProps({
modelValue: {
@@ -84,8 +93,18 @@ const handleLock = async () => {
:title="dialogTitle"
>
-

-
+
![]()
+
+
diff --git a/src/components/UserInfo/src/components/LockPage.vue b/src/components/UserInfo/src/components/LockPage.vue
index bc3d14f..c1722eb 100644
--- a/src/components/UserInfo/src/components/LockPage.vue
+++ b/src/components/UserInfo/src/components/LockPage.vue
@@ -1,7 +1,7 @@