UNPKG

ivew-comps2

Version:

ivew-comps2 公有云平台基础组件库本项目基于

49 lines (41 loc) 1.03 kB
const Qs = require("qs"); //监听message事件 export function listenMessage(fn) { if (window) { window.addEventListener("message", fn, false); } } /** * 用于和home通信 */ export function postMessage(data) { if (!window || !window.top || window.top === window.self) return; window.top.postMessage.call(window.top, data, "*"); } /** * 只能跳转到home项目中存在的路由 * @param {Object} route 当前路由对象 */ export function replace(route) { postMessage({ type: "route", route: JSON.stringify(route) }); } /** * * @param {String} name 跳转的tab页 * @param {String} url 跳转路径需要带完整的路由 * @param {Object} params 携带参数 */ export function redirect(url, params, name) { let path = params && JSON.stringify(params) != "{}" ? `${url}?${Qs.stringify(params)}` : url; let route = { path }; if (name) route.name = name; postMessage({ type: "redirect", route }); }