study_xxqg/web/xxqg/src/App.tsx

232 lines
6.7 KiB
TypeScript
Raw Normal View History

2022-09-26 11:57:35 +00:00
import React, {Component, useEffect} from 'react';
2022-04-20 13:31:46 +00:00
import './App.css';
2022-09-26 11:57:35 +00:00
import {NavBar,} from "antd-mobile";
2022-09-25 15:58:04 +00:00
import {checkToken} from "./utils/api";
2022-09-26 11:57:35 +00:00
import Login from './compents/pages/Login';
import {Route, Routes, useLocation, useNavigate} from 'react-router-dom';
import Home from './compents/Home';
import Log from "./compents/pages/Log";
import Config from "./compents/pages/Config";
import Help from "./compents/pages/Help";
// class Test extends React.Component<any, any> {
// elements: any = []
// items = [
// {
// "key": "login",
// "text": "添加用户"
// },
// {
// "key": "user_list",
// "text": "用户管理"
// }
// ]
//
// constructor(props: any) {
// super(props);
// this.state = {
// popup_visible: false,
// index: "login",
// is_login: false,
// // 用户等级1是管理员2是普通用户
// level: 2
// };
// }
//
// set_level = (level: number) => {
// this.setState({
// level: level
// })
//
// this.items.push(
// {
// "key": "config",
// "text": "配置管理"
// }
// )
// this.items.push(
// {
// "key": "log",
// "text": "日志查看"
// }
// )
// this.items.push(
// {
// "key": "other",
// "text": "其他功能"
// }
// )
//
//
// this.items.map((value, index, array) => {
// if (value.key === "config" || value.key === "log") {
// this.elements.push(
// <ListItem disabled={this.state.level === 2} onClick={() => {
// this.setState({"index": value.key})
// }}>{value.text}</ListItem>
// );
// } else {
// this.elements.push(
// <ListItem onClick={() => {
// this.setState({"index": value.key})
// }}>{value.text}</ListItem>
// );
// }
//
// return true;
// })
// }
//
// set_login = () => {
// this.setState({
// is_login: true
// })
// this.check_token()
// window.location.reload()
// }
//
// check_token = () => {
// checkToken().then((t) => {
// console.log(t)
// if (!t) {
// console.log("未登录")
// } else {
// if (t.data === 1) {
// console.log("管理员登录")
// this.set_level(1)
// } else {
// console.log("不是管理员登录")
// this.set_level(2)
// }
// this.setState({
// is_login: true
// })
// }
// })
// }
//
// componentDidMount() {
// this.check_token()
//
//
// }
//
// render() {
//
// let home = (
// <>
// <NavBar style={{background: "#c0a8c0", margin: 10}} backArrow={false}
// left={<UnorderedListOutline fontSize={36} onClick={this.back}/>}>
// {"study_xxqg"}
// </NavBar>
// <Router data={this.state.index} level={this.state.level} set_level={this.set_level}/>
// <Popup
// bodyStyle={{width: '50vw'}}
// visible={this.state.popup_visible}
// position={"left"}
// onMaskClick={(() => {
// this.setState({popup_visible: false})
// })}>
// <h1 style={{textAlign: "center"}}>XXQG</h1>
// <List>
// {this.elements}
// <ListItem onClick={() => {
// window.localStorage.removeItem("xxqg_token")
// this.setState({"index": "help"})
// }}>帮助</ListItem>
// <ListItem onClick={() => {
// window.localStorage.removeItem("xxqg_token")
// this.setState({
// is_login: false
// })
// }}>退出登录</ListItem>
// </List>
// </Popup>
// </>
// )
// if (this.state.is_login) {
// return home
// } else {
// return <Login parent={this}/>
// }
// }
//
//
// back = () => {
// this.setState({
// popup_visible: true,
// })
//
// }
// }
function App(props: any, states: any) {
let a = 2;
let navigate = useNavigate();
let location = useLocation();
useEffect(() => {
2022-09-25 15:58:04 +00:00
checkToken().then((t) => {
console.log(t)
if (!t) {
console.log("未登录")
2022-09-26 11:57:35 +00:00
navigate("/login")
2022-09-25 15:58:04 +00:00
} else {
if (t.data === 1) {
console.log("管理员登录")
2022-09-26 11:57:35 +00:00
sessionStorage.setItem("level", "1")
2022-09-25 15:58:04 +00:00
} else {
console.log("不是管理员登录")
2022-09-26 11:57:35 +00:00
sessionStorage.setItem("level", "2")
2022-09-25 15:58:04 +00:00
}
2022-09-26 11:57:35 +00:00
navigate("/home/user_manager")
2022-09-25 15:58:04 +00:00
}
})
2022-09-26 11:57:35 +00:00
}, [a])
2022-04-25 10:39:54 +00:00
2022-04-20 13:31:46 +00:00
2022-09-26 11:57:35 +00:00
return <>
<Routes>
2022-04-20 13:31:46 +00:00
2022-04-25 10:39:54 +00:00
2022-09-26 11:57:35 +00:00
<Route path={"/login"} element={<Login navigate={navigate} location={location}/>}>
</Route>
<Route path={"/home/*"} element={<Home navigate={navigate} location={location}/>}>
</Route>
<Route path={"*"} element={<OtherPages navigate={navigate} location={location}/>}>
2022-09-25 15:58:04 +00:00
2022-09-26 11:57:35 +00:00
</Route>
2022-09-25 15:58:04 +00:00
2022-09-26 11:57:35 +00:00
</Routes>
</>
}
class OtherPages extends Component<any, any> {
2022-09-25 15:58:04 +00:00
render() {
2022-09-26 11:57:35 +00:00
return <>
<NavBar back='返回' style={{color: "blue", backgroundColor: "#bad7ba"}} onBack={() => {
window.history.back()
}}><h3>StudyXXQG</h3></NavBar>
<Routes>
<Route path={"/log"} element={<Log navigate={this.props.navigate} location={this.props.location}/>}>
2022-09-25 15:58:04 +00:00
2022-09-26 11:57:35 +00:00
</Route>
2022-04-25 10:39:54 +00:00
2022-09-26 11:57:35 +00:00
<Route path={"/config"}
element={<Config navigate={this.props.navigate} location={this.props.location}/>}/>
<Route path={"/help"} element={<Help navigate={this.props.navigate} location={this.props.location}/>}/>
2022-04-20 13:31:46 +00:00
2022-09-26 11:57:35 +00:00
</Routes>
</>;
2022-04-20 13:31:46 +00:00
}
}
export default App;