首页老黄历全面升级 + 修复农历转换核心bug
Publish Mini Program Dev Version / publish (push) Successful in 2m8s

【重要修复】重写农历双向转换算法(原来全错):
- solarToLunar/lunarToSolar 改用标准算法(基准1900-01-31正月初一,UTC避免时区误差)
- 验证:2026春节2-17、中秋9-25、端午6-19、2023闰二月全部正确

【首页大日历】
- 日期数字加大到240rpx,超醒目
- 节假日红色喜庆卡片+红数字(春节/国庆/中秋等法定假日)
- 工作日绿色卡片+绿数字(一眼知道要上班)
- 周末红色数字+米黄卡片
- 节气显示具体时刻(如 立秋 20:29)
- 初一/十五金色标记(可在设置关闭)
- 佛历提醒:距下一佛诞还有几天(可在设置开启)

【全屏放大弹窗(老年友好)】
- 大日历卡片/宜忌/详情/节日速查 点击均可全屏放大
- 宜忌放大后字号44rpx,详情放大后40rpx

【月历视图】
- swiper 左右滑动换月,预计算5个月居中显示
- 滑到边缘自动补月,可无限滚动
- 点选日期切回日视图

【节日速查】
- 首页显示近期5个节日(中秋/重阳等)+公历日期+倒计时
- 点击直接跳到该日老黄历

【设置页】
- 新增'显示佛历提醒'开关(默认关)
- 新增'初一十五高亮'开关(默认开)
This commit is contained in:
gouki
2026-08-07 12:49:57 +00:00
parent 5d40019ea5
commit 82c1a8d694
11 changed files with 1636 additions and 425 deletions
+52
View File
@@ -101,6 +101,54 @@ const BUDDHIST_FESTIVALS = {
'11-17': '阿弥陀佛圣诞', '12-8': '释迦牟尼佛成道日(腊八)', '12-29': '华严菩萨圣诞'
};
/** 法定节假日(公历) */
const LEGAL_HOLIDAYS_SOLAR = {
'1-1': '元旦', '5-1': '劳动节', '10-1': '国庆节'
};
/** 法定节假日(农历) */
const LEGAL_HOLIDAYS_LUNAR = {
'1-1': '春节', '5-5': '端午节', '8-15': '中秋节', '12-30': '除夕'
};
/** 二十四节气大致时刻(用于显示,小时:分钟) */
const SOLAR_TERM_TIMES = {
'立春': '04:01', '雨水': '23:51', '惊蛰': '22:07', '春分': '23:06',
'清明': '03:20', '谷雨': '10:24', '立夏': '20:26', '小满': '09:23',
'芒种': '00:26', '夏至': '17:14', '小暑': '10:38', '大暑': '04:07',
'立秋': '20:29', '处暑': '11:16', '白露': '23:32', '秋分': '09:04',
'寒露': '15:22', '霜降': '18:36', '立冬': '18:45', '小雪': '16:20',
'大雪': '11:46', '冬至': '05:48', '小寒': '23:05', '大寒': '16:30'
};
/** 常用节日速查(名称 → 类型+月日) */
const FESTIVAL_QUICK_SEARCH = [
{ name: '春节', type: 'lunar', date: '1-1' },
{ name: '元宵节', type: 'lunar', date: '1-15' },
{ name: '龙抬头', type: 'lunar', date: '2-2' },
{ name: '端午节', type: 'lunar', date: '5-5' },
{ name: '七夕', type: 'lunar', date: '7-7' },
{ name: '中元节', type: 'lunar', date: '7-15' },
{ name: '中秋节', type: 'lunar', date: '8-15' },
{ name: '重阳节', type: 'lunar', date: '9-9' },
{ name: '腊八节', type: 'lunar', date: '12-8' },
{ name: '小年', type: 'lunar', date: '12-23' },
{ name: '除夕', type: 'lunar', date: '12-30' },
{ name: '元旦', type: 'solar', date: '1-1' },
{ name: '情人节', type: 'solar', date: '2-14' },
{ name: '妇女节', type: 'solar', date: '3-8' },
{ name: '植树节', type: 'solar', date: '3-12' },
{ name: '劳动节', type: 'solar', date: '5-1' },
{ name: '青年节', type: 'solar', date: '5-4' },
{ name: '儿童节', type: 'solar', date: '6-1' },
{ name: '建党节', type: 'solar', date: '7-1' },
{ name: '建军节', type: 'solar', date: '8-1' },
{ name: '教师节', type: 'solar', date: '9-10' },
{ name: '国庆节', type: 'solar', date: '10-1' },
{ name: '平安夜', type: 'solar', date: '12-24' },
{ name: '圣诞节', type: 'solar', date: '12-25' }
];
/** 纳音表 */
const NAYIN_TABLE = [
'海中金', '炉中火', '大林木', '路旁土', '剑锋金', '山头火',
@@ -370,6 +418,10 @@ module.exports = {
SOLAR_FESTIVALS,
LUNAR_FESTIVALS,
BUDDHIST_FESTIVALS,
LEGAL_HOLIDAYS_SOLAR,
LEGAL_HOLIDAYS_LUNAR,
SOLAR_TERM_TIMES,
FESTIVAL_QUICK_SEARCH,
NAYIN_TABLE,
HOUR_NAMES,
HOUR_RANGES,