Files
frontend-app/main.js
T

47 lines
981 B
JavaScript
Raw Normal View History

2026-08-17 11:32:40 +08:00
import App from './App'
import messages from './locale/index'
import uviewPlus from '@/uni_modules/uview-plus'
2026-08-31 15:06:55 +08:00
import { createSSRApp, h } from 'vue'
import { createI18n } from 'vue-i18n'
// #ifdef H5
import VueClipboard from 'vue-clipboard2'
// #endif
const i18nConfig = {
locale: uni.getLocale(),
messages
}
const i18n = createI18n(i18nConfig)
2026-08-17 11:32:40 +08:00
export function createApp() {
const app = createSSRApp(App)
2026-08-31 15:06:55 +08:00
// #ifdef H5
app.component('AsyncError', {
props: ['error'],
mounted() {
console.error('[AsyncPageError]', this.error)
},
render() {
const detail = import.meta.env.DEV && this.error
? `:${this.error.message || String(this.error)}`
: ''
return h('div', {
class: 'uni-async-error',
onClick: () => window.location.reload()
}, `页面加载失败${detail},点击屏幕重试`)
}
})
app.use(VueClipboard);
// #endif
app.use(i18n)
app.use(uviewPlus)
return {
app
}
}