@@ -7,16 +7,17 @@ import Iconfont from '@/components/Iconfont';
77import BrandLogo from '@/components/BrandLogo' ;
88
99import i18n from '@/i18n' ;
10- import { getUser , userLogout } from '@/service/user' ;
10+ import { userLogout } from '@/service/user' ;
1111import { INavItem } from '@/typings/main' ;
12- import { IUserVO , IRole } from '@/typings/user' ;
12+ import { IRole } from '@/typings/user' ;
1313
1414// ----- hooks -----
1515import getConnectionEnvList from './functions/getConnection' ;
1616
1717// ----- store -----
1818import { useMainStore , setMainPageActiveTab } from '@/pages/main/store/main' ;
1919import { getConnectionList } from '@/pages/main/store/connection' ;
20+ import { useUserStore , setCurUser } from '@/store/user' ;
2021
2122// ----- block -----
2223import Workspace from './workspace' ;
@@ -65,8 +66,12 @@ const initNavConfig: INavItem[] = [
6566
6667function MainPage ( ) {
6768 const navigate = useNavigate ( ) ;
69+ const { userInfo } = useUserStore ( state => {
70+ return {
71+ userInfo : state . curUser
72+ }
73+ } ) ;
6874 const [ navConfig , setNavConfig ] = useState < INavItem [ ] > ( initNavConfig ) ;
69- const [ userInfo , setUserInfo ] = useState < IUserVO > ( ) ;
7075 const mainPageActiveTab = useMainStore ( ( state ) => state . mainPageActiveTab ) ;
7176 const [ activeNavKey , setActiveNavKey ] = useState < string > (
7277 __ENV__ === 'desktop' ? mainPageActiveTab : window . location . pathname . split ( '/' ) [ 1 ] || mainPageActiveTab ,
@@ -98,11 +103,9 @@ function MainPage() {
98103
99104 const handleInitPage = async ( ) => {
100105 const cloneNavConfig = [ ...navConfig ] ;
101- const res = await getUser ( ) ;
102- if ( res ) {
103- setUserInfo ( res ) ;
106+ if ( userInfo ) {
104107 const hasTeamIcon = cloneNavConfig . find ( ( i ) => i . key === 'team' ) ;
105- if ( res . admin && ! hasTeamIcon ) {
108+ if ( userInfo . admin && ! hasTeamIcon ) {
106109 cloneNavConfig . splice ( 3 , 0 , {
107110 key : 'team' ,
108111 icon : '\ue64b' ,
@@ -112,7 +115,7 @@ function MainPage() {
112115 name : i18n ( 'team.title' ) ,
113116 } ) ;
114117 }
115- if ( ! res . admin && hasTeamIcon ) {
118+ if ( ! userInfo . admin && hasTeamIcon ) {
116119 cloneNavConfig . splice ( 3 , 1 ) ;
117120 }
118121 }
@@ -130,7 +133,7 @@ function MainPage() {
130133
131134 const handleLogout = ( ) => {
132135 userLogout ( ) . then ( ( ) => {
133- setUserInfo ( undefined ) ;
136+ setCurUser ( undefined ) ;
134137 navigate ( '/login' ) ;
135138 } ) ;
136139 } ;
0 commit comments