62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
import '../common/error'
|
|
import { createApp } from 'vue'
|
|
// import { sync } from 'vuex-router-sync'
|
|
|
|
import './event'
|
|
|
|
// Components
|
|
import mountComponents from './components'
|
|
|
|
// Plugins
|
|
import initPlugins from './plugins'
|
|
import i18n from './plugins/i18n'
|
|
|
|
import App from './App'
|
|
import router from './route'
|
|
import store from './store'
|
|
|
|
|
|
import { getSetting } from './utils'
|
|
import { langList } from '@/lang'
|
|
import { rendererSend, NAMES } from '../common/ipc'
|
|
|
|
// sync(store, router)
|
|
|
|
window.ELECTRON_DISABLE_SECURITY_WARNINGS = process.env.ELECTRON_DISABLE_SECURITY_WARNINGS
|
|
|
|
|
|
getSetting().then(({ setting, version }) => {
|
|
global.appSetting = setting
|
|
// Set language automatically
|
|
if (!window.i18n.availableLocales.includes(setting.langId)) {
|
|
let langId = null
|
|
let locale = window.navigator.language.toLocaleLowerCase()
|
|
if (window.i18n.availableLocales.includes(locale)) {
|
|
langId = locale
|
|
} else {
|
|
for (const lang of langList) {
|
|
if (lang.alternate == locale) {
|
|
langId = lang.locale
|
|
break
|
|
}
|
|
}
|
|
if (langId == null) langId = 'en-us'
|
|
}
|
|
setting.langId = langId
|
|
rendererSend(NAMES.mainWindow.set_app_setting, setting)
|
|
console.log('Set lang', setting.langId)
|
|
}
|
|
window.i18n.locale = setting.langId
|
|
store.commit('setSetting', setting)
|
|
store.commit('setSettingVersion', version)
|
|
|
|
const app = createApp(App)
|
|
app.use(router)
|
|
.use(store)
|
|
.use(i18n)
|
|
initPlugins(app)
|
|
mountComponents(app)
|
|
app.mount('#root')
|
|
})
|
|
|