bill 1 yıl önce
ebeveyn
işleme
c1934b345e
3 değiştirilmiş dosya ile 11 ekleme ve 3 silme
  1. 1 1
      src/store/relics.ts
  2. 1 1
      src/view/map/map.vue
  3. 9 1
      src/view/pano/pano.vue

+ 1 - 1
src/store/relics.ts

@@ -9,7 +9,7 @@ export const relics = ref<Relics>();
 export const initRelics = async (relicsId: number) => {
   relics.value = await relicsInfoFetch(relicsId);
   if (relics.value) {
-    refreshScenes();
+    await refreshScenes();
   }
 };
 export const updateRelicsName = async (name: string) => {

+ 1 - 1
src/view/map/map.vue

@@ -157,7 +157,7 @@ watch(
   ([name, rid]) => {
     if (["map", "query-map"].includes(name as string)) {
       relics.value = undefined;
-      initRelics(Number(rid)).then(() => {
+      initRelics(Number(rid)).finally(() => {
         if (!relics.value) {
           router.replace({ name: "relics" });
         }

+ 9 - 1
src/view/pano/pano.vue

@@ -60,7 +60,15 @@ const point = ref<ScenePoint>();
 watchEffect(() => {
   if (params.value?.pid) {
     const pid = Number(params.value!.pid);
-    relicsScenePosInfoFetch(pid).then((data) => (point.value = data));
+    relicsScenePosInfoFetch(pid)
+      .then((data) => {
+        if (!data) {
+          router.replace({ name: "relics" });
+        } else {
+          point.value = data;
+        }
+      })
+      .catch(() => router.replace({ name: "relics" }));
   }
 });