diff --git a/src/views/liveBroadcast/LiveBroadcast.vue b/src/views/liveBroadcast/LiveBroadcast.vue index aee4765..df36543 100644 --- a/src/views/liveBroadcast/LiveBroadcast.vue +++ b/src/views/liveBroadcast/LiveBroadcast.vue @@ -50,7 +50,9 @@ background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : 'rgb(59, 191, 252)'}`, }" @click="showClick">观看 - 签到 + + {{ data.signFlag ? "已签到" : "签到" }} diff --git a/src/views/moreActive/MoreActive.vue b/src/views/moreActive/MoreActive.vue index a6b9e2e..60cdf95 100644 --- a/src/views/moreActive/MoreActive.vue +++ b/src/views/moreActive/MoreActive.vue @@ -45,13 +45,9 @@
{{ data?.activityAddress }}
- {{ data.signFlag ? "已签到" : "签到" }} + 签到 + + {{ data.signFlag ? "已签到" : "签到" }} @@ -147,6 +143,7 @@ import { request, useRequest } from "@/api/request"; import { useRouter } from "vue-router"; import { useRoute } from "vue-router/dist/vue-router"; import { ElMessage } from "element-plus"; +import { reactive, onUnmounted } from "vue"; const router = useRouter(); const returnclick = () => { router.back(); @@ -154,7 +151,10 @@ const returnclick = () => { const { query: { courseId: activityId, id: taskId, type, pName, sName }, } = useRoute(); +const state = reactive({ + isAllowSign: false, +}); const { data } = useRequest(ACTIVITY, { activityId }); const signClick = (tab, event) => { if (data.value.signFlag) { @@ -168,6 +168,57 @@ const signClick = (tab, event) => { type, }); }; +let timer = null; +//判断能否签到 +function isSignClick() { + timer = setInterval(() => { + let beginTime = new Date(data.activityStartTime).getTime(); + let endTime = !data.afterSignIn + ? new Date(data.activityEndTime).getTime() + : new Date(data.activityStartTime).getTime(); + let nowTime = new Date().getTime(); + if (data.beforeSignIn && data.afterSignIn) { + //有开始前有开始后 + beginTime = beginTime - data.beforeSignIn * 60 * 1000; + endTime = endTime + data.afterSignIn * 60 * 1000; + console.log("1111"); + } else if ( + data.beforeSignIn && + !data.afterSignIn + ) { + //只有开始前无开始后 + beginTime = beginTime - data.beforeSignIn * 60 * 1000; + console.log("11112222"); + } else if ( + !data.beforeSignIn && + data.afterSignIn + ) { + //无开始前有开始后 + endTime = endTime + data.afterSignIn * 60 * 1000; + console.log("1111333"); + } + if (nowTime < endTime && nowTime > beginTime) { + state.isAllowSign = true; + } else { + state.isAllowSign = false; + } + // console.log( + // "isAllowSign", + // state.isAllowSign, + // nowTime, + // endTime, + // beginTime, + // nowTime < endTime, + // nowTime > beginTime + // ); + }, 1000); +} +isSignClick(); +onUnmounted(() => { + if (timer) { + clearInterval(timer); + } +});