Commit 8a13e303 authored by 邓晓峰's avatar 邓晓峰

fix: app.js initConfig bug

parent 0fe6ceae
Pipeline #22935 skipped with stages
...@@ -7177,9 +7177,9 @@ ...@@ -7177,9 +7177,9 @@
} }
}, },
"@wisdom-utils/utils": { "@wisdom-utils/utils": {
"version": "0.0.28", "version": "0.0.29",
"resolved": "https://g.civnet.cn:4873/@wisdom-utils%2futils/-/utils-0.0.28.tgz", "resolved": "https://g.civnet.cn:4873/@wisdom-utils%2futils/-/utils-0.0.29.tgz",
"integrity": "sha512-Jbyqu8D4XGW1o3QbRw63K+EvATLElR+GDjyLh4eSxMwScw6YLfS3XoFnupExoaGir9DjEyFkxAuDcyRRM2pSxA==", "integrity": "sha512-djsx6KVrpslN8/lJiMNz1zriNDiRJQfXZxH1jaxe+zQZ2+LxIJhO5ZvbjkGQM1CnQdn0BtoX1XuK/R5RI5FqYg==",
"requires": { "requires": {
"axios": "^0.21.1", "axios": "^0.21.1",
"cookie": "^0.4.1", "cookie": "^0.4.1",
...@@ -14046,7 +14046,7 @@ ...@@ -14046,7 +14046,7 @@
"micromatch": { "micromatch": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz", "resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz",
"integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"braces": "^3.0.1", "braces": "^3.0.1",
...@@ -16099,7 +16099,7 @@ ...@@ -16099,7 +16099,7 @@
"micromatch": { "micromatch": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz", "resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz",
"integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"braces": "^3.0.1", "braces": "^3.0.1",
...@@ -20380,7 +20380,7 @@ ...@@ -20380,7 +20380,7 @@
"micromatch": { "micromatch": {
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true, "dev": true,
"requires": { "requires": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
...@@ -28512,7 +28512,7 @@ ...@@ -28512,7 +28512,7 @@
"micromatch": { "micromatch": {
"version": "3.1.10", "version": "3.1.10",
"resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-3.1.10.tgz", "resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true, "dev": true,
"requires": { "requires": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
...@@ -28737,7 +28737,7 @@ ...@@ -28737,7 +28737,7 @@
"micromatch": { "micromatch": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz", "resolved": "https://g.civnet.cn:4873/micromatch/-/micromatch-4.0.2.tgz",
"integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"braces": "^3.0.1", "braces": "^3.0.1",
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
"@babel/runtime": "^7.10.5", "@babel/runtime": "^7.10.5",
"promise.prototype.finally": "^3.1.2", "promise.prototype.finally": "^3.1.2",
"@wisdom-utils/components": "0.0.6", "@wisdom-utils/components": "0.0.6",
"@wisdom-utils/utils": "0.0.28", "@wisdom-utils/utils": "0.0.29",
"@wisdom-utils/vapp-browser-vm": "^0.0.11", "@wisdom-utils/vapp-browser-vm": "^0.0.11",
"@wisdom-utils/vapp-browser-vm-plugins": "^0.0.13", "@wisdom-utils/vapp-browser-vm-plugins": "^0.0.13",
"animate.css": "^4.1.1", "animate.css": "^4.1.1",
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
"ip": "1.1.5", "ip": "1.1.5",
"js-base64": "^3.5.2", "js-base64": "^3.5.2",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"kit_global_config": "^1.0.21", "kit_global_config": "^1.0.22",
"kit_logger": "^1.0.2", "kit_logger": "^1.0.2",
"kit_utils": "^1.3.8", "kit_utils": "^1.3.8",
"lodash": "4.17.11", "lodash": "4.17.11",
......
...@@ -7,6 +7,7 @@ import 'file-loader?name=.htaccess!./.htaccess'; // eslint-disable-line import/e ...@@ -7,6 +7,7 @@ import 'file-loader?name=.htaccess!./.htaccess'; // eslint-disable-line import/e
import 'kit_utils/lib/format'; import 'kit_utils/lib/format';
import 'sanitize.css/sanitize.css'; import 'sanitize.css/sanitize.css';
import './locales/zh-CN'; import './locales/zh-CN';
import Cookies from 'js-cookie';
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import { ErrorBoundary } from '@ant-design/pro-utils'; import { ErrorBoundary } from '@ant-design/pro-utils';
...@@ -27,6 +28,7 @@ import history from './utils/history'; ...@@ -27,6 +28,7 @@ import history from './utils/history';
import { isString } from './utils/utils'; import { isString } from './utils/utils';
import i18n from './utils/share'; import i18n from './utils/share';
import { appService } from './api'; import { appService } from './api';
import Login from './pages/user/login/login';
const isHttps = document.location.protocol === 'https:'; const isHttps = document.location.protocol === 'https:';
const { pwa } = defaultSettings; const { pwa } = defaultSettings;
// eslint-disable-next-line no-restricted-globals // eslint-disable-next-line no-restricted-globals
...@@ -63,9 +65,10 @@ const initLocale = () => { ...@@ -63,9 +65,10 @@ const initLocale = () => {
}; };
const initGlobalConfig = () => { const initGlobalConfig = () => {
debugger
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
const config = createStoreage.get('globalConfig') || {}; const config = createStoreage.get('globalConfig') || {};
if (config.title == null) { if (!Cookies.get('token') || config.token == null) {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
createStoreage.remove(namespace); createStoreage.remove(namespace);
} }
...@@ -78,6 +81,9 @@ const initGlobalConfig = () => { ...@@ -78,6 +81,9 @@ const initGlobalConfig = () => {
if (!createStoreage.get('globalConfig')) { if (!createStoreage.get('globalConfig')) {
window.createStoreage = new Storeage(namespace); window.createStoreage = new Storeage(namespace);
} }
if(!Cookies.get('token')) {
localStorage.removeItem('loginSite');
}
if (params.getParams('client')) { if (params.getParams('client')) {
appService appService
.queryConfig({ client: params.getParams('client') || 'city' }) .queryConfig({ client: params.getParams('client') || 'city' })
...@@ -104,7 +110,16 @@ const initGlobalConfig = () => { ...@@ -104,7 +110,16 @@ const initGlobalConfig = () => {
store.dispatch(actionCreators.getConfigError(error)); store.dispatch(actionCreators.getConfigError(error));
}); });
} }
if (config.title !== null && Object.keys(config).length > 0) { if (config.token !== null && Object.keys(config).length > 0) {
// eslint-disable-next-line no-new
new Login(
{
global: config,
updateConfig: data => store.dispatch(actionCreators.getConfig(data)),
},
() => {},
true,
);
store.dispatch(actionCreators.getConfig(config)); store.dispatch(actionCreators.getConfig(config));
render({ appContent: '', loading: true }); render({ appContent: '', loading: true });
} else { } else {
...@@ -135,6 +150,17 @@ const initGlobalConfig = () => { ...@@ -135,6 +150,17 @@ const initGlobalConfig = () => {
Object.assign({}, window.globalConfig, data), Object.assign({}, window.globalConfig, data),
), ),
); );
// eslint-disable-next-line no-new
new Login(
{
global: Object.assign({}, window.globalConfig, data),
// eslint-disable-next-line no-shadow
updateConfig: data =>
store.dispatch(actionCreators.getConfig(data)),
},
() => {},
true,
);
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
} }
return res; return res;
......
...@@ -81,7 +81,6 @@ class AvatarDropdown extends React.Component { ...@@ -81,7 +81,6 @@ class AvatarDropdown extends React.Component {
} }
this.props.updateCurrentIndex && this.props.updateCurrentIndex(0); this.props.updateCurrentIndex && this.props.updateCurrentIndex(0);
debugger
this.props.history.push( this.props.history.push(
`/user/login/?client=${window.globalConfig.client}`, `/user/login/?client=${window.globalConfig.client}`,
); );
......
import { fromJS } from 'immutable'; import { fromJS } from 'immutable';
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import { Storeage as Store } from 'kit_utils'; import { Storeage as Store } from 'kit_utils';
import AppConfig from 'kit_global_config';
import defaultSetting from '../../../../config/defaultSetting'; import defaultSetting from '../../../../config/defaultSetting';
import generRoutes, { generFlatRoutes } from '../../../utils/routes'; import generRoutes, { generFlatRoutes } from '../../../utils/routes';
import Storage from '../../../utils/storage'; import Storage from '../../../utils/storage';
...@@ -78,15 +78,8 @@ const appReducer = (state = initialState, action) => { ...@@ -78,15 +78,8 @@ const appReducer = (state = initialState, action) => {
env: process.env.NODE_ENV === 'development' ? 'daily' : 'prod', env: process.env.NODE_ENV === 'development' ? 'daily' : 'prod',
}, },
); );
// eslint-disable-next-line global-require // eslint-disable-next-line global-require,no-underscore-dangle
if (!window.globalConfig) { window.globalConfig = AppConfig(window.__INITIAL_STATE__);
// eslint-disable-next-line global-require
window.globalConfig = require('kit_global_config').default;
} else {
// eslint-disable-next-line no-underscore-dangle
window.globalConfig = window.__INITIAL_STATE__;
}
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
createStoreage.set('globalConfig', window.globalConfig); createStoreage.set('globalConfig', window.globalConfig);
// eslint-disable-next-line no-undef,no-case-declarations // eslint-disable-next-line no-undef,no-case-declarations
......
...@@ -5,8 +5,9 @@ import React, { ...@@ -5,8 +5,9 @@ import React, {
useRef, useRef,
useState, useState,
} from 'react'; } from 'react';
import Cookies from 'js-cookie';
import { Anchor, Button, Popover, Radio, Result, Spin } from 'antd'; import { Anchor, Button, Popover, Radio, Result, Spin } from 'antd';
import classNames from 'classnames'; import classNames from 'classnames';
import { dom } from 'kit_utils'; import { dom } from 'kit_utils';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
...@@ -14,7 +15,7 @@ import { renderRoutes } from 'react-router-config'; ...@@ -14,7 +15,7 @@ import { renderRoutes } from 'react-router-config';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { useMountedState } from 'react-use'; import { useMountedState } from 'react-use';
import { LeftOutlined, MenuFoldOutlined } from '@ant-design/icons'; import { LeftOutlined, MenuFoldOutlined, LoadingOutlined } from '@ant-design/icons';
import ProLayout, { getPageTitle } from '@ant-design/pro-layout'; import ProLayout, { getPageTitle } from '@ant-design/pro-layout';
import { getMatchMenu } from '@umijs/route-utils'; import { getMatchMenu } from '@umijs/route-utils';
import pkg from '../../package.json'; import pkg from '../../package.json';
...@@ -28,6 +29,9 @@ import SecurityLayout from './SecurityLayout'; ...@@ -28,6 +29,9 @@ import SecurityLayout from './SecurityLayout';
import Site from './Site'; import Site from './Site';
import styles from './UserLayout.less'; import styles from './UserLayout.less';
import defaultSetting from '../../config/defaultSetting'; import defaultSetting from '../../config/defaultSetting';
import Login from '../pages/user/login/login';
const antIcon = <LoadingOutlined style={{ fontSize: 12 }} spin />;
const baseURI = isProd const baseURI = isProd
? window.location.origin ? window.location.origin
: `http://${window.location.hostname}:3020`; : `http://${window.location.hostname}:3020`;
...@@ -215,6 +219,7 @@ const renderTitle = ( ...@@ -215,6 +219,7 @@ const renderTitle = (
setLoading, setLoading,
collapsed, collapsed,
fixedHeader, fixedHeader,
config
) => { ) => {
// eslint-disable-next-line react-hooks/rules-of-hooks // eslint-disable-next-line react-hooks/rules-of-hooks
const [visible, setVisible] = useState(false); const [visible, setVisible] = useState(false);
...@@ -235,30 +240,35 @@ const renderTitle = ( ...@@ -235,30 +240,35 @@ const renderTitle = (
: `${deltWidth}px`; : `${deltWidth}px`;
} }
} }
let loaded = !!(data && !data.stations || (Array.isArray(data.weathers) && data.weathers.length === 0));
if(config && config.userInfo && config.userInfo.site === "") {
loaded = false;
}
return { return {
render: ( render: (
<> <>
<span className={styles['header-title']} style={{ marginLeft }}> <span className={styles['header-title']} style={{ marginLeft }}>
{title} {title}
</span> </span>
<div className={styles.cityContent}> <Spin indicator={antIcon} spinning={loaded} size="small" style={{marginLeft: '10px'}} tip="加载中" wrapperClassName={styles.spinLoadding}>
<Popover <div className={styles.cityContent}>
placement="bottomLeft" <Popover
trigger="click" placement="bottomLeft"
content={ trigger="click"
<Stations content={
data={data} <Stations
action={action} data={data}
loading={loading} action={action}
setLoading={setLoading} loading={loading}
/> setLoading={setLoading}
} />
arrowPointAtCenter }
overlayClassName={styles.stationsWrapper} arrowPointAtCenter
onVisibleChange={visible => setVisible(visible)} overlayClassName={styles.stationsWrapper}
> onVisibleChange={visible => setVisible(visible)}
{Array.isArray(data.stations) && data.stations.length > 0 ? ( >
<span className={styles.siteName}> {Array.isArray(data.stations) && data.stations.length > 0 ? (
<span className={styles.siteName}>
<img src="https://panda-water.cn/web4/assets/images/depart.svg" /> <img src="https://panda-water.cn/web4/assets/images/depart.svg" />
<span>{data.currentStationName}</span> <span>{data.currentStationName}</span>
<img <img
...@@ -281,8 +291,10 @@ const renderTitle = ( ...@@ -281,8 +291,10 @@ const renderTitle = (
<img src={data.weathers && data.weathers.icon} /> <img src={data.weathers && data.weathers.icon} />
<span>{data.weathers && data.weathers.text}</span> <span>{data.weathers && data.weathers.text}</span>
</span> </span>
) : null} ) : null}
</div> </div>
</Spin>
</> </>
), ),
}; };
...@@ -298,9 +310,7 @@ const BasicLayout = props => { ...@@ -298,9 +310,7 @@ const BasicLayout = props => {
} = props; } = props;
const basename = getBaseName(); const basename = getBaseName();
const history = useHistory(); const history = useHistory();
const [currentRoutes, setCurrentRoutes] = useState( const [currentRoutes, setCurrentRoutes] = useState([]);
props.route.routes[props.currentMenuIndex],
);
const [collapse, setCollapse] = useState(false); const [collapse, setCollapse] = useState(false);
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [cityData, setCityData] = useState({}); const [cityData, setCityData] = useState({});
...@@ -312,6 +322,10 @@ const BasicLayout = props => { ...@@ -312,6 +322,10 @@ const BasicLayout = props => {
() => new Site(props, setSiteLoading), () => new Site(props, setSiteLoading),
); );
useEffect(() => {
setCurrentRoutes(props.route.routes[props.currentMenuIndex]);
}, [props.route]);
useEffect(() => { useEffect(() => {
props.updatePathname(props.location.pathname); props.updatePathname(props.location.pathname);
}, []); }, []);
...@@ -364,14 +378,16 @@ const BasicLayout = props => { ...@@ -364,14 +378,16 @@ const BasicLayout = props => {
}, [props.currentMenuIndex]); }, [props.currentMenuIndex]);
useEffect(() => { useEffect(() => {
if (!props.global.token) { if (!Cookies.get('token')) {
history.replace(`/user/login?client=${props.global.get('client')}`); history.replace(`/user/login?client=${props.global.get('client')}`);
return; return;
} }
siteAction.getCityStationsForUser().then(res => { if(props.global && props.global.userInfo && props.global.userInfo.token !== null && Object.keys(cityData).length === 0) {
setCityData(res); siteAction.getCityStationsForUser().then(res => {
}); setCityData(res);
}, []); });
}
}, [props.global]);
useMemo(() => { useMemo(() => {
window.share.event.on('listenerRemoveTab', () => { window.share.event.on('listenerRemoveTab', () => {
...@@ -461,6 +477,7 @@ const BasicLayout = props => { ...@@ -461,6 +477,7 @@ const BasicLayout = props => {
setSiteLoading, setSiteLoading,
collapse, collapse,
others.fixedHeader, others.fixedHeader,
props.global,
); );
const menuComplexDataRender = menuList => const menuComplexDataRender = menuList =>
......
...@@ -151,6 +151,33 @@ ...@@ -151,6 +151,33 @@
letter-spacing: 2px; letter-spacing: 2px;
} }
.spinLoadding {
> div {
width: 100%;
:global {
.@{ant-prefix}-spin {
display: flex!important;
flex-direction: row;
align-items: center;
flex: 0 1;
width: 100px!important;
}
.anticon-loading {
top: 75%!important;
left: 0!important;
}
.@{ant-prefix}-spin-text {
font-size: 12px;
display: inline-block;
top: 30%!important;
color: #c3c3c3;
width: 100px;
left: 10px!important;
text-align: left;
}
}
}
}
.cityContent { .cityContent {
.siteName { .siteName {
padding-right: 5px; padding-right: 5px;
......
import React, { useCallback, useState, useEffect } from 'react'; import React, { useCallback, useState, useEffect, useMemo } from 'react';
import { Space, Spin } from 'antd'; import { Space, Spin } from 'antd';
import classNames from 'classnames'; import classNames from 'classnames';
...@@ -13,32 +13,31 @@ const pages = i18n.getI18n('app'); ...@@ -13,32 +13,31 @@ const pages = i18n.getI18n('app');
const industries = ['供水', '排水', '消防', '暖通', '节水', '实验室']; const industries = ['供水', '排水', '消防', '暖通', '节水', '实验室'];
const renderIndustries = (config, callback) => const renderIndustries = (config, callback) =>
industries.map(item => { industries.map(item => {
// if ( if (
// config && config &&
// config.userInfo && config.userInfo &&
// config.userInfo.Industries && config.userInfo.Industries &&
// config.userInfo.Industries instanceof Array && config.userInfo.Industries instanceof Array &&
// config.userInfo.Industries.indexOf(item) > -1 config.userInfo.Industries.indexOf(item) > -1
// ) { ) {
// return (
// } <li
return ( className={styles.bootPageLi}
<li key={item}
className={styles.bootPageLi} onClick={event => callback(event, item)}
key={item} >
onClick={event => callback(event, item)} <div className={styles.bootPageList}>
> <div className={styles.listMain}>
<div className={styles.bootPageList}> <img
<div className={styles.listMain}> src={`https://panda-water.cn/web4/assets/images/bootPage/${item}.png`}
<img alt=""
src={`https://panda-water.cn/web4/assets/images/bootPage/${item}.png`} />
alt="" <span>{item}</span>
/> </div>
<span>{item}</span>
</div> </div>
</div> </li>
</li> );
); }
}); });
const BootPage = props => { const BootPage = props => {
const [loadding, setLoadding] = useState(false); const [loadding, setLoadding] = useState(false);
...@@ -55,7 +54,6 @@ const BootPage = props => { ...@@ -55,7 +54,6 @@ const BootPage = props => {
props.instance && props.instance.updateConfig(config); props.instance && props.instance.updateConfig(config);
// props.instance && props.instance.getUserInfoAndConfig('', true, type); // props.instance && props.instance.getUserInfoAndConfig('', true, type);
loginAction.getUserInfoAndConfig('', true, type); loginAction.getUserInfoAndConfig('', true, type);
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
loginAction.events.on('toggleIndustry', event => { loginAction.events.on('toggleIndustry', event => {
setLoadding(false); setLoadding(false);
...@@ -63,7 +61,7 @@ const BootPage = props => { ...@@ -63,7 +61,7 @@ const BootPage = props => {
window.share.event.emit('triggerMicro', props.global); window.share.event.emit('triggerMicro', props.global);
props.updateCurrentIndex(0); props.updateCurrentIndex(0);
// eslint-disable-next-line no-restricted-globals // eslint-disable-next-line no-restricted-globals
// location.reload(); location.reload();
}); });
}, []); }, []);
useEffect(() => { useEffect(() => {
...@@ -83,6 +81,10 @@ const BootPage = props => { ...@@ -83,6 +81,10 @@ const BootPage = props => {
window.removeEventListener('resize', handleResize); window.removeEventListener('resize', handleResize);
}; };
}); });
const renderIndustr = useMemo(
() => renderIndustries(props.global, handlePage),
[],
);
return ( return (
<SecurityLayout> <SecurityLayout>
<div className={styles.bootPage}> <div className={styles.bootPage}>
...@@ -115,7 +117,7 @@ const BootPage = props => { ...@@ -115,7 +117,7 @@ const BootPage = props => {
opacity: 1, opacity: 1,
}} }}
> >
{renderIndustries(props.global, handlePage)} {renderIndustr}
</ul> </ul>
</section> </section>
<Space className={styles.abs}> <Space className={styles.abs}>
......
...@@ -147,6 +147,7 @@ class Login { ...@@ -147,6 +147,7 @@ class Login {
) { ) {
this.createContext(this); this.createContext(this);
// console.log('云平台'); // console.log('云平台');
this.updateConfig && this.updateConfig(this.globalConfig);
this.history.push('/industry'); this.history.push('/industry');
return false; return false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment