इस प्रोजेक्ट के बारे में

## 项目简介 专升本学习助手是一款面向专升本考生的备考打卡管理应用,提供Web版(PWA)与Windows/macOS桌面端。由Cloudflare Workers + D1数据库 + R2存储提供云端账号与数据同步能力,支持注册登录后在Web与桌面端保持一致的学习记录。 核心定位:把「记录 → 专注 → 激励 → 复盘」串成一条完整的学习闭环。 ### 为什么选择这个项目 - **一条龙学习闭环**:每日打卡、番茄钟专注、刷题与错题整理、晚间总结反思,备考全流程在一个工具里搞定,不用在多个App间来回切换 - **云端多端同步**:注册账号后数据全量同步到云端(Cloudflare D1),Web与桌面端随时接着学;PWA会缓存数据,断网时也能查看最近一次的内容 - **游戏化让你坚持**:青铜→白银→黄金→铂金→钻石→王者的段位爬升、徽章墙、积分流水与连续学习天数,把枯燥的长期备考变成闯关体验 - **高数与英语专项强化**:考纲章节树、Markdown+LaTeX公式笔记、搭配「墨墨背单词」App逐条打卡、完形/阅读/听力/作文模板多维记录 - **番茄钟带任务描述**:正计时/倒计时两种模式,开始前可填写本次专注任务;独立的「最近完成」板块记录今日每个番茄的时刻、时长与任务 - **社区广场与学习搭子**:发帖讨论、圈子、私信与通知;找搭子一起「开黑自习」、组队挑战、协作备考计划与复盘邀约 - **图表一目了然**:ECharts驱动的学习时长分布、各科目正确率趋势、专注分析 - **桌面端+PWA**:Windows/macOS原生客户端,系统托盘、原生通知、自动更新;Web端可安装为PWA并离线缓存 ### 功能特性 | 类别 | 功能 | | :--- | :--- | | 学习记录 | 科目章节树与掌握度、学习时长记录、刷题会话、错题本、模考记录、每日待办 | | 笔记与资料 | Markdown+KaTeX公式笔记、资料库、PDF上传与分片阅读 | | 英语专项 | 单词打卡(对接墨墨背单词)、完形、阅读、听力、作文模板与每日目标 | | 番茄专注 | 正计时/倒计时、任务描述、最近完成明细、中断原因记录、专注壁纸 | | 习惯与复盘 | 习惯打卡与统计、每日总结(情绪+三段式反思+明日计划)、分享卡片 | | 成就激励 | 积分与流水、六段位等级、徽章墙、连续学习天数 | | 社区 | 帖子与评论、点赞、话题圈子、知识点讨论、私信、关注与通知中心 | | 协作 | 组队挑战与进度、学习搭子、开黑自习室、协作备考计划、周报推送 | | 账号与安全 | 注册登录(bcrypt密码+JWT HttpOnly Cookie)、Cloudflare Turnstile人机验证、限流、敏感词本地词库+Workers AI复审 | | 个性化 | 考试日期倒计时、主题与深色模式、提醒与勿扰、头像裁剪、访客浏览模式 | ### 技术架构 | 层次 | 技术选型 | | :--- | :--- | | 前端 | Vue 3(`<script setup>`)、TypeScript、Vite 5、Vue Router 4、Pinia 2、Tailwind CSS 3 | | 可视化/富内容 | ECharts 5、KaTeX 0.16、markdown-it、pdfjs-dist | | 桌面端 | Electron 43、electron-builder、electron-updater | | PWA | vite-plugin-pwa(可安装+Service Worker离线缓存) | | 后端 | Cloudflare Workers(TypeScript)、bcryptjs、jose签发JWT | | 数据 | Cloudflare D1(50+张业务表)、R2(社区图片存储) | | 工程 | ESLint、tsc --noEmit、GitHub Actions双流水线 | ### 快速上手 **环境要求**:Node.js 18 或更高版本 ```bash git clone https://github.com/Han050912/zsb-study-tracker.git cd zsb-study-tracker npm install npm run dev ``` **启动后端Worker(本地开发必需)**: ```bash cd worker npm install npm run init:local npx wrangler dev ``` **桌面客户端**: ```bash npm run electron:dev ``` **打包**: ```bash npm run dist:win # Windows npm run dist:mac # Mac ``` ### 部署 项目有两条GitHub Actions流水线,监听master分支,分别部署前端到GitHub Pages和后端到Cloudflare Workers。需要配置CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID等Secrets。 ### 贡献指南 欢迎任何形式的贡献!流程:Fork → 新建分支(feat/xxx或fix/xxx) → 编码验证 → 提交PR到development分支。使用TypeScript、Tailwind CSS,图标使用SVG组件(Lucide),遵循Conventional Commits规范。 ### 许可证 本项目基于MIT许可证开源。