# dailytools **Repository Path**: php_project/dailytools ## Basic Information - **Project Name**: dailytools - **Description**: 日常工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-08 - **Last Updated**: 2025-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 综合工具集 - 动态点赞、评论、收藏系统 基于 Node.js + MySQL 的在线工具平台,支持动态点赞、评论、收藏功能。 ## 项目结构 ``` dailytools/ ├── backend/ # 后端服务 │ ├── server.js # 主服务器文件 │ └── package.json # 依赖配置 ├── frontend/ # 前端页面 │ ├── index.html # 首页 │ └── api-client.js # API客户端 ├── admin/ # 管理后台 │ └── admin.html # 管理界面 ├── start-server.bat # Windows启动脚本 ├── start-server.sh # Linux/macOS启动脚本 └── README.md # 项目说明 ``` ## 功能特性 ### 用户功能 - ✅ 动态点赞/取消点赞 - ✅ 收藏/取消收藏 - ✅ 发表留言评论 - ✅ 查看留言列表 - ✅ 分享页面 - ✅ 查看收藏列表 ### 管理后台 - ✅ 管理员登录认证 - ✅ 查看统计数据(总点赞、收藏、留言、页面数) - ✅ 页面统计详情 - ✅ 留言管理(查看、删除) - ✅ 数据可视化展示 ### 技术特性 - ✅ MySQL数据库存储 - ✅ JWT身份认证 - ✅ 本地存储备用方案 - ✅ 响应式设计 - ✅ 安全防护(CORS、限流、CSP) ## 数据库配置 MySQL连接信息: - **主机**: 127.0.0.1 - **端口**: 3306 - **用户名**: admin - **密码**: 123456 - **数据库**: dailytools ### 数据表结构 系统会自动创建以下数据表: 1. **page_likes** - 页面点赞记录 2. **page_favorites** - 页面收藏记录 3. **comments** - 留言评论 4. **page_stats** - 页面统计数据 ## 快速开始 ### 1. 环境要求 - Node.js 16+ - MySQL 5.7+ - npm 或 yarn ### 2. 安装依赖 ```bash cd backend npm install ``` ### 3. 启动服务 **Windows:** ```bash start-server.bat ``` **Linux/macOS:** ```bash bash start-server.sh ``` **手动启动:** ```bash cd backend npm start ``` ### 4. 访问应用 - **前端首页**: http://localhost:3000/index.html - **管理后台**: http://localhost:3000/admin.html - **API接口**: http://localhost:3000/api/ ## 管理后台 ### 默认登录信息 - **用户名**: admin - **密码**: admin123 ### 环境变量配置 可通过环境变量自定义配置: ```bash # 管理员账号 ADMIN_USERNAME=your_username ADMIN_PASSWORD=your_password # JWT密钥 JWT_SECRET=your_secret_key # 数据库配置 DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=admin DB_PASSWORD=123456 DB_NAME=dailytools ``` ## API接口 ### 用户接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/stats/:pageUrl` | 获取页面统计 | | POST | `/api/like` | 切换点赞状态 | | POST | `/api/favorite` | 切换收藏状态 | | GET | `/api/user-status/:pageUrl` | 获取用户状态 | | GET | `/api/favorites` | 获取收藏列表 | | POST | `/api/comment` | 发表留言 | | GET | `/api/comments` | 获取留言列表 | | POST | `/api/view` | 记录页面访问 | ### 管理接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | `/api/admin/login` | 管理员登录 | | GET | `/api/admin/stats` | 获取统计数据 | | GET | `/api/admin/page-stats` | 获取页面统计 | | GET | `/api/admin/comments` | 获取留言列表 | | DELETE | `/api/admin/comments/:id` | 删除留言 | ## 开发说明 ### 前端交互 - 使用 `PageInteractionManager` 类管理页面交互 - 支持API失败时的本地存储备用方案 - 自动初始化页面统计和用户状态 ### 后端架构 - Express.js 框架 - MySQL2 数据库连接池 - JWT 身份认证 - 中间件安全防护 ### 数据存储 - 基于IP地址的用户识别 - 自动统计页面数据 - 支持数据持久化 ## 故障排除 ### 常见问题 1. **数据库连接失败** - 检查MySQL服务是否启动 - 确认数据库连接信息正确 - 检查防火墙设置 2. **依赖安装失败** - 清除npm缓存:`npm cache clean --force` - 删除node_modules重新安装 - 检查网络连接 3. **端口占用** - 检查3000端口是否被占用 - 修改环境变量PORT使用其他端口 ### 日志查看 服务器启动后会显示详细的日志信息,包括: - 数据库连接状态 - API请求日志 - 错误信息 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request来改进项目。