@ithinkdt/core
Version:
iThinkDT Core
19 lines (17 loc) • 602 B
JavaScript
import { router } from '../auth'
import { theme } from './plugin'
// TODO 返回页面间通信的封装
export function openPage(to, target, specs) {
if ((theme.multiTab && target !== '_blank') || target === '_self') {
router.push(to)
} else {
const resolved = router.resolve(to)
window.open(
resolved?.href || to,
target?.[0] === '_' ? target : '_blank',
Object.keys(specs || {})
.map((k) => `${k}=${typeof specs[k] === 'boolean' ? (specs[k] ? '1' : '0') : specs[k]}`)
.join(','),
)
}
}