leon vor 1 Jahr
Ursprung
Commit
495512df46

+ 12 - 12
src/features/trackTimeDuration/components/CheckAccess.tsx

@@ -36,7 +36,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
     const [confirmText, setConfirmText] = useState('')
     const [subConfirmText, setSubConfirmText] = useState('')
     const user = useSelector((state: any) => state.user);
-    const [rnKeep,setRnKeep] = useState(true)
+    const [rnKeep, setRnKeep] = useState(true)
 
     const { t } = useTranslation()
 
@@ -55,7 +55,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
     // const [confirmAction, setConfirmAction] = useState<any>(null)
     // const [access, setAccess] = useState<any>(null)
 
-    
+
 
     useEffect(() => {
         var obj = props.record
@@ -63,7 +63,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
             global.ring = ring;
             const currentStatus = obj.access.current.qualification.status
             const preStatus = obj.access.previous.qualification.status
-            if (preStatus == 'PROVISIONAL_QUALIFIED' && currentStatus == 'NOT_QUALIFIED' && obj.current_record.status == 'WAIT_FOR_START') {
+            if (preStatus == 'PROVISIONAL_QUALIFIED' && currentStatus == 'NOT_QUALIFIED' && obj.current_record.status == 'WAIT_FOR_START' && global.ring.current_record.scenario == 'FAST_SLEEP') {
                 // lose(obj.access.current.qualification.condition)
                 loseGain(obj.access)
             }
@@ -106,7 +106,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
         setChooseMixedSuccess(false)
     }
 
-    function viewWillDisappear(){
+    function viewWillDisappear() {
         setRnKeep(false)
     }
 
@@ -144,7 +144,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
             confirmAction = null
 
             const { trigger_event } = access.current.qualification;
-            
+
             //删除记录后仍有资格,不做特殊处理。只有删除时为NOT_SATISFIED_AFTER_DELETE时,弹失去资格弹窗
             if (trigger_event == 'SATISFIED_AFTER_DELETE') {
                 return;
@@ -169,9 +169,9 @@ export default function CheckAccess(props: { record: any, count: number }) {
                 setConfirmText(t('feature.check_access.non_access.btn'))
             }
             else if (preStatus == 'NOT_QUALIFIED' && currentStatus == 'PROVISIONAL_QUALIFIED') {
-                
+
                 const { streak_fast_current } = acccessData.current.qualification.condition
-                const reason = t('feature.check_access.gain_access.reason',{day: streak_fast_current})
+                const reason = t('feature.check_access.gain_access.reason', { day: streak_fast_current })
                 Taro.setStorage({ key: 'showedDisqualifiedAlert', data: false })
                 var expire = acccessData.current.qualification.fast_expire
                 setShowFastAlert(true)
@@ -202,7 +202,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
                 const { streak_fast_current, streak_sleep_current } = acccessData.current.qualification.condition
                 if (global.ring.current_record.scenario == 'FAST') {
                     var expire = acccessData.current.qualification.fast_expire
-                    const reason = t('feature.check_access.gain_access.reason',{day: streak_fast_current})
+                    const reason = t('feature.check_access.gain_access.reason', { day: streak_fast_current })
                     setShowFastAlert(true)
                     // setKeepContent(false)
                     setKeepContent(true)
@@ -231,7 +231,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
                 setShowCancel(false)
                 setConfirmText(t('feature.check_access.stay_qualified.btn'))
             }
-            else if (preStatus == 'PROVISIONAL_QUALIFIED' && currentStatus == 'NOT_QUALIFIED') {
+            else if (preStatus == 'PROVISIONAL_QUALIFIED' && currentStatus == 'NOT_QUALIFIED' && global.ring.current_record.scenario == 'FAST_SLEEP') {
                 loseGain(acccessData);
             }
         }
@@ -258,7 +258,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
             dt = sleep_expire
         }
         var date = TimeFormatter.getMonthAndDayByTimestamp(dt, true)
-        var day_unit = Math.max(condition.streak_fast_min_required-1,1)==1?'day':'days';
+        var day_unit = Math.max(condition.streak_fast_min_required - 1, 1) == 1 ? 'day' : 'days';
 
         switch (trigger_event) {
             case 'FAST_STREAK_LOST':
@@ -274,7 +274,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
                 desc = t('feature.check_access.lost_reason.sleep_streak_not_growing');
                 break;
             case 'NOT_SATISFIED_AFTER_DELETE':
-                desc = t('feature.check_access.lost_reason.not_satisfied_after_delete',{day:Math.max(condition.streak_fast_min_required-1,1),day_unit:day_unit});
+                desc = t('feature.check_access.lost_reason.not_satisfied_after_delete', { day: Math.max(condition.streak_fast_min_required - 1, 1), day_unit: day_unit });
                 break;
             case 'NA':
             default:
@@ -451,7 +451,7 @@ export default function CheckAccess(props: { record: any, count: number }) {
                 <View className="fast_alert_title">{alertTitle}</View>
                 <View className="fast_alert_detail">{alertContent}</View>
                 <View className={subConfirmText.length > 0 ? 'fast_alert_confirm confirm_multline' : 'fast_alert_confirm'} onClick={confirm}>
-                    <Text style={{fontWeight:'bold',color:ColorType.black}}>{confirmText}</Text>
+                    <Text style={{ fontWeight: 'bold', color: ColorType.black }}>{confirmText}</Text>
                     {
                         subConfirmText.length > 0 && <Text className="confirm_sub_text">{subConfirmText}</Text>
                     }

+ 44 - 40
src/features/trackTimeDuration/components/WeekCalendar.tsx

@@ -39,55 +39,59 @@ const WeekCalendar = memo((props: { isFastSleep: boolean }) => {
     useEffect(() => {
         // pageIndex = -1
         getRecords()
-    }, [])
 
-    global.refrehWeekly = () => {
-        console.log('正在刷新weekly',isLoading)
-        // getRecords()
-        if (isLoading) return
-        pageIndex = 0;
-        setIsLoading(true)
-        var timestamp = TimeFormatter.getMondayTimestamp()
-        var now = new Date()
-        if (now.getDay() == 0 && now.getHours() >= 0 && now.getHours() < 12) {
-            timestamp -= 24 * 3600 * 1000 * 7
-        }
-        var list: any = []
-        var offset = 12 * 3600 * 1000 + pageIndex * pageSize * 24 * 3600 * 1000
-        if (!props.isFastSleep) {
-            offset = pageIndex * pageSize * 24 * 3600 * 1000
-        }
-        for (var i = 0; i < pageSize; i++) {
-            list.push(`${i + pageIndex * pageSize},${timestamp - 7 * 24 * 3600 * 1000 * i - offset},${timestamp - 7 * 24 * 3600 * 1000 * i + 7 * 24 * 3600 * 1000 - offset}`)
-        }
         if (props.isFastSleep) {
-            clockSummaryStats({ times: list.join(';') }).then(res => {
-                var list = (res as any).data.reverse()
-                if (pageIndex == 0) {
-                    setCalendars(list)
-                    setSummary(list[current].summary_stats ? list[current].summary_stats : null)
-                    setCalendarData(list[current])
-
-                    setIsLoading(false)
+            global.refrehWeekly = () => {
+                console.log('正在刷新weekly', isLoading)
+                // getRecords()
+                if (isLoading) return
+                pageIndex = 0;
+                setIsLoading(true)
+                var timestamp = TimeFormatter.getMondayTimestamp()
+                var now = new Date()
+                if (now.getDay() == 0 && now.getHours() >= 0 && now.getHours() < 12) {
+                    timestamp -= 24 * 3600 * 1000 * 7
+                }
+                var list: any = []
+                var offset = 12 * 3600 * 1000 + pageIndex * pageSize * 24 * 3600 * 1000
+                if (!props.isFastSleep) {
+                    offset = pageIndex * pageSize * 24 * 3600 * 1000
                 }
+                for (var i = 0; i < pageSize; i++) {
+                    list.push(`${i + pageIndex * pageSize},${timestamp - 7 * 24 * 3600 * 1000 * i - offset},${timestamp - 7 * 24 * 3600 * 1000 * i + 7 * 24 * 3600 * 1000 - offset}`)
+                }
+                if (props.isFastSleep) {
+                    clockSummaryStats({ times: list.join(';') }).then(res => {
+                        var list = (res as any).data.reverse()
+                        if (pageIndex == 0) {
+                            setCalendars(list)
+                            setSummary(list[current].summary_stats ? list[current].summary_stats : null)
+                            setCalendarData(list[current])
+
+                            setIsLoading(false)
+                        }
 
-            })
-        }
-        else {
-            eatWakes({ times: list.join(';') }).then(res => {
-                var list = (res as any).data.reverse()
-                if (pageIndex == 0) {
-                    setCalendars(list)
-                    setSummary(list[current].summary_stats ? list[current].summary_stats : null)
-                    setCalendarData(list[current])
+                    })
+                }
+                else {
+                    eatWakes({ times: list.join(';') }).then(res => {
+                        var list = (res as any).data.reverse()
+                        if (pageIndex == 0) {
+                            setCalendars(list)
+                            setSummary(list[current].summary_stats ? list[current].summary_stats : null)
+                            setCalendarData(list[current])
+
+                            setIsLoading(false)
+                        }
 
-                    setIsLoading(false)
+                    })
                 }
 
-            })
+            }
         }
+    }, [])
+
 
-    }
 
     function getRecords() {
         if (isLoading) return