# 任务管理 **Repository Path**: futurerr/re ## Basic Information - **Project Name**: 任务管理 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-13 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 任务管理 APP 基于 uniapp 开发的任务管理应用,支持**系统铃声提醒**和**后台提醒**功能。 ## ⭐ 核心特性 ✅ **任务管理** - 添加、编辑、删除任务 - 任务标题和描述 - 任务完成状态切换 - 三种优先级(高、中、低) ✅ **智能提醒(后台运行)** - ⏰ 系统级闹钟提醒(应用关闭也能提醒) - 🔔 使用 Android 系统铃声 - 📳 振动提醒 - 🔋 后台常驻提醒 - 🎵 自定义提醒时间 - 🎶 铃声试听功能 ✅ **数据存储** - 本地持久化存储 - 任务筛选(全部、待完成、已完成) - 任务统计 ✅ **权限管理** - 通知权限管理 - 精确闹钟权限(Android 12+) - 电池优化白名单 - 后台运行权限 ## 技术栈 - **框架**: uniapp (Vue 2) - **平台**: Android - **存储**: uni.storage (本地存储) - **铃声**: Android 系统 RingtoneManager - **提醒**: AlarmManager(系统闹钟)+ 本地通知 - **后台**: 系统级定时任务 ## 项目结构 ``` todo/ ├── pages/ # 页面 │ ├── index/ # 任务列表页 │ ├── add-task/ # 添加/编辑任务页 │ └── settings/ # 设置页(权限管理) ├── utils/ # 工具类 │ ├── alarm.js # 前台提醒管理器(系统铃声) │ └── notification.js # 后台提醒管理器(系统闹钟) ├── static/ # 静态资源 │ ├── alarm.mp3 # 默认铃声(可选) │ ├── alarm-soft.mp3 # 柔和铃声(可选) │ ├── alarm-urgent.mp3 # 紧急铃声(可选) │ └── README.md # 铃声说明 ├── common/ # 公共样式 │ └── common.css # 全局样式 ├── App.vue # 应用入口 ├── main.js # 主入口 ├── manifest.json # 应用配置(含权限) ├── pages.json # 页面路由 └── package.json # 依赖配置 ``` ## 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 铃声说明 **应用已默认使用 Android 系统铃声,无需添加音频文件!** - 系统会自动使用设备的通知铃声或闹钟铃声 - 如需自定义铃声,可在 `static/` 目录添加 MP3 文件(可选) ### 3. 运行项目 #### H5 开发 ```bash npm run dev:h5 ``` #### 微信小程序开发 ```bash npm run dev:mp-weixin ``` #### Android App 开发 ```bash npm run dev:app-plus ``` ### 4. 打包发布 #### H5 打包 ```bash npm run build:h5 ``` #### Android App 打包 ```bash npm run build:app-plus ``` 然后使用 HBuilderX 进行云打包或本地打包。 ## 使用 HBuilderX 打包 Android APP ### 方法一:云打包(推荐) 1. 使用 HBuilderX 打开项目 2. 点击菜单:`发行` -> `原生App-云打包` 3. 选择 Android 平台 4. 填写应用信息: - 应用名称:任务管理 - 应用版本号:1.0.0 - 应用版本名称:1.0.0 5. 勾选需要的权限(已在 manifest.json 配置) 6. 点击打包,等待云端打包完成 7. 下载生成的 APK 文件 ### 方法二:本地打包 1. 安装 Android Studio 和 Android SDK 2. 配置本地打包环境 3. 使用 HBuilderX:`发行` -> `原生App-本地打包` 4. 选择 Android 平台 5. 点击打包 ## Android 权限说明 应用需要以下权限(已在 manifest.json 配置): - ✅ `VIBRATE` - 振动提醒 - ✅ `SCHEDULE_EXACT_ALARM` / `USE_EXACT_ALARM` - 精确定时提醒(Android 12+) - ✅ `POST_NOTIFICATIONS` - 通知权限(Android 13+) - ✅ `FOREGROUND_SERVICE` - 前台服务 - ✅ `REQUEST_IGNORE_BATTERY_OPTIMIZATIONS` - 忽略电池优化 - ✅ `RECEIVE_BOOT_COMPLETED` - 开机自启动 - ✅ `WAKE_LOCK` - 唤醒锁定 ## 🔔 后台提醒机制说明 ### 双重提醒保障 本应用采用**双重提醒机制**,确保应用关闭也能收到提醒: #### 1️⃣ 系统级闹钟(主要方式) - 使用 Android AlarmManager 设置系统级定时任务 - **应用完全关闭也能提醒** - 到达提醒时间自动唤醒应用 - 播放系统铃声 + 振动 - Android 12+ 支持精确时间提醒 #### 2️⃣ 前台轮询检查(辅助方式) - 应用在前台时每分钟检查一次 - 双重保障,确保不漏提醒 - 前台提醒更加及时 ### 工作流程 ``` 用户设置提醒时间 ↓ 保存到本地存储 ↓ 设置系统闹钟(AlarmManager) ↓ 到达提醒时间 ↓ 系统自动唤醒应用 ↓ 播放系统铃声 + 振动 + 通知 ``` ### 首次使用配置 首次使用需在**设置页**授予以下权限: 1. **通知权限** - 显示提醒通知 2. **精确闹钟权限** - 精确时间提醒(Android 12+) 3. **忽略电池优化** - 确保后台提醒正常工作 **操作步骤:** - 打开应用 → 点击右上角设置图标 → 逐项授予权限 ### 提醒可靠性说明 ✅ **应用完全关闭也能提醒** - 系统闹钟会自动唤醒应用 - 无需保持应用后台运行 ✅ **系统铃声** - 自动使用设备通知铃声或闹钟铃声 - 支持系统音量控制 ✅ **防重复提醒** - 每个提醒只触发一次 - 已触发的提醒自动标记 ## 开发说明 ### 添加新功能 1. 在 `pages/` 下创建新页面 2. 在 `pages.json` 中注册路由 3. 在 `utils/` 下添加工具类 ### 自定义样式 全局样式在 `common/common.css` 中定义,可以根据需要修改。 ### 数据结构 任务数据结构: ```javascript { id: String, // 任务ID title: String, // 任务标题 description: String, // 任务描述 priority: String, // 优先级: high/medium/low completed: Boolean, // 是否完成 alarmEnabled: Boolean, // 是否启用提醒 alarmTime: String, // 提醒时间 (ISO 8601) alarmSound: String, // 铃声文件名 alarmTriggered: Boolean, // 提醒是否已触发 createTime: String, // 创建时间 (ISO 8601) completeTime: String // 完成时间 (ISO 8601) } ``` ## 常见问题 ### 1. 提醒不生效 **问题**:设置了提醒时间,但没有收到提醒 **解决方案**: - ✅ 检查是否授予了**通知权限**(设置页) - ✅ 检查是否授予了**精确闹钟权限**(Android 12+,设置页) - ✅ 检查是否忽略了**电池优化**(设置页) - ✅ 确认提醒时间设置正确且晚于当前时间 - ✅ 重启应用后重新设置提醒 ### 2. 应用关闭后不提醒 **问题**:应用关闭后无法收到提醒 **解决方案**: - ✅ 确保已授予**精确闹钟权限**(Android 12+) - ✅ 在设置页点击**忽略电池优化** - ✅ 部分手机需要在系统设置中允许应用**后台运行** - ✅ 部分手机需要将应用加入**自启动白名单** ### 3. 铃声无法播放 **问题**:提醒时没有铃声 **解决方案**: - 应用使用系统铃声,检查手机音量设置 - 确保通知音量或闹钟音量已开启 - 部分手机在勿扰模式下不播放铃声 ### 4. 打包失败 **问题**:HBuilderX 打包时失败 **解决方案**: - 检查 manifest.json 配置是否正确 - 确认 HBuilderX 版本是否最新 - 查看打包日志中的错误信息 - 尝试使用云打包而非本地打包 ### 5. 权限请求失败 **问题**:点击设置页权限按钮无反应 **解决方案**: - Android 版本过低可能不支持某些权限 - 手动前往系统设置授予权限 - 重新安装应用重试 ## 更新日志 ### v1.0.0 (2025-10-07) - ✅ 初始版本发布 - ✅ 任务管理基础功能 - ✅ 系统级后台提醒(应用关闭也能提醒) - ✅ Android 系统铃声支持 - ✅ 双重提醒保障机制 - ✅ 权限管理页面 - ✅ Android 平台支持 ## 许可证 MIT License ## 联系方式 如有问题或建议,欢迎提交 Issue。