程序聚合 软件案例 FocusTrap - 赛博朋克风格的专注力管理,App这是一款融合了游戏化元素和 AI 人格系统的专注力管理应用,采用 SwiftUI + SwiftData 构建。-FocusTrap

FocusTrap - 赛博朋克风格的专注力管理,App这是一款融合了游戏化元素和 AI 人格系统的专注力管理应用,采用 SwiftUI + SwiftData 构建。-FocusTrap

2026-01-02 18:00:20
行业:生活服务
载体:IOS APP
技术:Combine、Core Data、Swift Package Manager、SwiftUI

业务和功能介绍

1. 立项背景和目标
FocusTrap 是一款面向深度工作者的专注力管理应用,旨在解决现代人手机成瘾、注意力分散的问题。区别于传统番茄钟的冰冷计时器,本项目通过赛博朋克视觉风格和 AI 人格陪伴系统,将专注过程游戏化,让用户在沉浸式体验中培养专注习惯。目标用户为学生、程序员、创作者等需要长时间深度工作的群体。

2. 核心功能模块
专注计时系统:支持倒计时和自由计时双模式,可设置工作/学习/健身/休息等任务类别,配合白噪音场景(海滩、森林、雨声等)营造沉浸氛围。

屏幕时间管控:集成 iOS FamilyControls API,专注期间可屏蔽指定应用,支持白名单管理和紧急解锁机制,从系统层面阻断干扰。

AI 人格系统:内置 Zero、LuXiao、Thea 等多个 AI 角色,每个角色拥有独特性格和对话风格。通过好感度系统,用户专注表现会影响角色态度,解锁更多互动内容。

战报与数据分析:自动生成每日战术报告,包含专注时长、任务分布、心流评级(S/A/B/C)、专注 vs 娱乐时间对比等可视化数据,支持导出分享。

3. 业务流程
用户启动应用 → 选择 AI 人格 → 创建任务指令(或自由模式)→ 开始专注 → 系统屏蔽干扰应用 → AI 实时对话陪伴 → 完成/中断专注 → 获得经验值和好感度变化 → 查看战报分析 → 解锁新场景/角色内容。中途离开应用会触发"逃跑惩罚"机制,AI 会根据角色性格给出不同反应。

项目实现

1. 整体架构和设计思路
项目采用 SwiftUI + MVVM 架构,分为 Views(视图层)、Services(业务逻辑层)、Modals(数据模型层)三层。数据持久化使用 SwiftData 框架,管理 FocusSession、DailyReport、TaskDirective 三个核心实体。状态管理通过 @StateObject 和 @ObservedObject 实现响应式更新,AppState 作为全局状态容器管理场景切换、屏蔽状态等跨页面数据。

UI 组件采用原子化设计,Components 目录包含 30+ 可复用组件(如 BreathingGlow 呼吸光效、RadarChartView 雷达图、CyberBarcodeView 条形码动画等),通过组合构建复杂界面。屏幕时间管控集成 FamilyControls 框架,RealBlockingManager 封装授权请求和应用屏蔽逻辑。

2. 负责模块和结果
AI 对话系统:设计 TheaterDialogueManager 剧场式对话管理器,支持多幕剧本播放。为 Zero、LuXiao、Thea 三个角色编写 500+ 条差异化台词,覆盖问候、鼓励、逃跑惩罚、完成庆祝等 12 种场景触发器。通过好感度阶段(1-5 级)动态调整语气风格。

战报系统:实现 TacticalReportView 战术报告页,包含能量环、任务甜甜圈图、赛博条形码、战斗天平等可视化组件。TacticalMetricsCalculator 负责计算心流评级(基于中断频率)、战斗结果(专注/娱乐时间比)等指标。支持 ImageExporter 导出为分享图片。

属性测试:编写 15+ 个 Property-Based Tests,覆盖对话脚本格式校验、时长格式化、状态序列化往返等核心逻辑。

3. 遇到的难点和解决方案
FamilyControls 授权时序问题:首次启动时授权弹窗与 UI 渲染竞争导致崩溃。解决方案:将授权请求移至 .task 修饰符中异步执行,并添加授权状态检查防止重复请求。

SwiftUI 编译超时:ContentView 超过 1200 行导致类型推断超时。解决方案:将 MainActionButton、DirectiveHubView 等复杂组件提取为独立文件,使用 @ViewBuilder 拆分条件渲染逻辑。

对话脚本维护困难:多角色多场景台词散落各处难以管理。解决方案:设计统一的 TheaterScript 协议,每个角色独立 Scripts 文件,通过 Property-Based Testing 自动校验格式一致性。

示例图片视频


Xuguoan
30天前活跃
方向: 前端-Web前端、后端-Java、
交付率:100.00%
相似推荐
考霸APP
面向小学、初中、高中学生,主打本地名校真题、同步教材、AI 智能刷题,题库超 350 万道,适配人教版、北师大版等主流教材版本。 核心功能 本地真题资源:名校月考、联考、教研室统考、分班考试卷,贴合本地考情 视频讲解:试卷、难题配套名师视频,支持投屏观看 AI 错题本:自动归集错题,按知识点分类;AI 举一反三推送同类变式题,做一道通一类;学情统计,定位薄弱知识点 音频磨耳朵:语文、历史、道法等文科考点音频,通勤碎片时间背诵记忆 同步教材练习:同步课本章节预习、课后巩固,试卷支持下载打印 PDF 备考计划:寒暑假提分计划、一轮二轮复习、中考真题专项训练
音乐播放器
海外版 Android 应用独立开发实践,基于 Kotlin + Jetpack Compose + MVVM 架构,覆盖音乐播放器与隐私日记两款产品。音乐播放器支持本地音频扫描、后台播放、通知/媒体会话控制、播放队列、进度控制、循环模式及状态持久化;隐私日记支持富文本编辑、图片/表情/标签、多字体主题、时间线浏览、本地密码锁、云同步备份恢复与数据导出,注重海外用户隐私合规、流畅交互与数据安全保障。负责需求分析、UI/UX、架构设计、音视频/数据存储/同步模块实现及持续迭代。
音书桌面端-QT
实时语音转写:手机端采集语音 → 后端识别生成文字 → PC端通过socket.io监听text_update事件实时接收,并逐句显示在Qt文本编辑区(QTextEdit),支持光标跟踪与暂存。 文章生成与保存:PC端可对转写文本进行编辑、分段、标题设定,点击“保存”调用socket.emit('save_article')将完整文章上传云端(附时间戳、用户ID)。 历史管理:启动时通过socket.emit('fetch_history')获取文章列表(JSON格式),以QListView展示;支持按标题/日期检索。 操作扩展: 修改:双击列表项加载内容至编辑区,保存时覆盖云端原文档(update_article事件)。 下载:选定文章,调用socket.emit('download_article'),以QFileDialog保存为本地.txt/.docx。 删除:触发delete_article事件,列表即时刷新(通过article_deleted广播同步)。
81之家
81之家是一款专注于军考、文职考试等垂直领域的综合教育服务平台。平台整合了书籍教辅、在线视频、直播互动及智能题库等多种学习形态,构建了“学、练、测、评”一体化的高效学习闭环。通过打通内容与练习数据,帮助用户在书本、视频学习后能快速通过实战刷题巩固知识,显著提升备考效率与知识掌握度。 功能: 1.产品购买,支持微信、支付宝、苹果内购来实现购买、订单查询、物流追踪的功能 2.视频学习:支持视频在线播放、视频缓存等功能 3.做题:支持随机题目刷题、试卷答题、错题及笔记等功能
抖音视频批量下载工具
本工具的功能为批量下载用户关注/点赞/收藏的作品,用户登录后,获取用户关注列表,将需要下载的作者加入列表中,点击 下载按钮,开始下载指定作者的作品,已下载过的作者会被保存到已下载过作品的作者清单中,下次运行程序,可通过更新功能下载该清单的作者的最新作品,更新时,不会下载已下载过的作品,只获取本地不存在但在服务器上存在的新作品
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服