import { prefixPagePath, industryEntry } from "../../../core/utils"; import { queryToUrl } from "./index"; import masConfig from "../mas.config.json"; export const getEntryPage = (pull) => `${industryEntry}/${masConfig["industry-name"]}/pages/${ pull ? "page-pull" : "page-no-pull" }/index`; const history = (() => { const storage = ({ pageType, componentData }) => { if (!getApp().globalData.pageTemp) { getApp().globalData.pageTemp = {}; } getApp().globalData.pageTemp[pageType] = componentData; }; // eslint-disable-next-line max-len // /components/industry-component/volunteer/pages/page-no-pull/index?title=标题&pageType=volunteer-projects const url = ({ pageType, query, title, pull, header }) => `${getEntryPage( pull )}?title=${title}&pageType=${pageType}&header=${header}${queryToUrl( query )}`; // pageType 指定渲染的组件 // data 数据,用于复杂类型的传递 // query 可以通过分享出去的链接重新回到该页面,简单的query数据 // title 页面标题和分享出去的标题 // pull 页面是否允许下拉 return { push({ pageType, componentData, query = {}, title, pull = false, header = "show", }) { storage({ pageType, componentData, }); my.navigateTo({ url: url({ pageType, query, title, pull, header, }), }); }, replace({ pageType, componentData, query = {}, title, pull, header = "show", }) { storage({ pageType, componentData, }); my.redirectTo({ url: url({ pageType, query, title, pull, header, }), }); }, toH5(_url) { my.navigateTo({ url: `${prefixPagePath}/h5/index?url=${_url}`, }); }, }; })(); export default history;