QUICKSTART.md 5.9 KB

快速启动指南 ⚡

5分钟快速上手客户报备管理系统

🎯 快速启动(3步)

1️⃣ 安装依赖

npm install

2️⃣ 配置数据库

# 复制配置文件
cp .env.example .env

# 编辑 .env 文件,修改数据库密码
# DB_PASSWORD=你的MySQL密码

3️⃣ 初始化并启动

# 初始化数据库
npm run init-db

# 启动服务(开发模式)
npm run dev

访问系统http://localhost:3000

默认账号admin / admin123

🎮 可选:创建测试数据

npm run test-data

这将创建:

  • ✅ 3个测试用户
  • ✅ 25个测试客户
  • ✅ 多条跟进记录

测试账号:

  • sales001 / 123456 (销售-张三)
  • sales002 / 123456 (销售-李四)
  • manager001 / 123456 (经理-王经理)

📝 核心功能体验

1. 报备新客户

# 获取 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. 查看我的客户

curl -X GET "http://localhost:3000/api/customers?status=following" \
  -H "Authorization: Bearer $TOKEN"

3. 查看个人仪表盘

curl -X GET http://localhost:3000/api/stats/dashboard \
  -H "Authorization: Bearer $TOKEN"

4. 查看公海池

curl -X GET http://localhost:3000/api/pool/customers \
  -H "Authorization: Bearer $TOKEN"

🌐 使用浏览器测试

打开浏览器访问:http://localhost:3000

系统提供了一个简单的 Web 界面,包含:

  • ✅ 用户登录
  • ✅ 个人仪表盘
  • ✅ API 文档展示

📚 下一步

  1. 阅读完整文档

  2. 了解业务流程

    报备客户 → 查重验证 → 进入保护期(30天) → 
    跟进客户 → 更新状态 → 到期释放 → 公海池
    
  3. 熟悉角色权限

    • 👤 销售:报备、跟进自己的客户
    • 👔 经理:管理团队、审批申请
    • 👑 总监:查看部门数据
    • ⚙️ 管理员:系统管理

🛠️ 常用命令

# 开发模式(热重载)
npm run dev

# 生产模式
npm start

# 初始化数据库
npm run init-db

# 创建测试数据
npm run test-data

# 清空数据库(保留管理员)
npm run clean-db

⚙️ 核心配置

.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: 使用国内镜像:

npm config set registry https://registry.npmmirror.com
npm install

Q4: 忘记管理员密码?

A: 重新运行初始化脚本:

npm run clean-db
npm run init-db

密码将重置为 admin123

📊 系统监控

查看系统日志:

# 实时查看日志
npm run dev

# 日志中会显示:
# - 请求日志
# - 数据库操作
# - 定时任务执行
# - 错误信息

🎯 业务场景演示

场景1:销售报备客户

  1. 登录系统(sales001)
  2. 查重检查
  3. 创建客户报备
  4. 添加跟进记录

场景2:客户成交

  1. 查看客户列表
  2. 选择客户添加跟进
  3. 更新状态为"已成交"

场景3:公海池领取

  1. 查看公海池客户
  2. 筛选感兴趣的客户
  3. 领取客户(获得新的30天保护期)

场景4:延期申请

  1. 客户保护期即将到期
  2. 提交延期申请
  3. 经理审批通过
  4. 保护期自动延长

🎨 自定义开发

修改保护期天数

.env 中修改:

DEFAULT_PROTECTION_DAYS=45

修改每日领取限制

MAX_DAILY_LEADS=10

修改定时任务

编辑 src/utils/scheduler.js

// 每2小时检查一次
cron.schedule('0 */2 * * *', checkProtectionExpiry);

// 每天下午3点提醒
cron.schedule('0 15 * * *', sendExpiryReminders);

🚀 生产环境部署

使用 PM2

# 安装 PM2
npm install -g pm2

# 启动服务
pm2 start src/server.js --name customer-crm

# 保存配置
pm2 save

# 开机自启
pm2 startup

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
  • 💡 查看 API 示例:API_EXAMPLES.md
  • 🐛 遇到问题?提交 Issue
  • 💬 需要定制?联系开发团队

✅ 检查清单

启动前确认:

  • Node.js >= 14.x 已安装
  • MySQL >= 5.7 已安装并运行
  • 已执行 npm install
  • 已配置 .env 文件
  • 已执行 npm run init-db
  • 能访问 http://localhost:3000

现在开始使用吧! 🎉

有问题随时查看文档或提交 Issue。