CGNICO 任务报告系统
这是一个用于跟踪和报告工具使用情况的系统,专为群晖DSM的Webstation环境优化。
系统功能
- 记录工具使用数据(用户名、工具名称、任务名称、节省时间、花费时间)
- 提供数据可视化界面,展示工具使用统计和趋势
- 支持数据筛选、排序和导出
- 提供API接口,方便其他应用程序提交数据
- 支持定期生成报告
技术栈
- PHP 7.4+
- MariaDB 10
- HTML/CSS/JavaScript
- Chart.js (用于数据可视化)
文件结构
index.php
- 主页和API处理query_task_data.php
- 数据查询和可视化界面api.php
- 独立的API接口client_example.php
- API使用示例insert_test_data.php
- 插入测试数据的工具check_data.php
- 检查数据库记录的工具generate_report.php
- 定期报告生成工具static/
- 静态资源文件夹
部署指南
系统要求
- 群晖DSM系统
- Webstation已安装(使用Apache HTTP Server 2.4)
- PHP 7.4+
- MariaDB 10
部署步骤
-
将所有文件复制到群晖DSM的Web目录:
/volume1/web/task-reporter
-
设置正确的文件权限:
chmod -R 755 /volume1/web/task-reporter chown -R http:http /volume1/web/task-reporter
-
在MariaDB中创建数据库和用户:
CREATE DATABASE task_reporter; CREATE USER 'task_reporter'@'%' IDENTIFIED BY 'Pass12349ers!'; GRANT ALL PRIVILEGES ON task_reporter.* TO 'task_reporter'@'%'; FLUSH PRIVILEGES;
-
在Webstation中配置网站:
- 虚拟主机名称:toolstrack.cgnico.com
- 端口:9000
- 文档根目录:/volume1/web/task-reporter
- 启用PHP
- Web服务器:Apache HTTP Server 2.4
访问系统
API使用
系统提供了简单的API接口,用于提交任务数据:
POST [https://toolstrack.cgnico.com/api.php](https://toolstrack.cgnico.com/api.php)
请求体示例(JSON格式):
{
"username": "用户名",
"tool_name": "工具名称",
"task_name": "任务名称",
"time_saved": "1.5",
"time_cost": "0.2",
"timestamp": "2025-04-13 12:30:00" // 可选
}
成功响应示例:
{
"success": true,
"message": "2025-04-13 12:30:00 工具名称-任务名称 reported successfully!",
"id": 123
}
详细的API使用示例请参考 client_example.php
文件。
定期报告功能
系统支持定期生成工具使用报告:
功能特点
- 自动生成全面的工具使用报告
- 支持多种时间范围(周报、月报、季报、年报)
- 包含总体统计、工具排名、用户排名和每日趋势
- 自动保存报告历史记录
- 支持在线查看和下载报告
使用方法
-
手动生成报告: 访问 https://toolstrack.cgnico.com/generate_report.php 页面,选择报告时间范围,点击"生成报告"按钮。
-
设置定期执行: 在群晖DSM的控制面板中,找到"任务计划",添加新的计划任务:
# 每周日凌晨生成周报 0 0 * * 7 php /volume1/web/task-reporter/generate_report.php # 或每月1日生成月报 0 0 1 * * php /volume1/web/task-reporter/generate_report.php
-
查看历史报告: 在生成报告页面下方可以看到历史报告列表,点击"查看"或"下载"按钮访问历史报告。
所有生成的报告都会保存在 reports
目录下,以日期命名,方便随时查看历史报告。也可以在主页上通过"查看报告"按钮直接访问最新报告。
联系方式
如有问题,请联系:jeffreytsai1004@gmail.com
Description
Languages
PHP
59.6%
HTML
34.4%
Python
6%