Browse Source

fix code style

pull/4130/head
陈帅 7 years ago
parent
commit
4bb2073839
  1. 2
      scripts/insertCode.js
  2. 9
      src/components/GlobalHeader/AvatarDropdown.tsx
  3. 18
      src/components/GlobalHeader/NoticeIconView.tsx
  4. 1
      src/components/GlobalHeader/RightContent.tsx
  5. 21
      src/layouts/BasicLayout.tsx
  6. 4
      src/models/global.ts
  7. 11
      src/models/login.ts
  8. 14
      src/models/setting.ts
  9. 27
      src/models/user.ts
  10. 5
      src/pages/Authorized.tsx
  11. 4
      src/pages/Welcome.tsx

2
scripts/insertCode.js

@ -33,7 +33,7 @@ const SettingCodeString = `
<SettingDrawer
settings={settings}
onSettingChange={config =>
dispatch!({
dispatch({
type: 'settings/changeSetting',
payload: config,
})

9
src/components/GlobalHeader/AvatarDropdown.tsx

@ -20,9 +20,12 @@ class AvatarDropdown extends React.Component<GlobalHeaderRightProps> {
if (key === 'logout') {
const { dispatch } = this.props;
dispatch!({
type: 'login/logout',
});
if (dispatch) {
dispatch({
type: 'login/logout',
});
}
return;
}
router.push(`/account/${key}`);

18
src/components/GlobalHeader/NoticeIconView.tsx

@ -66,16 +66,20 @@ class GlobalHeaderRight extends Component<GlobalHeaderRightProps> {
changeReadState = (clickedItem: NoticeItem) => {
const { id } = clickedItem;
const { dispatch } = this.props;
dispatch!({
type: 'global/changeNoticeReadState',
payload: id,
});
if (dispatch) {
dispatch({
type: 'global/changeNoticeReadState',
payload: id,
});
}
};
componentDidMount() {
const { dispatch } = this.props;
dispatch!({
type: 'global/fetchNotices',
});
if (dispatch) {
dispatch({
type: 'global/fetchNotices',
});
}
}
handleNoticeClear = (title: string, key: string) => {
const { dispatch } = this.props;

1
src/components/GlobalHeader/RightContent.tsx

@ -7,6 +7,7 @@ import SelectLang from '../SelectLang';
import styles from './index.less';
import Avatar from './AvatarDropdown';
import { connect } from 'dva';
export type SiderTheme = 'light' | 'dark';
export interface GlobalHeaderRightProps extends ConnectProps {
theme?: SiderTheme;

21
src/layouts/BasicLayout.tsx

@ -41,25 +41,28 @@ const menuDataRender = (menuList: MenuDataItem[]): MenuDataItem[] => {
};
const BasicLayout: React.FC<BasicLayoutProps> = props => {
const { dispatch, children, settings, location } = props;
const { dispatch, children, settings } = props;
/**
* constructor
*/
useState(() => {
dispatch!({
type: 'user/fetchCurrent',
});
dispatch!({
type: 'settings/getSetting',
});
if (dispatch) {
dispatch({
type: 'user/fetchCurrent',
});
dispatch({
type: 'settings/getSetting',
});
}
});
/**
* init variables
*/
const handleMenuCollapse = (payload: boolean) =>
dispatch!({
dispatch &&
dispatch({
type: 'global/changeLayoutCollapsed',
payload,
});

4
src/models/global.ts

@ -99,7 +99,7 @@ const GlobalModel: GlobalModelType = {
},
reducers: {
changeLayoutCollapsed(state, { payload }) {
changeLayoutCollapsed(state = { notices: [], collapsed: true }, { payload }) {
return {
...state,
collapsed: payload,
@ -112,7 +112,7 @@ const GlobalModel: GlobalModelType = {
notices: payload,
};
},
saveClearedNotices(state, { payload }) {
saveClearedNotices(state = { notices: [], collapsed: true }, { payload }) {
return {
collapsed: false,
...state,

11
src/models/login.ts

@ -1,28 +1,25 @@
import { routerRedux } from 'dva/router';
import { Reducer } from 'redux';
import { Reducer, AnyAction } from 'redux';
import { EffectsCommandMap } from 'dva';
import { AnyAction } from 'redux';
import { stringify, parse } from 'qs';
export function getPageQuery() {
return parse(window.location.href.split('?')[1]);
}
export interface IStateType {}
export type Effect = (
action: AnyAction,
effects: EffectsCommandMap & { select: <T>(func: (state: IStateType) => T) => T },
effects: EffectsCommandMap & { select: <T>(func: (state: {}) => T) => T },
) => void;
export interface ModelType {
namespace: string;
state: IStateType;
state: {};
effects: {
logout: Effect;
};
reducers: {
changeLoginStatus: Reducer<IStateType>;
changeLoginStatus: Reducer<{}>;
};
}

14
src/models/setting.ts

@ -6,8 +6,8 @@ export interface SettingModelType {
namespace: 'settings';
state: DefaultSettings;
reducers: {
getSetting: Reducer<any>;
changeSetting: Reducer<any>;
getSetting: Reducer<DefaultSettings>;
changeSetting: Reducer<DefaultSettings>;
};
}
let lessNodesAppended: boolean;
@ -72,7 +72,7 @@ const updateTheme: (primaryColor?: string) => void = primaryColor => {
}
};
const updateColorWeak: (colorWeak: string) => void = colorWeak => {
const updateColorWeak: (colorWeak: boolean) => void = colorWeak => {
const root = document.getElementById('root');
if (root) {
root.className = colorWeak ? 'colorWeak' : '';
@ -83,8 +83,8 @@ const SettingModel: SettingModelType = {
namespace: 'settings',
state: defaultSettings,
reducers: {
getSetting(state) {
const setting: any = {};
getSetting(state = defaultSettings) {
const setting: Partial<DefaultSettings> = {};
const urlParams = new URL(window.location.href);
Object.keys(state).forEach(key => {
if (urlParams.searchParams.has(key)) {
@ -97,13 +97,13 @@ const SettingModel: SettingModelType = {
if (state.primaryColor !== primaryColor) {
updateTheme(primaryColor);
}
updateColorWeak(colorWeak);
updateColorWeak(!!colorWeak);
return {
...state,
...setting,
};
},
changeSetting(state, { payload }) {
changeSetting(state = defaultSettings, { payload }) {
const urlParams = new URL(window.location.href);
Object.keys(defaultSettings).forEach(key => {
if (urlParams.searchParams.has(key)) {

27
src/models/user.ts

@ -9,13 +9,15 @@ export interface CurrentUser {
group?: string;
signature?: string;
geographic?: any;
tags?: any[];
tags?: {
key: string;
label: string;
}[];
unreadCount?: number;
}
export interface UserModelState {
list: any[];
currentUser: CurrentUser;
currentUser?: CurrentUser;
}
export interface UserModelType {
@ -26,9 +28,8 @@ export interface UserModelType {
fetchCurrent: Effect;
};
reducers: {
save: Reducer<any>;
saveCurrentUser: Reducer<any>;
changeNotifyCount: Reducer<any>;
saveCurrentUser: Reducer<UserModelState>;
changeNotifyCount: Reducer<UserModelState>;
};
}
@ -36,7 +37,6 @@ const UserModel: UserModelType = {
namespace: 'user',
state: {
list: [],
currentUser: {},
},
@ -58,19 +58,18 @@ const UserModel: UserModelType = {
},
reducers: {
save(state, action) {
return {
...state,
list: action.payload,
};
},
saveCurrentUser(state, action) {
return {
...state,
currentUser: action.payload || {},
};
},
changeNotifyCount(state, action) {
changeNotifyCount(
state = {
currentUser: {},
},
action,
) {
return {
...state,
currentUser: {

5
src/pages/Authorized.tsx

@ -1,6 +1,5 @@
import Authorized from '@/utils/Authorized';
import { Route } from '@/models/connect';
import { ConnectProps, ConnectState, UserModelState } from '@/models/connect';
import { ConnectProps, ConnectState, UserModelState, Route } from '@/models/connect';
import { connect } from 'dva';
import pathToRegexp from 'path-to-regexp';
import React from 'react';
@ -11,7 +10,7 @@ interface AuthComponentProps extends ConnectProps {
}
const getRouteAuthority = (path: string, routeData: Route[]) => {
let authorities: string[] | string | undefined = void 0;
let authorities: string[] | string | undefined = undefined;
routeData.forEach(route => {
// match prefix
if (pathToRegexp(`${route.path}(.*)`).test(path)) {

4
src/pages/Welcome.tsx

@ -1,6 +1,6 @@
import React from 'react';
const Welcome = () => (
export default () => (
<p style={{ textAlign: 'center' }}>
{' '}
<a href="https://umijs.org/guide/block.html" target="_blank" rel="noopener noreferrer">
@ -9,5 +9,3 @@ const Welcome = () => (
</p>
);
Welcome.title = '欢迎使用';
export default Welcome;

Loading…
Cancel
Save