# 快速启动指南 ⚡ > 5分钟快速上手客户报备管理系统 ## 🎯 快速启动(3步) ### 1️⃣ 安装依赖 ```bash npm install ``` ### 2️⃣ 配置数据库 ```bash # 复制配置文件 cp .env.example .env # 编辑 .env 文件,修改数据库密码 # DB_PASSWORD=你的MySQL密码 ``` ### 3️⃣ 初始化并启动 ```bash # 初始化数据库 npm run init-db # 启动服务(开发模式) npm run dev ``` **访问系统**:http://localhost:3000 **默认账号**:`admin` / `admin123` ## 🎮 可选:创建测试数据 ```bash npm run test-data ``` 这将创建: - ✅ 3个测试用户 - ✅ 25个测试客户 - ✅ 多条跟进记录 测试账号: - `sales001` / `123456` (销售-张三) - `sales002` / `123456` (销售-李四) - `manager001` / `123456` (经理-王经理) ## 📝 核心功能体验 ### 1. 报备新客户 ```bash # 获取 Token(替换为你的实际密码) TOKEN=$(curl -s -X POST http://localhost:3000/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}' \ | grep -o '"token":"[^"]*"' \ | cut -d'"' -f4) # 创建客户报备 curl -X POST http://localhost:3000/api/customers \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "customer_name": "测试科技有限公司", "industry": "互联网/软件", "region": "北京", "demand_description": "需要CRM系统", "source": "展会" }' ``` ### 2. 查看我的客户 ```bash curl -X GET "http://localhost:3000/api/customers?status=following" \ -H "Authorization: Bearer $TOKEN" ``` ### 3. 查看个人仪表盘 ```bash curl -X GET http://localhost:3000/api/stats/dashboard \ -H "Authorization: Bearer $TOKEN" ``` ### 4. 查看公海池 ```bash curl -X GET http://localhost:3000/api/pool/customers \ -H "Authorization: Bearer $TOKEN" ``` ## 🌐 使用浏览器测试 打开浏览器访问:http://localhost:3000 系统提供了一个简单的 Web 界面,包含: - ✅ 用户登录 - ✅ 个人仪表盘 - ✅ API 文档展示 ## 📚 下一步 1. **阅读完整文档** - 📖 [README.md](README.md) - 完整功能说明 - 🔧 [INSTALL.md](INSTALL.md) - 详细安装指南 - 📡 [API_EXAMPLES.md](API_EXAMPLES.md) - API 调用示例 2. **了解业务流程** ``` 报备客户 → 查重验证 → 进入保护期(30天) → 跟进客户 → 更新状态 → 到期释放 → 公海池 ``` 3. **熟悉角色权限** - 👤 销售:报备、跟进自己的客户 - 👔 经理:管理团队、审批申请 - 👑 总监:查看部门数据 - ⚙️ 管理员:系统管理 ## 🛠️ 常用命令 ```bash # 开发模式(热重载) npm run dev # 生产模式 npm start # 初始化数据库 npm run init-db # 创建测试数据 npm run test-data # 清空数据库(保留管理员) npm run clean-db ``` ## ⚙️ 核心配置 在 `.env` 文件中配置: ```env # 服务器端口 PORT=3000 # 数据库连接 DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=your_password DB_NAME=customer_crm # 业务规则 DEFAULT_PROTECTION_DAYS=30 # 保护期天数 MAX_DAILY_LEADS=5 # 每日最大领取数 SIMILARITY_THRESHOLD=0.8 # 查重相似度阈值 ``` ## 🔥 常见问题 ### Q1: 数据库连接失败? **A:** 检查 `.env` 文件中的数据库密码是否正确,确保 MySQL 已启动。 ### Q2: 端口被占用? **A:** 修改 `.env` 中的 `PORT=3000` 为其他端口。 ### Q3: npm install 很慢? **A:** 使用国内镜像: ```bash npm config set registry https://registry.npmmirror.com npm install ``` ### Q4: 忘记管理员密码? **A:** 重新运行初始化脚本: ```bash npm run clean-db npm run init-db ``` 密码将重置为 `admin123` ## 📊 系统监控 查看系统日志: ```bash # 实时查看日志 npm run dev # 日志中会显示: # - 请求日志 # - 数据库操作 # - 定时任务执行 # - 错误信息 ``` ## 🎯 业务场景演示 ### 场景1:销售报备客户 1. 登录系统(sales001) 2. 查重检查 3. 创建客户报备 4. 添加跟进记录 ### 场景2:客户成交 1. 查看客户列表 2. 选择客户添加跟进 3. 更新状态为"已成交" ### 场景3:公海池领取 1. 查看公海池客户 2. 筛选感兴趣的客户 3. 领取客户(获得新的30天保护期) ### 场景4:延期申请 1. 客户保护期即将到期 2. 提交延期申请 3. 经理审批通过 4. 保护期自动延长 ## 🎨 自定义开发 ### 修改保护期天数 在 `.env` 中修改: ```env DEFAULT_PROTECTION_DAYS=45 ``` ### 修改每日领取限制 ```env MAX_DAILY_LEADS=10 ``` ### 修改定时任务 编辑 `src/utils/scheduler.js`: ```javascript // 每2小时检查一次 cron.schedule('0 */2 * * *', checkProtectionExpiry); // 每天下午3点提醒 cron.schedule('0 15 * * *', sendExpiryReminders); ``` ## 🚀 生产环境部署 ### 使用 PM2 ```bash # 安装 PM2 npm install -g pm2 # 启动服务 pm2 start src/server.js --name customer-crm # 保存配置 pm2 save # 开机自启 pm2 startup ``` ### Nginx 配置示例 ```nginx server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` ## 📞 获取帮助 - 📖 查看完整文档:[README.md](README.md) - 💡 查看 API 示例:[API_EXAMPLES.md](API_EXAMPLES.md) - 🐛 遇到问题?提交 Issue - 💬 需要定制?联系开发团队 ## ✅ 检查清单 启动前确认: - [ ] Node.js >= 14.x 已安装 - [ ] MySQL >= 5.7 已安装并运行 - [ ] 已执行 `npm install` - [ ] 已配置 `.env` 文件 - [ ] 已执行 `npm run init-db` - [ ] 能访问 http://localhost:3000 --- **现在开始使用吧!** 🎉 有问题随时查看文档或提交 Issue。