65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
# 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` 变量。
|