This commit is contained in:
ljw
2024-10-22 12:20:05 +08:00
parent df3209b576
commit 933c955fc3
2 changed files with 26 additions and 7 deletions
+18 -3
View File
@@ -1,7 +1,17 @@
<template> <template>
<div class="setting"> <div class="setting">
<div class="menu-item"> <div class="menu-item">
<el-button size="small" @click="changeLang" style="width: 100px">{{ T('ChangeLang') }}</el-button> <el-dropdown>
<div class="title">
<i data-v-f414ea64="" class="el-icon el-tooltip__trigger" aria-label="请选择您的语言" id="el-id-1024-2" role="button" tabindex="0" aria-controls="el-id-1024-3" aria-expanded="false" aria-haspopup="navigation" style="font-size: 24px;"><svg data-v-f414ea64="" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24" width="1.2em" height="1.2em"><path fill="currentColor" d="m18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301a14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z"></path></svg></i>
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-for="(v, k) in appStore.setting.langs" @click="changeLang(k)" :key="k">{{ v.name }}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div> </div>
<div class="menu-item"> <div class="menu-item">
<el-switch <el-switch
@@ -59,8 +69,8 @@
const showChangePwd = () => { const showChangePwd = () => {
changePwdVisible.value = true changePwdVisible.value = true
} }
const changeLang = () => { const changeLang = (v) => {
appStore.changeLang() appStore.changeLang(v)
} }
const isDark = useDark(); const isDark = useDark();
// const toggleDark = useToggle(isDark) // const toggleDark = useToggle(isDark)
@@ -74,13 +84,18 @@
justify-content: space-around; justify-content: space-around;
.menu-item { .menu-item {
margin-left: 10px; margin-left: 10px;
*{
outline: none;
}
} }
.title { .title {
color: #fff; color: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
.nickname { .nickname {
padding: 0 10px; padding: 0 10px;
} }
+8 -4
View File
@@ -2,8 +2,10 @@ import { defineStore, acceptHMRUpdate } from 'pinia'
import logo from '@/assets/logo.png' import logo from '@/assets/logo.png'
import zhCn from 'element-plus/es/locale/lang/zh-cn' import zhCn from 'element-plus/es/locale/lang/zh-cn'
import en from 'element-plus/es/locale/lang/en' import en from 'element-plus/es/locale/lang/en'
import ko from 'element-plus/es/locale/lang/ko'
import { appConfig } from '@/api/rustdesk' import { appConfig } from '@/api/rustdesk'
const langs = { 'zh-CN': { name: '中文', value: zhCn }, 'en': { name: 'English', value: en }, 'ko': { name: '한국어', value: ko } }
export const useAppStore = defineStore({ export const useAppStore = defineStore({
id: 'App', id: 'App',
state: () => ({ state: () => ({
@@ -11,8 +13,9 @@ export const useAppStore = defineStore({
title: 'Rustdesk-Api-Admin', title: 'Rustdesk-Api-Admin',
sideIsCollapse: false, sideIsCollapse: false,
logo, logo,
langs: langs,
lang: localStorage.getItem('lang') || 'zh-CN', lang: localStorage.getItem('lang') || 'zh-CN',
locale: localStorage.getItem('lang') === 'en' ? en : zhCn, locale: langs[(localStorage.getItem('lang') || 'zh-CN')].value,
appConfig: { appConfig: {
web_client: 1, web_client: 1,
}, },
@@ -24,12 +27,13 @@ export const useAppStore = defineStore({
this.setting.sideIsCollapse = !this.setting.sideIsCollapse this.setting.sideIsCollapse = !this.setting.sideIsCollapse
}, },
setLang (lang) { setLang (lang) {
console.log('setLang', lang)
this.setting.lang = lang this.setting.lang = lang
this.setting.locale = lang === 'zh-CN' ? zhCn : en this.setting.locale = langs[lang].value
localStorage.setItem('lang', lang) localStorage.setItem('lang', lang)
}, },
changeLang () { changeLang (v) {
this.setLang(this.setting.lang === 'zh-CN' ? 'en' : 'zh-CN') this.setLang(v)
}, },
getAppConfig () { getAppConfig () {
console.log('getAppConfig') console.log('getAppConfig')