25 lines
789 B
TypeScript
25 lines
789 B
TypeScript
// 预览应用 — Vue 组件化
|
|
import { h, render } from 'vue'
|
|
import { Apps, stdMenus } from '../../composables/useApps'
|
|
import PreviewComponent from './Preview.vue'
|
|
|
|
export const PreviewApp = {
|
|
id: 'preview', name: '预览', icon: '/assets/icons/preview.svg',
|
|
w: 720, h: 540, minW: 380, minH: 280, singleton: false,
|
|
menus(win: any) {
|
|
const st = win?.appState
|
|
return stdMenus(this, {
|
|
view: [
|
|
{ label: '放大', key: '⌘+', action: () => st?.zoom(0.2) },
|
|
{ label: '缩小', key: '⌘−', action: () => st?.zoom(-0.2) },
|
|
{ label: '实际大小', key: '⌘0', action: () => st?.zoomReset() },
|
|
]
|
|
})
|
|
},
|
|
render(win: any) {
|
|
const vnode = h(PreviewComponent, { win })
|
|
render(vnode, win.body)
|
|
},
|
|
}
|
|
Apps.register(PreviewApp)
|