chao 10 months ago
parent
commit
a0a196b167
8 changed files with 33 additions and 90 deletions
  1. BIN
      public/favicon.ico
  2. 0 10
      public/manifest.json
  3. 2 12
      src/App.js
  4. 2 1
      src/assets/json/en.json
  5. 2 1
      src/assets/json/hans.json
  6. 2 1
      src/assets/json/hant.json
  7. 7 29
      src/view/login.js
  8. 18 36
      src/view/signIn.js

BIN
public/favicon.ico


+ 0 - 10
public/manifest.json

@@ -6,16 +6,6 @@
       "src": "favicon.ico",
       "sizes": "64x64 32x32 24x24 16x16",
       "type": "image/x-icon"
-    },
-    {
-      "src": "logo192.png",
-      "type": "image/png",
-      "sizes": "192x192"
-    },
-    {
-      "src": "logo512.png",
-      "type": "image/png",
-      "sizes": "512x512"
     }
   ],
   "start_url": ".",

+ 2 - 12
src/App.js

@@ -8,12 +8,8 @@ import hant from './assets/json/hant.json'
 import en from './assets/json/en.json'
 import config from './config'
 import axios from 'axios';
-import { Alert } from '@mui/joy';
 function App() {
   const [lang, setLang] = useState(hans)
-  const [alertShow, setAlertShow] = useState(false)
-  const [alertStr, setAlertStr] = useState(false)
-
 
   useEffect(() => {
     if (window.location.hostname.indexOf('cocorobo.com') > -1) {
@@ -28,13 +24,7 @@ function App() {
       if (res.data.length > 0) {
         axios.get(`${config.edu}admin/userinfo/userinfoById/${res.data[0][0].userid}`).then(r => {
           if (r.data.length > 0) {
-            setAlertStr(lang.loginSuccess)
-            setAlertShow(true)
             postMessageToParent('loginVerify', 'logged', r.data[0][0])
-            setTimeout(() => {
-              setAlertShow(false)
-            }, 1000)
-            
           }
         })
       }
@@ -54,8 +44,8 @@ function App() {
   return (
     <BrowserRouter>
       <Routes>
-        <Route path="/" element={<Login lang={lang} alertShow={alertShow} alertStr={alertStr} />} />
-        <Route path="/signIn" element={<SignIn lang={lang} />} />
+        <Route path="" element={<Login lang={lang} />} />
+        <Route path="signIn" element={<SignIn lang={lang} />} />
       </Routes>
     </BrowserRouter>
 

+ 2 - 1
src/assets/json/en.json

@@ -15,5 +15,6 @@
     "close": "Close",
     "read_terms_privacy": "Please read and agree to the User Registration Agreement and Privacy Policy",
     "signInFail": "Sign in failed, please check the account or password is correct",
-    "signInSuccess": "Registration is successful! Please login within 10 minutes to activate the registration."
+    "signInSuccess": "Registration is successful! Please login within 10 minutes to activate the registration.",
+    "registered_fail1": "This email has been registered, please go to the registered email to activate the registration."
 }

+ 2 - 1
src/assets/json/hans.json

@@ -15,5 +15,6 @@
     "close": "关闭",
     "read_terms_privacy": "请阅读并同意用户注册协议和隐私政策",
     "signInFail": "注册失败,请检查账号是否已存在",
-    "signInSuccess": "注册成功!请在10分中之内登陆邮箱激活"
+    "signInSuccess": "注册成功!请在10分中之内登陆邮箱激活",
+    "registered_fail1": "该邮箱已注册过,请前往注册邮箱激活"
 }

+ 2 - 1
src/assets/json/hant.json

@@ -15,5 +15,6 @@
     "close": "關閉",
     "read_terms_privacy": "請閱讀並同意用戶註冊協議和隱私政策",
     "signInFail": "註冊失敗,請檢查賬號是否重複",
-    "signInSuccess": "註冊成功!請在10分中之內登陸郵箱激活"
+    "signInSuccess": "註冊成功!請在10分中之內登陸郵箱激活",
+    "registered_fail1": "該郵箱已註冊過,請前往註冊郵箱激活"
 }

+ 7 - 29
src/view/login.js

@@ -4,7 +4,6 @@ import SchoolImg from '../assets/image/school.png'
 import UserImg from '../assets/image/user.png'
 import PassworldImg from '../assets/image/passworld.png'
 import config from '../config'
-import { Alert, CircularProgress } from '@mui/joy';
 import qs from 'qs';
 import axios from 'axios'
 
@@ -20,20 +19,17 @@ function Login(props) {
     const [schoolName, setSchoolName] = useState('')
     const [schoolShow, setSchoolShow] = useState(false)
     const [progressValue, setProgressValue] = useState(0)
-    const [loading, setLoading] = useState(false)
-    const [alertStr, setAlertStr] = useState('')
-    const [alertShow, setAlertShow] = useState(false)
+    const [loginError, setLoginError] = useState('')
+    const [loginState, setLoginState] = useState(false)
 
     const showAlert = (str) => {
-        setAlertStr(str)
-        setAlertShow(true)
-        setTimeout(() => {
-            setAlertShow(false)
-        }, 1500);
+        setLoginError(str)
+        setLoginState(true)
     }
     // 登录
     const login = () => {
         console.log('login')
+        setLoginState(false)
         let schoolStr = schoolNum ? ('@' + schoolNum) : '@cocorobo.cc'
         let email = ''
         let str = user.replace(/(^\s*)|(\s*$)/g, "")
@@ -47,7 +43,6 @@ function Login(props) {
             showAlert(props.lang.passwordError)
             return;
         }
-        setLoading(true)
         let progressTimer = setInterval(() => {
             setProgress()
         }, 100);
@@ -65,27 +60,15 @@ function Login(props) {
             clearInterval(progressTimer)
             setProgressValue(100)
             if (res.data.length > 0) {
-                setLoading(false)
+                setLoginState(false)
                 showAlert(props.lang.loginSuccess)
-                setAlertShow(true)
                 setTimeout(() => {
-                    setProgressValue(0)
-                    setAlertShow(false)
                     postMessageToParent('loginVerify', 'logged', res.data[0][0])
                 }, 1000)
             } else {
-                setLoading(false)
-                setProgressValue(0)
                 showAlert(res)
-                setAlertShow(true)
-                setTimeout(() => {
-                    setAlertShow(false)
-                }, 1500);
             }
         }).catch(err => {
-            setProgressValue(0)
-            clearInterval(progressTimer)
-            setLoading(false)
             showAlert(props.lang.loginError)
             console.log(err)
         })
@@ -152,12 +135,6 @@ function Login(props) {
     }
     return (
         <div className="login" onKeyDown={enter}>
-            {(alertShow || props.alertShow) && <div className='login-Progress'>
-                <Alert color="danger">{alertStr || props.alertStr}</Alert>
-            </div>}
-            {loading && <div className='login-Progress'>
-                <CircularProgress size="lg" determinate value={progressValue}></CircularProgress>
-            </div>}
             <div className='login-input'>
                 <img src={SchoolImg} alt="school" />
                 <input onChange={schoolChange} type="text" onBlur={schoolChange} placeholder={props.lang.schoolName} value={school} />
@@ -170,6 +147,7 @@ function Login(props) {
             <div className='login-input'>
                 <img src={PassworldImg} alt="passworld" />
                 <input type="Password" onChange={passworldChange} placeholder={props.lang.password} value={passworld} />
+                {loginState && <p style={{ marginTop: 5, textAlign: 'left',color:"red" }}>{loginError}</p>}
             </div>
             <div className='login-input'>
                 <button onClick={login}>{props.lang.login}</button>

+ 18 - 36
src/view/signIn.js

@@ -1,10 +1,10 @@
 import React, { useState } from 'react';
 import '../assets/css/login.css'
+import { Alert } from '@mui/joy';
 import SchoolImg from '../assets/image/school.png'
 import UserImg from '../assets/image/user.png'
 import PassworldImg from '../assets/image/passworld.png'
 import config from '../config'
-import { Alert, CircularProgress, } from '@mui/joy';
 import Button from '@mui/material/Button';
 import Dialog from '@mui/material/Dialog';
 import DialogTitle from '@mui/material/DialogTitle';
@@ -28,10 +28,7 @@ const spanStyle = {
 function SignUp(props) {
     const [user, setUser] = useState('')
     const [passworld, setPassworld] = useState('')
-    const [alertStr, setAlertStr] = useState('')
     const [timer, setTimer] = useState(0)
-    const [loading, setLoading] = useState(false)
-    const [alertShow, setAlertShow] = useState(false)
     const [progressValue, setProgressValue] = useState(0)
     const [school, setSchool] = useState('')
     const [schoolNum, setSchoolNum] = useState('')
@@ -40,7 +37,17 @@ function SignUp(props) {
     const [isread, setIsread] = useState(false)
     const [open, setOpen] = useState(false)
     const [open2, setOpen2] = useState(false)
+    const [alertShow, setAlertShow] = useState(false)
+    const [alertStr, setAlertStr] = useState('')
 
+    
+    const showAlert = (str) => {
+        setAlertStr(str)
+        setAlertShow(true)
+        setTimeout(() => {
+            setAlertShow(false)
+        }, 1500);
+    }
     const login = () => {
         let schoolStr = schoolNum ? ('@' + schoolNum) : '@cocorobo.cc'
         let email = ''
@@ -58,7 +65,6 @@ function SignUp(props) {
             showAlert(props.lang.passwordError)
             return;
         }
-        setLoading(true)
         let progressTimer = setInterval(() => {
             setProgress()
         }, 100);
@@ -74,29 +80,15 @@ function SignUp(props) {
         axios.defaults.withCredentials = true;
         axios.post(`${config.api}api/user`, qs.stringify(params)).then(res => {
             clearInterval(progressTimer)
-            if (res.data.length > 0) {
-                setProgressValue(100)
-                showAlert(props.lang.loginSuccess)
-                setAlertShow(true)
-                setTimeout(() => {
-                    setLoading(false)
-                    setProgressValue(0)
-                    setAlertShow(false)
-                }, 1000)
-            } else {
-                setLoading(false)
-                setProgressValue(0)
-                showAlert(res)
-                setAlertShow(true)
-                setTimeout(() => {
-                    setAlertShow(false)
-                }, 1500);
+            if (res.data[0][0].type === 1) {
+            } else if(res.data[0][0].type === 0){
+                showAlert(props.lang.registered_fail1)
+            }
+            else {
+                showAlert(props.lang.signInFail)
             }
         }).catch(err => {
-            setProgressValue(0)
-            clearInterval(progressTimer)
-            setLoading(false)
-            showAlert(props.lang.loginError)
+            showAlert(props.lang.signInFail)
             console.log(err)
         })
     }
@@ -152,21 +144,11 @@ function SignUp(props) {
         }
         setProgressValue(num)
     }
-    const showAlert = (str) => {
-        setAlertStr(str)
-        setAlertShow(true)
-        setTimeout(() => {
-            setAlertShow(false)
-        }, 1500);
-    }
     return (
         <div className='login' onKeyDown={enter}>
             {alertShow && <div className='login-Progress'>
                 <Alert color="danger">{alertStr}</Alert>
             </div>}
-            {loading && <div className='login-Progress'>
-                <CircularProgress size="lg" determinate value={progressValue}></CircularProgress>
-            </div>}
             <div className='login-input'>
                 <img src={SchoolImg} alt="school" />
                 <input onChange={schoolChange} type="text" onBlur={schoolChange} placeholder={props.lang.schoolName} value={school} />