Initial Commit
This commit is contained in:
@@ -0,0 +1,225 @@
|
||||
# 生日提醒小程序
|
||||
|
||||
一款轻量级、易用的个人纪念日管理小程序,帮助用户记录和提醒重要的生日、节日和纪念日。
|
||||
|
||||
## 📋 功能特性
|
||||
|
||||
### 核心功能
|
||||
|
||||
1. **人员信息管理**
|
||||
- 添加、编辑、删除人员信息
|
||||
- 支持姓名、昵称、备注、头像
|
||||
- 快速搜索和筛选
|
||||
|
||||
2. **纪念日管理**
|
||||
- 支持公历和农历生日
|
||||
- 多种纪念日类型(生日、结婚纪念日、订婚纪念日等)
|
||||
- 自定义纪念日类型
|
||||
- 设置重要程度(非常重要/重要/一般)
|
||||
|
||||
3. **智能提醒**
|
||||
- 灵活设置提醒时间(提前3/7/14/30天或自定义)
|
||||
- 支持开启/关闭提醒
|
||||
- 近期纪念日一目了然
|
||||
|
||||
4. **日历视图**
|
||||
- 月历展示所有纪念日
|
||||
- 本月纪念日列表
|
||||
- 快速跳转到指定日期
|
||||
|
||||
5. **数据管理**
|
||||
- 导出数据备份(复制到剪贴板)
|
||||
- 导入数据恢复
|
||||
- 清空所有数据
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- 微信开发者工具
|
||||
- Node.js(如果需要)
|
||||
|
||||
### 安装步骤
|
||||
|
||||
1. **克隆或下载项目**
|
||||
```bash
|
||||
git clone <项目地址>
|
||||
cd 生日提醒小程序
|
||||
```
|
||||
|
||||
2. **打开微信开发者工具**
|
||||
- 打开微信开发者工具
|
||||
- 选择"导入项目"
|
||||
- 选择项目目录
|
||||
- AppID填写:`touristappid`(测试号)
|
||||
|
||||
3. **运行项目**
|
||||
- 点击"编译"按钮
|
||||
- 在模拟器中查看效果
|
||||
|
||||
### 配置说明
|
||||
|
||||
#### app.json 配置
|
||||
- `pages`: 页面路径配置
|
||||
- `tabBar`: 底部导航栏配置
|
||||
- `window`: 窗口配置
|
||||
|
||||
#### project.config.json 配置
|
||||
- 根据实际开发需求修改 `appid`
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
生日提醒小程序/
|
||||
├── app.js # 小程序入口文件
|
||||
├── app.json # 全局配置
|
||||
├── app.wxss # 全局样式
|
||||
├── project.config.json # 项目配置
|
||||
├── sitemap.json # 站点地图
|
||||
├── pages/ # 页面目录
|
||||
│ ├── index/ # 首页(人员列表)
|
||||
│ ├── person-detail/ # 人员详情
|
||||
│ ├── add-person/ # 添加/编辑人员
|
||||
│ ├── add-anniversary/ # 添加/编辑纪念日
|
||||
│ ├── calendar/ # 日历视图
|
||||
│ └── settings/ # 设置页面
|
||||
└── utils/ # 工具类
|
||||
├── storage.js # 数据存储
|
||||
├── lunar.js # 农历转换
|
||||
└── date.js # 日期工具
|
||||
```
|
||||
|
||||
## 🎨 页面功能说明
|
||||
|
||||
### 1. 首页(人员列表)
|
||||
- 显示所有已添加的人员
|
||||
- 搜索和筛选功能
|
||||
- 显示最近的纪念日和倒计时
|
||||
- 浮动按钮快速添加
|
||||
|
||||
### 2. 人员详情页
|
||||
- 展示人员完整信息
|
||||
- 显示该人员的所有纪念日
|
||||
- 编辑和删除操作
|
||||
|
||||
### 3. 添加人员页
|
||||
- 输入姓名、昵称、备注
|
||||
- 上传头像
|
||||
- 保存到本地存储
|
||||
|
||||
### 4. 添加纪念日页
|
||||
- 选择关联人员
|
||||
- 选择纪念日类型
|
||||
- 选择日期(公历/农历)
|
||||
- 设置重要程度
|
||||
- 配置提醒设置
|
||||
|
||||
### 5. 日历页
|
||||
- 月历视图
|
||||
- 标记有纪念日的日期
|
||||
- 本月纪念日列表
|
||||
|
||||
### 6. 设置页
|
||||
- 导出/导入数据
|
||||
- 清空数据
|
||||
- 关于信息
|
||||
|
||||
## 💾 数据存储
|
||||
|
||||
项目使用微信小程序的本地存储功能:
|
||||
- `wx.getStorageSync()` - 同步读取数据
|
||||
- `wx.setStorageSync()` - 同步存储数据
|
||||
- 最大存储容量:10MB
|
||||
|
||||
数据结构:
|
||||
```javascript
|
||||
// 人员数据
|
||||
{
|
||||
id: String,
|
||||
name: String,
|
||||
nickname: String,
|
||||
avatar: String,
|
||||
remark: String,
|
||||
createTime: Number,
|
||||
updateTime: Number
|
||||
}
|
||||
|
||||
// 纪念日数据
|
||||
{
|
||||
id: String,
|
||||
personId: String,
|
||||
type: String,
|
||||
customTypeName: String,
|
||||
isLunar: Boolean,
|
||||
solarYear: Number,
|
||||
solarMonth: Number,
|
||||
solarDay: Number,
|
||||
importance: String,
|
||||
remindEnabled: Boolean,
|
||||
remindDays: Number,
|
||||
remark: String,
|
||||
createTime: Number,
|
||||
updateTime: Number
|
||||
}
|
||||
```
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **农历功能**
|
||||
- 当前使用简化版的农历转换算法
|
||||
- 建议使用成熟的农历库(如 `lunar-javascript`)替换
|
||||
|
||||
2. **提醒功能**
|
||||
- 小程序不支持后台定时任务
|
||||
- 需要在前台运行时才能触发提醒
|
||||
- 建议使用云开发或服务器来实现真正的推送通知
|
||||
|
||||
3. **数据备份**
|
||||
- 导出功能会将数据复制到剪贴板
|
||||
- 建议定期导出备份,防止数据丢失
|
||||
- 导入时会覆盖现有数据
|
||||
|
||||
4. **头像上传**
|
||||
- 当前使用本地临时路径
|
||||
- 如需持久化,需要上传到云存储或服务器
|
||||
|
||||
## 🔧 开发建议
|
||||
|
||||
### 功能扩展
|
||||
|
||||
1. **农历转换优化**
|
||||
- 使用 `lunar-javascript` 库
|
||||
- 实现准确的农历转公历计算
|
||||
|
||||
2. **提醒功能增强**
|
||||
- 使用云开发或后端服务
|
||||
- 实现真正的推送通知
|
||||
- 支持定时提醒
|
||||
|
||||
3. **数据同步**
|
||||
- 添加云存储支持
|
||||
- 多设备数据同步
|
||||
- 数据加密
|
||||
|
||||
4. **UI优化**
|
||||
- 添加更多的图标资源
|
||||
- 优化动画效果
|
||||
- 支持暗色模式
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
MIT License
|
||||
|
||||
## 🤝 贡献
|
||||
|
||||
欢迎提交 Issue 和 Pull Request!
|
||||
|
||||
## 📞 联系方式
|
||||
|
||||
如有问题或建议,请提交 Issue。
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2024年
|
||||
**版本**: v1.0.0
|
||||
|
||||
Reference in New Issue
Block a user