【新春创造营】春节倒计时小程序

今天使用 iflow cli + minimax-m2.1 完成了这个页面,全程没有手写一行代码,具体过程如下:

我先跟AI说了我的需求,让它列出一个需求开发文档,具体提示语如下:

帮我开发一个春节倒计时应用,使用html+css+js来实现,先帮我列出具体的开发文档

于是AI就开始工作,输出了如下的MD文档:

春节倒计时网页应用 - 开发文档

项目概述

一个精美的春节倒计时网页,展示距离春节的倒计时,支持个性化设置和动画效果。

功能需求

核心功能

  • 实时显示距离春节的倒计时(天、时、分、秒)
  • 春节当天显示新年祝福
  • 自动判断并计算下一个春节日期

界面功能

  • 响应式设计,支持移动端和桌面端
  • 春节主题视觉设计(红色、金色为主)
  • 流畅的动画效果
  • 背景动态效果(烟花或飘雪)

附加功能(可选)

  • 主题切换(深色/浅色)
  • 倒计时目标自定义
  • 分享功能

技术方案

技术栈

  • HTML5 - 页面结构
  • CSS3 - 样式、动画、响应式布局
  • JavaScript (ES6+) - 倒计时逻辑、动态效果

兼容性

  • 现代浏览器(Chrome、Firefox、Safari、Edge)
  • 移动端浏览器

文件结构

Countdown-app/
├── index.html          # 主页面
├── css/
│   ├── main.css        # 主样式
│   ├── animation.css   # 动画效果
│   └── theme.css       # 主题样式
├── js/
│   ├── countdown.js    # 倒计时核心逻辑
│   ├── fireworks.js    # 烟花效果
│   └── utils.js        # 工具函数
├── assets/
│   ├── images/         # 图片资源
│   └── fonts/          # 字体资源
└── README.md

实现步骤

第一阶段:基础框架

  1. 创建项目目录结构
  2. 编写 HTML 页面骨架
  3. 实现基础 CSS 样式

第二阶段:核心功能

  1. 实现倒计时 JS 逻辑
  2. 计算下一个春节日期
  3. 添加实时更新功能

第三阶段:视觉效果

  1. 添加春节主题样式
  2. 实现烟花动画效果
  3. 添加响应式布局

第四阶段:优化完善

  1. 代码优化和重构
  2. 性能优化
  3. 浏览器兼容性测试

页面设计

整体布局

  • 全屏居中显示
  • 大字号倒计时数字
  • 春节元素装饰

色彩方案

  • 主色:#D32F2F(春节红)
  • 辅色:#FFD700(金色)
  • 背景:渐变深红/暗红
  • 文字:白色/金色

视觉元素

  • 春节灯笼元素
  • 烟花/鞭炮动画
  • 福字装饰
  • 云纹图案(可选)

API/算法说明

春节日期计算

春节按农历正月初一计算:

  • 2025年春节:1月29日
  • 2026年春节:2月17日
  • 2027年春节:2月6日
// 获取下一个春节日期
function getNextSpringFestival() {
    const now = new Date();
    const currentYear = now.getFullYear();
    // 农历正月初一的固定日期(简化处理,可接入农历库)
    const festivalDates = {
        2025: new Date(2025, 0, 29),
        2026: new Date(2026, 1, 17),
        2027: new Date(2027, 1, 6),
    };
    // 返回下一个春节日期
}

倒计时计算

function calculateCountdown(targetDate) {
    const now = new Date();
    const diff = targetDate - now;

    return {
        days: Math.floor(diff / (1000 * 60 * 60 * 24)),
        hours: Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),
        minutes: Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)),
        seconds: Math.floor((diff % (1000 * 60)) / 1000)
    };
}

动画效果

烟花动画

使用 Canvas 绘制烟花粒子效果:

  • 随机颜色、大小、速度
  • 粒子散开后渐隐
  • 循环发射烟花

倒计时数字动画

  • 数字变化时添加过渡效果
  • 支持千位分隔符显示

资源参考

农历日期库(可选)

  • lunar-javascript - 农历日期处理
  • solar2lunar - 阳历转农历

图标资源

  • Font Awesome 或自行设计春节图标
  • 灯笼、福字等 SVG 图标

开发周期预估

阶段 内容 预估时间
第一阶段 基础框架 2-3 小时
第二阶段 核心功能 3-4 小时
第三阶段 视觉效果 4-5 小时
第四阶段 优化完善 2-3 小时
总计 11-15 小时

后续优化方向

  • 支持自定义倒计时目标日期
  • 添加倒计时列表管理
  • 支持本地存储设置
  • 添加分享到社交媒体功能
  • 农历日期精确计算
  • 更多春节主题皮肤

注意事项

  1. 农历日期计算建议使用成熟库,避免自行实现
  2. 烟花效果注意性能优化,避免过多粒子
  3. 移动端注意触摸交互支持
  4. 考虑无障碍访问(ARIA 标签)

确定输出的内容后,我就让AI开始编码工作。

当代码编写完成后,AI自动调用 Playwright-MCP 实现自动化测试,最终完成如下应用:

具体的访问地址如下:中国春节倒计时(旧版)

2 个赞

倒计时, 我想回家.

:grinning_face_with_smiling_eyes:

又是想放假的一天!联系我领奖!

私你还是怎么联系呢? :grinning_face_with_smiling_eyes:

好看

谢谢 :grinning_face:

我联系你~

经过一段时间跟AI的对话,又对原有的内容做了升级更新,具体截图如下:

2.0版本增加了更多的可选配置项,访问地址依旧是这个中国春节倒计时(新版)

1 个赞

不过在调试过程中,确实感觉GLM4.7一直在降智,一个简单的问题修复了好几轮才修好 :sweat_smile: