diff --git a/app/templates/attendance-reminder.html b/app/templates/attendance-reminder.html index 188b78b..9461019 100644 --- a/app/templates/attendance-reminder.html +++ b/app/templates/attendance-reminder.html @@ -7,6 +7,54 @@ + @@ -43,22 +91,32 @@
-
-

每日签到

-

每天签到,享受连续签到奖励!

- - -
-
-
你已连续签到 0
-
-
- - -
-
- -
+
+ +

签到提醒

+

当前时间

+ + + + + + + + + + + + + + + + + +
+ +
+ 绿色代表当月已签到
+ 颜色代表本月需要签到
@@ -91,6 +149,60 @@ }); }); }); + + layui.use(['layer'], function () { + var layer = layui.layer; + + // 假设的已签到日期数据 + var signedDays = [1, 5, 9]; // 这里仅为示例,实际应从服务器获取 + var requiredSignDays = [2, 6, 15, 23]; + + // 动态生成日历 + function generateCalendar() { + var today = new Date(); + var currentMonth = today.getMonth(); + var currentYear = today.getFullYear(); + + var firstDay = new Date(currentYear, currentMonth, 1).getDay(); + var daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate(); + + var calendarHtml = ''; + var day = 1; + + for (var i = 0; i < 6; i++) { + calendarHtml += ''; + for (var j = 0; j < 7; j++) { + if (i === 0 && j < firstDay) { + calendarHtml += ''; + } else if (day > daysInMonth) { + break; + } else { + var classes = ''; + if (signedDays.includes(day)) classes += 'signed '; // 已签到 + if (requiredSignDays.includes(day)) classes += 'required-sign'; // 需要签到 + calendarHtml += `${day}`; + day++; + } + } + calendarHtml += ''; + if (day > daysInMonth) { + break; + } + } + + document.getElementById('calendar-body').innerHTML = calendarHtml; + } + + function updateTime() { + var now = new Date(); + var timeStr = now.getFullYear() + '年' + (now.getMonth() + 1) + '月' + now.getDate() + '日'; + document.getElementById('current-time').innerText = '当前时间: ' + timeStr; + } + + // 页面加载时生成日历 + generateCalendar(); + updateTime(); + });