# DailyQuote **Repository Path**: coldestbow30654/DailyQuote ## Basic Information - **Project Name**: DailyQuote - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-12 - **Last Updated**: 2026-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 每日一句 - DailyQuote 项目总览
每日一句 Logo 一款跨平台名言警句分享与推送系统 [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.html) ![Platform Support](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-blue) ![PHP Version](https://img.shields.io/badge/PHP-8.0+-blue) ![Electron Version](https://img.shields.io/badge/Electron-28.0.0-green)
## 项目简介 「每日一句」是一款跨平台名言警句分享与推送系统,旨在为用户提供每日的智慧启迪和精神养料。系统采用前后端分离架构,后端使用PHP构建RESTful API服务,前端采用Electron框架开发跨平台桌面客户端,支持Windows、macOS、Linux三大主流操作系统。 本项目的核心价值在于打造一个轻量级、优雅的名言分享平台,用户不仅可以浏览每日精选的名言警句,还可以注册账户后提交自己喜欢的内容,与社区分享智慧。系统提供完善的用户认证机制、内容审核流程和管理员后台,确保平台内容的质量和安全性。 ## 技术架构 本项目采用现代化的分层架构设计,将业务逻辑、数据存储和用户界面清晰分离,便于维护和扩展。 后端服务采用PHP 8.0+作为开发语言,利用其成熟的生态系统处理HTTP请求和业务逻辑。数据存储选用MySQL关系型数据库,使用PDO扩展进行数据库操作,确保数据访问的安全性和兼容性。API接口遵循RESTful设计规范,返回标准JSON格式数据,便于各类客户端集成。安全方面,系统集成了Cloudflare Turnstile人机验证,有效防止恶意攻击和自动化滥用。 前端桌面应用基于Electron 28框架开发,采用主进程与渲染进程分离的架构模式。主进程负责窗口管理、系统级功能集成和自动更新等底层操作;渲染进程运行Chromium浏览器引擎,呈现现代化的Web界面。Electron-Builder负责应用打包,支持一键生成各平台安装包,包括Windows的exe和portable格式、macOS的dmg和zip格式、Linux的AppImage、deb和snap格式。 ## 项目结构 ``` DailyQuote/ ├── DailyQuoteWeb/ # 后端API服务(PHP) │ ├── admin.php # 管理员后台界面 │ ├── api.php # 核心API接口 │ ├── auth.php # 用户认证模块 │ ├── config.php # 配置文件 │ ├── create_db.php # 数据库初始化脚本 │ ├── db.php # 数据库操作类 │ ├── db_init.php # 数据库表结构初始化 │ ├── index.php # 用户前端界面 │ ├── login.php # 用户登录页面 │ ├── register.php # 用户注册页面 │ ├── security.php # 安全防护模块 │ ├── security_config.php # 安全配置 │ └── user_submit.php # 用户内容提交 ├── DailyQuoteApp/ # 桌面客户端(Electron) │ ├── api.js # API调用封装 │ ├── auth-store.js # 认证状态存储 │ ├── auto-updater.js # 自动更新模块 │ ├── autologin.js # 自动登录模块 │ ├── crypto.js # 加密工具 │ ├── index.html # 主界面HTML │ ├── logger.js # 日志模块 │ ├── main.js # 主进程入口 │ ├── package.json # 项目配置 │ ├── preload.js # 预加载脚本 │ ├── quote-scheduler.js # 定时任务模块 │ ├── renderer.js # 渲染进程脚本 │ ├── store.js # 应用状态存储 │ ├── styles.css # 样式文件 │ ├── USER_MANUAL.md # 用户手册 │ ├── assets/ # 资源文件目录 │ │ └── icons/ # 应用图标 │ ├── user/ # 用户数据目录 │ │ ├── auth.json # 认证信息 │ │ ├── autologin.json # 自动登录配置 │ │ ├── encryption.key # 加密密钥 │ │ └── user-settings.json # 用户设置 │ └── dist/ # 构建输出目录 ├── .gitignore # Git忽略配置 └── README.md # 本文档 ``` ## 核心功能模块 ### 后端服务功能 后端API服务提供完整的名言管理和用户认证功能。名言管理模块支持按日期获取每日精选、随机获取名言、按ID查询特定名言以及获取全部名言列表。每条名言记录包含名言内容、作者、分类、日期和可选的背景音乐链接等字段。系统默认按分类存储名言,主要分类包括励志、智慧、人生、情感、职场等多个领域。 用户认证模块实现了安全的账户注册和登录机制。注册时系统验证用户名长度和密码强度,并通过Cloudflare Turnstile进行人机验证。登录成功后服务端生成JWT令牌,令牌包含用户ID、用户名、角色和过期时间等信息,有效期默认为7天。后续请求通过Authorization请求头携带令牌进行身份验证。 用户提交模块允许已登录用户向平台贡献名言内容。系统对每日提交数量进行限制,普通用户每天最多提交3条新内容,超过限制需等待次日重置。提交的名言默认处于待审核状态,审核通过后才会出现在每日推荐列表中。管理员可以查看所有待审核内容,进行通过或拒绝操作。 管理员后台提供完整的系统管理功能,包括用户管理、内容审核、统计数据查看等。管理员界面采用响应式设计,支持在各种设备上访问。所有管理操作都会记录审计日志,便于追溯和监控。 ### 桌面客户端功能 桌面客户端专注于提供优雅的名言展示和便捷的用户体验。主界面采用浅绿色主题设计,给人清新舒适的视觉感受。应用启动时自动获取当日精选名言,并在设定的提醒时间发送系统通知,帮助用户开启美好的一天。 定时提醒功能允许用户自定义每日的名言获取时间。应用内部维护一个调度器,在指定时间触发API请求获取新内容,并通过操作系统的通知API显示提示信息。用户可以在设置中调整提醒时间、开启或关闭通知功能。 自动登录功能提升了用户使用便利性。用户首次登录时可选择保存凭据,应用将凭据加密存储在本地安全位置,下次启动时自动完成登录过程。如果自动登录失败,应用会清除已保存的凭据并提示用户手动登录。 自动更新功能确保用户始终使用最新版本的应用。应用启动时检查远程更新服务器,如有新版本则提示用户下载更新。支持全量更新和增量更新两种模式,更新过程后台下载,不影响用户正常使用。 ## 快速开始 ### 环境要求 运行本项目需要以下软件环境。后端服务要求PHP 8.0或更高版本,启用PDO和JSON扩展,并连接MySQL 5.7或更高版本的数据库服务器。桌面客户端要求Node.js 18.0或更高版本,以及npm 9.0或更高版本进行开发和构建。 ### 后端服务部署 将DailyQuoteWeb目录部署到支持PHP的Web服务器,如Apache或Nginx。创建MySQL数据库,执行db_init.php脚本初始化数据表结构。根据实际环境修改config.php中的数据库连接凭据和管理员账户信息。确保Web服务器配置支持URL重写,以便API路由正常工作。 ### 桌面客户端运行 进入DailyQuoteApp目录,执行npm install安装所有Node.js依赖。安装完成后执行npm start启动开发模式的应用。开发过程中修改代码后应用会自动重新加载。如需构建生产版本,执行npm run build命令,生成的安装包将保存在dist目录下。 ## 文档导航 本项目包含以下专项文档,各文档位于对应项目的目录内: Gitee链接(推荐) - **[DailyQuoteWeb API文档](https://gitee.com/coldestbow30654/DailyQuoteWeb/blob/main/README.md)**:详细说明所有API接口的请求方式、参数规范、响应格式和错误代码,包含完整的调用示例和集成指南。 - **[DailyQuoteApp开发文档](https://gitee.com/coldestbow30654/DailyQuoteApp/blob/main/README.md)**:介绍桌面客户端的开发环境搭建、项目架构说明、核心模块解析、构建流程和测试指南。 --- GitHub链接 - **[DailyQuoteWeb API文档](https://github.com/COLDESTBOW30654/DailyQuoteWeb/blob/main/README.md)**:详细说明所有API接口的请求方式、参数规范、响应格式和错误代码,包含完整的调用示例和集成指南。 - **[DailyQuoteApp开发文档](https://github.com/COLDESTBOW30654/DailyQuoteApp/blob/main/README.md)**:介绍桌面客户端的开发环境搭建、项目架构说明、核心模块解析、构建流程和测试指南。 ## 开发规范 本项目遵循以下开发规范以确保代码质量和一致性。PHP代码遵循PSR-12编码规范,使用PDO进行数据库操作,采用预处理语句防止SQL注入。JavaScript代码遵循ESLint默认规范,主进程和渲染进程代码明确分离,通过IPC机制安全通信。所有API接口返回统一的JSON响应格式,包含success状态码、数据负载和错误信息。 ## 许可证 本项目采用AGPL v3许可证开源,允许自由使用、修改和分发代码库。详情请参阅项目根目录的LICENSE文件。 ---
用智慧点亮每一天,让名言激励每一次前行