63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
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 {
|
||
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)
|
||
}
|
||
|
||
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)
|
||
}
|