feat: 祈福小助手万年历小程序第一期

This commit is contained in:
gouki
2026-08-06 08:47:09 +00:00
commit a3e6aa9c01
136 changed files with 16597 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
const { SOLAR_TERMS, SOLAR_TERM_DATES } = require('../../utils/core/index.js');
Page({
data: {
year: new Date().getFullYear(),
terms: []
},
onLoad() {
this.loadTerms();
},
loadTerms() {
const { year } = this.data;
const today = new Date();
const terms = [];
for (let m = 0; m < 12; m++) {
for (let t = 0; t < 2; t++) {
const termIndex = m * 2 + t;
const day = SOLAR_TERM_DATES[m][t];
const dateStr = `${year}-${String(m + 1).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
const termDate = new Date(year, m, day);
terms.push({
name: SOLAR_TERMS[termIndex],
date: dateStr,
isPast: termDate < today
});
}
}
// 按日期排序
terms.sort((a, b) => new Date(a.date) - new Date(b.date));
this.setData({ terms });
}
});
+4
View File
@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "二十四节气",
"enablePullDownRefresh": false
}
+16
View File
@@ -0,0 +1,16 @@
<view class="container">
<view class="card">
<view class="section-title">{{year}}年二十四节气</view>
<view class="term-list">
<view class="term-item" wx:for="{{terms}}" wx:key="name">
<view class="flex justify-between items-center">
<view>
<text class="text-base font-medium">{{item.name}}</text>
<text class="text-xs text-muted block">{{item.date}}</text>
</view>
<text class="badge {{item.isPast ? 'badge-outline' : 'badge-lucky'}}">{{item.isPast ? '已过' : '未来'}}</text>
</view>
</view>
</view>
</view>
</view>
+24
View File
@@ -0,0 +1,24 @@
.container {
padding: 20rpx;
}
.section-title {
font-size: 28rpx;
font-weight: 600;
margin-bottom: 16rpx;
color: #C41E3A;
}
.term-list {
display: flex;
flex-direction: column;
}
.term-item {
padding: 20rpx 0;
border-bottom: 1rpx solid #E8D5C4;
}
.term-item:last-child {
border-bottom: none;
}