@@ -85,39 +85,43 @@ function AppContainer() {
8585 const [ serviceFail , setServiceFail ] = useState ( false ) ;
8686 const [ isLogin , setIsLogin ] = useState < boolean | null > ( null ) ;
8787
88+ useLayoutEffect ( ( ) => {
89+ collectInitApp ( ) ;
90+ } , [ ] ) ;
91+
8892 useEffect ( ( ) => {
89- const date = new Date ( '2030-12-30 12:30:00' ) . toUTCString ( ) ;
90- document . cookie = `CHAT2DB.LOCALE=${ getLang ( ) } ;Expires=${ date } ` ;
91- indexedDB . createDB ( 'chat2db' , 1 ) . then ( ( db ) => {
92- window . _indexedDB = {
93- chat2db : db ,
94- } ;
95- } ) ;
93+ injectThemeVar ( token as any , appTheme . backgroundColor , appTheme . primaryColor ) ;
94+ } , [ token ] ) ;
95+
96+ function handelGetUserInfo ( ) {
9697 getUser ( ) . then ( ( res ) => {
9798 if ( ! res ) {
9899 navigate ( '/login' ) ;
99100 }
100101 // 向cookie中写入当前用户id
102+ const date = new Date ( '2030-12-30 12:30:00' ) . toUTCString ( ) ;
101103 document . cookie = `CHAT2DB.USER_ID=${ res ?. id } ;Expires=${ date } ` ;
102104 setIsLogin ( ! ! res ) ;
103105 } ) ;
104- } , [ ] ) ;
105-
106- useEffect ( ( ) => {
107- injectThemeVar ( token as any , appTheme . backgroundColor , appTheme . primaryColor ) ;
108- } , [ token ] ) ;
109-
110- useLayoutEffect ( ( ) => {
111- collectInitApp ( ) ;
112- } , [ ] ) ;
106+ }
113107
114108 // 初始化app
115109 function collectInitApp ( ) {
116110 monitorOsTheme ( ) ;
117111 initLang ( ) ;
112+ initIndexedDB ( ) ;
118113 setInitEnd ( true ) ;
119114 }
120115
116+ // 初始化indexedDB
117+ function initIndexedDB ( ) {
118+ indexedDB . createDB ( 'chat2db' , 1 ) . then ( ( db ) => {
119+ window . _indexedDB = {
120+ chat2db : db ,
121+ } ;
122+ } ) ;
123+ }
124+
121125 // 监听系统(OS)主题变化
122126 function monitorOsTheme ( ) {
123127 function change ( e : any ) {
@@ -136,9 +140,12 @@ function AppContainer() {
136140
137141 // 初始化语言
138142 function initLang ( ) {
139- if ( ! getLang ( ) ) {
143+ const lang = getLang ( ) ;
144+ if ( ! lang ) {
140145 setLang ( LangType . EN_US ) ;
141146 document . documentElement . setAttribute ( 'lang' , LangType . EN_US ) ;
147+ const date = new Date ( '2030-12-30 12:30:00' ) . toUTCString ( ) ;
148+ document . cookie = `CHAT2DB.LOCALE=${ lang } ;Expires=${ date } ` ;
142149 }
143150 }
144151
@@ -155,6 +162,7 @@ function AppContainer() {
155162 . then ( ( ) => {
156163 clearInterval ( time ) ;
157164 setStartSchedule ( 2 ) ;
165+ handelGetUserInfo ( ) ;
158166 flag ++ ;
159167 } )
160168 . catch ( ( ) => {
0 commit comments