Skip to content

steptian/zenflow

Repository files navigation

ZenFlow - 极简正念呼吸微信小程序

ZenFlow 是一款简约的微信小程序,旨在通过引导式呼吸练习和心情记录,帮助用户放松身心、缓解压力、提升专注力。

demo展示

✨ 主要功能

  • 引导式呼吸练习:
    • 基于 Canvas 的动态呼吸球动画,引导用户进行吸气、屏息、呼气。
    • 可自定义的练习时长选择。
    • 背景音效(如:白噪音、自然声音)辅助放松。
    • 结束时播放提示音。
  • 心情及压力水平选择:
    • 通过首页的 "Dock" 式交互 Emoji 列表快速选择当前状态,启动对应类型的练习。
  • 练习记录与可视化:
    • 自动记录每次练习的日期、时长和练习后的心情。
    • 在首页展示最近的练习记录列表。
    • 通过柱状图表可视化近期的练习历史,包括时长和心情颜色标记。
  • B站视频推荐区(可关闭/恢复):
    • 首页底部新增"开发缘由 · 推荐视频"区域,支持扫码或一键跳转B站小程序观看。
    • 用户可点击右上角"×"关闭该区域,关闭后页面右上角会出现小icon,点击可重新打开并自动滚动到该区域。
  • 数据导出与隐私保护:
    • 首页底部新增"导出我的数据"按钮,支持将本地历史数据导出为JSON文件,可保存到本地或通过微信分享。
    • 隐私说明分段展示,包含数据本地存储、导出建议、卸载提醒等,采用列表形式更清晰。
  • 个性化与反馈:
    • 练习结束后的烟花庆祝动画。
    • 支持与建议弹窗,包含项目简介和反馈渠道(通过预览二维码图片)。
  • 状态管理:
    • 小程序切换到后台时自动暂停练习和音频,返回前台时可恢复。

📂 项目结构

zenflowapp/ ├── pages/ # 微信小程序页面目录 │ ├── index/ # 首页 (心情选择、练习历史、图表、B站推荐、数据导出、隐私说明) │ └── training/ # 呼吸训练页 (Canvas动画、音频、计时器) ├── static/ # 静态资源目录 │ ├── audio/ # 音频文件 (背景音乐, 提示音) │ ├── emoji/ # (若有使用) Emoji 相关图片资源 │ └── images/ # 其他图片资源 (如二维码、B站视频二维码、微信二维码) ├── app.js # 小程序全局逻辑 ├── app.json # 小程序全局配置 ├── app.wxss # 小程序全局样式表 ├── project.config.json # 项目配置文件 (建议将 appid 等敏感信息移至 project.private.config.json) └── project.private.config.json # 项目私有配置文件 (应被 .gitignore 忽略) 

🚀 如何运行

  1. 环境准备:
  2. 导入项目:
    • 打开微信开发者工具。
    • 选择 "导入项目"。
    • AppID:请填入您自己申请的小程序 AppID,或者选择 "测试号" (部分功能可能受限)。
    • 项目名称:自定义。
    • 目录:选择本项目的 zenflowapp 根目录。
  3. 运行与调试:
    • 点击 "编译" 或 "预览" 即可在开发者工具中运行和调试。
    • 如需在真机上预览,请确保开发者工具已登录,并使用同一微信扫码预览。

🛠️ 技术栈

  • 微信小程序原生框架: JavaScript, WXML, WXSS
  • Canvas 2D API: 用于实现动态呼吸球和烟花动画。
  • wx.getBackgroundAudioManager: 用于音频播放,支持后台播放。
  • wx.setStorageSync/wx.getStorageSync: 用于本地数据存储(练习历史等)。
  • wx.getFileSystemManager/wx.saveFile/wx.shareFileMessage: 用于本地文件导出与微信分享。
  • wx.pageScrollTo: 用于自动滚动到指定区域。

🤝 贡献

欢迎各种形式的贡献,包括但不限于:

  • 功能建议
  • Bug 反馈
  • 代码提交 (请先提 Issue 讨论)

📄 开源许可

该项目采用 MIT License (建议后续添加LICENSE文件)。


希望这个小程序能为你带来片刻的宁静与专注。

📝 TODO List

  • 完善成就系统(更丰富的称号和奖励,训练完成时自动判断解锁条件并发放奖励)
  • 习惯进度页(如决定单独创建 pages/progress/progress,展示连续打卡、习惯养成等)
  • 细化打卡和连续天数逻辑,提供更明确的反馈和视觉提示
  • UI/UX 持续打磨和性能优化(包括动画、交互细节、适配等)
  • 提交微信小程序审核,按反馈微调
  • 成就奖励音频、背景等资源丰富化
  • 支持更多个性化设置(如自定义音效、主题等)

About

极简正念呼吸微信小程序

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published