提交 7b9c3d03 作者: yueyang.lv

合并分支 'test/1.0' 到 'master'

Test/1.0

查看合并请求 minio/saturn-minio-console!15
...@@ -31,6 +31,9 @@ if (!remoteOrigin) { ...@@ -31,6 +31,9 @@ if (!remoteOrigin) {
} }
// 模块联邦 // 模块联邦
module.exports = function (config, env) { module.exports = function (config, env) {
if (process.env.REACT_APP_SATURN_ENV === "private") {
return config;
}
// config.output.crossOriginLoading = "use-credentials"; // config.output.crossOriginLoading = "use-credentials";
config.output.crossOriginLoading = "anonymous"; config.output.crossOriginLoading = "anonymous";
console.log(`土星云业务远程地址为:${remoteOrigin}`); console.log(`土星云业务远程地址为:${remoteOrigin}`);
...@@ -73,20 +76,23 @@ module.exports = function (config, env) { ...@@ -73,20 +76,23 @@ module.exports = function (config, env) {
// 'react-grid-layout', // 'react-grid-layout',
// 'react-hot-loader', // 'react-hot-loader',
// 'react-moment', // 'react-moment',
// 'react-redux',
// 'react-virtualized', // 'react-virtualized',
// 'react-window', // 'react-window',
// 'react-window-infinite-loader', // 'react-window-infinite-loader',
// 'recharts', // 'recharts',
// 'redux',
// 'redux-thunk',
"superagent", "superagent",
// "react-router-dom",
// 'use-debounce', // 'use-debounce',
// 'websocket', // 'websocket',
"chart.js", "chart.js",
]), ]),
...createShared(["react", "react-dom", "react-router-dom"]), ...createShared([
"react",
"react-dom",
"react-router-dom",
"react-redux",
"redux",
"redux-thunk",
]),
}, },
}) })
); );
......
...@@ -27,6 +27,7 @@ import { ...@@ -27,6 +27,7 @@ import {
} from "@mui/material/styles"; } from "@mui/material/styles";
import { ThemeProvider } from "@mui/styles"; import { ThemeProvider } from "@mui/styles";
import withStyles from "@mui/styles/withStyles"; import withStyles from "@mui/styles/withStyles";
import { runInject } from "./saturnCloud";
import "react-virtualized/styles.css"; import "react-virtualized/styles.css";
import "react-grid-layout/css/styles.css"; import "react-grid-layout/css/styles.css";
import "react-resizable/css/styles.css"; import "react-resizable/css/styles.css";
...@@ -117,7 +118,8 @@ ReactDOM.render( ...@@ -117,7 +118,8 @@ ReactDOM.render(
</ThemeProvider> </ThemeProvider>
</StyledEngineProvider> </StyledEngineProvider>
</Provider>, </Provider>,
document.getElementById("root") document.getElementById("root"),
runInject
); );
// If you want your app to work offline and load faster, you can change // If you want your app to work offline and load faster, you can change
......
import React, { Suspense, lazy, useState, useEffect } from "react"; import React, { Suspense, lazy } from "react";
import { NavLink } from "react-router-dom"; import { NavLink } from "react-router-dom";
import LoadingComponent from "../common/LoadingComponent"; import LoadingComponent from "../common/LoadingComponent";
import history from "../history"; import history from "../history";
import MenuItem from "../screens/Console/Menu/MenuItem"; import MenuItem from "../screens/Console/Menu/MenuItem";
// import RemoteComponent from "./RemoteComponent";
// import loadMenu from "saturn_tenant/menu";
// const URL = "http://localhost:9000/remoteEntry.js"; // 对 lazy 包装一层,在私有部署环境中没有模块联邦,直接返回 null
// const SCOPE = "saturn_tenant"; const _lazy: typeof lazy = (factory) => {
if (process.env.REACT_APP_SATURN_ENV === "private") {
return null;
}
return lazy(factory);
};
const RemoteSaturnTenant = lazy(() => import("saturn_tenant/App")); const RemoteSaturnTenant = _lazy(() => import("saturn_tenant/App"));
const RemoteSaturnTenantFullscreen = lazy( const RemoteSaturnTenantFullscreen = _lazy(
() => import("saturn_tenant/AppFullscreen") () => import("saturn_tenant/AppFullscreen")
); );
const RemoteMenuContainer = lazy(() => import("saturn_tenant/MenuContainer")); const RemoteMenuContainer = _lazy(() => import("saturn_tenant/MenuContainer"));
// const loadMenu = () => import("saturn_tenant/menu");
// console.log("loadMenu", loadMenu);
// export function SaturnTenant() {
// return <RemoteComponent url={URL} scope={SCOPE} module="./App" />;
// }
// export function SaturnTenantFullscreen() {
// return <RemoteComponent url={URL} scope={SCOPE} module="./AppFullscreen" />;
// }
/** 在 Layout 下展示的内容 */ /** 在 Layout 下展示的内容 */
export function SaturnTenant() { export function SaturnTenant() {
...@@ -59,6 +51,10 @@ export function SaturnTenantMenuContainer({ ...@@ -59,6 +51,10 @@ export function SaturnTenantMenuContainer({
setExpandedGroup: React.Dispatch<React.SetStateAction<string>>; setExpandedGroup: React.Dispatch<React.SetStateAction<string>>;
}; };
}) { }) {
// 这里比较特殊,因为是 hack 不能直接返回 null 了
if (process.env.REACT_APP_SATURN_ENV === "private") {
return <>{children}</>;
}
return ( return (
<Suspense fallback={<LoadingComponent />}> <Suspense fallback={<LoadingComponent />}>
<RemoteMenuContainer context={{ MenuItem, NavLink, isOpen, groupState }}> <RemoteMenuContainer context={{ MenuItem, NavLink, isOpen, groupState }}>
...@@ -68,6 +64,12 @@ export function SaturnTenantMenuContainer({ ...@@ -68,6 +64,12 @@ export function SaturnTenantMenuContainer({
); );
} }
export function runInject() {
if (process.env.REACT_APP_SATURN_ENV !== "private") {
import("saturn_tenant/run");
}
}
// /** 加载一个函数方法 */ // /** 加载一个函数方法 */
// export function useSaturnConsoleMenu() { // export function useSaturnConsoleMenu() {
// const [menu, setMenu] = useState([]); // const [menu, setMenu] = useState([]);
......
...@@ -18,7 +18,6 @@ import React, { useEffect, useState } from "react"; ...@@ -18,7 +18,6 @@ import React, { useEffect, useState } from "react";
import { Box } from "@mui/material"; import { Box } from "@mui/material";
import ListItem from "@mui/material/ListItem"; import ListItem from "@mui/material/ListItem";
import ListItemIcon from "@mui/material/ListItemIcon"; import ListItemIcon from "@mui/material/ListItemIcon";
import PersonIcon from "@mui/icons-material/Person";
import LogoutIcon from "../../../icons/LogoutIcon"; import LogoutIcon from "../../../icons/LogoutIcon";
import ListItemText from "@mui/material/ListItemText"; import ListItemText from "@mui/material/ListItemText";
import List from "@mui/material/List"; import List from "@mui/material/List";
...@@ -30,7 +29,6 @@ import { ...@@ -30,7 +29,6 @@ import {
} from "./MenuStyleUtils"; } from "./MenuStyleUtils";
import MenuItem from "./MenuItem"; import MenuItem from "./MenuItem";
import { useLocation } from "react-router-dom"; import { useLocation } from "react-router-dom";
import history from "../../../history";
import { SaturnTenantMenuContainer } from "../../../saturnCloud"; import { SaturnTenantMenuContainer } from "../../../saturnCloud";
const ConsoleMenuList = ({ const ConsoleMenuList = ({
...@@ -152,33 +150,6 @@ const ConsoleMenuList = ({ ...@@ -152,33 +150,6 @@ const ConsoleMenuList = ({
<Box sx={{ display: "flex", alignItems: "center" }}> <Box sx={{ display: "flex", alignItems: "center" }}>
<ListItem <ListItem
button button
onClick={() => {
history.push("/saturn/userinfo");
}}
disableRipple
sx={{
...menuItemContainerStyles,
...menuItemMiniStyles,
marginBottom: "3px",
}}
className={`$ ${stateClsName} bottom-menu-item`}
>
<ListItemIcon
sx={{
...menuItemIconStyles,
}}
>
<PersonIcon />
</ListItemIcon>
<ListItemText
primary="个人信息"
id={"userinfo"}
sx={{ ...menuItemTextStyles }}
className={stateClsName}
/>
</ListItem>
<ListItem
button
onClick={onLogoutClick} onClick={onLogoutClick}
disableRipple disableRipple
sx={{ sx={{
......
...@@ -585,8 +585,10 @@ const TenantLogin = () => { ...@@ -585,8 +585,10 @@ const TenantLogin = () => {
return null; return null;
}; };
export default connector( export default connector(withStyles(styles)(Login));
withStyles(styles)(
process.env.REACT_APP_SATURN_ENV === "private" ? Login : TenantLogin // export default connector(
) // withStyles(styles)(
); // process.env.REACT_APP_SATURN_ENV === "private" ? Login : TenantLogin
// )
// );
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论