Browse Source

feat: 修改弹窗逻辑

year 3 weeks ago
parent
commit
51b8579f56
1 changed files with 13 additions and 12 deletions
  1. 13 12
      src/dialog/auto.ts

+ 13 - 12
src/dialog/auto.ts

@@ -60,17 +60,19 @@ const AutoShowDialog = () => {
         });
     }, [data]);
 
-    const checkIsShowed = (data: PromotionRep) => {
+    const checkIsCanShow = (data: PromotionRep) => {
+        if (!data?.id) return false;
         if (data.pop_type === 2 && !getToken()) return false;
-        if (!data?.id || data.pop_type === 3) return false;
-        let popData = Local.getKey(keyMap[data.pop_type]);
-        if (!popData) return false;
-        try {
-            const isCurDay = dayjs(popData.date).add(1, "day").isAfter(dayjs(), "day");
-            if (isCurDay && popData[userInfo.id][data.id]) {
-                return true;
-            }
-        } catch {}
+        if (data.pop_type === 1) {
+            let popData = Local.getKey(keyMap[data.pop_type]);
+            if (!popData) return true;
+            try {
+                const isCurDay = dayjs(popData.date).add(1, "day").isAfter(dayjs(), "day");
+                if (isCurDay && popData[userInfo.id][data.id]) {
+                    return true;
+                }
+            } catch {}
+        }
         return false;
     };
 
@@ -111,8 +113,7 @@ const AutoShowDialog = () => {
 
         for (let i = startShow; i < data.length; i++) {
             const curData = data[i];
-            // 一天只展示一次
-            if (checkIsShowed(curData)) {
+            if (!checkIsCanShow(curData)) {
                 saveShowIndex(i);
                 continue;
             }