更新北京时间
This commit is contained in:
@@ -70,9 +70,12 @@
|
||||
|
||||
<!-- 翻译开关 -->
|
||||
<div class="flex items-center gap-3">
|
||||
<label class="flex items-center gap-2 cursor-pointer">
|
||||
<input type="checkbox" v-model="needTranslate" class="w-4 h-4" />
|
||||
<span class="text-sm text-gray-700">启用翻译</span>
|
||||
<label class="flex items-center gap-2 cursor-pointer"
|
||||
:class="{ 'opacity-50': inputMode === 'individual' }">
|
||||
<input type="checkbox" v-model="needTranslate" class="w-4 h-4"
|
||||
:disabled="inputMode === 'individual'" />
|
||||
<span class="text-sm text-gray-700">{{ inputMode === 'individual' ? '单个编辑模式下翻译不可用' : '启用翻译'
|
||||
}}</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@@ -212,9 +215,20 @@ const emit = defineEmits(['close', 'confirm'])
|
||||
const STORAGE_KEY = 'greeting_dialog_data'
|
||||
const REGION_LIST = getRegions()
|
||||
|
||||
// 为不同模式分别存储内容
|
||||
const sentences = ref([''])
|
||||
const bulkText = ref('')
|
||||
const inputMode = ref('bulk') // 'bulk' 或 'individual'
|
||||
// 为两个模式分别存储内容
|
||||
const modeData = ref({
|
||||
bulk: {
|
||||
sentences: [''],
|
||||
bulkText: ''
|
||||
},
|
||||
individual: {
|
||||
sentences: ['']
|
||||
}
|
||||
})
|
||||
const selectedRegions = ref([])
|
||||
const translations = ref({})
|
||||
const activeTab = ref('')
|
||||
@@ -286,18 +300,48 @@ watch(selectedLanguages, (newLangs) => {
|
||||
}
|
||||
})
|
||||
|
||||
// 当模式切换时,保存当前模式的内容并加载新模式的内容
|
||||
watch(inputMode, (newMode, oldMode) => {
|
||||
// 保存旧模式的内容
|
||||
if (oldMode) {
|
||||
if (oldMode === 'bulk') {
|
||||
modeData.value.bulk.sentences = [...sentences.value]
|
||||
modeData.value.bulk.bulkText = bulkText.value
|
||||
} else if (oldMode === 'individual') {
|
||||
modeData.value.individual.sentences = [...sentences.value]
|
||||
}
|
||||
}
|
||||
|
||||
// 加载新模式的内容
|
||||
if (newMode === 'bulk') {
|
||||
sentences.value = [...modeData.value.bulk.sentences]
|
||||
bulkText.value = modeData.value.bulk.bulkText
|
||||
} else if (newMode === 'individual') {
|
||||
sentences.value = [...modeData.value.individual.sentences]
|
||||
needTranslate.value = false
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
function loadFromStorage() {
|
||||
const saved = localStorage.getItem(STORAGE_KEY)
|
||||
if (saved) {
|
||||
try {
|
||||
const data = JSON.parse(saved)
|
||||
if (data.sentences?.length) sentences.value = data.sentences
|
||||
if (data.modeData) modeData.value = data.modeData
|
||||
if (data.selectedRegions?.length) selectedRegions.value = data.selectedRegions
|
||||
if (data.translations) translations.value = data.translations
|
||||
if (typeof data.needTranslate === 'boolean') needTranslate.value = data.needTranslate
|
||||
if (data.activeTab) activeTab.value = data.activeTab
|
||||
if (data.inputMode) inputMode.value = data.inputMode
|
||||
|
||||
// 加载当前模式的内容
|
||||
if (inputMode.value === 'bulk') {
|
||||
sentences.value = [...modeData.value.bulk.sentences]
|
||||
bulkText.value = modeData.value.bulk.bulkText
|
||||
} else if (inputMode.value === 'individual') {
|
||||
sentences.value = [...modeData.value.individual.sentences]
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('加载本地数据失败:', e)
|
||||
}
|
||||
@@ -305,8 +349,16 @@ function loadFromStorage() {
|
||||
}
|
||||
|
||||
function saveToStorage() {
|
||||
// 保存当前模式的内容到 modeData
|
||||
if (inputMode.value === 'bulk') {
|
||||
modeData.value.bulk.sentences = [...sentences.value]
|
||||
modeData.value.bulk.bulkText = bulkText.value
|
||||
} else if (inputMode.value === 'individual') {
|
||||
modeData.value.individual.sentences = [...sentences.value]
|
||||
}
|
||||
|
||||
localStorage.setItem(STORAGE_KEY, JSON.stringify({
|
||||
sentences: sentences.value,
|
||||
modeData: modeData.value,
|
||||
selectedRegions: selectedRegions.value,
|
||||
translations: translations.value,
|
||||
needTranslate: needTranslate.value,
|
||||
|
||||
Reference in New Issue
Block a user