Преглед изворни кода

右上角加登录人姓名

@dongkboy пре 5 месеци
родитељ
комит
252a7a15b0
2 измењених фајлова са 29 додато и 30 уклоњено
  1. 20 22
      src/layouts/components/Topbar/Toolbar/rightSide.vue
  2. 9 8
      src/store/modules/user.ts

+ 20 - 22
src/layouts/components/Topbar/Toolbar/rightSide.vue

@@ -7,7 +7,7 @@ import Fullscreen from './Fullscreen/index.vue'
 import DownLoad from './downLoad/index.vue'
 import NavSearch from './NavSearch/index.vue'
 import PageReload from './PageReload/index.vue'
-import {useRouter} from "vue-router"
+import { useRouter } from "vue-router"
 defineOptions({
   name: 'Tools',
 })
@@ -16,7 +16,6 @@ const router = useRouter()
 
 const settingsStore = useSettingsStore()
 const userStore = useUserStore()
-
 const avatarError = ref(false)
 watch(() => userStore.avatar, () => {
   if (avatarError.value) {
@@ -27,34 +26,33 @@ watch(() => userStore.avatar, () => {
 
 <template>
   <div class="flex items-center">
-    <!-- <NavSearch v-if="settingsStore.settings.toolbar.navSearch" /> -->
+    <NavSearch v-if="settingsStore.settings.toolbar.navSearch" />
     <DownLoad v-if="settingsStore.settings.toolbar.fullscreen" />
     <Fullscreen v-if="settingsStore.settings.toolbar.fullscreen" />
     <PageReload v-if="settingsStore.settings.toolbar.pageReload" />
-    <ColorScheme v-if="settingsStore.settings.toolbar.colorScheme" />
+    <!-- <ColorScheme v-if="settingsStore.settings.toolbar.colorScheme" /> -->
 
     <span class="flex-center cursor-pointer px-2 py-1">
-    <SvgIcon @click="router.push({
-      path:'/content/notice',
-    })" name="i-ion:notifications" />
+      <SvgIcon @click="router.push({
+        path: '/content/notice',
+      })" name="i-ion:notifications" />
     </span>
-    <HDropdownMenu
-      :items="[
-        [
-          { label: settingsStore.settings.home.title, handle: () => router.push({ path: settingsStore.settings.home.fullPath }), hide: !settingsStore.settings.home.enable },
-        ],
-        [
-          { label: '快捷键介绍', handle: () => eventBus.emit('global-hotkeys-intro-toggle'), hide: settingsStore.mode !== 'pc' },
-        ],
-        [
-          { label: '退出登录', handle: () => userStore.logout(settingsStore.settings.home.fullPath) },
-        ],
-      ]" class="flex-center cursor-pointer px-2"
-    >
+    <HDropdownMenu :items="[
+      [
+        { label: settingsStore.settings.home.title, handle: () => router.push({ path: settingsStore.settings.home.fullPath }), hide: !settingsStore.settings.home.enable },
+      ],
+      [
+        { label: '快捷键介绍', handle: () => eventBus.emit('global-hotkeys-intro-toggle'), hide: settingsStore.mode !== 'pc' },
+      ],
+      [
+        { label: '退出登录', handle: () => userStore.logout(settingsStore.settings.home.fullPath) },
+      ],
+    ]" class="flex-center cursor-pointer px-2">
       <div class="flex-center gap-1">
-        <img v-if="userStore.avatar && !avatarError" :src="userStore.avatar" :onerror="() => (avatarError = true)" class="h-[24px] w-[24px] rounded-full">
+        <img v-if="userStore.avatar && !avatarError" :src="userStore.avatar" :onerror="() => (avatarError = true)"
+          class="h-[24px] w-[24px] rounded-full">
         <SvgIcon v-else name="i-carbon:user-avatar-filled-alt" :size="24" class="text-gray-400" />
-        {{ userStore.userName }}
+        {{ userStore.realName }}   {{ userStore.userName }}
         <SvgIcon name="i-ep:caret-bottom" />
       </div>
     </HDropdownMenu>

+ 9 - 8
src/store/modules/user.ts

@@ -6,7 +6,7 @@ import useTabbarStore from './tabbar'
 import api from '@/api'
 
 import {
-    clearId
+  clearId
 } from "@/utils/composables/routeUtils"; // 导入工具方法
 
 const useUserStore = defineStore(
@@ -21,9 +21,10 @@ const useUserStore = defineStore(
     const userName = ref(localStorage.userName ?? '')
     const token = ref(localStorage.token ?? '')
     const avatar = ref(localStorage.avatar ?? '')
+    const userInfo = ref(localStorage.userInfo ?? '')
+    const realName = JSON.parse(userInfo.value)?.name ?? '';
     const permissions = ref<string[]>([])
-    const staticRouter=ref<string[]>([])
-    let userInfo = ref({})
+    const staticRouter = ref<string[]>([])
     const isLogin = computed(() => {
       if (token.value) {
         return true
@@ -39,7 +40,6 @@ const useUserStore = defineStore(
       captchaId: number
     }) {
       const res = await api.userApi.login(data)
-
       localStorage.setItem('userName', data.userName)
       localStorage.setItem('token', res.data.token)
       userName.value = data.userName
@@ -52,10 +52,10 @@ const useUserStore = defineStore(
     }
     //获取运营交付菜单
     async function getMenu(codeItem) {
-      const res = await api.menuApi.getTenantConfig({...codeItem})
-      if(res.code===200){
+      const res = await api.menuApi.getTenantConfig({ ...codeItem })
+      if (res.code === 200) {
         // staticRouter.value=JSON.parse(res.data.sysConfig)
-        localStorage.setItem("menu",res.data.sysConfig)
+        localStorage.setItem("menu", res.data.sysConfig)
         // routeStore.routesRaw=JSON.parse(res.data.sysConfig)
       }
     }
@@ -78,7 +78,7 @@ const useUserStore = defineStore(
           ...(redirect !== settingsStore.settings.home.fullPath && router.currentRoute.value.name !== 'login' && { redirect }),
         },
       })
-        clearId()
+      clearId()
     }
     // 获取权限
     async function getPermissions() {
@@ -95,6 +95,7 @@ const useUserStore = defineStore(
 
     return {
       userName,
+      realName,
       token,
       avatar,
       permissions,