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-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 = {
|
|
|
|
|
'zh-CN': { name: '中文', value: zhCn },
|
|
|
|
|
'en': { name: 'English', value: en },
|
|
|
|
|
'ko': { name: '한국어', value: ko },
|
|
|
|
|
'ru': { name: 'русский', value: ru },
|
|
|
|
|
}
|
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-09-25 22:24:16 +08:00
|
|
|
lang: localStorage.getItem('lang') || 'zh-CN',
|
2024-10-22 12:20:05 +08:00
|
|
|
locale: langs[(localStorage.getItem('lang') || 'zh-CN')].value,
|
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-10-22 12:20:05 +08:00
|
|
|
this.setting.locale = langs[lang].value
|
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-11 22:26:55 +08:00
|
|
|
loadConfig(){
|
|
|
|
|
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-11 22:26:55 +08:00
|
|
|
getAdminConfig(){
|
|
|
|
|
console.log('getAdminConfig')
|
|
|
|
|
admin().then(res => {
|
|
|
|
|
this.setting.title = res.data.title
|
|
|
|
|
this.setting.hello = res.data.hello
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-09-13 16:34:15 +08:00
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (import.meta.hot) {
|
|
|
|
|
import.meta.hot.accept(acceptHMRUpdate(useAppStore, import.meta.hot))
|
|
|
|
|
}
|