添加key查看器

This commit is contained in:
SunWuyuan
2025-08-29 21:24:21 +08:00
parent c744f37f39
commit cd10d0f49a
6 changed files with 826 additions and 13 deletions
+21 -13
View File
@@ -1194,23 +1194,26 @@ export default {
);
}
// 加载科目配置
try {
const subjectsResponse = await dataProvider.loadData("classworks-config-subject");
if (subjectsResponse && Array.isArray(subjectsResponse)) {
// 更新科目列表
this.state.availableSubjects = subjectsResponse;
}
} catch (error) {
console.warn("Failed to load subject configuration:", error);
// 保持默认科目列表
}
await this.loadSubjects();
} catch (error) {
console.error("加载配置失败:", error);
this.$message.error("加载配置失败", error.message);
}
},
async loadSubjects() {
try {
const subjectsResponse = await dataProvider.loadData("classworks-config-subject");
if (subjectsResponse && Array.isArray(subjectsResponse)) {
// 更新科目列表
this.state.availableSubjects = subjectsResponse;
}
} catch (error) {
console.warn("Failed to load subject configuration:", error);
// 保持默认科目列表
}
},
showSyncMessage() {
this.$message.success("数据已同步", "数据已完成与服务器同步");
},
@@ -1358,7 +1361,7 @@ export default {
this.updateBackendUrl();
},
handleDateSelect(newDate) {
async handleDateSelect(newDate) {
if (!newDate) return;
try {
@@ -1377,7 +1380,12 @@ export default {
query: { date: formattedDate },
})
.catch(() => {});
this.downloadData();
// Load both data and subjects in parallel
await Promise.all([
this.downloadData(),
this.loadSubjects()
]);
}
} catch (error) {
console.error("Date processing error:", error);
+3
View File
@@ -104,6 +104,7 @@
@saved="onSettingsSaved"
/>
<data-provider-settings-card border class="mt-4" />
<kv-database-card border class="mt-4" />
</v-tabs-window-item>
<v-tabs-window-item value="namespace">
@@ -241,6 +242,7 @@ import NamespaceSettingsCard from "@/components/settings/cards/NamespaceSettings
import RandomPickerCard from "@/components/settings/cards/RandomPickerCard.vue";
import HomeworkTemplateCard from "@/components/settings/cards/HomeworkTemplateCard.vue";
import SubjectManagementCard from "@/components/settings/cards/SubjectManagementCard.vue";
import KvDatabaseCard from "@/components/settings/cards/KvDatabaseCard.vue";
export default {
name: "Settings",
components: {
@@ -261,6 +263,7 @@ export default {
RandomPickerCard,
HomeworkTemplateCard,
SubjectManagementCard,
KvDatabaseCard,
},
setup() {
const { mobile } = useDisplay();