Skip to content

HHH-wyx/Task-Master

Repository files navigation

TaskMaster - 微信小程序任务管理应用

一款功能完善、界面美观的微信小程序任务管理应用,支持任务创建、编辑、完成、统计、日历视图等功能,并集成了用户登录、头像修改和云端任务同步等高级功能。

✨ 功能特性

核心功能

  • 📝 任务管理 - 创建、编辑、删除任务
  • 任务完成 - 一键标记任务完成/未完成
  • 🎨 优先级设置 - 支持 高/中/低 三个优先级
  • 📅 截止日期 - 为任务设置截止日期
  • 📊 任务统计 - 查看任务完成情况和优先级分布
  • 📆 日历视图 - 按日期查看和管理任务

高级功能

  • 👤 用户登录 - 微信授权登录,安全可靠
  • 🖼️ 头像管理 - 支持自定义头像,Base64存储不占用云存储空间
  • ☁️ 云端同步 - 任务数据云端存储,登录自动恢复
  • 🔒 数据隔离 - 用户数据完全隔离,安全隐私
  • 📤 数据导出 - 支持任务数据导出为JSON
  • 📥 数据导入 - 支持从JSON导入任务数据

技术特点

  • 🚀 云开发 - 基于微信云开发,无需搭建服务器
  • 📱 原生开发 - 微信小程序原生开发,性能优秀
  • 💾 本地缓存 - 本地存储+云端同步,双重保障
  • 🎯 自定义Tabbar - 精美的自定义底部导航栏
  • 🔄 实时更新 - 数据修改实时同步显示

📸 应用截图

主页面

  • 任务列表展示
  • 快速筛选(全部/进行中/已完成)
  • 优先级标签(红色-高,黄色-中,绿色-低)

日历页面

  • 按日期展示任务
  • 直观查看每日任务数量
  • 点击日期快速筛选任务

统计页面

  • 任务完成情况统计
  • 优先级分布饼图
  • 完成率展示

个人中心

  • 用户头像和昵称显示
  • 登录/退出功能
  • 任务数据统计
  • 快捷操作入口

🛠️ 技术栈

前端

  • 微信小程序原生框架
  • WXML - 页面结构
  • WXSS - 页面样式
  • JavaScript - 业务逻辑
  • 自定义组件 - 自定义Tabbar

后端

  • 微信云开发
  • 云函数 - 7个云函数处理业务逻辑
  • 云数据库 - 3个数据库集合存储数据
  • 云存储 - 头像存储(可选)

工具库

  • 本地存储 - 持久化用户数据和任务
  • 服务封装 - userService、taskService、storage
  • Promise封装 - 异步操作统一处理

📁 项目结构

Task Master/
├── app.js                  # 小程序主入口
├── app.json                # 全局配置
├── app.wxss                # 全局样式
├── project.config.json     # 项目配置
├── sitemap.json            # 站点地图
├── cloudfunctions/         # 云函数目录
│   ├── login/              # 用户登录
│   ├── uploadAvatar/       # 头像上传
│   ├── updateProfile/      # 更新用户资料
│   ├── validateAvatar/     # 头像验证
│   ├── userOperation/      # 用户操作
│   ├── syncTasks/          # 同步任务到云端
│   ├── pullTasks/          # 从云端拉取任务
│   └── database_rules/     # 数据库安全规则
├── custom-tab-bar/         # 自定义Tabbar
├── pages/                  # 页面目录
│   ├── home/               # 任务列表页
│   ├── calendar/           # 日历视图页
│   ├── stats/              # 统计页
│   ├── profile/            # 个人中心页
│   ├── edit/               # 任务编辑页
│   └── sync/               # 数据同步页
├── utils/                  # 工具类
│   ├── userService.js      # 用户服务
│   ├── taskService.js      # 任务服务
│   └── storage.js          # 本地存储
└── images/                 # 图片资源

🚀 快速开始

环境要求

  • 微信开发者工具(最新版本)
  • 微信小程序账号
  • 已开通云开发服务

安装步骤

  1. 克隆项目
