# CRM Customer Management System 基于 Node.js + SQLite 的轻量级客户管理系统。 ## 📋 功能特性 - **多角色管理**:超级管理员、组长 (Leader)、员工。 - **客户管理**:录入、查询、编辑、删除客户信息,支持服务类型和金额统计。 - **过期提醒**:自动标记过期和即将过期的客户。 - **数据统计**: - 管理员:查看全公司数据、各小组(组长)业绩对比。 - 组长:查看本组员工数据及业绩。 - 员工:仅查看个人业绩。 - **权限控制**: - 组长只能管理自己创建的员工。 - 严格的数据隔离。 - 账号封禁/启用功能。 ## 🛠️ 技术栈 - **后端**:Node.js (Express) - **数据库**:SQLite3 - **加密**:bcryptjs (密码), JWT (Token认证) - **前端**:HTML5, CSS3, Vanilla JS (无构建步骤,开箱即用) ## 🚀 快速开始 ### 1. 环境准备 确保已安装 Node.js (v14+)。 ### 2. 安装依赖 ```bash npm install ``` ### 3. 启动应用 此命令会自动初始化数据库(如果不存在)并启动服务器。 ```bash npm start ``` 服务器运行在: `http://localhost:3000` ### 4. 默认账号 系统初始化时会自动创建以下默认账号(如果未修改 server.js): | 角色 | 账号 | 密码 | 说明 | |------|------|------|------| | **超级管理员** | `admin` | `admin123456` | 拥有所有权限 | | **员工示例** | `staff1` | `staff123456` | 默认普通员工 | ## 📂 项目结构 ``` ├── public/ # 前端静态资源 (HTML/CSS/JS) │ ├── admin.html # 管理员后台 │ ├── leader.html # 组长后台 │ ├── staff.html # 员工后台 │ ├── index.html # 登录页 │ └── css/ # 样式文件 ├── server.js # 后端入口 & API 逻辑 & 数据库初始化 ├── database.sqlite # SQLite 数据库文件 (自动生成) └── package.json # 项目配置 ``` ## 🔧 常见维护 - **重置数据库**:删除 `database.sqlite` 文件重启即可(数据会丢失)。 - **修改端口**:编辑 `server.js` 中的 `PORT` 变量。