提交 123040e6 编写于 作者: Cano1997's avatar Cano1997

feat: 新增支持独立程序弹出视图打开方式

上级 38fddef6
......@@ -6,6 +6,7 @@ import {
ViewMode,
} from '@ibiz-template/runtime';
import { generateRoutePath } from '@ibiz-template/vue-util';
import { UrlHelper } from '@ibiz-template/core';
import router from '@/router';
import {
getDrawerPlacement,
......@@ -145,4 +146,36 @@ export class OpenViewUtil implements IOpenViewUtil {
ibiz.log.warn('openUserCustom', appView, context, params);
throw new Error();
}
/**
* @description 独立程序弹出
* @param {IPSAppView | string} appView
* @param {IContext} context
* @param {IParams} [params] (srfopenmode: 打开方式,srfopentarget:打开目标)
* @returns {*} {Promise<void>}
* @memberof OpenViewUtil
*/
async popupApp(
appView: IPSAppView | string,
context: IContext,
params?: IParams,
): Promise<void> {
const { srfopenmode = 'open', srfopentarget = '_blank' } = params || {};
let url = '';
if (typeof appView === 'string') {
url = appView;
} else {
const { path } = await generateRoutePath(
appView,
router.currentRoute,
context,
params,
);
url = `${UrlHelper.routeBase}${path}`;
}
if (srfopenmode === 'open') {
window.open(url, srfopentarget);
}
// 其他方式待补充
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册