# tasktime **Repository Path**: php_project/tasktime ## Basic Information - **Project Name**: tasktime - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TaskTime 本地 Web / 桌面端任务与时间块管理工具:项目、日历、甘特图、条形图、提醒、日报/周报/月报与导出,数据默认存 **SQLite**(可选 **MySQL**)。 ## 功能概览 - **项目**:多项目、颜色区分 - **时间块**:关联项目、起止时间、完成状态;日历拖拽框选新建 - **视图**:日历(24 小时制)、甘特图、项目工时条形图 - **任务筛选**:全部 / 今天 / 本周 / 本月 / 自定义日期区间(按任务**开始时间**) - **提醒**:预约时间、到点弹窗与浏览器通知(需页面与后端在线)、取消 / 删除 - **报告与导出**:日报、周报、月报;任务导出 TXT / CSV / JSON(支持按周、按日期区间);工作汇总导出 - **任务导入**:从 JSON(`tasks` 数组或本应用导出文件)或 CSV(与导出表头一致)批量导入;缺失的项目 ID 会自动新建项目 - **桌面端**:Electron 打包 Windows 安装包与便携版(见下文) ## 技术栈 - 前端:React 18、Vite、TypeScript、Tailwind CSS、Zustand、react-big-calendar、date-fns - 后端:Node.js、Express、sql.js(SQLite,纯 JS)、mysql2(可选) - 桌面:Electron、electron-builder ## 环境要求 - **Node.js** 18+(推荐 20+) - 使用 **MySQL** 时需先创建数据库,并配置环境变量 ## 快速开始 ```bash # 安装依赖 npm install # 复制环境变量示例(可选) copy env.example .env # 同时启动 API + 前端开发服务 npm run dev ``` 浏览器访问终端中 Vite 提示的地址(一般为 `http://127.0.0.1:5173`)。前端通过代理请求 `/api`,后端默认 `http://127.0.0.1:3001`。 ### 仅启动后端或前端 ```bash npm run dev:server # API(tsx watch) npm run dev:client # Vite ``` ### 生产模式(本地) 先构建前端与编译服务端,再启动: ```bash npm run build npm run build:server npm start ``` `NODE_ENV=production` 时,Express 会托管 `dist/` 静态资源(见 `server/index.ts`)。 ## 常用脚本 | 命令 | 说明 | |------|------| | `npm run dev` | 并行启动 dev 服务端 + Vite | | `npm run build` | 前端 `tsc` + Vite 构建 → `dist/` | | `npm run build:server` | 编译服务端 → `dist-server/` | | `npm start` | 生产启动 API(需已 build) | | `npm run electron:dev` | API + Vite + Electron 窗口(调试用) | | `npm run electron:pack` | 构建前端与服务端后执行 `electron-builder --win`,产物在 `release/` | ## 环境变量 可参考仓库内 `env.example`,复制为项目根目录 `.env`: | 变量 | 说明 | |------|------| | `DB_TYPE` | `sqlite`(默认)或 `mysql` | | `SQLITE_PATH` | SQLite 文件路径,默认 `./data/tasktime.db` | | `MYSQL_*` | `DB_TYPE=mysql` 时配置主机、端口、用户、密码、库名 | | `PORT` | API 端口,默认 `3001` | | `NODE_ENV` | 生产设为 `production` 以启用静态站点 | ## Electron 与网络 若 `npm install` 时 **Electron 二进制下载失败**(如 `ECONNRESET`),项目已配置 `.npmrc` 使用国内镜像;仍失败时可重试或配置代理后再执行 `npm install`。 打包前需能成功安装 `electron` 与 `electron-builder`。 ## 目录结构(简要) ``` taskTime/ ├── electron/ # Electron 主进程 ├── server/ # Express API、数据库初始化 ├── src/ # React 前端 ├── dist/ # 前端构建输出(构建后) ├── dist-server/ # 服务端编译输出(构建后) ├── data/ # 默认 SQLite 数据目录(运行时) ├── release/ # electron-builder 输出(打包后) ├── env.example └── package.json ``` ## 许可证 私有项目或未指定许可证时,默认保留所有权利;如需开源请自行补充 `LICENSE`。