You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

124 lines
2.8 KiB

import pinia from './stores/index.js'
import App from './App.vue'
// #ifdef H5
import { createSSRApp } from 'vue'
// 导入需要全局注册的组件
import LoginPrompt from './components/login-prompt.vue'
export function createApp() {
const app = createSSRApp(App)
// 全局注册组件
app.component('LoginPrompt', LoginPrompt)
// 挂载 store
app.use(pinia)
return {
app
}
}
// #endif
// #ifdef APP-PLUS
import { createSSRApp } from 'vue'
import { createI18n } from 'vue-i18n'
import LoginPrompt from './components/login-prompt.vue'
// 导入语言文件
import en from './static/language/en.js'
import ms from './static/language/ms.js'
import th from './static/language/th.js'
import vi from './static/language/vi.js'
import zh_CN from './static/language/zh_CN.js'
import zh_HK from './static/language/zh_HK.js'
function getCurrentLocale() {
if (uni.getStorageSync('languageData') && uni.getStorageSync('languageData').code && uni
.getStorageSync('languageData').code != 'undefined') {
return uni.getStorageSync('languageData').code;
} else {
let language = uni.getSystemInfoSync().osLanguage;
// language = 'zh_CN'
if (language.indexOf('th') != -1) {
language = 'th'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else if (language.indexOf('vi') != -1) {
language = 'vi'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else if (language.indexOf('zh') != -1) {
if (language.indexOf('CN') != -1) {
language = 'zh_CN'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else {
language = 'zh_HK'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
}
} else if (language.indexOf('en') != -1) {
language = 'en'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else if (language.indexOf('ms') != -1) {
language = 'ms'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else {
language = 'en'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
}
}
}
// 创建 i18n 实例
const i18n = createI18n({
locale: getCurrentLocale(),
legacy: false, // 使用 Composition API 模式
globalInjection: true, // 全局注入 $t 函数
messages: {
'en': en,
'ms': ms,
'th': th,
'vi': vi,
'zh_CN': zh_CN,
'zh_HK': zh_HK
}
})
export function createApp() {
const app = createSSRApp(App)
app.component('LoginPrompt', LoginPrompt)
app.use(i18n)
// 挂载 store
app.use(pinia)
return {
app
}
}
// #endif