Commit 0a54ee72 authored by 邓晓峰's avatar 邓晓峰

feat: 优化render

parent 13b633f3
Pipeline #47272 skipped with stages
......@@ -110,7 +110,7 @@
"@wisdom-map/Map": "^1.0.12-17",
"@wisdom-map/arcgismap": "^1.0.79-17",
"@wisdom-map/util": "^1.0.27-0",
"@wisdom-utils/components": "0.0.14",
"@wisdom-utils/components": "0.0.20",
"@wisdom-utils/runtime": "0.0.15",
"@wisdom-utils/utils": "0.0.77",
"animate.css": "^4.1.1",
......
......@@ -38,7 +38,6 @@ const colorList = [
];
const updateTheme = newPrimaryColor => {
// const hideMessage = message.loading('正在切换主题!', 0)
themeColor.changeColor('#52C41A').finally(() => {
setTimeout(() => {
......
......@@ -20,7 +20,7 @@ class ErrorBoundary extends React.Component {
return (
<Result
status="error"
title="Something went wrong."
title="访问页面发生错误."
extra={this.state.errorInfo}
/>
);
......
import React, { useState, useRef } from 'react';
import { message } from 'antd';
import _, { words } from 'lodash';
import _ from 'lodash';
import { connect } from 'react-redux';
import Icon from '@ant-design/icons';
import classNames from 'classnames';
......
......@@ -2,9 +2,7 @@ import React, { Component } from 'react';
import { Button, Form, Input, Modal } from 'antd';
import { connect } from 'react-redux';
import { FormattedMessage } from '@/locales/localeExports';
import service from '../../api/service/notification';
import { actionCreators } from '../../containers/App/store';
import isProd from '../../utils/env';
......
......@@ -7,7 +7,7 @@ import React, {
import classNames from 'classnames';
import PinyinMatch from 'pinyin-match';
import { useHistory } from 'react-router-dom';
import { useHistory } from '@wisdom-utils/runtime';
import Icon, { RightCircleOutlined } from '@ant-design/icons';
......
......@@ -6,11 +6,11 @@ import KeyCode from 'rc-util/lib/KeyCode';
import { Spin } from 'antd';
import Icon, { MenuOutlined } from '@ant-design/icons';
import { events } from '@wisdom-utils/utils/lib/helpers';
import Categories from './Categories';
import styles from './index.less';
import Menu from './Menu';
// eslint-disable-next-line import/extensions
import { events } from './utils/index.js';
const ThLarge = props => (
<svg viewBox="0 0 1024 1024" version="1.1" width="14" height="14">
......
/**
* 取消事件绑定
* @param {*} node DOM节点或任何可以绑定事件的对象
* @param {String} eventName 事件名
* @param {Function} callback 回调方法
* @param {Boolean} [useCapture=false] 是否开启事件捕获优先
*/
export function off(node, eventName, callback, useCapture) {
/* istanbul ignore else */
if (node.removeEventListener) {
node.removeEventListener(eventName, callback, useCapture || false);
}
}
/**
* 绑定事件
* @param {*} node DOM节点或任何可以绑定事件的对象
* @param {String} eventName 事件名
* @param {Function} callback 回调方法
* @param {Boolean} useCapture 是否开启事件捕获优先
* @return {Object} 返回的object中包含一个off方法,用于取消事件监听
*
* @example
* const handler = events.on(document.body, 'click', e => {
* // handle click ...
* });
* // 取消事件绑定
* handler.off();
*/
export function on(node, eventName, callback, useCapture) {
/* istanbul ignore else */
if (node.addEventListener) {
node.addEventListener(eventName, callback, useCapture || false);
}
return {
off: () => off(node, eventName, callback, useCapture),
};
}
/**
* 绑定事件,只执行一次后销毁
* @param {*} node DOM节点或任何可以绑定事件的对象
* @param {String} eventName 事件名
* @param {Function} callback 回调方法
* @param {Boolean} useCapture 是否开启事件捕获优先
* @return {Function} 返回的object中包含一个off方法,用于取消事件监听
*/
export function once(node, eventName, callback, useCapture) {
return on(
node,
eventName,
function __fn(...args) {
callback.apply(this, args);
// 由于addEventListener中的参数options只在Chrome 55、Firefox(Gecko)以上版本支持,故还是用传统的方法实现once
off(node, eventName, __fn, useCapture);
},
useCapture,
);
}
import * as _events from './event';
export const events = _events;
import React, { Suspense } from 'react';
import React from 'react';
import { Helmet } from 'react-helmet';
import { connect } from 'react-redux';
......
import Cookies from 'js-cookie';
import { event } from 'microser-data';
import {
CLEAR_RCENT_KEYWORD,
COMPLEX_CONFIG,
......@@ -220,6 +219,7 @@ export function logout(data) {
localStorage.removeItem('access_token');
// eslint-disable-next-line no-undef,no-restricted-globals
createStoreage.remove(`__PANDA_STORE__${location.hostname}`);
// eslint-disable-next-line no-undef,no-restricted-globals
createStoreage.remove(`__PANDA_STORE__MICRO_${location.hostname}`);
localStorage.removeItem('JmReport-Access-Token');
return {
......
import { fromJS } from 'immutable';
import Cookies from 'js-cookie';
import { AppConfig } from '@wisdom-utils/utils';
import { AppConfig, store, event, Storage } from '@wisdom-utils/utils';
import { Storeage as Store } from '@wisdom-utils/utils/lib/helpers';
import { store, event } from '@wisdom-utils/utils';
import { Storage } from '@wisdom-utils/utils';
import pkg from '../../../../package.json';
import defaultSetting from '../../../../config/defaultSetting';
import generRoutes, {
......@@ -260,7 +258,7 @@ const appReducer = (state = initialState, action) => {
mapView: action.data,
});
case AMAP_VIEW:
store.set('view', action.data);
store.set('amapView', action.data);
return state.merge({
amapView: action.data,
});
......
import Cookies from 'js-cookie';
import { params, Storeage } from '@wisdom-utils/utils/lib/helpers';
import { appService } from './api';
import { initMicroApps } from './micro';
import { params, Storeage } from '@wisdom-utils/utils/lib/helpers';
import { actionCreators } from './containers/App/store';
import { getToken, isString } from './utils/utils';
import loader, { render } from './render';
......
......@@ -14,13 +14,13 @@ import { actionCreators } from './containers/App/store';
import loader from './render';
import store from './stores';
import actions from './actions';
import { processComponentName } from './utils/utils';
// eslint-disable-next-line import/named
import { string } from '@wisdom-utils/utils/lib/helpers';
const { processComponentName } = string;
// eslint-disable-next-line no-undef
const Logger = logger('micro');
export const initMicroApps = () => {
/* eslint-disable */
const config = window.globalConfig || {};
//createStoreage.get('globalConfig');
......
import React from 'react';
import ReactDOM from 'react-dom';
import store from './stores'
import { history } from '@wisdom-utils/runtime';
import { Provider } from 'react-redux';
import { ConfigProvider } from 'antd';
import { ConnectedRouter } from 'connected-react-router/immutable';
import ErrorBoundary from './components/ErrorBoundary';
import store from './stores';
import { ErrorBoundary } from '@wisdom-utils/components';
import Container from './components/Container';
import { LocaleContainer } from './locales/locale';
import App from './containers/App';
......@@ -29,8 +28,8 @@ export const render = () => {
</Provider>,
MOUNT_NODE,
);
};
// updateTheme('#ff9600');
const loader = (appContent, loading) => render({ appContent, loading });
};
// updateTheme('#ff9600');
const loader = (appContent, loading) => render({ appContent, loading });
export default loader;
\ No newline at end of file
export default loader;
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