From 1e08d7adaa7970f0b9a60fc4ff36a1b41259ebcc Mon Sep 17 00:00:00 2001 From: zuiidea Date: Thu, 27 Jul 2017 19:13:31 +0800 Subject: [PATCH] optimized code --- .eslintrc | 15 +++- package.json | 18 ++-- src/components/Editor/Editor.js | 2 +- src/components/FilterItem/FilterItem.js | 2 +- src/components/Layout/Bread.js | 9 +- src/components/Layout/Footer.js | 6 +- src/components/Layout/Header.js | 20 +++-- src/components/Layout/Menu.js | 4 +- src/components/Layout/Sider.js | 2 +- src/components/Search/Search.js | 6 +- src/components/index.js | 2 +- src/components/layer/layer.js | 9 +- src/index.js | 6 +- src/mock/dashboard.js | 2 + src/mock/user.js | 7 +- src/models/app.js | 38 ++++---- src/models/dashboard.js | 23 +++-- src/models/login.js | 4 +- src/models/post.js | 13 +-- src/models/user.js | 19 ++-- src/models/user/detail.js | 3 +- src/router.js | 34 +++---- src/routes/UIElement/dataTable/index.js | 4 +- src/routes/UIElement/dropOption/index.js | 4 +- src/routes/UIElement/iconfont/index.js | 32 +++---- src/routes/UIElement/layer/index.js | 4 +- src/routes/UIElement/search/index.js | 4 +- src/routes/app.js | 8 +- src/routes/chart/Container.js | 8 +- src/routes/chart/areaChart/index.js | 82 ++++++++++------- src/routes/chart/barChart/index.js | 77 +++++++++------- src/routes/chart/lineChart/index.js | 90 ++++++++++++------- src/routes/dashboard/components/browser.js | 2 +- src/routes/dashboard/components/comments.js | 6 +- src/routes/dashboard/components/completed.js | 6 +- src/routes/dashboard/components/cpu.js | 2 +- .../dashboard/components/recentSales.js | 2 +- src/routes/dashboard/components/sales.js | 6 +- src/routes/dashboard/components/user.js | 3 +- src/routes/dashboard/components/weather.js | 8 +- src/routes/dashboard/index.js | 48 ++++++---- src/routes/error/index.js | 4 +- src/routes/post/List.js | 2 +- src/routes/request/index.js | 23 +++-- src/routes/user/List.js | 14 +-- src/routes/user/detail/index.js | 1 - src/routes/user/index.js | 18 ++-- src/services/app.js | 1 + src/services/dashboard.js | 1 + src/services/login.js | 1 + src/services/menus.js | 1 + src/services/posts.js | 1 + src/services/user.js | 1 + src/services/users.js | 1 + src/utils/city.js | 8 +- src/utils/index.js | 5 +- src/utils/request.js | 3 +- webpack.config.js | 27 +++--- 58 files changed, 429 insertions(+), 323 deletions(-) diff --git a/.eslintrc b/.eslintrc index e482bcc..3710267 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,6 +6,7 @@ "comma-dangle": [2, "always-multiline"], "max-len": 0, "react/jsx-first-prop-new-line": 0, + "react/jsx-filename-extension": 0, "space-before-function-paren": [2, "always"], "no-unused-expressions": [0, { "allowShortCircuit": true, @@ -18,11 +19,23 @@ "no-param-reassign": 0, "no-restricted-syntax": 0, "no-eval": 0, + "no-continue": 0, "react/jsx-no-bind": 0, "no-unused-vars": [2, { "ignoreRestSiblings": true }], "no-underscore-dangle": 0, "global-require": 0, - "import/no-unresolved": [0], + "import/no-unresolved": 0, + "import/extensions": 0, + "jsx-a11y/href-no-hash": 0, + "react/no-array-index-key": 0, + "react/require-default-props": 0, + "react/forbid-prop-types": 0, + "react/no-string-refs": 0, + "react/no-find-dom-node": 0, + "import/no-extraneous-dependencies": 0, + "import/prefer-default-export": 0, + "react/no-danger": 0, + "jsx-a11y/no-static-element-interactions": 0, }, "parser": "babel-eslint", "parserOptions": { diff --git a/package.json b/package.json index 8db25d8..6f1e418 100644 --- a/package.json +++ b/package.json @@ -2,13 +2,22 @@ "private": true, "dependencies": { "antd": "^2.11.2", + "axios": "^0.16.2", + "babel-polyfill": "^6.23.0", "classnames": "^2.2.5", + "d3-shape": "^1.2.0", "draftjs-to-markdown": "^0.4.0", "dva": "^1.2.0", "dva-loading": "^0.2.0", + "jsonp": "^0.2.1", + "less-vars-to-js": "^1.1.2", "lodash": "^4.17.4", + "mockjs": "^1.0.1-beta3", "nprogress": "^0.2.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.5.10", "qs": "^6.5.0", + "rc-tween-one": "^1.3.1", "react": "^15.6.1", "react-countup": "^2.1.1", "react-dom": "^15.6.1", @@ -17,13 +26,11 @@ "recharts": "^0.22.4" }, "devDependencies": { - "axios": "^0.16.2", "babel-eslint": "^7.2.3", "babel-plugin-dev-expression": "^0.2.1", "babel-plugin-dva-hmr": "^0.3.2", "babel-plugin-import": "^1.1.1", "babel-plugin-transform-runtime": "^6.9.0", - "babel-polyfill": "^6.23.0", "babel-runtime": "^6.9.2", "draftjs-to-html": "^0.7.0", "dva-model-extend": "^0.1.1", @@ -34,13 +41,8 @@ "eslint-plugin-import": "^2.6.1", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.1.0", - "jsonp": "^0.2.1", - "less-vars-to-js": "^1.1.2", - "mockjs": "^1.0.1-beta3", - "path-to-regexp": "^1.7.0", - "rc-tween-one": "^1.0.0", "redbox-react": "^1.2.10", - "roadhog": "0.6.0-beta.6" + "roadhog": "1.0.0-beta.7" }, "pre-commit": [ "lint" diff --git a/src/components/Editor/Editor.js b/src/components/Editor/Editor.js index 137a698..f45b7e9 100644 --- a/src/components/Editor/Editor.js +++ b/src/components/Editor/Editor.js @@ -1,7 +1,7 @@ import React from 'react' import { Editor } from 'react-draft-wysiwyg' -import styles from './Editor.less' import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css' +import styles from './Editor.less' const DraftEditor = (props) => { diff --git a/src/components/FilterItem/FilterItem.js b/src/components/FilterItem/FilterItem.js index 48046a5..e2c9c08 100644 --- a/src/components/FilterItem/FilterItem.js +++ b/src/components/FilterItem/FilterItem.js @@ -11,7 +11,7 @@ const FilterItem = ({
{labelArray.length > 0 ?
- {labelArray.map((item, index) => {item})} + {labelArray.map((item, index) => {item})}
: ''}
diff --git a/src/components/Layout/Bread.js b/src/components/Layout/Bread.js index 0430d38..d91bb05 100644 --- a/src/components/Layout/Bread.js +++ b/src/components/Layout/Bread.js @@ -1,10 +1,11 @@ +/* global location */ import React from 'react' import PropTypes from 'prop-types' import { Breadcrumb, Icon } from 'antd' import { Link } from 'dva/router' -import styles from './Bread.less' import pathToRegexp from 'path-to-regexp' import { queryArray } from 'utils' +import styles from './Bread.less' const Bread = ({ menu }) => { // 匹配当前路由 @@ -42,14 +43,14 @@ const Bread = ({ menu }) => { const breads = pathArray.map((item, key) => { const content = ( {item.icon - ? - : ''}{item.name} + ? + : ''}{item.name} ) return ( {((pathArray.length - 1) !== key) ? - {content} + {content} : content} diff --git a/src/components/Layout/Footer.js b/src/components/Layout/Footer.js index dd754c0..50866a5 100644 --- a/src/components/Layout/Footer.js +++ b/src/components/Layout/Footer.js @@ -1,9 +1,9 @@ import React from 'react' -import styles from './Footer.less' import { config } from 'utils' +import styles from './Footer.less' -const Footer = () =>
+const Footer = () => (
{config.footerText} -
+
) export default Footer diff --git a/src/components/Layout/Header.js b/src/components/Layout/Header.js index b9f4686..8b13ac7 100644 --- a/src/components/Layout/Header.js +++ b/src/components/Layout/Header.js @@ -1,6 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' import { Menu, Icon, Popover } from 'antd' +import classnames from 'classnames' import styles from './Header.less' import Menus from './Menu' @@ -26,18 +27,25 @@ const Header = ({ user, logout, switchSider, siderFold, isNavbar, menuPopoverVis
- :
- + :
+
}
- - {user.username} < /span>} + + + {user.username} + } > Sign out diff --git a/src/components/Layout/Menu.js b/src/components/Layout/Menu.js index ad02c0a..5292d23 100644 --- a/src/components/Layout/Menu.js +++ b/src/components/Layout/Menu.js @@ -1,3 +1,4 @@ +/* global location */ import React from 'react' import PropTypes from 'prop-types' import { Menu, Icon } from 'antd' @@ -12,7 +13,7 @@ const Menus = ({ siderFold, darkTheme, handleClickNavMenu, navOpenKeys, changeOp // 递归生成菜单 const getMenus = (menuTreeN, siderFoldN) => { - return menuTreeN.map(item => { + return menuTreeN.map((item) => { if (item.children) { if (item.mpid) { levelMap[item.id] = item.mpid @@ -119,7 +120,6 @@ Menus.propTypes = { menu: PropTypes.array, siderFold: PropTypes.bool, darkTheme: PropTypes.bool, - isNavbar: PropTypes.bool, handleClickNavMenu: PropTypes.func, navOpenKeys: PropTypes.array, changeOpenKeys: PropTypes.func, diff --git a/src/components/Layout/Sider.js b/src/components/Layout/Sider.js index 22ec010..e47a7e8 100644 --- a/src/components/Layout/Sider.js +++ b/src/components/Layout/Sider.js @@ -1,8 +1,8 @@ import React from 'react' import PropTypes from 'prop-types' import { Icon, Switch } from 'antd' -import styles from './Layout.less' import { config } from 'utils' +import styles from './Layout.less' import Menus from './Menu' const Sider = ({ siderFold, darkTheme, location, changeTheme, navOpenKeys, changeOpenKeys, menu }) => { diff --git a/src/components/Search/Search.js b/src/components/Search/Search.js index f991ac6..8ef9008 100644 --- a/src/components/Search/Search.js +++ b/src/components/Search/Search.js @@ -1,8 +1,8 @@ import React from 'react' import PropTypes from 'prop-types' import ReactDOM from 'react-dom' -import styles from './Search.less' import { Input, Select, Button, Icon } from 'antd' +import styles from './Search.less' class Search extends React.Component { state = { @@ -18,13 +18,13 @@ class Search extends React.Component { } if (this.props.onSearch) this.props.onSearch(data) } - handleInputChange = e => { + handleInputChange = (e) => { this.setState({ ...this.state, clearVisible: e.target.value !== '', }) } - handleSelectChange = value => { + handleSelectChange = (value) => { this.setState({ ...this.state, selectValue: value, diff --git a/src/components/index.js b/src/components/index.js index acc990e..6694a34 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -19,4 +19,4 @@ export { FilterItem, Loader, layer, - } +} diff --git a/src/components/layer/layer.js b/src/components/layer/layer.js index bd8d9d3..4667388 100644 --- a/src/components/layer/layer.js +++ b/src/components/layer/layer.js @@ -1,8 +1,10 @@ +/* global document */ import { Modal, message } from 'antd' import React from 'react' import ReactDOM from 'react-dom' import classnames from 'classnames' import styles from './layer.less' + const { info, success, error, warning, confirm } = Modal const layer = { @@ -15,7 +17,7 @@ const layer = { confirm, } -layer.close = (index) => new Promise((resolve, reject) => { +layer.close = index => new Promise((resolve, reject) => { const { prefixCls } = layer let div = document.getElementById(`${prefixCls}-reference-${index}`) if (index === undefined) { @@ -41,7 +43,7 @@ layer.closeAll = () => { let i = 0 while (i < references.length) { layer.close() - i++ + i += 1 } } @@ -50,7 +52,8 @@ layer.open = (config) => { const { content, ...modalProps } = props const { className, wrapClassName = '', verticalCenter = true } = modalProps const { prefixCls } = layer - const index = layer.index++ + layer.index += 1 + const index = layer.index let div = document.createElement('div') div.id = `${prefixCls}-reference-${index}` div.className = `${prefixCls}-reference` diff --git a/src/index.js b/src/index.js index 570b080..0959078 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,9 @@ -import './index.html' -import 'babel-polyfill' +import { message } from 'antd' import dva from 'dva' import createLoading from 'dva-loading' import { browserHistory } from 'dva/router' -import { message } from 'antd' +import 'babel-polyfill' +import './index.html' // 1. Initialize const app = dva({ diff --git a/src/mock/dashboard.js b/src/mock/dashboard.js index 350a267..788bc56 100644 --- a/src/mock/dashboard.js +++ b/src/mock/dashboard.js @@ -1,6 +1,8 @@ import { color } from '../utils/theme' + const Mock = require('mockjs') const config = require('../utils/config') + const { apiPrefix } = config const Dashboard = Mock.mock({ diff --git a/src/mock/user.js b/src/mock/user.js index 531ec20..6dd8a8f 100644 --- a/src/mock/user.js +++ b/src/mock/user.js @@ -1,6 +1,7 @@ const qs = require('qs') const Mock = require('mockjs') const config = require('../utils/config') + const { apiPrefix } = config let usersListData = Mock.mock({ @@ -91,7 +92,7 @@ module.exports = { [`POST ${apiPrefix}/user/login`] (req, res) { const { username, password } = req.body - const user = adminUsers.filter((item) => item.username === username) + const user = adminUsers.filter(item => item.username === username) if (user.length > 0 && user[0].password === password) { const now = new Date() @@ -174,7 +175,7 @@ module.exports = { [`DELETE ${apiPrefix}/users`] (req, res) { const { ids } = req.body - database = database.filter((item) => !ids.some(_ => _ === item.id)) + database = database.filter(item => !ids.some(_ => _ === item.id)) res.status(204).end() }, @@ -204,7 +205,7 @@ module.exports = { const { id } = req.params const data = queryArray(database, id, 'id') if (data) { - database = database.filter((item) => item.id !== id) + database = database.filter(item => item.id !== id) res.status(204).end() } else { res.status(404).json(NOTFOUND) diff --git a/src/models/app.js b/src/models/app.js index 4bfd55e..045783a 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -1,9 +1,13 @@ -import { query, logout } from '../services/app' -import * as menusService from '../services/menus' +/* global window */ +/* global document */ +/* global location */ import { routerRedux } from 'dva/router' import { parse } from 'qs' import config from 'config' import { EnumRoleType } from 'enums' +import { query, logout } from '../services/app' +import * as menusService from '../services/menus' + const { prefix } = config export default { @@ -22,10 +26,10 @@ export default { }, ], menuPopoverVisible: false, - siderFold: localStorage.getItem(`${prefix}siderFold`) === 'true', - darkTheme: localStorage.getItem(`${prefix}darkTheme`) === 'true', + siderFold: window.localStorage.getItem(`${prefix}siderFold`) === 'true', + darkTheme: window.localStorage.getItem(`${prefix}darkTheme`) === 'true', isNavbar: document.body.clientWidth < 769, - navOpenKeys: JSON.parse(localStorage.getItem(`${prefix}navOpenKeys`)) || [], + navOpenKeys: JSON.parse(window.localStorage.getItem(`${prefix}navOpenKeys`)) || [], }, subscriptions: { @@ -43,7 +47,7 @@ export default { }, effects: { - *query ({ + * query ({ payload, }, { call, put }) { const { success, user } = yield call(query, payload) @@ -54,7 +58,7 @@ export default { if (permissions.role === EnumRoleType.ADMIN || permissions.role === EnumRoleType.DEVELOPER) { permissions.visit = list.map(item => item.id) } else { - menu = list.filter(item => { + menu = list.filter((item) => { const cases = [ permissions.visit.includes(item.id), item.mpid ? permissions.visit.includes(item.mpid) || item.mpid === '-1' : true, @@ -74,15 +78,13 @@ export default { if (location.pathname === '/login') { yield put(routerRedux.push('/dashboard')) } - } else { - if (config.openPages && config.openPages.indexOf(location.pathname) < 0) { - let from = location.pathname - window.location = `${location.origin}/login?from=${from}` - } + } else if (config.openPages && config.openPages.indexOf(location.pathname) < 0) { + let from = location.pathname + window.location = `${location.origin}/login?from=${from}` } }, - *logout ({ + * logout ({ payload, }, { call, put }) { const data = yield call(logout, parse(payload)) @@ -93,10 +95,8 @@ export default { } }, - *changeNavbar ({ - payload, - }, { put, select }) { - const { app } = yield(select(_ => _)) + * changeNavbar (action, { put, select }) { + const { app } = yield (select(_ => _)) const isNavbar = document.body.clientWidth < 769 if (isNavbar !== app.isNavbar) { yield put({ type: 'handleNavbar', payload: isNavbar }) @@ -113,7 +113,7 @@ export default { }, switchSider (state) { - localStorage.setItem(`${prefix}siderFold`, !state.siderFold) + window.localStorage.setItem(`${prefix}siderFold`, !state.siderFold) return { ...state, siderFold: !state.siderFold, @@ -121,7 +121,7 @@ export default { }, switchTheme (state) { - localStorage.setItem(`${prefix}darkTheme`, !state.darkTheme) + window.localStorage.setItem(`${prefix}darkTheme`, !state.darkTheme) return { ...state, darkTheme: !state.darkTheme, diff --git a/src/models/dashboard.js b/src/models/dashboard.js index 6f69b9f..9658d2e 100644 --- a/src/models/dashboard.js +++ b/src/models/dashboard.js @@ -1,5 +1,5 @@ -import { myCity, queryWeather, query } from '../services/dashboard' import { parse } from 'qs' +import { myCity, queryWeather, query } from '../services/dashboard' // zuimei 摘自 http://www.zuimeitianqi.com/res/js/index.js let zuimei = { @@ -34,12 +34,10 @@ let zuimei = { num = `${num}_${flg}.png` } } + } else if ((hour >= 18 && hour <= 23) || (hour >= 0 && hour <= 6)) { + num = `${num}_${flg}_night.png` } else { - if ((hour >= 18 && hour <= 23) || (hour >= 0 && hour <= 6)) { - num = `${num}_${flg}_night.png` - } else { - num = `${num}_${flg}.png` - } + num = `${num}_${flg}.png` } return num @@ -195,22 +193,21 @@ export default { }, }, effects: { - *query ({ + * query ({ payload, }, { call, put }) { const data = yield call(query, parse(payload)) yield put({ type: 'queryWeather', payload: { ...data } }) }, - *queryWeather ({ - payload, - }, { call, put }) { + * queryWeather (action, { call, put }) { const myCityResult = yield call(myCity, { flg: 0 }) const result = yield call(queryWeather, { cityCode: myCityResult.selectCityCode }) const weather = zuimei.parseActualData(result.data.actual) weather.city = myCityResult.selectCityName - yield put({ type: 'queryWeatherSuccess', payload: { - weather, - } }) + yield put({ type: 'queryWeatherSuccess', + payload: { + weather, + } }) }, }, reducers: { diff --git a/src/models/login.js b/src/models/login.js index e9137ea..699f1bd 100644 --- a/src/models/login.js +++ b/src/models/login.js @@ -1,6 +1,6 @@ -import { login } from '../services/login' import { routerRedux } from 'dva/router' import { queryURL } from 'utils' +import { login } from '../services/login' export default { namespace: 'login', @@ -9,7 +9,7 @@ export default { }, effects: { - *login ({ + * login ({ payload, }, { put, call }) { yield put({ type: 'showLoginLoading' }) diff --git a/src/models/post.js b/src/models/post.js index 7480028..3720cb6 100644 --- a/src/models/post.js +++ b/src/models/post.js @@ -8,19 +8,20 @@ export default modelExtend(pageModel, { subscriptions: { setup ({ dispatch, history }) { - history.listen(location => { + history.listen((location) => { if (location.pathname === '/post') { - dispatch({ type: 'query', payload: { - status: 2, - ...location.query, - } }) + dispatch({ type: 'query', + payload: { + status: 2, + ...location.query, + } }) } }) }, }, effects: { - *query ({ + * query ({ payload, }, { call, put }) { const data = yield call(query, payload) diff --git a/src/models/user.js b/src/models/user.js index 1909179..4c7aa69 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -1,8 +1,9 @@ +/* global window */ import modelExtend from 'dva-model-extend' +import { config } from 'utils' import { create, remove, update } from '../services/user' import * as usersService from '../services/users' import { pageModel } from './common' -import { config } from 'utils' const { query } = usersService const { prefix } = config @@ -15,12 +16,12 @@ export default modelExtend(pageModel, { modalVisible: false, modalType: 'create', selectedRowKeys: [], - isMotion: localStorage.getItem(`${prefix}userIsMotion`) === 'true', + isMotion: window.localStorage.getItem(`${prefix}userIsMotion`) === 'true', }, subscriptions: { setup ({ dispatch, history }) { - history.listen(location => { + history.listen((location) => { if (location.pathname === '/user') { dispatch({ type: 'query', @@ -33,7 +34,7 @@ export default modelExtend(pageModel, { effects: { - *query ({ payload = {} }, { call, put }) { + * query ({ payload = {} }, { call, put }) { const data = yield call(query, payload) if (data) { yield put({ @@ -50,7 +51,7 @@ export default modelExtend(pageModel, { } }, - *'delete' ({ payload }, { call, put, select }) { + * delete ({ payload }, { call, put, select }) { const data = yield call(remove, { id: payload }) const { selectedRowKeys } = yield select(_ => _.user) if (data.success) { @@ -61,7 +62,7 @@ export default modelExtend(pageModel, { } }, - *'multiDelete' ({ payload }, { call, put }) { + * multiDelete ({ payload }, { call, put }) { const data = yield call(usersService.remove, payload) if (data.success) { yield put({ type: 'updateState', payload: { selectedRowKeys: [] } }) @@ -71,7 +72,7 @@ export default modelExtend(pageModel, { } }, - *create ({ payload }, { call, put }) { + * create ({ payload }, { call, put }) { const data = yield call(create, payload) if (data.success) { yield put({ type: 'hideModal' }) @@ -81,7 +82,7 @@ export default modelExtend(pageModel, { } }, - *update ({ payload }, { select, call, put }) { + * update ({ payload }, { select, call, put }) { const id = yield select(({ user }) => user.currentItem.id) const newUser = { ...payload, id } const data = yield call(update, newUser) @@ -106,7 +107,7 @@ export default modelExtend(pageModel, { }, switchIsMotion (state) { - localStorage.setItem(`${prefix}userIsMotion`, !state.isMotion) + window.localStorage.setItem(`${prefix}userIsMotion`, !state.isMotion) return { ...state, isMotion: !state.isMotion } }, diff --git a/src/models/user/detail.js b/src/models/user/detail.js index 559a7be..4f52cdd 100644 --- a/src/models/user/detail.js +++ b/src/models/user/detail.js @@ -1,3 +1,4 @@ +/* global location */ import pathToRegexp from 'path-to-regexp' import { query } from '../../services/user' @@ -21,7 +22,7 @@ export default { }, effects: { - *query ({ + * query ({ payload, }, { call, put }) { const data = yield call(query, payload) diff --git a/src/router.js b/src/router.js index 21d637d..ada2ecc 100644 --- a/src/router.js +++ b/src/router.js @@ -15,7 +15,7 @@ const Routers = function ({ history, app }) { path: '/', component: App, getIndexRoute (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/dashboard')) cb(null, { component: require('./routes/dashboard/') }) }, 'dashboard') @@ -24,7 +24,7 @@ const Routers = function ({ history, app }) { { path: 'dashboard', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/dashboard')) cb(null, require('./routes/dashboard/')) }, 'dashboard') @@ -32,7 +32,7 @@ const Routers = function ({ history, app }) { }, { path: 'user', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/user')) cb(null, require('./routes/user/')) }, 'user') @@ -40,7 +40,7 @@ const Routers = function ({ history, app }) { }, { path: 'user/:id', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/user/detail')) cb(null, require('./routes/user/detail/')) }, 'user-detail') @@ -48,7 +48,7 @@ const Routers = function ({ history, app }) { }, { path: 'login', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/login')) cb(null, require('./routes/login/')) }, 'login') @@ -56,77 +56,77 @@ const Routers = function ({ history, app }) { }, { path: 'request', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/request/')) }, 'request') }, }, { path: 'UIElement/iconfont', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/iconfont/')) }, 'UIElement-iconfont') }, }, { path: 'UIElement/search', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/search/')) }, 'UIElement-search') }, }, { path: 'UIElement/dropOption', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/dropOption/')) }, 'UIElement-dropOption') }, }, { path: 'UIElement/layer', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/layer/')) }, 'UIElement-layer') }, }, { path: 'UIElement/dataTable', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/dataTable/')) }, 'UIElement-dataTable') }, }, { path: 'UIElement/editor', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/UIElement/editor/')) }, 'UIElement-editor') }, }, { path: 'chart/lineChart', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/chart/lineChart/')) }, 'chart-lineChart') }, }, { path: 'chart/barChart', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/chart/barChart/')) }, 'chart-barChart') }, }, { path: 'chart/areaChart', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/chart/areaChart/')) }, 'chart-areaChart') }, }, { path: 'post', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { registerModel(app, require('./models/post')) cb(null, require('./routes/post/')) }, 'post') @@ -134,7 +134,7 @@ const Routers = function ({ history, app }) { }, { path: '*', getComponent (nextState, cb) { - require.ensure([], require => { + require.ensure([], (require) => { cb(null, require('./routes/error/')) }, 'error') }, diff --git a/src/routes/UIElement/dataTable/index.js b/src/routes/UIElement/dataTable/index.js index a0d11df..482f52a 100644 --- a/src/routes/UIElement/dataTable/index.js +++ b/src/routes/UIElement/dataTable/index.js @@ -35,7 +35,7 @@ class DataTablePage extends React.Component { dataKey: 'results', }, columns: [ - { title: 'Name', dataIndex: 'name', render: (text) => `${text.first} ${text.last}` }, + { title: 'Name', dataIndex: 'name', render: text => `${text.first} ${text.last}` }, { title: 'Phone', dataIndex: 'phone' }, { title: 'Gender', dataIndex: 'gender' }, ], @@ -53,7 +53,7 @@ class DataTablePage extends React.Component { dataKey: 'results', }, columns: [ - { title: 'Name', dataIndex: 'name', render: (text) => `${text.first} ${text.last}` }, + { title: 'Name', dataIndex: 'name', render: text => `${text.first} ${text.last}` }, { title: 'Phone', dataIndex: 'phone' }, { title: 'Gender', dataIndex: 'gender' }, ], diff --git a/src/routes/UIElement/dropOption/index.js b/src/routes/UIElement/dropOption/index.js index d76931b..33420a7 100644 --- a/src/routes/UIElement/dropOption/index.js +++ b/src/routes/UIElement/dropOption/index.js @@ -2,7 +2,7 @@ import React from 'react' import { DropOption } from 'components' import { Table, Row, Col, Card, message } from 'antd' -const DropOptionPage = () =>
+const DropOptionPage = () => (
@@ -90,6 +90,6 @@ const DropOptionPage = () =>
/> -
+
) export default DropOptionPage diff --git a/src/routes/UIElement/iconfont/index.js b/src/routes/UIElement/iconfont/index.js index 386f9a0..d3af033 100644 --- a/src/routes/UIElement/iconfont/index.js +++ b/src/routes/UIElement/iconfont/index.js @@ -2,7 +2,7 @@ import React from 'react' import { Iconfont } from 'components' import { Table, Row, Col, Icon } from 'antd' import styles from './index.less' -import './emoji.js' +import './emoji' const colorfulIcons = ['boluo', 'baixiangguo', 'chengzi', 'boluomei', 'caomei', 'dayouzi', 'chelizi', 'fanqie', 'hamigua', 'ganlan', 'juzi', 'heimei', 'huolongguo', 'hongmei', 'lizi', 'lanmei', 'mangguo', 'mihoutao', 'longyan', 'mugua', 'lizi1', 'ningmeng'] @@ -24,35 +24,35 @@ const localRequireSVGIcons = [ require('../../../svg/cute/think.svg'), ] -const IcoPage = () =>
+const IcoPage = () => (

Colorful Icon

    - {colorfulIcons.map(item =>
  • + {colorfulIcons.map(item => (
  • {item} -
  • )} + ))}

Flat Icon

    - {flatIcons.map(item =>
  • + {flatIcons.map(item => (
  • {item} -
  • )} + ))}

Local SVG

    - {localSVGIcons.map(item =>
  • + {localSVGIcons.map(item => (
  • {item} -
  • )} + ))}

Local Require SVG

    - {localRequireSVGIcons.map(item =>
  • + {localRequireSVGIcons.map(item => (
  • {item} -
  • )} + ))}

API

@@ -100,17 +100,17 @@ const IcoPage = () => +
) export default IcoPage diff --git a/src/routes/UIElement/layer/index.js b/src/routes/UIElement/layer/index.js index 9388ad2..334334f 100644 --- a/src/routes/UIElement/layer/index.js +++ b/src/routes/UIElement/layer/index.js @@ -26,7 +26,7 @@ const IcoPage = () => {

API

layer.open(config)

- config对象与Modal的参数基本一致,config属性如下。 + config对象与Modal的参数基本一致,config属性如下。 注意:1.visible属性一般不需要设置;2.afterClose无效,layer.close()可代替;3.layer.open()返回一个唯一的layer Id
@@ -69,7 +69,7 @@ const IcoPage = () => { }, { props: 'confirmLoading', - desciption: '确定按钮 loading ', + desciption: '确定按钮 loading', type: 'boolean', default: '无', }, diff --git a/src/routes/UIElement/search/index.js b/src/routes/UIElement/search/index.js index be78cf5..2ae57f7 100644 --- a/src/routes/UIElement/search/index.js +++ b/src/routes/UIElement/search/index.js @@ -2,7 +2,7 @@ import React from 'react' import { Search } from 'components' import { Table, Row, Col, Card } from 'antd' -const SearchPage = () =>
+const SearchPage = () => (
@@ -93,6 +93,6 @@ const SearchPage = () =>
/> -
+
) export default SearchPage diff --git a/src/routes/app.js b/src/routes/app.js index 618be82..aa11f6e 100644 --- a/src/routes/app.js +++ b/src/routes/app.js @@ -1,4 +1,6 @@ +/* global window */ import React from 'react' +import NProgress from 'nprogress' import PropTypes from 'prop-types' import pathToRegexp from 'path-to-regexp' import { connect } from 'dva' @@ -7,8 +9,8 @@ import { classnames, config } from 'utils' import { Helmet } from 'react-helmet' import '../themes/index.less' import './app.less' -import NProgress from 'nprogress' import Error from './error' + const { prefix, openPages } = config const { Header, Bread, Footer, Sider, styles } = Layout @@ -61,7 +63,7 @@ const App = ({ children, dispatch, app, loading, location }) => { dispatch({ type: 'app/switchTheme' }) }, changeOpenKeys (openKeys) { - localStorage.setItem(`${prefix}navOpenKeys`, JSON.stringify(openKeys)) + window.localStorage.setItem(`${prefix}navOpenKeys`, JSON.stringify(openKeys)) dispatch({ type: 'app/handleNavOpenKeys', payload: { navOpenKeys: openKeys } }) }, } @@ -81,7 +83,7 @@ const App = ({ children, dispatch, app, loading, location }) => { ANTD ADMIN - {iconFontJS && } + {iconFontJS &&