spaxis(事间轴)是一款可视化时间记录应用,支持多平台,基于 Flutter 实现。它允许用户以时间轴的方式管理和浏览事件,支持多轨道、缩放、平移、事件编辑等功能,适合个人时间管理、项目进度追踪等场景。
- 多粒度时间轴:支持从“十年”到“分钟”级别的缩放,平滑切换视图。
- 事件管理:可添加、编辑、删除事件,支持时间段和时间点两种类型。
- 多轨道显示:最多支持 5 个轨道,事件自动分配轨道避免重叠。
- 可视化交互:支持手势缩放、平移、点击事件查看详情、长按添加事件。
- 本地持久化:事件数据自动保存到本地(JSONL 文件)。
- 跨平台支持:可运行于 Android、iOS、Windows、Linux、macOS。
- Flutter SDK (>=2.17.0 <4.0.0)
- path_provider:用于本地文件存储
- flutter_lints:代码规范检查(开发依赖)
lib/
main.dart # 应用主入口,包含核心逻辑和 UI
android/ # Android 平台工程
ios/ # iOS 平台工程
windows/ # Windows 平台工程
linux/ # Linux 平台工程
macos/ # macOS 平台工程
pubspec.yaml # 依赖与资源声明
-
环境准备
- 安装 Flutter SDK
- 配置好目标平台的开发环境(如 Android Studio、Xcode、VS、CMake 等)
-
获取依赖
flutter pub get
-
运行项目
- Android/iOS:
flutter run
- Windows/Linux/macOS:
flutter run -d windows # 或 linux/macOS
- Android/iOS:
-
打包发布
- Android:
flutter build apk
- Windows/Linux/macOS:
flutter build windows # 或 linux/macOS
- Android:
SpaxisEvent:事件数据模型,支持序列化/反序列化SpaxisManager:事件与视图状态管理,负责事件增删改查、缩放、平移、数据持久化等TimelineCanvas/TimelinePainter:自定义时间轴绘制与交互- 事件编辑、详情弹窗等 UI 组件
- Android
- iOS
- Windows
- Linux
- macOS
目前项目未开放社区贡献。若需自定义或二次开发,建议直接在 lib/main.dart 中扩展事件模型和 UI 逻辑。
本项目暂未指定开源协议,禁止未经授权的商业使用。
如需详细开发文档或遇到问题,请参考 Flutter 官方文档或 issue 区反馈。