# yingdian-node-server **Repository Path**: zwswood/yingdian-node-server ## Basic Information - **Project Name**: yingdian-node-server - **Description**: 盈点记账快应用 Node.js 后端完整实现方案(Express + MySQL) - **Primary Language**: NodeJS - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-03 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 盈点记账快应用 Node.js 后端 盈点记账快应用的服务端,基于 **Express + Sequelize + MySQL** 构建,提供用户管理、资产记账、分类统计、日志采集等 RESTful API 接口。 --- ## 技术栈 | 类别 | 技术 | |------|------| | 运行时 | Node.js | | Web 框架 | Express 4.x | | ORM | Sequelize 6.x | | 数据库 | MySQL(mysql2 驱动) | | 定时任务 | node-schedule | | 邮件通知 | nodemailer | | 时间处理 | dayjs | | ID 生成 | uuid | --- ## 项目结构 ``` ├── config/ # 配置文件(数据库、邮件) ├── controller/ # 控制器层(请求处理) ├── middleware/ # 中间件(鉴权、全局异常) ├── model/ # Sequelize 数据模型 ├── routes/ # 路由定义 ├── service/ # 业务逻辑层 ├── task/ # 定时任务 ├── utils/ # 工具函数(常量、ID、邮件、统一响应) ├── app.js # 应用入口 └── package.json ``` --- ## 快速开始 ### 1. 安装依赖 ```bash pnpm install # 或 npm install ``` ### 2. 配置数据库 编辑 `config/db.js`,修改数据库连接信息: ```js const sequelize = new Sequelize('yingdian_account', '用户名', '密码', { host: '127.0.0.1', port: 3306, dialect: 'mysql', timezone: '+08:00' }) ``` 确保 MySQL 中已创建 `yingdian_account` 数据库,并执行 `mysql/mysql建表.sql` 初始化表结构。 ### 3. 配置邮件(可选) 编辑 `config/mail.js`,填入 QQ 邮箱授权码: ```js module.exports = { host: 'smtp.qq.com', port: 465, secure: true, user: 'your_email@qq.com', pass: '你的授权码', targetEmail: '接收邮箱@example.com' } ``` ### 4. 启动服务 ```bash # 开发模式(热重载) pnpm dev # 生产模式 pnpm start ``` 服务默认运行在 `http://localhost:8888`。 --- ## API 接口 所有需要鉴权的接口需在请求头中携带 `Authorization` 字段。 ### 用户模块 `/api/user` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | GET | `/generateUid` | 生成用户 UID | 否 | | GET | `/setting/get` | 获取用户设置 | 是 | | POST | `/setting/update` | 更新用户设置 | 是 | | POST | `/feedback` | 提交用户反馈 | 是 | ### 资产模块 `/api/asset` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | GET | `/list` | 获取资产列表 | 是 | | POST | `/add` | 新增资产 | 是 | | POST | `/update` | 更新资产 | 是 | | POST | `/delete` | 删除资产 | 是 | ### 账单模块 `/api/bill` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | GET | `/monthStat` | 获取月度统计 | 是 | | GET | `/list` | 获取账单列表 | 是 | | POST | `/add` | 新增账单 | 是 | | POST | `/update` | 更新账单 | 是 | | POST | `/delete` | 删除账单 | 是 | ### 统计分析模块 `/api/analysis` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | GET | `/dayTrend` | 获取每日趋势 | 是 | | GET | `/categoryStat` | 获取分类统计 | 是 | ### 分类模块 `/api/category` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | GET | `/list` | 获取分类列表 | 是 | ### 日志模块 `/api/log` | 方法 | 路径 | 说明 | 鉴权 | |------|------|------|------| | POST | `/pageStay` | 上报页面停留日志 | 是 | --- ## 数据模型 | 模型 | 说明 | |------|------| | `UserInfo` | 用户信息 | | `UserAsset` | 用户资产 | | `UserBill` | 用户账单 | | `Category` | 收支分类 | | `PageStayLog` | 页面停留日志 | | `UserFeedback` | 用户反馈 | | `SysConfig` | 系统配置 | --- ## 定时任务 - **logRepairTask**:日志修复定时任务,用于检查和修复缺失的页面停留日志数据。 --- ## 许可证 ISC