git clone https://github.com/yourusername/task-master.git
cd task-master
  1. 打开微信开发者工具

    • 导入项目目录
    • 填写 AppID
    • 选择云开发模板
  2. 初始化云开发

    • 点击「云开发」按钮
    • 创建或选择云环境
    • 记录环境ID
  3. 创建数据库集合 在云开发控制台创建以下集合:

    • users - 用户信息
    • user-uploads - 用户上传记录
    • tasks - 任务数据
  4. 配置数据库权限 设置集合权限规则:

    {
      "read": "auth.openid == doc._openid",
      "write": "auth.openid == doc._openid"
    }
  5. 上传云函数 右键每个云函数文件夹,选择「上传并部署:云端安装依赖」:

    • login
    • uploadAvatar
    • updateProfile
    • validateAvatar
    • userOperation
    • syncTasks
    • pullTasks
  6. 编译运行

    • 点击「编译」按钮
    • 在模拟器中查看效果

📖 使用说明

任务管理

创建任务

  1. 点击「新建任务」按钮
  2. 填写任务标题、描述
  3. 选择优先级(高/中/低)
  4. 设置截止日期(可选)
  5. 点击「保存」

编辑任务

  1. 点击任务卡片进入编辑页
  2. 修改任务信息
  3. 点击「保存」

完成任务

  1. 点击任务左侧的复选框
  2. 任务标记为完成状态

删除任务

  1. 点击任务卡片进入编辑页
  2. 点击「删除」按钮
  3. 确认删除

用户登录

登录

  1. 进入「我的」页面
  2. 点击「微信登录」
  3. 授权获取用户信息
  4. 登录成功后自动恢复云端任务

修改头像

  1. 登录后点击头像
  2. 选择相册或拍照
  3. 系统自动上传和更新

修改昵称

  1. 点击「修改昵称」按钮
  2. 输入新昵称
  3. 点击确认

数据同步

退出登录

  1. 点击「退出登录」
  2. 确认后本地任务自动同步到云端
  3. 本地数据清除,云端保留

重新登录

  1. 点击「微信登录」
  2. 登录成功后自动恢复云端任务
  3. 显示恢复的任务数量

🔒 安全特性

数据安全

  • 用户数据基于OpenID完全隔离
  • 数据库安全规则防止越权访问
  • 会话令牌机制验证用户身份

文件安全

  • 头像上传前验证文件类型和大小
  • Base64编码存储,无需云存储
  • 限制每日上传次数防止滥用

输入验证

  • 所有输入参数严格验证
  • 防止SQL注入和XSS攻击
  • 字符串长度限制防止溢出

📊 云函数说明

1. login - 用户登录

注册/登录用户,返回用户信息和会话令牌

2. uploadAvatar - 上传头像

上传用户头像,支持Base64格式

3. updateProfile - 更新资料

更新用户昵称和头像信息

4. validateAvatar - 验证头像

验证上传的头像文件是否符合要求

5. userOperation - 用户操作

提供多种用户操作(获取信息、删除头像、清理历史、验证会话)

6. syncTasks - 同步任务

将本地任务同步到云端数据库

7. pullTasks - 拉取任务

从云端数据库拉取用户任务

详细API文档请参考:cloudfunctions/API_DOCUMENTATION.md

🌐 部署指南

开发环境部署

  1. 配置本地云开发环境
  2. 上传所有云函数
  3. 创建数据库集合并设置权限
  4. 测试所有功能

生产环境部署

  1. 在微信开发者工具中点击「上传」
  2. 登录微信公众平台
  3. 进入「版本管理」
  4. 提交审核
  5. 审核通过后发布

详细部署文档请参考:cloudfunctions/DEPLOYMENT_GUIDE.md

🧪 测试

功能测试

  • 任务创建、编辑、删除
  • 任务完成状态切换
  • 优先级和截止日期设置
  • 日历视图展示
  • 统计数据计算
  • 用户登录/退出
  • 头像上传和修改
  • 云端任务同步

兼容性测试

  • iOS 12.0+
  • Android 6.0+
  • 微信 7.0+

📝 开发日志

v1.0.0 (2026-01-08)

  • ✅ 完成基础任务管理功能
  • ✅ 实现用户登录和头像修改
  • ✅ 集成云端任务同步
  • ✅ 完善数据验证和错误处理
  • ✅ 优化用户界面和交互体验

🤝 贡献指南

欢迎贡献代码、报告问题或提出建议!

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

📮 联系方式

🙏 致谢

感谢微信小程序团队提供的优秀开发框架和云开发服务!


TaskMaster - 让任务管理更简单、更高效!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published