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);
+ }
+});