1. import qs from 'query-string';
    2. import _ from 'lodash';
    3. const url = {
    4. // 将url上的参数字符串,转换成JS对象
    5. parse(search) {
    6. return qs.parse(search) || {};
    7. },
    8. // 将js对象转换成url的参数字符串
    9. stringify(query ={}) {
    10. return qs.stringify(query);
    11. },
    12. // url跳转, 打开新的标签页
    13. const openUrl = (tabUrl) => {
    14. window.open(tabUrl);
    15. };
    16. /**
    17. url跳转, 当前路由内跳转, 要跳转的地址为link参数
    18. @param {*} link 跳转的链接
    19. @param {*} query 非必填 url参数, 类型为对象
    20. */
    21. import { createHashHistory } from 'history';
    22. const linkRouteByQuery = (link, query) => {
    23. const history = createHashHistory();
    24. history.push({
    25. pathname: link,
    26. search: !_.isEmpty(query) ? `${url.stringify(query)}` : '';
    27. });
    28. };
    29. // 新开标签页跳转到研报浏览器的地址
    30. const linkReportBrowser = (params) => {
    31. const {origin, pathname, search } = window.location;
    32. const newUrl = origin + pathname + search + '#/irspApp/reportBrowser?' + url.stringify(params);
    33. window.open(newUrl);
    34. };
    35. // 页面刷新的方法;
    36. location.reload() 或者是 history.go(0) 来做;
    37. 不要用 history.go(-1),或 history.back();来返回并刷新页面,这两种方法不会刷新页面。
    38. };
    39. export {
    40. url,
    41. };