Commit c9d71c91 authored by yoyo837's avatar yoyo837 Committed by 陈帅

抽取 getQueryPath 方法封装路径和查询参数拼接

parent 63c8ceb2
......@@ -5,7 +5,7 @@ import { Icon } from 'antd';
import GlobalFooter from '../components/GlobalFooter';
import styles from './UserLayout.less';
import logo from '../assets/logo.svg';
import { getRoutes, getPageQuery } from '../utils/utils';
import { getRoutes, getPageQuery, getQueryPath } from '../utils/utils';
const links = [
{
......@@ -32,13 +32,11 @@ const copyright = (
);
function getLoginPathWithRedirectPath() {
const routePath = '/user/login';
const params = getPageQuery();
const { redirect } = params;
if (redirect) {
return `${routePath}?redirect=${encodeURIComponent(redirect)}`;
}
return routePath;
return getQueryPath('/user/login', {
redirect,
});
}
class UserLayout extends React.PureComponent {
......
......@@ -2,7 +2,7 @@ import { routerRedux } from 'dva/router';
import { fakeAccountLogin } from '../services/api';
import { setAuthority } from '../utils/authority';
import { reloadAuthorized } from '../utils/Authorized';
import { getPageQuery } from '../utils/utils';
import { getPageQuery, getQueryPath } from '../utils/utils';
export default {
namespace: 'login',
......@@ -49,7 +49,11 @@ export default {
});
reloadAuthorized();
yield put(
routerRedux.push(`/user/login?redirect=${encodeURIComponent(window.location.href)}`)
routerRedux.push(
getQueryPath('/user/login', {
redirect: window.location.href,
})
)
);
},
},
......
......@@ -5,6 +5,7 @@ import zhCN from 'antd/lib/locale-provider/zh_CN';
import dynamic from 'dva/dynamic';
import { getRouterData } from './common/router';
import Authorized from './utils/Authorized';
import { getQueryPath } from './utils/utils';
import styles from './index.less';
const { ConnectedRouter } = routerRedux;
......@@ -26,7 +27,9 @@ function RouterConfig({ history, app }) {
path="/"
render={props => <BasicLayout {...props} />}
authority={['admin', 'user']}
redirectPath={`/user/login?redirect=${encodeURIComponent(window.location.href)}`}
redirectPath={getQueryPath('/user/login', {
redirect: window.location.href,
})}
/>
</Switch>
</ConnectedRouter>
......
import moment from 'moment';
import { parse } from 'qs';
import { parse, stringify } from 'qs';
export function fixedZero(val) {
return val * 1 < 10 ? `0${val}` : val;
......@@ -166,6 +166,14 @@ export function getPageQuery() {
return parse(window.location.href.split('?')[1]);
}
export function getQueryPath(path = '', query = {}) {
const search = stringify(query);
if (search.length) {
return `${path}?${search}`;
}
return path;
}
/* eslint no-useless-escape:0 */
const reg = /(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
......
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