diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..772791cd Binary files /dev/null and b/.DS_Store differ diff --git a/.user.ini b/.user.ini deleted file mode 100755 index 845a0c59..00000000 --- a/.user.ini +++ /dev/null @@ -1 +0,0 @@ -open_basedir=/www/wwwroot/hnhbty.cn/:/tmp/ \ No newline at end of file diff --git a/API接口文档.md b/API接口文档.md deleted file mode 100755 index 00ad72a7..00000000 --- a/API接口文档.md +++ /dev/null @@ -1,980 +0,0 @@ -# 智慧教务系统 API 接口文档 - -## 📋 接口概述 - -### 基础信息 -- **API Base URL**: `http://localhost:20080` -- **接口版本**: v1.0 -- **数据格式**: JSON -- **字符编码**: UTF-8 -- **认证方式**: JWT Token - -### 接口前缀 -- **管理端接口**: `/adminapi/*` -- **客户端接口**: `/api/*` - -### 统一响应格式 -```json -{ - "code": 1, // 状态码:1-成功,0-失败 - "msg": "操作成功", // 响应消息 - "data": {} // 响应数据 -} -``` - -### 状态码说明 -| 状态码 | 说明 | 描述 | -|--------|------|------| -| 1 | 成功 | 请求处理成功 | -| 0 | 失败 | 请求处理失败 | -| 401 | 未授权 | Token无效或已过期 | -| 403 | 禁止访问 | 权限不足 | -| 404 | 未找到 | 资源不存在 | -| 500 | 服务器错误 | 内部服务器错误 | - -## 🔐 认证机制 - -### JWT Token 认证 -所有需要认证的接口都需要在请求头中携带Token: - -```http -Authorization: Bearer {token} -``` - -### Token 获取 -通过登录接口获取Token,Token有效期为24小时。 - -### Token 刷新 -当Token即将过期时,可通过刷新接口获取新Token。 - -## 🔑 管理端接口 (/adminapi) - -### 认证相关 - -#### 1. 管理员登录 -**接口地址**: `POST /adminapi/login/login` - -**请求参数**: -```json -{ - "username": "admin", // 用户名 - "password": "123456" // 密码 -} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "登录成功", - "data": { - "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", - "expire": 86400, - "user_info": { - "uid": 1, - "username": "admin", - "nickname": "超级管理员", - "avatar": "", - "role_ids": [1], - "permissions": ["*"] - } - } -} -``` - -**curl 示例**: -```bash -curl -X POST http://localhost:20080/adminapi/login/login \ - -H "Content-Type: application/json" \ - -d '{"username":"admin","password":"123456"}' -``` - -#### 2. 获取用户信息 -**接口地址**: `GET /adminapi/user/info` - -**请求头**: -```http -Authorization: Bearer {token} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "uid": 1, - "username": "admin", - "nickname": "超级管理员", - "avatar": "", - "role_ids": [1], - "permissions": ["*"], - "campus_ids": [0] // 0表示所有校区 - } -} -``` - -#### 3. 退出登录 -**接口地址**: `POST /adminapi/login/logout` - -**请求头**: -```http -Authorization: Bearer {token} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "退出成功", - "data": null -} -``` - -### 校区管理 - -#### 1. 校区列表 -**接口地址**: `GET /adminapi/campus/list` - -**请求参数**: -``` -page: 1 // 页码 -limit: 20 // 每页数量 -keyword: "" // 搜索关键词 -status: "" // 状态筛选:1-启用,0-禁用 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "campus_name": "总校区", - "address": "北京市朝阳区xxx路xxx号", - "phone": "010-12345678", - "contact_person": "张三", - "status": 1, - "created_at": "2025-01-01 10:00:00", - "updated_at": "2025-01-14 15:30:00" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -#### 2. 新增校区 -**接口地址**: `POST /adminapi/campus/add` - -**请求参数**: -```json -{ - "campus_name": "新校区", - "address": "北京市海淀区xxx路xxx号", - "phone": "010-87654321", - "contact_person": "李四", - "status": 1, - "remark": "备注信息" -} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "添加成功", - "data": { - "id": 2 - } -} -``` - -#### 3. 编辑校区 -**接口地址**: `PUT /adminapi/campus/edit/{id}` - -**请求参数**: -```json -{ - "campus_name": "更新后的校区名称", - "address": "更新后的地址", - "phone": "010-11111111", - "contact_person": "王五", - "status": 1, - "remark": "更新后的备注" -} -``` - -#### 4. 删除校区 -**接口地址**: `DELETE /adminapi/campus/delete/{id}` - -**响应示例**: -```json -{ - "code": 1, - "msg": "删除成功", - "data": null -} -``` - -### 人员管理 - -#### 1. 员工列表 -**接口地址**: `GET /adminapi/personnel/list` - -**请求参数**: -``` -page: 1 -limit: 20 -keyword: "" // 姓名或工号搜索 -campus_id: "" // 校区筛选 -dept_id: "" // 部门筛选 -status: "" // 状态筛选 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 51, - "name": "花花", - "employee_id": "EMP001", - "phone": "13800138000", - "email": "huahua@example.com", - "dept_name": "教练部", - "campus_name": "总校区", - "role_type": 10, - "role_name": "校长", - "status": 1, - "created_at": "2025-01-01 10:00:00" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -#### 2. 新增员工 -**接口地址**: `POST /adminapi/personnel/add` - -**请求参数**: -```json -{ - "name": "新员工", - "employee_id": "EMP002", - "phone": "13900139000", - "email": "newstaff@example.com", - "dept_id": 2, - "campus_ids": [1, 2], - "role_type": 5, - "password": "123456", - "status": 1 -} -``` - -#### 3. 学员列表 -**接口地址**: `GET /adminapi/student/list` - -**请求参数**: -``` -page: 1 -limit: 20 -keyword: "" // 姓名或学号搜索 -campus_id: "" // 校区筛选 -class_id: "" // 班级筛选 -status: "" // 状态筛选 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "student_name": "小明", - "student_no": "STU001", - "gender": 1, - "age": 8, - "phone": "13700137000", - "parent_name": "明爸爸", - "parent_phone": "13600136000", - "campus_name": "总校区", - "class_name": "跳绳初级班", - "status": 1, - "created_at": "2025-01-01 10:00:00" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -### 课程管理 - -#### 1. 课程列表 -**接口地址**: `GET /adminapi/course/list` - -**请求参数**: -``` -page: 1 -limit: 20 -keyword: "" // 课程名称搜索 -course_type: "" // 课程类型筛选 -status: "" // 状态筛选 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "course_name": "跳绳基础课程", - "course_type": "跳绳", - "duration": 60, - "session_count": 12, - "single_session_count": 1, - "price": 1200.00, - "age_range": "6-12岁", - "description": "适合初学者的跳绳课程", - "cover_image": "/uploads/course/cover1.jpg", - "status": 1, - "created_at": "2025-01-01 10:00:00" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -#### 2. 新增课程 -**接口地址**: `POST /adminapi/course/add` - -**请求参数**: -```json -{ - "course_name": "新课程", - "course_type": "篮球", - "duration": 90, - "session_count": 16, - "single_session_count": 1, - "price": 1600.00, - "age_range": "8-16岁", - "description": "篮球基础技能训练", - "cover_image": "/uploads/course/cover2.jpg", - "status": 1 -} -``` - -### 班级管理 - -#### 1. 班级列表 -**接口地址**: `GET /adminapi/class/list` - -**请求参数**: -``` -page: 1 -limit: 20 -keyword: "" // 班级名称搜索 -campus_id: "" // 校区筛选 -course_id: "" // 课程筛选 -status: "" // 状态筛选 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "class_name": "跳绳初级班A", - "campus_name": "总校区", - "course_name": "跳绳基础课程", - "head_coach": "张教练", - "assistant_coach": "李助教", - "capacity": 15, - "current_count": 12, - "status": 1, - "created_at": "2025-01-01 10:00:00" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -#### 2. 新增班级 -**接口地址**: `POST /adminapi/class/add` - -**请求参数**: -```json -{ - "class_name": "新班级", - "campus_id": 1, - "course_id": 1, - "head_coach": 51, - "assistant_coach": 52, - "capacity": 20, - "status": 1, - "remark": "备注信息" -} -``` - -### 排课系统 - -#### 1. 课程安排列表 -**接口地址**: `GET /adminapi/schedule/list` - -**请求参数**: -``` -page: 1 -limit: 20 -date_start: "2025-01-01" // 开始日期 -date_end: "2025-01-31" // 结束日期 -campus_id: "" // 校区筛选 -coach_id: "" // 教练筛选 -venue_id: "" // 场地筛选 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "course_name": "跳绳基础课程", - "class_name": "跳绳初级班A", - "coach_name": "张教练", - "venue_name": "训练场地A", - "course_date": "2025-01-15", - "time_slot": "09:00-10:00", - "available_capacity": 15, - "booked_count": 12, - "status": 1, - "remarks": "正常上课" - } - ], - "total": 1, - "page": 1, - "limit": 20 - } -} -``` - -#### 2. 新增课程安排 -**接口地址**: `POST /adminapi/schedule/add` - -**请求参数**: -```json -{ - "course_id": 1, - "class_id": 1, - "coach_id": 51, - "venue_id": 1, - "course_date": "2025-01-15", - "time_slot": "09:00-10:00", - "available_capacity": 15, - "remarks": "正常上课" -} -``` - -### 财务管理 - -#### 1. 收费记录列表 -**接口地址**: `GET /adminapi/finance/payment/list` - -**请求参数**: -``` -page: 1 -limit: 20 -date_start: "2025-01-01" -date_end: "2025-01-31" -campus_id: "" -student_id: "" -payment_type: "" // 支付方式 -status: "" // 状态 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "list": [ - { - "id": 1, - "student_name": "小明", - "course_name": "跳绳基础课程", - "amount": 1200.00, - "payment_type": "微信支付", - "payment_time": "2025-01-15 10:30:00", - "operator": "收费员", - "status": 1, - "remark": "学费" - } - ], - "total": 1, - "page": 1, - "limit": 20, - "summary": { - "total_amount": 1200.00, - "count": 1 - } - } -} -``` - -#### 2. 新增收费记录 -**接口地址**: `POST /adminapi/finance/payment/add` - -**请求参数**: -```json -{ - "student_id": 1, - "course_id": 1, - "amount": 1200.00, - "payment_type": "微信支付", - "payment_time": "2025-01-15 10:30:00", - "remark": "学费" -} -``` - -### 数据统计 - -#### 1. 数据看板 -**接口地址**: `GET /adminapi/statistics/dashboard` - -**请求参数**: -``` -date_start: "2025-01-01" -date_end: "2025-01-31" -campus_id: "" // 校区筛选,空表示所有校区 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "today": { - "income": 5600.00, - "new_students": 3, - "classes": 12, - "attendance_rate": 95.5 - }, - "month": { - "income": 156000.00, - "new_students": 45, - "total_students": 320, - "total_classes": 280 - }, - "trends": { - "income_trend": [1200, 1500, 1800, 2100, 1900, 2200, 2400], - "student_trend": [2, 3, 1, 4, 2, 3, 5], - "attendance_trend": [92.5, 94.2, 96.1, 93.8, 95.5, 97.2, 95.8] - } - } -} -``` - -#### 2. 收入统计 -**接口地址**: `GET /adminapi/statistics/income` - -**请求参数**: -``` -date_start: "2025-01-01" -date_end: "2025-01-31" -campus_id: "" -group_by: "day" // 分组方式:day/week/month -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "total_amount": 156000.00, - "chart_data": [ - { - "date": "2025-01-01", - "amount": 5200.00, - "count": 4 - }, - { - "date": "2025-01-02", - "amount": 6800.00, - "count": 5 - } - ], - "summary": { - "avg_daily": 5200.00, - "max_daily": 8900.00, - "min_daily": 2100.00 - } - } -} -``` - -## 📱 客户端接口 (/api) - -### 员工端认证 - -#### 1. 员工登录 -**接口地址**: `POST /api/staff/login` - -**请求参数**: -```json -{ - "employee_id": "EMP001", // 工号 - "password": "123456" // 密码 -} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "登录成功", - "data": { - "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...", - "expire": 86400, - "user_info": { - "user_id": 51, - "name": "花花", - "employee_id": "EMP001", - "role_type": 10, - "role_name": "校长", - "campus_ids": [1, 2], - "avatar": "/uploads/avatar/51.jpg" - } - } -} -``` - -#### 2. 获取员工信息 -**接口地址**: `GET /api/staff/info` - -**请求头**: -```http -Authorization: Bearer {token} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "user_id": 51, - "name": "花花", - "employee_id": "EMP001", - "phone": "13800138000", - "email": "huahua@example.com", - "role_type": 10, - "role_name": "校长", - "dept_name": "管理部", - "campus_ids": [1, 2], - "campus_names": ["总校区", "分校区A"], - "avatar": "/uploads/avatar/51.jpg" - } -} -``` - -### 员工端业务功能 - -#### 1. 我的课程安排 -**接口地址**: `GET /api/staff/schedule` - -**请求参数**: -``` -date: "2025-01-15" // 查询日期,默认今天 -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": [ - { - "id": 1, - "course_name": "跳绳基础课程", - "class_name": "跳绳初级班A", - "venue_name": "训练场地A", - "time_slot": "09:00-10:00", - "student_count": 12, - "status": 1, - "remarks": "正常上课" - } - ] -} -``` - -#### 2. 班级学员列表 -**接口地址**: `GET /api/staff/class/{class_id}/students` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": { - "class_info": { - "id": 1, - "class_name": "跳绳初级班A", - "course_name": "跳绳基础课程", - "capacity": 15, - "current_count": 12 - }, - "students": [ - { - "id": 1, - "student_name": "小明", - "student_no": "STU001", - "gender": 1, - "age": 8, - "parent_name": "明爸爸", - "parent_phone": "13600136000", - "avatar": "/uploads/student/1.jpg", - "status": 1 - } - ] - } -} -``` - -#### 3. 考勤打卡 -**接口地址**: `POST /api/staff/attendance/checkin` - -**请求参数**: -```json -{ - "type": 1, // 打卡类型:1-上班,2-下班 - "latitude": 39.9042, // 纬度 - "longitude": 116.4074, // 经度 - "address": "北京市朝阳区xxx路xxx号", - "remark": "正常打卡" -} -``` - -**响应示例**: -```json -{ - "code": 1, - "msg": "打卡成功", - "data": { - "id": 1, - "checkin_time": "2025-01-15 08:30:00", - "type": 1, - "status": 1 - } -} -``` - -### 学员端功能 - -#### 1. 学员登录 -**接口地址**: `POST /api/student/login` - -**请求参数**: -```json -{ - "phone": "13700137000", // 手机号 - "code": "123456" // 验证码 -} -``` - -#### 2. 我的课程 -**接口地址**: `GET /api/student/courses` - -**响应示例**: -```json -{ - "code": 1, - "msg": "获取成功", - "data": [ - { - "id": 1, - "course_name": "跳绳基础课程", - "class_name": "跳绳初级班A", - "coach_name": "张教练", - "total_sessions": 12, - "completed_sessions": 8, - "remaining_sessions": 4, - "next_class_time": "2025-01-16 09:00:00", - "venue_name": "训练场地A" - } - ] -} -``` - -#### 3. 课程预约 -**接口地址**: `POST /api/student/booking` - -**请求参数**: -```json -{ - "schedule_id": 1, // 课程安排ID - "remark": "正常预约" -} -``` - -## 🔧 开发调试 - -### 环境配置 -```bash -# 启动开发环境 -./start.sh - -# 查看服务状态 -docker ps - -# 查看API日志 -docker-compose logs -f php -``` - -### 测试工具 - -#### Postman 集合 -可以导入以下Postman集合进行接口测试: - -```json -{ - "info": { - "name": "智慧教务系统API", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "variable": [ - { - "key": "base_url", - "value": "http://localhost:20080" - }, - { - "key": "admin_token", - "value": "" - }, - { - "key": "staff_token", - "value": "" - } - ] -} -``` - -#### curl 测试脚本 -```bash -#!/bin/bash - -# 设置基础URL -BASE_URL="http://localhost:20080" - -# 管理员登录 -echo "=== 管理员登录 ===" -ADMIN_TOKEN=$(curl -s -X POST $BASE_URL/adminapi/login/login \ - -H "Content-Type: application/json" \ - -d '{"username":"admin","password":"123456"}' | \ - jq -r '.data.token') - -echo "Admin Token: $ADMIN_TOKEN" - -# 获取校区列表 -echo "=== 获取校区列表 ===" -curl -s -H "Authorization: Bearer $ADMIN_TOKEN" \ - "$BASE_URL/adminapi/campus/list" | jq - -# 获取员工列表 -echo "=== 获取员工列表 ===" -curl -s -H "Authorization: Bearer $ADMIN_TOKEN" \ - "$BASE_URL/adminapi/personnel/list" | jq -``` - -### 错误处理 - -#### 常见错误码 -| 错误码 | 错误信息 | 解决方案 | -|--------|----------|----------| -| 10001 | 参数错误 | 检查请求参数格式和必填字段 | -| 10002 | Token无效 | 重新登录获取新Token | -| 10003 | 权限不足 | 检查用户角色权限 | -| 10004 | 数据不存在 | 确认请求的资源ID是否正确 | -| 10005 | 数据库错误 | 检查数据库连接和SQL语句 | - -#### 调试技巧 -1. **查看详细错误信息** - ```bash - # 开启调试模式 - echo "APP_DEBUG=true" >> niucloud/.env - - # 重启PHP服务 - docker-compose restart php - ``` - -2. **查看SQL执行日志** - ```bash - # 进入MySQL容器 - docker exec -it niucloud_mysql mysql -u niucloud -pniucloud123 - - # 开启查询日志 - SET GLOBAL general_log = 'ON'; - SET GLOBAL general_log_file = '/var/log/mysql/query.log'; - ``` - -3. **API响应时间监控** - ```bash - # 使用curl测试响应时间 - curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:20080/adminapi/user/info" - ``` - -## 📋 更新日志 - -### v1.0.0 (2025-01-14) -- 初始版本发布 -- 完成基础认证功能 -- 实现校区管理接口 -- 实现人员管理接口 -- 实现课程管理接口 -- 实现班级管理接口 -- 实现排课系统接口 -- 实现财务管理接口 -- 实现数据统计接口 -- 完成员工端基础功能 -- 完成学员端基础功能 - ---- - -**文档维护**: 开发团队 -**最后更新**: 2025-01-14 -**文档版本**: v1.0 -**联系方式**: [技术支持邮箱] \ No newline at end of file diff --git a/Dashboard业务逻辑文档-校区转化情况统计(校区数据).md b/Dashboard业务逻辑文档-校区转化情况统计(校区数据).md deleted file mode 100755 index 0a2d86cd..00000000 --- a/Dashboard业务逻辑文档-校区转化情况统计(校区数据).md +++ /dev/null @@ -1,638 +0,0 @@ -| 1月汇总数据 | | | | 2月汇总数据 | | | | 3月汇总数据 | | | | 4月汇总数据 | | | | 5月汇总数据 | | | | 6月汇总数据 | | | | 7月汇总数据 | | | | 8月汇总数据 | | | | -|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|--------| -| 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | -| 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | 1月汇总数据 | | | | 2月汇总数据 | | | | 3月汇总数据 | | | | 4月汇总数据 | | | | 5月汇总数据 | | | | 6月汇总数据 | | | | 7月汇总数据 | | | | 8月汇总数据 | | | | -| 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | -| 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | -| 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | -| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | -| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | -| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | -| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | -| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | diff --git a/Dashboard业务逻辑文档.md b/Dashboard业务逻辑文档.md deleted file mode 100755 index 929c5cb1..00000000 --- a/Dashboard业务逻辑文档.md +++ /dev/null @@ -1,309 +0,0 @@ -# Dashboard WebView 业务逻辑文档 - -## 概述 - -Dashboard WebView 是一个为移动端应用提供数据可视化展示的功能模块,通过WebView组件在客户端中嵌入HTML页面,展示不同角色的统计数据和图表。 - -## 系统架构 - -### 技术栈 -- **后端**: ThinkPHP 框架 -- **前端**: HTML5 + CSS3 + JavaScript -- **图表库**: ECharts 5.4.0 -- **渲染方式**: ThinkPHP view() 模板渲染 -- **数据传输**: JWT Token + HTTP GET 参数 - -### 文件结构 -``` -niucloud/app/api/ -├── controller/Dashboard.php # 控制器(业务逻辑) -└── view/dashboard/ # 视图模板目录 - ├── main.html # 主页面模板 - ├── error.html # 错误页面模板 - └── layouts/ - └── base.html # 基础布局模板 -``` - -## 业务流程 - -### 1. 页面访问流程 -``` -客户端 → API请求 → Token验证 → 角色识别 → 页面类型判断 → 数据获取 → 模板渲染 → HTML输出 -``` - -### 2. 请求参数说明 -| 参数名 | 类型 | 必填 | 说明 | 示例值 | -|--------|------|------|------|--------| -| type | string | 否 | 页面类型 | my_data / dept_data / campus_data | -| token | string | 是 | 用户认证Token | JWT格式 | -| platform | string | 否 | 平台标识 | web / app / miniprogram | - -### 3. 页面类型定义 -- **my_data**: 我的数据 - 显示个人业绩统计 -- **dept_data**: 部门数据 - 显示所属部门统计 -- **campus_data**: 校区数据 - 显示整个校区统计 - -## 数据统计业务逻辑 - -### 1. 我的数据 (my_data) -**适用角色**: -市场人员(school_departments.id=1的部门=school_sys_role.dept_id的角色) -**数据维度**: -- 本月录入资源数量 -- 当天录入资源数量 -- 获得绩效金额 -- 其他奖金 - -**图表展示**: -- 月度录入资源数量趋势图(折线图) -- 客户来源分布图(饼图) - -**算法逻辑**: - - -### 2. 部门数据 (dept_data) -**适用角色**: 部门主管及以上 -**权限控制**: 只能查看本部门数据 -**数据维度**: -- 部门总业绩 -- 团队人数 -- 人均业绩 -- 部门排名 - -**图表展示**: -- 团队成员业绩排行榜(柱状图) -- 部门月度趋势对比(折线图) - -**算法逻辑**: -```php -// 基于用户所属部门统计部门数据 -function getDeptData($userInfo) { - $deptId = $userInfo['department_id']; - - // 部门总业绩:部门内所有员工的本月业绩总和 - $deptPerformance = Contract::whereIn('staff_id', function($query) use ($deptId) { - $query->select('id')->from('staff')->where('department_id', $deptId); - })->where('status', 'signed') - ->whereMonth('sign_time', date('m')) - ->sum('amount'); - - // 团队人数:部门内员工总数 - $teamCount = Staff::where('department_id', $deptId) - ->where('status', 'active') - ->count(); - - // 人均业绩:部门总业绩 / 团队人数 - $avgPerformance = $teamCount > 0 ? $deptPerformance / $teamCount : 0; - - // 部门排名:按业绩排序获取当前部门排名 - $deptRanking = $this->calculateDeptRanking($deptId); -} -``` - -### 3. 校区数据 (campus_data) -**适用角色**: 校区管理员、校长级别 -**权限控制**: 只能查看所属校区数据 -**数据维度**: -- 校区总业绩 -- 部门数量 -- 员工总数 -- 客户总数 - -**图表展示**: -- 各部门业绩对比(柱状图) -- 校区业绩趋势图(折线图) - -**算法逻辑**: -```php -// 基于用户所属校区统计校区数据 -function getCampusData($userInfo) { - $campusId = $userInfo['campus_id']; - - // 校区总业绩:校区内所有员工的本月业绩总和 - $campusPerformance = Contract::whereIn('staff_id', function($query) use ($campusId) { - $query->select('id')->from('staff')->where('campus_id', $campusId); - })->where('status', 'signed') - ->whereMonth('sign_time', date('m')) - ->sum('amount'); - - // 部门数量:校区内部门总数 - $deptCount = Department::where('campus_id', $campusId) - ->where('status', 'active') - ->count(); - - // 员工总数:校区内所有员工数量 - $staffCount = Staff::where('campus_id', $campusId) - ->where('status', 'active') - ->count(); - - // 客户总数:校区内所有客户数量 - $customerCount = Customer::whereIn('staff_id', function($query) use ($campusId) { - $query->select('id')->from('staff')->where('campus_id', $campusId); - })->count(); -} -``` - -## 权限控制逻辑 - -### 1. Token验证 -```php -// JWT Token 解析获取用户信息 -function verifyToken($token) { - try { - $payload = JWT::decode($token, $secretKey); - return [ - 'user_id' => $payload->user_id, - 'user_type' => $payload->user_type, - 'role_type' => $payload->role_type, - 'campus_id' => $payload->campus_id ?? 0, - 'department_id' => $payload->department_id ?? 0 - ]; - } catch (Exception $e) { - throw new AuthException('Token验证失败'); - } -} -``` - -### 2. 页面访问权限 -```php -// 页面类型访问权限控制 -function checkPageAccess($pageType, $userInfo) { - $rolePermissions = [ - 'staff' => ['my_data'], // 普通员工只能查看个人数据 - 'supervisor' => ['my_data', 'dept_data'], // 主管可查看个人和部门数据 - 'manager' => ['my_data', 'dept_data', 'campus_data'], // 经理可查看所有类型数据 - 'admin' => ['my_data', 'dept_data', 'campus_data'] // 管理员可查看所有类型数据 - ]; - - $userRole = $this->getUserRole($userInfo['user_id']); - $allowedPages = $rolePermissions[$userRole] ?? []; - - if (!in_array($pageType, $allowedPages)) { - throw new PermissionException('无权限访问该页面'); - } -} -``` - -### 3. 数据范围控制 -```php -// 数据查询范围限制 -function applyDataScope($query, $userInfo, $pageType) { - switch ($pageType) { - case 'my_data': - // 只能查看自己的数据 - $query->where('staff_id', $userInfo['user_id']); - break; - - case 'dept_data': - // 只能查看本部门数据 - $deptStaffIds = Staff::where('department_id', $userInfo['department_id']) - ->pluck('id')->toArray(); - $query->whereIn('staff_id', $deptStaffIds); - break; - - case 'campus_data': - // 只能查看本校区数据 - $campusStaffIds = Staff::where('campus_id', $userInfo['campus_id']) - ->pluck('id')->toArray(); - $query->whereIn('staff_id', $campusStaffIds); - break; - } -} -``` - -## 图表配置说明 - -### 1. ECharts 配置标准 -- **主题色**: #29d3b4 (青绿色) -- **背景色**: #181A20 (深灰色) -- **字体**: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif - -### 2. 图表类型映射 -- **折线图**: 趋势数据(月度业绩、时间序列) -- **柱状图**: 对比数据(成员排行、部门对比) -- **饼图**: 占比数据(客户来源分布、业务分布) - -### 3. 响应式设计 -- 移动端优化:小于480px时单列布局 -- 图表自适应:监听窗口大小变化自动调整 - -## 性能优化 - -### 1. 缓存策略 -```php -// Redis缓存用户统计数据(5分钟有效期) -$cacheKey = "dashboard_data_{$userInfo['user_id']}_{$pageType}"; -$cachedData = Redis::get($cacheKey); - -if (!$cachedData) { - $data = $this->calculateRealData($pageType, $userInfo); - Redis::setex($cacheKey, 300, json_encode($data)); // 5分钟缓存 -} else { - $data = json_decode($cachedData, true); -} -``` - -### 2. 数据库优化 -- 为统计查询添加复合索引 -- 使用预计算表存储统计结果 -- 分页查询避免大数据量 - -### 3. 前端优化 -- CDN加载ECharts库 -- 图片懒加载和压缩 -- CSS压缩和合并 - -## 扩展规划 - -### 1. 角色细分支持 -**计划支持的角色类型**: -- **销售专员**: 基础销售数据统计 -- **销售主管**: 团队管理数据 + 个人数据 -- **市场专员**: 线索获取和转化数据 -- **客服专员**: 客户服务相关数据 -- **财务专员**: 收款和财务相关数据 -- **教研专员**: 课程和教学数据 -- **校长**: 全校区综合数据 - -### 2. 数据维度扩展 -**计划新增的统计维度**: -- 客户满意度统计 -- 课程完成率统计 -- 退费率统计 -- 续费率统计 -- 员工绩效评分 -- 市场推广效果统计 - -### 3. 图表类型扩展 -**计划支持的图表类型**: -- 雷达图:综合能力评估 -- 热力图:时间分布统计 -- 仪表盘:目标完成度 -- 漏斗图:业务流程转化 -- 地图:地域分布统计 - -## 数据表设计要求 - -### 统计相关表 - - -## 错误处理 - -### 1. 异常类型定义 -```php -class DashboardException extends Exception { - const TOKEN_INVALID = 1001; // Token无效 - const PERMISSION_DENIED = 1002; // 权限不足 - const DATA_NOT_FOUND = 1003; // 数据不存在 - const TEMPLATE_ERROR = 1004; // 模板渲染错误 -} -``` - -### 2. 错误页面展示 -- 友好的错误提示界面 -- 错误代码和消息展示 -- 返回和重试按钮 - - - -*该文档会根据实际开发需求持续更新和完善* \ No newline at end of file diff --git a/doc/.DS_Store b/doc/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/doc/.DS_Store differ diff --git a/gift_table_migration.sql b/gift_table_migration.sql deleted file mode 100755 index 2e8cbf82..00000000 --- a/gift_table_migration.sql +++ /dev/null @@ -1,28 +0,0 @@ --- 赠品表设计 --- 创建时间:2025-01-24 --- 设计说明:根据项目现有数据库规范设计 - -DROP TABLE IF EXISTS `shcool_resources_gift`; -CREATE TABLE `shcool_resources_gift` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '赠品主键ID', - `gift_name` varchar(255) NOT NULL DEFAULT '' COMMENT '赠品名称', - `gift_type` varchar(50) NOT NULL DEFAULT '' COMMENT '赠品类型:course(赠课),voucher(代金券)', - `gift_time` int(11) NOT NULL DEFAULT 0 COMMENT '赠送时间', - `giver_id` int(11) NOT NULL DEFAULT 0 COMMENT '赠送来源人员ID', - `resource_id` int(11) NOT NULL DEFAULT 0 COMMENT '赠品归属资源ID', - `order_id` int(11) NOT NULL DEFAULT 0 COMMENT '赠品使用的订单ID(0表示未使用)', - `gift_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '赠品状态:1=未使用,2=已使用,3=已过期,4=已作废', - `use_time` int(11) NOT NULL DEFAULT 0 COMMENT '赠品使用时间', - `create_time` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间', - `update_time` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间', - `delete_time` int(11) NOT NULL DEFAULT 0 COMMENT '删除时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='赠品表' ROW_FORMAT=Dynamic; - --- 添加索引 -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_giver_id` (`giver_id`); -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_resource_id` (`resource_id`); -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_order_id` (`order_id`); -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_status` (`gift_status`); -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_type` (`gift_type`); -ALTER TABLE `shcool_resources_gift` ADD INDEX `IDX_gift_time` (`gift_time`); \ No newline at end of file diff --git a/mysql-mcp-config.json b/mysql-mcp-config.json deleted file mode 100755 index 61fb8b2e..00000000 --- a/mysql-mcp-config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "host": "localhost", - "port": 23306, - "user": "niucloud", - "password": "niucloud123", - "database": "niucloud", - "ssl": false -} \ No newline at end of file diff --git a/niucloud/public/.DS_Store b/niucloud/public/.DS_Store new file mode 100644 index 00000000..48d346b8 Binary files /dev/null and b/niucloud/public/.DS_Store differ diff --git a/start.sh b/start.sh deleted file mode 100755 index 1759bc5f..00000000 --- a/start.sh +++ /dev/null @@ -1,326 +0,0 @@ -#!/bin/bash - -# 颜色输出函数 -print_message() { - echo -e "\033[1;32m[INFO] $1\033[0m" -} - -print_warning() { - echo -e "\033[1;33m[WARNING] $1\033[0m" -} - -print_error() { - echo -e "\033[1;31m[ERROR] $1\033[0m" -} - -# 设置项目名称 -PROJECT_NAME="NiuCloud" - -# 检查Docker环境 -check_docker() { - if ! command -v docker &> /dev/null; then - print_error "Docker未安装,请先安装Docker" - exit 1 - fi - if ! command -v docker-compose &> /dev/null; then - print_error "Docker Compose未安装,请先安装Docker Compose" - exit 1 - fi -} - -# 创建必要的目录结构 -create_directories() { - print_message "创建必要的目录结构..." - mkdir -p docker/{logs/{nginx,mysql},data/{mysql,redis,node_modules},nginx/conf.d,php,mysql,redis} -} - -# 检查并生成配置文件 -check_config_files() { - print_message "检查必要的配置文件..." - - # Nginx 主配置 - if [ ! -f "docker/nginx/nginx.conf" ]; then - print_warning "Nginx主配置文件不存在,创建默认配置..." - cat > docker/nginx/nginx.conf << 'EOF' -user nginx; -worker_processes auto; -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - keepalive_timeout 65; - client_max_body_size 20M; - - include /etc/nginx/conf.d/*.conf; -} -EOF - fi - - # Nginx 站点配置 - if [ ! -f "docker/nginx/conf.d/default.conf" ]; then - print_warning "Nginx站点配置文件不存在,创建默认配置..." - cat > docker/nginx/conf.d/default.conf << 'EOF' -server { - listen 80; - server_name localhost; - root /var/www/html/public; - index index.php index.html; - - location / { - try_files $uri $uri/ /index.php?$query_string; - } - - location ~ \.php$ { - fastcgi_pass php:9000; - fastcgi_index index.php; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - include fastcgi_params; - } -} - -server { - listen 8080; - server_name localhost; - root /var/www/admin; - index index.html; - - location / { - try_files $uri $uri/ /index.html; - } -} -EOF - fi - - # PHP 配置 - if [ ! -f "docker/php/php.ini" ]; then - print_warning "PHP配置文件不存在,创建默认配置..." - cat > docker/php/php.ini << 'EOF' -[PHP] -memory_limit = 256M -upload_max_filesize = 20M -post_max_size = 20M -max_execution_time = 300 -date.timezone = Asia/Shanghai -display_errors = On -error_reporting = E_ALL -log_errors = On -error_log = /var/log/php_errors.log - -[opcache] -opcache.enable=1 -opcache.memory_consumption=128 -opcache.interned_strings_buffer=8 -opcache.max_accelerated_files=4000 -EOF - fi - - # PHP-FPM 配置 - if [ ! -f "docker/php/www.conf" ]; then - print_warning "PHP-FPM配置文件不存在,创建默认配置..." - cat > docker/php/www.conf << 'EOF' -[www] -user = www-data -group = www-data -listen = 9000 -pm = dynamic -pm.max_children = 5 -pm.start_servers = 2 -pm.min_spare_servers = 1 -pm.max_spare_servers = 3 -EOF - fi - - # MySQL 配置 - if [ ! -f "docker/mysql/my.cnf" ]; then - print_warning "MySQL配置文件不存在,创建默认配置..." - cat > docker/mysql/my.cnf << 'EOF' -[mysqld] -character-set-server = utf8mb4 -collation-server = utf8mb4_unicode_ci -default-authentication-plugin = mysql_native_password -max_allowed_packet = 64M -sql_mode = '' - -[client] -default-character-set = utf8mb4 -EOF - fi - - # Redis 配置 - if [ ! -f "docker/redis/redis.conf" ]; then - print_warning "Redis配置文件不存在,创建默认配置..." - cat > docker/redis/redis.conf << 'EOF' -requirepass niucloud123456 -appendonly yes -EOF - fi -} - -# 启动服务 -start_services() { - print_message "启动 ${PROJECT_NAME} 服务..." - - # 检查是否存在冲突的容器并清理 - print_message "检查并清理可能冲突的容器..." - - # 检查并停止冲突的容器 - for container in niucloud_mysql niucloud_redis niucloud_php niucloud_nginx niucloud_composer niucloud_node; do - if docker ps -a --format "table {{.Names}}" | grep -q "^${container}$"; then - print_warning "发现已存在的容器: $container,正在清理..." - docker stop $container 2>/dev/null || true - docker rm $container 2>/dev/null || true - fi - done - - # 清理可能存在的网络 - if docker network ls --format "table {{.Name}}" | grep -q "^zhjwxt_niucloud_network$"; then - print_warning "发现已存在的网络,正在清理..." - docker network rm zhjwxt_niucloud_network 2>/dev/null || true - fi - - # 启动服务 - docker-compose up -d -} - -# 停止服务 -stop_services() { - print_message "停止 ${PROJECT_NAME} 服务..." - docker-compose down -} - -# 强制清理所有容器和网络 -force_cleanup() { - print_message "强制清理所有相关容器和网络..." - - # 停止并删除所有相关容器 - for container in niucloud_mysql niucloud_redis niucloud_php niucloud_nginx niucloud_composer niucloud_node; do - if docker ps -a --format "table {{.Names}}" | grep -q "^${container}$"; then - print_warning "正在删除容器: $container" - docker stop $container 2>/dev/null || true - docker rm $container 2>/dev/null || true - fi - done - - # 删除网络 - if docker network ls --format "table {{.Name}}" | grep -q "^zhjwxt_niucloud_network$"; then - print_warning "正在删除网络: zhjwxt_niucloud_network" - docker network rm zhjwxt_niucloud_network 2>/dev/null || true - fi - - # 删除未使用的网络 - docker network prune -f 2>/dev/null || true - - print_message "清理完成!" -} - -# 重启服务 -restart_services() { - print_message "重启 ${PROJECT_NAME} 服务..." - docker-compose restart -} - -# 查看服务状态 -check_status() { - print_message "${PROJECT_NAME} 服务状态:" - docker-compose ps -} - -# 查看服务日志 -view_logs() { - service=$1 - if [ -z "$service" ]; then - print_message "查看所有服务日志..." - docker-compose logs - else - print_message "查看 $service 服务日志..." - docker-compose logs $service - fi -} - -# 初始化项目 -init_project() { - print_message "初始化 ${PROJECT_NAME} 项目..." - - # 检查是否存在 docker-compose.yml - if [ ! -f "docker-compose.yml" ]; then - print_error "缺少 docker-compose.yml 文件,请先创建!" - exit 1 - fi - - create_directories - check_config_files - - # 构建自定义 PHP 镜像 - print_message "构建自定义 PHP 镜像..." - docker build -t niucloud-php:8.2 ./docker/php - - # 拉取其他 Docker 镜像 - print_message "拉取Docker镜像..." - docker-compose pull - - print_message "项目初始化完成,现在可以启动服务了" -} - -# 显示帮助信息 -show_help() { - echo "用法: $0 [选项]" - echo "" - echo "选项:" - echo " start 启动所有服务" - echo " stop 停止所有服务" - echo " restart 重启所有服务" - echo " status 查看服务状态" - echo " logs 查看所有服务日志" - echo " logs <服务名> 查看指定服务日志" - echo " cleanup 强制清理所有容器和网络" - echo " init 初始化项目" - echo " help 显示此帮助信息" -} - -# 主程序入口 -main() { - check_docker - - case "$1" in - start) - start_services - ;; - stop) - stop_services - ;; - restart) - restart_services - ;; - status) - check_status - ;; - logs) - view_logs "$2" - ;; - cleanup) - force_cleanup - ;; - init) - init_project - ;; - help|*) - show_help - ;; - esac -} - -main "$@" \ No newline at end of file diff --git a/startvps.sh b/startvps.sh deleted file mode 100755 index 5d67e3f3..00000000 --- a/startvps.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# start-claude-v2ray.sh - -echo "检查 V2Ray 是否运行..." -if ! pgrep -x "v2ray" > /dev/null; then - echo "启动 V2Ray..." - nohup v2ray run -config config.json > /tmp/v2ray.log 2>&1 & - sleep 3 -fi - -echo "设置代理: 127.0.0.1:1087" -export HTTP_PROXY=http://127.0.0.1:1087 -export HTTPS_PROXY=http://127.0.0.1:1087 - -# 测试连接 -echo "测试代理连接..." -if curl --proxy $HTTP_PROXY --max-time 10 -s https://api.anthropic.com > /dev/null; then - echo "✅ 代理连接正常" - echo "启动 Claude Code..." - claude -else - echo "❌ 代理连接失败,请检查 V2Ray 配置" - exit 1 -fi \ No newline at end of file diff --git a/uniapp/.DS_Store b/uniapp/.DS_Store new file mode 100644 index 00000000..45f4ec02 Binary files /dev/null and b/uniapp/.DS_Store differ diff --git a/uniapp/pages-common/.DS_Store b/uniapp/pages-common/.DS_Store new file mode 100644 index 00000000..f4211ee6 Binary files /dev/null and b/uniapp/pages-common/.DS_Store differ diff --git a/uniapp/pages/.DS_Store b/uniapp/pages/.DS_Store new file mode 100644 index 00000000..96279073 Binary files /dev/null and b/uniapp/pages/.DS_Store differ diff --git a/uniapp/pages/common/.DS_Store b/uniapp/pages/common/.DS_Store new file mode 100644 index 00000000..f4211ee6 Binary files /dev/null and b/uniapp/pages/common/.DS_Store differ diff --git a/uniapp/pages/student/.DS_Store b/uniapp/pages/student/.DS_Store new file mode 100644 index 00000000..bea56a28 Binary files /dev/null and b/uniapp/pages/student/.DS_Store differ