2024-09-13 16:34:15 +08:00
|
|
|
import { defineStore, acceptHMRUpdate } from 'pinia'
|
|
|
|
|
import logo from '@/assets/logo.png'
|
2024-09-25 22:24:16 +08:00
|
|
|
import zhCn from 'element-plus/es/locale/lang/zh-cn'
|
|
|
|
|
import en from 'element-plus/es/locale/lang/en'
|
2024-10-22 12:20:05 +08:00
|
|
|
import ko from 'element-plus/es/locale/lang/ko'
|
2024-10-22 19:46:05 +08:00
|
|
|
import ru from 'element-plus/es/locale/lang/ru'
|
2024-12-21 15:12:52 +01:00
|
|
|
import fr from 'element-plus/es/locale/lang/fr'
|
2024-11-26 10:42:21 +08:00
|
|
|
import es from 'element-plus/es/locale/lang/es'
|
2025-01-19 21:19:57 +08:00
|
|
|
import zhTw from 'element-plus/es/locale/lang/zh-tw'
|
2024-11-11 22:26:55 +08:00
|
|
|
import { admin, app } from '@/api/config'
|
2024-09-13 16:34:15 +08:00
|
|
|
|
2024-10-22 19:46:05 +08:00
|
|
|
const langs = {
|
2024-11-26 10:42:21 +08:00
|
|
|
'zh-CN': { name: '中文', value: zhCn, sideBarWidth: '210px' },
|
|
|
|
|
'en': { name: 'English', value: en, sideBarWidth: '230px' },
|
2024-12-21 15:12:52 +01:00
|
|
|
'fr': { name: 'Français', value: fr, sideBarWidth: '280px' },
|
2024-11-26 10:42:21 +08:00
|
|
|
'ko': { name: '한국어', value: ko, sideBarWidth: '230px' },
|
|
|
|
|
'ru': { name: 'русский', value: ru, sideBarWidth: '250px' },
|
|
|
|
|
'es': { name: 'español', value: es, sideBarWidth: '280px' },
|
2025-01-19 21:19:57 +08:00
|
|
|
'zh-TW': { name: '中文繁体', value: zhTw, sideBarWidth: '210px' },
|
2024-10-22 19:46:05 +08:00
|
|
|
}
|
2024-11-26 10:42:21 +08:00
|
|
|
const defaultLang = localStorage.getItem('lang') || navigator.language || 'zh-CN'
|
2024-09-13 16:34:15 +08:00
|
|
|
export const useAppStore = defineStore({
|
|
|
|
|
id: 'App',
|
|
|
|
|
state: () => ({
|
|
|
|
|
setting: {
|
2024-09-25 22:24:16 +08:00
|
|
|
title: 'Rustdesk-Api-Admin',
|
2024-11-11 22:26:55 +08:00
|
|
|
hello: '',
|
2024-09-13 16:34:15 +08:00
|
|
|
sideIsCollapse: false,
|
|
|
|
|
logo,
|
2024-10-22 12:20:05 +08:00
|
|
|
langs: langs,
|
2024-11-26 10:42:21 +08:00
|
|
|
lang: defaultLang,
|
|
|
|
|
locale: langs[defaultLang] ? langs[defaultLang] : langs['en'],
|
2024-10-14 10:34:40 +08:00
|
|
|
appConfig: {
|
|
|
|
|
web_client: 1,
|
|
|
|
|
},
|
2024-09-13 16:34:15 +08:00
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
actions: {
|
|
|
|
|
sideCollapse () {
|
|
|
|
|
this.setting.sideIsCollapse = !this.setting.sideIsCollapse
|
|
|
|
|
},
|
2024-09-25 22:24:16 +08:00
|
|
|
setLang (lang) {
|
2024-10-22 12:20:05 +08:00
|
|
|
console.log('setLang', lang)
|
2024-09-25 22:24:16 +08:00
|
|
|
this.setting.lang = lang
|
2024-11-26 10:42:21 +08:00
|
|
|
this.setting.locale = langs[lang]
|
2024-09-25 22:24:16 +08:00
|
|
|
localStorage.setItem('lang', lang)
|
|
|
|
|
},
|
2024-10-22 12:20:05 +08:00
|
|
|
changeLang (v) {
|
|
|
|
|
this.setLang(v)
|
2024-09-25 22:24:16 +08:00
|
|
|
},
|
2024-11-26 10:42:21 +08:00
|
|
|
loadConfig () {
|
2024-11-11 22:26:55 +08:00
|
|
|
this.getAppConfig()
|
|
|
|
|
this.getAdminConfig()
|
|
|
|
|
},
|
2024-10-14 10:34:40 +08:00
|
|
|
getAppConfig () {
|
|
|
|
|
console.log('getAppConfig')
|
2024-11-11 22:26:55 +08:00
|
|
|
app().then(res => {
|
2024-10-14 10:34:40 +08:00
|
|
|
this.setting.appConfig = res.data
|
|
|
|
|
})
|
|
|
|
|
},
|
2024-11-26 10:42:21 +08:00
|
|
|
getAdminConfig () {
|
2024-11-11 22:26:55 +08:00
|
|
|
console.log('getAdminConfig')
|
|
|
|
|
admin().then(res => {
|
|
|
|
|
this.setting.title = res.data.title
|
|
|
|
|
this.setting.hello = res.data.hello
|
|
|
|
|
})
|
2024-11-26 10:42:21 +08:00
|
|
|
},
|
2024-09-13 16:34:15 +08:00
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (import.meta.hot) {
|
|
|
|
|
import.meta.hot.accept(acceptHMRUpdate(useAppStore, import.meta.hot))
|
|
|
|
|
}
|