App.tsx 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import "@/assets/styles/base.css";
  2. // 关于路由
  3. import React from "react";
  4. import { Router, Route, Switch } from "react-router-dom";
  5. import history from "./utils/history";
  6. import AuthRoute from "./components/AuthRoute";
  7. import SpinLoding from "./components/SpinLoding";
  8. import AsyncSpinLoding from "./components/AsyncSpinLoding";
  9. import { Image } from "antd";
  10. import { useSelector } from "react-redux";
  11. import store, { RootState } from "./store";
  12. import UpAsyncLoding from "./components/UpAsyncLoding";
  13. import MessageCom from "./components/Message";
  14. import LookDom from "./components/LookDom";
  15. import FileLookCom from "./components/FileLookCom";
  16. const Layout = React.lazy(() => import("./pages/Layout"));
  17. const Login = React.lazy(() => import("./pages/Login"));
  18. const Test = React.lazy(() => import("./pages/Test"));
  19. export default function App() {
  20. // 从仓库中获取查看图片的信息
  21. const lookBigImg = useSelector(
  22. (state: RootState) => state.A0Layout.lookBigImg
  23. );
  24. return (
  25. <>
  26. {/* 关于路由 */}
  27. <Router history={history}>
  28. <React.Suspense fallback={<SpinLoding />}>
  29. <Switch>
  30. {/* 测试页面 */}
  31. <Route path="/test" component={Test} />
  32. <Route path="/login" component={Login} />
  33. <AuthRoute path="/" component={Layout} />
  34. </Switch>
  35. </React.Suspense>
  36. </Router>
  37. {/* 发送请求的加载组件 */}
  38. <AsyncSpinLoding />
  39. {/* 所有图片点击预览查看大图 */}
  40. <Image
  41. preview={{
  42. visible: lookBigImg.show,
  43. src: lookBigImg.url,
  44. onVisibleChange: (value) => {
  45. // 清除仓库信息
  46. store.dispatch({
  47. type: "layout/lookBigImg",
  48. payload: { url: "", show: false },
  49. });
  50. },
  51. }}
  52. />
  53. {/* 上传附件的进度条元素 */}
  54. <UpAsyncLoding />
  55. {/* 查看视频音频 */}
  56. <LookDom />
  57. {/* antd 轻提示 ---兼容360浏览器 */}
  58. <MessageCom />
  59. {/* 预览 ppt,doc,Excel使用插件 */}
  60. <FileLookCom />
  61. </>
  62. );
  63. }