leon 2 лет назад
Родитель
Сommit
24900eba8c

+ 13 - 7
src/components/LimitPickers.tsx

@@ -1,18 +1,24 @@
 import { PickerView, PickerViewColumn, View, Text } from "@tarojs/components";
 import { useEffect, useState } from "react";
 
-export default function Component(props: { limit: number, onChange: Function, onCancel: Function,isRealTime?:boolean }) {
+export default function Component(props: { limit: number, onChange: Function, onCancel: Function,isRealTime?:boolean,limitDay?:number,time?:number }) {
     const days: string[] = [];
     const today = new Date();
-    const [values, setValues] = useState([6, today.getHours(), today.getMinutes()])
+    const [values, setValues] = useState([props.limitDay?props.limitDay-1:6, today.getHours(), today.getMinutes()])
 
 
+    useEffect(()=>{
+        if(props.time){
+            var date = new Date(props.time)
+            setValues([(props.limitDay?props.limitDay-1:6) - getDaysDiff(date), date.getHours(), date.getMinutes()])
+        }
+    },[])
     // useEffect(() => {
     //     setValues([6, today.getHours(), today.getMinutes()])
     // }, [props.limit])
 
 
-    for (let i = 6; i >= 0; i--) {
+    for (let i = props.limitDay?props.limitDay-1:7; i >= 0; i--) {
         const date = new Date();
         date.setDate(today.getDate() - i);
 
@@ -69,7 +75,7 @@ export default function Component(props: { limit: number, onChange: Function, on
         var list = e.detail.value
 
         const date = new Date();
-        date.setDate(today.getDate() - (6 - list[0]));
+        date.setDate(today.getDate() - ((props.limitDay?props.limitDay-1:6) - list[0]));
         const year = date.getFullYear();
         const month = date.getMonth() + 1;
         const day = date.getDate();
@@ -89,8 +95,8 @@ export default function Component(props: { limit: number, onChange: Function, on
             // debugger
             // const time = `${year}-${expandZero(month)}-${expandZero(day)}T${expandZero(hours[list[1]])}:${expandZero(minutes[list[2]])}:59`;
             if (getTimestamp(time) < props.limit) {
-                console.log(6 - getDaysDiff(limitDate))
-                setValues([6 - getDaysDiff(limitDate), limitDate.getHours(), limitDate.getMinutes()])
+                // console.log(6 - getDaysDiff(limitDate))
+                setValues([(props.limitDay?props.limitDay-1:6) - getDaysDiff(limitDate), limitDate.getHours(), limitDate.getMinutes()])
                 return
             }
 
@@ -113,7 +119,7 @@ export default function Component(props: { limit: number, onChange: Function, on
             date = new Date(global.set_time);
         }
         
-        date.setDate(today.getDate() - (6 - values[0]));
+        date.setDate(today.getDate() - ((props.limitDay?props.limitDay-1:6) - values[0]));
         date.setHours(values[1])
         date.setMinutes(values[2])
         props.onChange(date.getTime())

+ 3 - 2
src/features/trackSomething/components/Metric.tsx

@@ -30,6 +30,7 @@ export default function Component(props: any) {
 
     //未登录<->已登录 状态切换时,执行一次授权检查
     useEffect(() => {
+        getCards();
     }, [user.isLogin])
 
     useReady(() => {
@@ -201,7 +202,7 @@ export default function Component(props: any) {
         setIsTimePickerOpen(false)
     }
 
-    const limit = new Date().getTime() - 7 * 3600 * 1000 * 24;
+    const limit = new Date().getTime() - 180 * 3600 * 1000 * 24;
 
     return <View className="metric_container">
         {
@@ -256,7 +257,7 @@ export default function Component(props: any) {
         {
 
             isTimePickerOpen && <Modal dismiss={() => setIsTimePickerOpen(false)}>
-                <LimitPickers isRealTime={true} limit={limit} onCancel={() => { setIsTimePickerOpen(false) }} onChange={(e) => {
+                <LimitPickers isRealTime={true} time={time} limit={limit} limitDay={180} onCancel={() => { setIsTimePickerOpen(false) }} onChange={(e) => {
                     chooseTime(e)
                     //  pickerConfirm(e)
                     //  hidePicker()

+ 2 - 2
src/features/trackSomething/components/MetricItem.tsx

@@ -21,8 +21,8 @@ export default function Component(props: {
     }
 
     return <View className="metric_bg">
-        <Text className="metric_title" style={{ color: props.themeColor }}>{props.title}</Text>
-        <View className="metric_value_bg">
+        <Text className="metric_title" style={{ color: props.themeColor }} onClick={() => props.onClickDetail()}>{props.title}</Text>
+        <View className="metric_value_bg" onClick={() => props.onClickDetail()}>
             <Text className="metric_value">{props.value}<Text className="metric_unit">{props.unit}</Text></Text>
         </View>
         <View className="metric_desc_bg" onClick={() => props.onClickDetail()}>

+ 4 - 17
src/pages/clock.tsx

@@ -21,14 +21,13 @@ import { setScenario } from '@/store/scenario';
 
 import { setSpecifiedStatus, setSpecifiedState, machine } from '@/store/trackTimeMachine';
 import trackTimeService from '@/store/trackTimeMachine';
-import { setWXPubFollow } from '@/store/permission';
+import { setWXFollow } from '@/store/permission';
 import Tooltip from '@/components/Tooltip'
 // import TabBar from '../../components/Tabbar';
 
 export default function IndexPage() {
   const dispatch = useDispatch();
   const array: any[] = []
-  const [isFollowed, setIsFollowed] = useState(false)
   const [checkData, setCheckData] = useState(null)
   const user = useSelector((state: any) => state.user);
   const permission = useSelector((state: any) => state.permission);
@@ -36,9 +35,6 @@ export default function IndexPage() {
   const [counter, setCounter] = useState(0)
   const [timerId, setTimerId] = useState(null)
   const [needShowAddTip, setNeedShowAddTip] = useState(false)
-  // const moreRef = useRef<any>(null);
-  // global.moreRef = Taro.createRef()
-  array.push('ffff');
   array.push(<Text>ffff</Text>)
   // array.push(<Rings radius={50}/>)
   global.dispatch = dispatch;
@@ -84,9 +80,6 @@ export default function IndexPage() {
           //更新session key,发送给服务器
           // dispatch(logoutSuccess());
           // wx.login() //重新登录
-          Taro.login({
-
-          })
 
 
           Taro.login().then(res => {
@@ -141,6 +134,7 @@ export default function IndexPage() {
 
 
   useReady(async () => {
+    // console.log('wwwwwwww')
     const userData = await getStorage('userData');
     if (userData) {
       dispatch(getInfoSuccess(JSON.parse(userData as string)) as any);
@@ -244,14 +238,7 @@ export default function IndexPage() {
 
   function checkWXPubFollow() {
     wxPubFollow().then(res => {
-      setIsFollowed((res as any).wx_pub_followed)
-      // if ((res as any).wx_pub_followed == true) {
-      //   // setTimeout(() => {
-      //   //   dispatch(setWXPubFollow(true));
-      //   // }, 1000)
-      //   // dispatch(setWXPubFollow(true));
-      //   setIsFollowed((res as any).wx_pub_followed)
-      // }
+        dispatch(setWXFollow((res as any).wx_pub_followed));
     })
   }
 
@@ -310,7 +297,7 @@ export default function IndexPage() {
 
       <More ref={global.moreRef} />
       {
-        !isFollowed && user.isLogin && <Text style={{ textAlign: 'center', width: '100%' }} onClick={() => followWxPub()}>去关注公众号</Text>
+        !permission.wxPubFollow && user.isLogin && <Text style={{ textAlign: 'center', width: '100%' }} onClick={() => followWxPub()}>去关注公众号</Text>
       }
       {
         user.isLogin && <Text onClick={() => {

+ 2 - 2
src/store/permission.tsx

@@ -25,7 +25,7 @@ const permissionSlice = createSlice({
     name: 'permission',
     initialState,
     reducers: {
-        setWXPubFollow(state, action) {
+        setWXFollow(state, action) {
             state.wxPubFollow = true//action?true:false;
             // state.wxPubFollow = action.payload;
         },
@@ -51,4 +51,4 @@ const permissionSlice = createSlice({
 });
 
 export default permissionSlice.reducer;
-export const { setWXPubFollow, setPushAllow, setStepAllow, setCameraAllow, setAlbumAllow, setPhotoAllow,setAddToMini} = permissionSlice.actions;
+export const { setWXFollow, setPushAllow, setStepAllow, setCameraAllow, setAlbumAllow, setPhotoAllow,setAddToMini} = permissionSlice.actions;