用心记录每一个重要时刻
倒数日 · 正计时 · 桌面小部件 · 云端同步 · 分享卡片
- 精确到秒的倒数日/正计时显示
- 支持农历日期(节日、生日等传统日期)
- 智能天数计算,自动识别已过/未到事件
- 多种时间单位显示:天/小时/分钟/秒
- 自定义事件图标与分类管理
- 重复事件支持(年度/月度周期)
- 深色/浅色主题自动跟随系统
- 12+ 种精选主题色彩
- 自定义分类颜色标签
- 事件备注与详细描述
- 星标收藏重要事件
- 灵活的排序方式(时间/创建/自定义)
正在开发中
- 多尺寸小部件支持(1x1 / 2x2 / 4x2)
- 实时更新倒计时显示
- 极简设计,一目了然
- 点击直达事件详情
- 自定义小部件主题
- 月历视图,直观查看所有事件
- 农历日期并排显示
- 快速跳转到指定日期
- 事件密度提示
- 长按日期创建新事件
- 5 种专业设计模板(极简/渐变/卡片/节日/海报)
- 3 种比例自由切换(正方形 1:1 / 竖版 3:4 / 横版 16:9)
- 自定义背景图片,打造独一无二的分享卡片
- 智能裁剪,完美适配各种社交平台
- 可自定义显示内容:标题/天数/日期/备注/底部标识
- 一键保存到相册或分享给好友
- WebDAV 协议,兼容主流网盘(坚果云/Nextcloud 等)
- 智能冲突检测,数据安全可靠
- 多设备无缝同步
- 密码加密存储,隐私有保障
- 手动/自动同步模式
正在开发中
- 事件到期推送提醒
- 自定义提醒时间
- 重要事件多次提醒
- Android 14+ 通知权限适配
- iCalendar (.ics) 文件导入
- 一键导出所有事件
- 批量备份与恢复
- 支持跨平台日历数据迁移
- 3D Touch / 长按应用图标快速创建
- Deep Link 支持,快速跳转
- 手势操作,左滑删除/右滑编辑
- 搜索功能,快速定位事件
- 前往 Releases 下载最新 APK
- 根据设备架构选择:
- arm64-v8a (推荐,适用于大多数现代安卓手机)
- armeabi-v7a (旧款 32 位设备)
- x86_64 (模拟器)
- 安装后授予必要权限
- 开始记录你的重要时刻~
- Flutter SDK: >= 3.9.2
- Dart SDK: >= 3.9.2
- Android SDK: API 21+ (Android 5.0+)
- iOS: iOS 12.0+ (可选)
# 1. 克隆仓库
git clone https://github.com/jiuxina/ying.git
cd ying
# 2. 安装依赖
flutter pub get
# 3. 运行代码检查(可选)
flutter analyze
# 4. 运行测试(可选)
flutter test
# 5. 构建 APK(分架构构建,体积更小)
flutter build apk --release --split-per-abi
# 或构建通用 APK(体积较大但兼容所有架构)
flutter build apk --release
# 6. APK 位于: build/app/outputs/flutter-apk/
# - app-arm64-v8a-release.apk
# - app-armeabi-v7a-release.apk
# - app-x86_64-release.apk# 连接设备或启动模拟器后运行
flutter run
# 以调试模式运行
flutter run --debug
# 以性能分析模式运行
flutter run --profile- 点击首页右下角
+按钮 - 填写事件标题、日期、分类
- (可选)添加备注、设置重复、选择图标
- 保存即可
正在开发中
- 长按桌面空白处
- 选择"小部件"
- 找到"萤"应用
- 拖拽到桌面,选择要显示的事件
- 打开事件详情
- 点击右上角分享按钮
- 选择模板和比例
- 自定义显示内容
- (可选)添加自定义背景图片
- 保存或分享
- 进入设置 → 云端同步
- 输入 WebDAV 服务器地址
- 输入用户名和密码
- 测试连接后保存
- 选择同步方式(手动/WiFi 下自动)
| 权限 | 用途 |
|---|---|
| 存储权限 | 保存分享卡片到相册 |
| 网络权限 | 云端同步功能 |
发现 bug、想加新功能、优化体验,或者单纯想打个招呼,都欢迎提交 Issue 或 Pull Request~
- Flutter SDK: ^3.9.2
- Dart SDK: ^3.9.2
本项目采用 MVVM(Model-View-ViewModel) 架构模式:
lib/
├── models/ # 数据模型层
│ ├── countdown_event.dart # 事件模型
│ ├── event_category.dart # 分类模型
│ ├── event_group.dart # 分组模型
│ └── reminder.dart # 提醒模型
├── providers/ # 状态管理层(ViewModel)
│ ├── events_provider.dart # 事件状态管理
│ └── settings_provider.dart # 设置状态管理
├── services/ # 业务逻辑层
│ ├── database_service.dart # 数据库服务
│ ├── cloud_sync_service.dart # 云同步服务
│ ├── webdav_service.dart # WebDAV 客户端
│ ├── backup_service.dart # 备份恢复服务
│ └── ...
├── screens/ # 页面视图层
│ ├── home_screen.dart # 主页
│ ├── add_edit_event_screen.dart # 编辑页
│ └── settings/ # 设置相关页面
├── widgets/ # 可复用组件
│ ├── event_card.dart # 事件卡片
│ ├── share_card_templates.dart # 分享卡片模板
│ └── common/ # 通用组件
├── utils/ # 工具类
│ ├── constants.dart # 常量定义
│ ├── app_exception.dart # 异常处理
│ └── responsive_utils.dart # 响应式工具
└── theme/ # 主题配置
└── app_theme.dart
核心技术栈:
- 状态管理: Provider(轻量级、官方推荐)
- 本地存储:
- sqflite(结构化数据)
- shared_preferences(配置项)
- flutter_secure_storage(敏感数据)
- 云同步: webdav_client(支持主流网盘)
- 日期处理: intl + lunar(公历/农历支持)
代码质量保障:
- 严格的 Lint 规则(analysis_options.yaml)
- 单元测试覆盖核心业务逻辑
- 类型安全的异常处理体系
- 数据库索引优化查询性能
- 状态管理: Provider
- 本地存储: sqflite, shared_preferences
- 日期处理: intl, lunar (农历支持)
- 云同步: webdav_client
- 分享功能: share_plus, image_cropper
jiuxina
Made with ❤️ by Me & You
如果这个项目对你有帮助,请给个 ⭐️ Star 支持一下吧~
