import antd from 'ant-design-vue' import Vue from 'vue' import VueRouter from 'vue-router' import { ipcRenderer } from 'electron' import view from './view' import App from './view/App.vue' import DsContainer from './view/components/container' import routes from './view/router' import 'ant-design-vue/dist/antd.css' import './view/style/index.scss' import './view/style/theme/dark.scss' // 暗色主题 try { window.onerror = (message, source, lineno, colno, error) => { ipcRenderer.send(`[ERROR] JavaScript脚本异常:Error in ${source} at line ${lineno}: ${message}`, error) } } catch (e) { console.error('监听 window.onerror 出现异常:', e) } try { console.info('main.js start') ipcRenderer.send('main.js start') Vue.config.productionTip = false Vue.use(antd) Vue.use(VueRouter) Vue.component(DsContainer) // 3. 创建 router 实例,然后传 `routes` 配置 // 你还可以传别的配置参数, 不过先这么简单着吧。 const router = new VueRouter({ routes, // (缩写) 相当于 routes: routes }) const app = new Vue({ router, render: h => h(App), }) view.initApi(app).then(async (api) => { // 初始化status try { await view.initPre(Vue, api) app.$mount('#app') view.initModules(app, router) } catch (e) { console.error('view初始化出现未知异常:', e) ipcRenderer.send('view初始化出现未知异常:', e) } }) // fix vue-router NavigationDuplicated const VueRouterPush = VueRouter.prototype.push VueRouter.prototype.push = function push (location) { return VueRouterPush.call(this, location).catch(err => err) } const VueRouterReplace = VueRouter.prototype.replace VueRouter.prototype.replace = function replace (location) { return VueRouterReplace.call(this, location).catch(err => err) } console.info('main.js finished') ipcRenderer.send('main.js finished') } catch (e) { console.error('页面加载出现未知异常:', e) ipcRenderer.send('[ERROR] 页面加载出现未知异常:', e) }