From 38c45957b8b89ba37f7db26159eabe33c8de5a24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20H=E1=BA=A3i=20D=C5=A9ng?= Date: Fri, 16 Dec 2022 16:15:53 +0700 Subject: [PATCH] link token --- app/src/App.js | 2 +- app/src/components/AutoLogin/AutoLogin.js | 38 ++++++++++++ app/src/components/Login/Login.js | 66 --------------------- app/src/components/SearchImg/SearchImage.js | 2 +- app/src/router/ReactRouter.js | 4 ++ 5 files changed, 44 insertions(+), 68 deletions(-) create mode 100644 app/src/components/AutoLogin/AutoLogin.js diff --git a/app/src/App.js b/app/src/App.js index baa56af..b3876e6 100644 --- a/app/src/App.js +++ b/app/src/App.js @@ -25,7 +25,7 @@ function App() { {/* } /> */} - } /> + } /> diff --git a/app/src/components/AutoLogin/AutoLogin.js b/app/src/components/AutoLogin/AutoLogin.js new file mode 100644 index 0000000..5e4c686 --- /dev/null +++ b/app/src/components/AutoLogin/AutoLogin.js @@ -0,0 +1,38 @@ +import { login } from 'actions/isLogin'; +import React, { Component } from 'react'; +import "react-datepicker/dist/react-datepicker.css"; +import { HOST } from '../../config/index'; +import Store from '../../store'; +class AutoLogin extends Component { + constructor(props) { + super(props); + + this.state = { + dataRole: Store.getState().role.role, + isLogin: Store.getState().isLogin.isLogin, + }; + Store.subscribe(() => { + this.setState({ + isLogin: Store.getState().isLogin.isLogin, + dataRole: Store.getState().role.role, + }, () => { + + }); + }); + } + componentDidMount() { + if(this.props.match.params.token){ + localStorage.setItem("access_token", "Bearer " + this.props.match.params.token); + Store.dispatch(login("Bearer " + this.props.match.params.token)); + window.location.href = "/"; + } + } + render() { + console.log('oke',this.props.match) + return( +
+ ) + } +} + +export default AutoLogin; \ No newline at end of file diff --git a/app/src/components/Login/Login.js b/app/src/components/Login/Login.js index c42a086..ab23c29 100644 --- a/app/src/components/Login/Login.js +++ b/app/src/components/Login/Login.js @@ -21,10 +21,6 @@ class Login extends Component { localStorage.clear(); } - componentDidMount(){ - this.props.match.params.user !== undefined && this.logInLink(this.props.match.params.user, this.props.match.params.password) - } - CheckLogin = async (event) => { var form = $("#formLoginCheck") if (form[0].checkValidity() === false) { @@ -106,68 +102,6 @@ class Login extends Component { } } - logInLink = async (user, pass) => { - fetch(`${HOST}/api/users/login`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - username: user, - password: pass - }) - }).then((response) => { - if (response.status === 500) { - this.setState({ - error: 0, - loadingbtn: false - }) - swal("Cảnh báo!", "Hiện tại hệ thống của chúng tôi đang nâng cấp, vui lòng đăng nhập lại sau 30 phút", "info"); - return; - } - return response.json() - }).then((data) => { - if (data.status === 10000) { - console.log(data) - console.log(data.data.roles) - this.setState({ - error: 0, - loadingbtn: false - }, () => { - }) - localStorage.setItem("access_token", "Bearer " + data.access_token); - Store.dispatch(login("Bearer " + data.access_token)); - localStorage.setItem("username", data.data.username); - localStorage.setItem("obj_id", data.data._id); - window.location.href = "/"; - // return; - } else if (data.status === 10003) { - this.setState({ - loadingbtn: false - }) - swal("Cảnh báo!", "Tài khoản không tồn tại", "warning"); - } else if (data.status === 10005) { - this.setState({ - loadingbtn: false - }) - swal("Cảnh báo", "Tài khoản của bạn đã bị khóa, vui lòng chờ 30 phút rồi đăng nhập lại hoặc liên hệ admin", "warning"); - } else { - this.setState({ - error: 1, - loadingbtn: false - }) - } - }).catch((error) => { - if (error) { - this.setState({ - loadingbtn: false - }) - swal("Lỗi!", "Vui lòng kiểm tra lại đường truyền", "error"); - } - }) - } - onEnterPress = (e) => { if (e.keyCode === 13 && e.shiftKey === false) { e.preventDefault(); diff --git a/app/src/components/SearchImg/SearchImage.js b/app/src/components/SearchImg/SearchImage.js index ab2b25a..1000337 100644 --- a/app/src/components/SearchImg/SearchImage.js +++ b/app/src/components/SearchImg/SearchImage.js @@ -402,7 +402,7 @@ class SearchImage extends Component { }); - + console.log('oke em', this.state.isLogin); return (
diff --git a/app/src/router/ReactRouter.js b/app/src/router/ReactRouter.js index 9e3da45..7c0adef 100644 --- a/app/src/router/ReactRouter.js +++ b/app/src/router/ReactRouter.js @@ -16,6 +16,7 @@ import User from '../components/User/User'; import Test from '../components/Test/Test'; import MenuBar from '../components/layouts/MenuBar' import ListItem from '../components/List/ListItem'; +import AutoLogin from 'components/AutoLogin/AutoLogin'; class ReactRouter extends Component { constructor(props) { @@ -46,6 +47,9 @@ class ReactRouter extends Component { : '' } + <> + } /> + { this.state.dataRole?.indexOf('search:view') !== -1 ?