diff --git a/.umirc.ts b/.umirc.ts
index 5f3880c..4c9fbba 100644
--- a/.umirc.ts
+++ b/.umirc.ts
@@ -8,17 +8,11 @@ export default defineConfig({
type: "none",
},
fastRefresh: {},
- ssr: {
- // 更多配置
- // forceInitial: false,
- removeWindowInitialProps: true,
- devServerRender: false, // 默认为true
- mode: "string",
- staticMarkup: false,
- },
+ ssr: {},
+ exportStatic: {},
proxy: {
"/api/": {
- target: "http://127.0.0.1:8081", //转发接口地址
+ target: "http://127.0.0.1:8000", //转发接口地址
changeOrigin: true,
pathRewrite: { "^": "" },
},
diff --git a/package.json b/package.json
index 12a234e..3f4abc6 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"private": true,
"scripts": {
- "start": "SET NODE_OPTIONS=--openssl-legacy-provider&&umi dev",
- "build": "SET NODE_OPTIONS=--openssl-legacy-provider&&umi build",
+ "start": "SET NODE_OPTIONS=--openssl-legacy-provider && umi dev",
+ "build": "SET NODE_OPTIONS=--openssl-legacy-provider && umi build",
"postinstall": "umi generate tmp",
"prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'",
"test": "umi-test",
@@ -21,9 +21,14 @@
},
"dependencies": {
"@ant-design/pro-layout": "^6.5.0",
- "@umijs/preset-react": "1.x",
+ "@umijs/preset-react": "^2.1.7",
"antd": "^4.14.0",
- "umi": "^3.3.9"
+ "compression": "^1.7.4",
+ "express": "^4.17.1",
+ "helmet": "^3.21.2",
+ "umi": "^3.3.9",
+ "umi-request": "^1.2.4",
+ "umi-server": "^1.0.0"
},
"devDependencies": {
"@types/react": "^17.0.0",
diff --git a/src/layouts/BaseLayout.js b/src/layouts/BaseLayout.js
index 431cb06..ca248a8 100644
--- a/src/layouts/BaseLayout.js
+++ b/src/layouts/BaseLayout.js
@@ -1,19 +1,14 @@
import React from "react";
+import { isBrowser } from "umi";
import { ConfigProvider, Layout, message, Menu, Dropdown } from "antd";
-import { router } from "umi";
import zhCN from "antd/es/locale/zh_CN";
import enUS from "antd/es/locale/en_US";
import BaseHeader from "./components/BaseHeader";
import TopMenu from "./components/TopMenu";
import Footer from "./components/Footer";
-// import headMenuData from "./menuData";
import yuyanImg from "../assets/icon_yuyan@3x.png";
import { getLocale } from "../utils";
import styles from "./BaseLayout.less";
-import locale from "antd/lib/date-picker/locale/en_US";
-// import zhCNConfig from "../locales/zh_CN";
-// import enUSConfig from "../locales/en_US ";
-
const { Header, Content } = Layout;
const findPrefixSelectedKey = (topMenu, key = "") => {
@@ -26,61 +21,19 @@ const findPrefixSelectedKey = (topMenu, key = "") => {
return key;
};
-const localeConfig = getLocale();
class BaseLayout extends React.Component {
state = {
- locale: localStorage.getItem("language") || "中文",
+ locale: "",
+ localeConfig: {},
+ headMenuData: [],
};
- headMenuData = [
- {
- key: "/home",
- text: localeConfig.sy,
- },
- {
- key: "/about-us",
- text: localeConfig.footerMenu1,
- },
- {
- key: "/product-center",
- text: localeConfig.footerMenu2,
- children: [
- {
- key: `/product-center?tabCode=1`,
- text: localeConfig.cp1,
- },
- {
- key: `/product-center?tabCode=2`,
- text: localeConfig.cp2,
- },
- {
- key: `/product-center?tabCode=3`,
- text: localeConfig.cp3,
- },
- {
- key: `/product-center?tabCode=4`,
- text: localeConfig.cp4,
- },
- {
- key: `/product-center?tabCode=5`,
- text: localeConfig.cp5,
- },
- ],
- },
- {
- key: "/technical-support",
- text: localeConfig.footerMenu3,
- },
- {
- key: "/contact-us",
- text: localeConfig.footerMenu4,
- },
- ];
-
handleLocaleChange = (val) => {
if (val !== this.state.locale) {
this.setState({ locale: val });
- localStorage.setItem("language", val);
+ if (!isBrowser()) {
+ localStorage.setItem("language", val);
+ }
window.location.reload();
}
};
@@ -109,6 +62,58 @@ class BaseLayout extends React.Component {
history.push(item.key);
}
};
+ componentDidMount() {
+ const val = localStorage.getItem("language") || "中文";
+ const localeConfig = getLocale(val);
+ this.setState({
+ locale: val,
+ localeConfig: localeConfig,
+ headMenuData: [
+ {
+ key: "/home",
+ text: localeConfig.sy,
+ },
+ {
+ key: "/about-us",
+ text: localeConfig.footerMenu1,
+ },
+ {
+ key: "/product-center",
+ text: localeConfig.footerMenu2,
+ children: [
+ {
+ key: `/product-center?tabCode=1`,
+ text: localeConfig.cp1,
+ },
+ {
+ key: `/product-center?tabCode=2`,
+ text: localeConfig.cp2,
+ },
+ {
+ key: `/product-center?tabCode=3`,
+ text: localeConfig.cp3,
+ },
+ {
+ key: `/product-center?tabCode=4`,
+ text: localeConfig.cp4,
+ },
+ {
+ key: `/product-center?tabCode=5`,
+ text: localeConfig.cp5,
+ },
+ ],
+ },
+ {
+ key: "/technical-support",
+ text: localeConfig.footerMenu3,
+ },
+ {
+ key: "/contact-us",
+ text: localeConfig.footerMenu4,
+ },
+ ],
+ });
+ }
componentDidCatch(error) {
if (process.env.NODE_ENV !== "development") {
@@ -118,13 +123,14 @@ class BaseLayout extends React.Component {
duration: 2,
key: "error",
});
- router.replace("/exception/500");
+ // router.replace("/exception/500");
// eslint-disable-next-line no-console
console.error(error);
}
}
render() {
+ const { localeConfig, headMenuData = [] } = this.state;
const { children, location = {} } = this.props;
const { pathname = "" } = location;
const arr = ["/home"];
@@ -160,9 +166,9 @@ class BaseLayout extends React.Component {