16 changed files with 0 additions and 2314 deletions
Binary file not shown.
@ -1 +0,0 @@ |
|||
open_basedir=/www/wwwroot/hnhbty.cn/:/tmp/ |
|||
@ -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 |
|||
**联系方式**: [技术支持邮箱] |
|||
@ -1,638 +0,0 @@ |
|||
| 1月汇总数据 | | | | 2月汇总数据 | | | | 3月汇总数据 | | | | 4月汇总数据 | | | | 5月汇总数据 | | | | 6月汇总数据 | | | | 7月汇总数据 | | | | 8月汇总数据 | | | | |
|||
|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|----|--------|-----------|------|--------| |
|||
| 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | |
|||
| 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | 1月汇总数据 | | | | 2月汇总数据 | | | | 3月汇总数据 | | | | 4月汇总数据 | | | | 5月汇总数据 | | | | 6月汇总数据 | | | | 7月汇总数据 | | | | 8月汇总数据 | | | | |
|||
| 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | 时限 | 渠道 | 具体内容 | 合计 | |
|||
| 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | 当月 | 体验包(地推)一访 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | | 体验包(活动)一访 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | | 上门(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | | 美团(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | | 大众点评(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | | 抖音(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | | 小红书(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | | 异业合作(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | | 其他(一访) | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | | 全渠道(当月汇总) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | 往月 | 体验包(地推)一访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | | 体验包(地推)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | | 体验包(活动)一访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | | 体验包(活动)二访 | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | | | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | | 上门(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | | 上门(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | | 美团(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | | 美团(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | | 大众点评(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | | 大众点评(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | | 抖音(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | | 抖音(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | | 小红书(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | | 小红书(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | | 异业合作(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | | 异业合作(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | | 其他(一访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | | 其他(二访) | 邀约数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | 合计 | 体验包(地推) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | | 体验包(活动) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | | 体验包(合计) | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | | 转介绍 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | | 上门 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | | 美团 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | | 大众点评 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | | 抖音 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | | 小红书 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | | 异业合作 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | | 其他 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
| 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | 汇总 | 全渠道 | 名单数 | | |
|||
| | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | | | 到访数 | | |
|||
| | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | | | 到访率 | | |
|||
| | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | | | 关单数 | | |
|||
| | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | | | 关单率 | | |
|||
| | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | | | 关单金额 | | |
|||
@ -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. 错误页面展示 |
|||
- 友好的错误提示界面 |
|||
- 错误代码和消息展示 |
|||
- 返回和重试按钮 |
|||
|
|||
|
|||
|
|||
*该文档会根据实际开发需求持续更新和完善* |
|||
Binary file not shown.
@ -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`); |
|||
@ -1,8 +0,0 @@ |
|||
{ |
|||
"host": "localhost", |
|||
"port": 23306, |
|||
"user": "niucloud", |
|||
"password": "niucloud123", |
|||
"database": "niucloud", |
|||
"ssl": false |
|||
} |
|||
Binary file not shown.
@ -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 "$@" |
|||
@ -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 |
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue