@@ -17,7 +17,6 @@ import { PRIVACY_URL, PRIVACY_URL_CN, SERVICE_URL, SERVICE_URL_CN } from "../../
1717import  {  useSafePromise  }  from  "../../utils/hooks/lifecycle" ; 
1818import  {  NEED_BINDING_PHONE  }  from  "../../constants/config" ; 
1919import  { 
20-     agoraSSOLoginCheck , 
2120    bindingPhone , 
2221    bindingPhoneSendCode , 
2322    loginCheck , 
@@ -59,41 +58,31 @@ export const LoginPage = observer(function LoginPage() {
5958        [ globalStore ,  pushHistory ] , 
6059    ) ; 
6160
61+     useEffect ( ( )  =>  { 
62+         if  ( urlParams . utm_source  ===  "agora" )  { 
63+             handleLogin ( "agora" ) ; 
64+         } 
65+     } ,  [ urlParams . utm_source ] ) ; 
66+ 
6267    useEffect ( ( )  =>  { 
6368        // Get login info through loginCheck(). 
6469        // But we don't want to goto home page if already logged in. 
6570        // Instead, if we have `hasPhone: false`, we should show the binding phone page. 
6671        const  checkNormalLogin  =  async  ( ) : Promise < void >  =>  { 
67-             const  userInfo  =  await  sp ( loginCheck ( ) ) ; 
72+             const  userInfo  =  await  sp ( loginCheck ( urlParams . token ) ) ; 
6873            if  ( NEED_BINDING_PHONE  &&  ! userInfo . hasPhone )  { 
6974                setLoginResult ( userInfo ) ; 
7075            } 
7176        } ; 
7277
73-         const  checkAgoraLogin  =  async  ( ) : Promise < void >  =>  { 
74-             const  {  jwtToken }  =  await  sp ( agoraSSOLoginCheck ( globalStore . agoraSSOLoginID ! ) ) ; 
75-             const  userInfo  =  await  sp ( loginCheck ( jwtToken ) ) ; 
76-             setLoginResult ( userInfo ) ; 
77-         } ; 
78- 
79-         let  checkLogin : Promise < unknown > ; 
80-         if  ( urlParams . utm_source  ===  "agora"  &&  globalStore . agoraSSOLoginID )  { 
81-             checkLogin  =  checkAgoraLogin ( ) ; 
82-         }  else  { 
83-             checkLogin  =  checkNormalLogin ( ) ; 
84-         } 
85- 
86-         checkLogin . catch ( error  =>  { 
78+         checkNormalLogin ( ) . catch ( error  =>  { 
8779            // no handling required 
8880            console . warn ( error ) ; 
8981        } ) ; 
90-     } ,  [ globalStore ,  setLoginResult ,  sp ,  urlParams . utm_source ] ) ; 
82+     } ,  [ globalStore ,  setLoginResult ,  sp ,  urlParams . token ] ) ; 
9183
9284    const  onLoginResult  =  useCallback ( 
9385        async  ( authData : LoginProcessResult )  =>  { 
94-             if  ( authData . agoraSSOLoginID )  { 
95-                 globalStore . updateAgoraSSOLoginID ( authData . agoraSSOLoginID ) ; 
96-             } 
9786            globalStore . updateUserInfo ( authData ) ; 
9887            if  ( NEED_BINDING_PHONE  &&  ! authData . hasPhone )  { 
9988                setLoginResult ( authData ) ; 
@@ -126,7 +115,7 @@ export const LoginPage = observer(function LoginPage() {
126115            } 
127116            switch  ( loginChannel )  { 
128117                case  "agora" : { 
129-                     loginDisposer . current   =   agoraLogin ( onLoginResult ) ; 
118+                     agoraLogin ( onLoginResult ) ; 
130119                    return ; 
131120                } 
132121                case  "github" : { 
@@ -156,11 +145,7 @@ export const LoginPage = observer(function LoginPage() {
156145                    bindingPhone = { async  ( countryCode ,  phone ,  code )  => 
157146                        wrap ( bindingPhone ( countryCode  +  phone ,  Number ( code ) ) . then ( onBoundPhone ) ) 
158147                    } 
159-                     buttons = { 
160-                         urlParams . utm_source  ===  "agora" 
161-                             ? [ "agora" ] 
162-                             : [ process . env . FLAT_REGION  ===  "US"  ? "google"  : "wechat" ,  "github" ] 
163-                     } 
148+                     buttons = { [ process . env . FLAT_REGION  ===  "US"  ? "google"  : "wechat" ,  "github" ] } 
164149                    cancelBindingPhone = { ( )  =>  setLoginResult ( null ) } 
165150                    isBindingPhone = { 
166151                        NEED_BINDING_PHONE  &&  ( loginResult  ? ! loginResult . hasPhone  : false ) 
0 commit comments