mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-14 09:38:13 +08:00
fix(achievements): 修复 dev 报错
This commit is contained in:
@@ -73,7 +73,7 @@ const router = useRouter();
|
||||
const appStore = useAppStore();
|
||||
const devStore = useDevStore();
|
||||
|
||||
const rail = ref(appStore.sidebar.expand);
|
||||
const rail = ref(appStore.sidebar);
|
||||
const showDev = ref(devStore.showDev);
|
||||
|
||||
const back = () => {
|
||||
@@ -85,6 +85,7 @@ const back = () => {
|
||||
};
|
||||
function collapse() {
|
||||
rail.value = !rail.value;
|
||||
appStore.sidebar = rail.value;
|
||||
}
|
||||
function magicClick() {
|
||||
if (!showDev.value) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<v-app-bar app>
|
||||
<template v-slot:prepend>
|
||||
<!-- 标题 -->
|
||||
<v-card-text class="text-h5">{{ getTitle() }}</v-card-text>
|
||||
<v-card-text class="text-h5">{{ title }}</v-card-text>
|
||||
</template>
|
||||
<template v-slot:append>
|
||||
<!-- 导入按钮 -->
|
||||
@@ -39,18 +39,11 @@ import { onMounted, ref } from "vue";
|
||||
const appStore = useAppStore();
|
||||
const achievementsStore = useAchievementsStore();
|
||||
|
||||
// FileData
|
||||
const mergeAchievementMap: TGMap<TGAchievementMap> = new TGMap<TGAchievementMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievements))
|
||||
);
|
||||
const mergeSeriesMap: TGMap<TGSeriesMap> = new TGMap<TGSeriesMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievementSeries))
|
||||
);
|
||||
|
||||
// Data
|
||||
let seriesList = ref(mergeSeriesMap.getMap() as Map<TGSeriesMap>);
|
||||
let achievementsList = ref(mergeAchievementMap.getMap() as Map<TGAchievementMap>);
|
||||
let selectedSeries = ref(-1);
|
||||
const title = ref("");
|
||||
const seriesList = ref({} as Map<TGSeriesMap>);
|
||||
const achievementsList = ref({} as Map<TGAchievementMap>);
|
||||
const selectedSeries = ref(-1);
|
||||
|
||||
onMounted(async () => {
|
||||
await loadData();
|
||||
@@ -58,7 +51,16 @@ onMounted(async () => {
|
||||
|
||||
// 加载数据,数据源:合并后的本地数据
|
||||
async function loadData() {
|
||||
await achievementsStore.flushData(mergeSeriesMap);
|
||||
const mergeAchievementMap: TGMap<TGAchievementMap> = new TGMap<TGAchievementMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievements))
|
||||
);
|
||||
const mergeSeriesMap: TGMap<TGSeriesMap> = new TGMap<TGSeriesMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievementSeries))
|
||||
);
|
||||
seriesList.value = mergeSeriesMap.getMap();
|
||||
achievementsList.value = mergeAchievementMap.getMap();
|
||||
achievementsStore.flushData(mergeSeriesMap);
|
||||
title.value = await getTitle();
|
||||
}
|
||||
// 获取标题
|
||||
async function getTitle() {
|
||||
@@ -71,6 +73,12 @@ async function getTitle() {
|
||||
}
|
||||
// 导入 UIAF 数据,进行数据合并、刷新
|
||||
async function importJson() {
|
||||
const mergeAchievementMap: TGMap<TGAchievementMap> = new TGMap<TGAchievementMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievements))
|
||||
);
|
||||
const mergeSeriesMap: TGMap<TGSeriesMap> = new TGMap<TGSeriesMap>(
|
||||
JSON.parse(await fs.readTextFile(appStore.mergePath.achievementSeries))
|
||||
);
|
||||
const localPath = appStore.userPath.achievements;
|
||||
const selectedFile = await dialog.open({
|
||||
multiple: false,
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<h1>开发</h1>
|
||||
<v-card>
|
||||
<v-list>
|
||||
<v-list-item @click="devStore.init()" prepend-icon="mdi-refresh">
|
||||
<v-list-item @click="devInit" prepend-icon="mdi-refresh">
|
||||
<v-list-item-title>初始化开发</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="parseAchievement()" prepend-icon="mdi-export">
|
||||
<v-list-item @click="parseAchievement" prepend-icon="mdi-export">
|
||||
<v-list-item-title>解析成就数据</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item @click="mergeAchievement()" prepend-icon="mdi-export">
|
||||
<v-list-item @click="mergeAchievement" prepend-icon="mdi-export">
|
||||
<v-list-item-title>合并成就数据</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
@@ -39,6 +39,10 @@ import { TGAppData } from "../data";
|
||||
const appStore = useAppStore();
|
||||
const devStore = useDevStore();
|
||||
|
||||
async function devInit() {
|
||||
await devStore.init();
|
||||
}
|
||||
|
||||
async function parseAchievement() {
|
||||
const appDataDir = appStore.devPath.app;
|
||||
// 读取原始数据
|
||||
|
||||
@@ -91,18 +91,14 @@ interface CardDataType {
|
||||
}
|
||||
|
||||
// 数据
|
||||
const tab = ref("activity");
|
||||
let postData = {
|
||||
activity: {} as CardDataType[],
|
||||
news: {} as CardDataType[],
|
||||
notice: {} as CardDataType[],
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
await getPosts();
|
||||
const tab = ref("");
|
||||
const postData = ref({
|
||||
activity: [] as CardDataType[],
|
||||
news: [] as CardDataType[],
|
||||
notice: [] as CardDataType[],
|
||||
});
|
||||
|
||||
async function getPosts() {
|
||||
onMounted(async () => {
|
||||
const activityRaw: ResponseNewsList = await http
|
||||
.fetch(MysNewsApi + EnumPostType.Activity)
|
||||
.then(res => res.data as Promise<ResponseNewsList>);
|
||||
@@ -112,13 +108,15 @@ async function getPosts() {
|
||||
const noticeRaw: ResponseNewsList = await http
|
||||
.fetch(MysNewsApi + EnumPostType.Notice)
|
||||
.then(res => res.data as Promise<ResponseNewsList>);
|
||||
postData = {
|
||||
postData.value = {
|
||||
activity: transData(activityRaw),
|
||||
news: transData(newsRaw),
|
||||
notice: transData(noticeRaw),
|
||||
};
|
||||
}
|
||||
function transData(rawData: ResponseNewsList) {
|
||||
tab.value = "activity";
|
||||
});
|
||||
|
||||
function transData(rawData: ResponseNewsList): CardDataType[] {
|
||||
let cardData: CardDataType[] = [];
|
||||
rawData.data.list.map((item: ResponseNews) => {
|
||||
const postData: MysPostType = item.post;
|
||||
|
||||
Reference in New Issue
Block a user