一个美观的 iOS 壁纸生成器,支持中国法定节假日和进度显示。可通过 iPhone 快捷指令每日自动更新壁纸。
- 🎨 点阵式设计:极简的现代化深色主题
- 🇨🇳 中国节假日:自动获取最新的法定节假日数据
- 📊 进度显示:实时显示年度进度和剩余天数
- 🔄 每日更新:配合快捷指令自动更新壁纸
- 📱 多设备支持:支持所有 iPhone 型号的分辨率
- 🌏 星期一开始:符合中国习惯的星期排列
- 白色圆点:已过去的日期
- 蓝色圆点:今天
- 红色圆点:节假日
- 深灰色圆点:未来日期
-
克隆仓库
git clone https://github.com/你的用户名/ios-wallpapers.git cd ios-wallpapers -
安装依赖
npm install
-
部署到 Vercel
# 安装 Vercel CLI(如果还没有) npm i -g vercel # 登录 vercel login # 部署 vercel --prod
-
完成! 部署成功后,Vercel 会给你一个访问链接,例如:
https://your-project.vercel.app
https://your-project.vercel.app/api/calendar?year=2026&width=1179&height=2556
| 参数 | 说明 | 默认值 | 示例 |
|---|---|---|---|
year |
年份 | 当前年份 | 2026 |
width |
宽度(像素) | 1179 |
1179 |
height |
高度(像素) | 2556 |
2556 |
showToday |
显示今天高亮 | true |
true |
| 设备 | 宽度 | 高度 | URL 示例 |
|---|---|---|---|
| iPhone 15 Pro Max | 1290 | 2796 | ?width=1290&height=2796 |
| iPhone 15 Pro | 1179 | 2556 | ?width=1179&height=2556 |
| iPhone 14/13 | 1170 | 2532 | ?width=1170&height=2532 |
| iPhone SE | 750 | 1334 | ?width=750&height=1334 |
- 访问
https://your-project.vercel.app - 选择你的设备型号和年份
- 点击「复制 API 链接」
- 在快捷指令中使用这个链接
-
打开 iPhone「快捷指令」App
-
点击右上角「+」创建新快捷指令
-
添加以下步骤:
步骤 1:获取图片
- 搜索并添加「获取 URL 内容」
- URL 填写:
https://your-project.vercel.app/api/calendar?year=2026&width=1179&height=2556 - 方法:GET
步骤 2:设置壁纸
- 搜索并添加「设定壁纸」
- 选择「锁定屏幕」或「主屏幕」
- 关闭「显示预览」(可选)
-
保存快捷指令,命名为「更新日历壁纸」
- 打开「快捷指令」App,切换到「自动化」标签
- 点击右上角「+」创建个人自动化
- 选择「特定时间」
- 设置为每天早上 7:00 运行
- 添加「运行快捷指令」动作
- 选择刚才创建的「更新日历壁纸」
- 关闭「运行前询问」,保存
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 访问
# http://localhost:3000ios-wallpapers/
├── api/
│ └── calendar.js # Vercel API 路由
├── public/
│ └── index.html # 预览页面
├── generator.js # 日历生成核心逻辑
├── holidays.js # 节假日数据获取
├── package.json
└── vercel.json # Vercel 配置
- Node.js - 服务端运行时
- Canvas - 图片生成
- Vercel - 部署平台
- 节假日 API - timor.tech
节假日数据来自开源 API:https://timor.tech/api/holiday
如果 API 不可用,会自动使用内置的备用数据。
欢迎提交 Issue 和 Pull Request!
MIT License
A: 请确保你生成的年份有对应的节假日数据。API 支持 2020-2030 年的数据。
A: 编辑 generator.js 文件中的 COLORS 对象。
A: 确保使用的宽高参数匹配你的 iPhone 实际分辨率。
A: 目前暂不支持农历显示,但你可以修改 holidays.js 添加自定义节日。
Enjoy your personalized calendar wallpaper! 🎉