|
|
|
|
# 小程序埋点规划文档
|
|
|
|
|
|
|
|
|
|
## 一、项目概述
|
|
|
|
|
|
|
|
|
|
本项目是一个基于微信小程序的药品查询应用,包含三个主要角色端:
|
|
|
|
|
|
|
|
|
|
* **患者端** (pages/): 患者用户访问
|
|
|
|
|
|
|
|
|
|
* **地推端** (ground/): 邀约专员使用
|
|
|
|
|
|
|
|
|
|
* **店员端** (doctor/): 药店工作人员使用
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 二、页面结构梳理
|
|
|
|
|
|
|
|
|
|
### 2.1 主包页面 (pages/)
|
|
|
|
|
|
|
|
|
|
| 页面路径 | 页面名称 | 说明 |
|
|
|
|
|
| -------------------- | ------ | ---------------- |
|
|
|
|
|
| pages/start/index | 启动页 | 应用入口,处理扫码参数和身份跳转 |
|
|
|
|
|
| pages/tourists/index | 游客页 | 未登录用户选择身份入口 |
|
|
|
|
|
| pages/work/index | 工作人员入口 | 选择地推/店员/患者身份 |
|
|
|
|
|
| pages/index/index | 患者首页 | 患者主页面,项目选择、适应症选择 |
|
|
|
|
|
|
|
|
|
|
### 2.2 地推端分包 (ground/)
|
|
|
|
|
|
|
|
|
|
| 页面路径 | 页面名称 | 说明 |
|
|
|
|
|
| --------------------------------- | ----- | ------------ |
|
|
|
|
|
| ground/pages/login/index | 地推登录 | 地推人员登录/注册 |
|
|
|
|
|
| ground/pages/home/index | 地推首页 | 数据统计看板、图表展示 |
|
|
|
|
|
| ground/pages/pharmacist/index | 店员列表 | 邀约的店员列表及搜索筛选 |
|
|
|
|
|
| ground/pages/my/index | 地推我的 | 个人信息、设置 |
|
|
|
|
|
| ground/pages/invite/index | 地推邀约码 | 专属邀约二维码展示 |
|
|
|
|
|
| ground/pages/stat/index | 邀约明细 | 详细统计数据 |
|
|
|
|
|
| ground/pages/changeNickname/index | 修改姓名 | 修改地推人员姓名 |
|
|
|
|
|
| ground/pages/changeTel/index | 修改手机号 | 修改地推人员手机号 |
|
|
|
|
|
|
|
|
|
|
### 2.3 店员端分包 (doctor/)
|
|
|
|
|
|
|
|
|
|
| 页面路径 | 页面名称 | 说明 |
|
|
|
|
|
| --------------------------------- | ----- | ------------ |
|
|
|
|
|
| doctor/pages/login/index | 店员登录 | 店员登录/注册第一步 |
|
|
|
|
|
| doctor/pages/loginForm/index | 店员注册 | 店员注册表单 |
|
|
|
|
|
| doctor/pages/home/index | 店员首页 | 数据统计看板、待处理事项 |
|
|
|
|
|
| doctor/pages/patientList/index | 患者列表 | 邀约的患者列表及状态管理 |
|
|
|
|
|
| doctor/pages/articleList/index | 教育列表 | 健康教育文章列表 |
|
|
|
|
|
| doctor/pages/article/index | 文章详情 | 教育文章详情 |
|
|
|
|
|
| doctor/pages/my/index | 店员我的 | 个人信息、设置 |
|
|
|
|
|
| doctor/pages/invite/index | 店员邀约码 | 专属邀约二维码展示 |
|
|
|
|
|
| doctor/pages/stat/index | 邀约明细 | 详细统计数据 |
|
|
|
|
|
| doctor/pages/changeNickname/index | 修改姓名 | 修改店员姓名 |
|
|
|
|
|
| doctor/pages/changeTel/index | 修改手机号 | 修改店员手机号 |
|
|
|
|
|
|
|
|
|
|
### 2.4 隐私协议分包 (privacy/)
|
|
|
|
|
|
|
|
|
|
| 页面路径 | 页面名称 | 说明 |
|
|
|
|
|
| --------------------------- | ---- | ----------- |
|
|
|
|
|
| privacy/pages/policy/index | 隐私政策 | 个人信息及隐私保护政策 |
|
|
|
|
|
| privacy/pages/policy1/index | 用户协议 | 用户与隐私保护协议 |
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 三、埋点事件规划
|
|
|
|
|
|
|
|
|
|
### 3.1 页面浏览埋点 (Page View)
|
|
|
|
|
|
|
|
|
|
所有页面都需要在 `onLoad` 或 `onShow` 中上报页面浏览事件。
|
|
|
|
|
|
|
|
|
|
| pageName 编码 | 页面路径 | 说明 |
|
|
|
|
|
| ----------------------------- | --------------------------------- | ------- |
|
|
|
|
|
| **患者端** | <br /> | <br /> |
|
|
|
|
|
| patient\_start\_view | pages/start/index | 启动页 |
|
|
|
|
|
| patient\_tourists\_view | pages/tourists/index | 游客页 |
|
|
|
|
|
| patient\_work\_view | pages/work/index | 工作人员入口 |
|
|
|
|
|
| patient\_home\_view | pages/index/index | 患者首页 |
|
|
|
|
|
| **地推端** | <br /> | <br /> |
|
|
|
|
|
| ground\_login\_view | ground/pages/login/index | 地推登录 |
|
|
|
|
|
| ground\_home\_view | ground/pages/home/index | 地推首页 |
|
|
|
|
|
| ground\_pharmacist\_view | ground/pages/pharmacist/index | 店员列表 |
|
|
|
|
|
| ground\_my\_view | ground/pages/my/index | 地推我的 |
|
|
|
|
|
| ground\_invite\_view | ground/pages/invite/index | 地推邀约码 |
|
|
|
|
|
| ground\_stat\_view | ground/pages/stat/index | 地推邀约明细 |
|
|
|
|
|
| ground\_change\_name\_view | ground/pages/changeNickname/index | 地推修改姓名 |
|
|
|
|
|
| ground\_change\_tel\_view | ground/pages/changeTel/index | 地推修改手机号 |
|
|
|
|
|
| **店员端** | <br /> | <br /> |
|
|
|
|
|
| doctor\_login\_view | doctor/pages/login/index | 店员登录 |
|
|
|
|
|
| doctor\_register\_view | doctor/pages/loginForm/index | 店员注册 |
|
|
|
|
|
| doctor\_home\_view | doctor/pages/home/index | 店员首页 |
|
|
|
|
|
| doctor\_patient\_view | doctor/pages/patientList/index | 患者列表 |
|
|
|
|
|
| doctor\_article\_view | doctor/pages/articleList/index | 教育列表 |
|
|
|
|
|
| doctor\_article\_detail\_view | doctor/pages/article/index | 文章详情 |
|
|
|
|
|
| doctor\_my\_view | doctor/pages/my/index | 店员我的 |
|
|
|
|
|
| doctor\_invite\_view | doctor/pages/invite/index | 店员邀约码 |
|
|
|
|
|
| doctor\_stat\_view | doctor/pages/stat/index | 店员邀约明细 |
|
|
|
|
|
| doctor\_change\_name\_view | doctor/pages/changeNickname/index | 店员修改姓名 |
|
|
|
|
|
| doctor\_change\_tel\_view | doctor/pages/changeTel/index | 店员修改手机号 |
|
|
|
|
|
| **隐私协议** | <br /> | <br /> |
|
|
|
|
|
| privacy\_policy\_view | privacy/pages/policy/index | 隐私政策 |
|
|
|
|
|
| user\_agreement\_view | privacy/pages/policy1/index | 用户协议 |
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
### 3.2 点击事件埋点 (Click Event)
|
|
|
|
|
|
|
|
|
|
#### 3.2.1 启动页 (pages/start/index)
|
|
|
|
|
|
|
|
|
|
该页面暂无点击事件埋点。
|
|
|
|
|
|
|
|
|
|
#### 3.2.2 游客页 (pages/tourists/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------- | ---------- | ------- |
|
|
|
|
|
| click\_tourists\_pharmacist | "我是药店工作人员" | 跳转店员登录 |
|
|
|
|
|
| click\_tourists\_promoter | "我是地推人员" | 跳转地推登录 |
|
|
|
|
|
| click\_avatar\_upload | 头像选择 | 选择/上传头像 |
|
|
|
|
|
| click\_nickname\_save | 昵称输入框失焦 | 保存昵称 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.3 工作人员入口 (pages/work/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| -------------------- | ---------- | ------ |
|
|
|
|
|
| click\_work\_ground | "我是邀约专员"卡片 | 进入地推登录 |
|
|
|
|
|
| click\_work\_doctor | "我是店员"卡片 | 进入店员登录 |
|
|
|
|
|
| click\_work\_patient | "我是患者"按钮 | 进入患者端 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.4 患者首页 (pages/index/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ---------------------------------- | ------------ | --------- |
|
|
|
|
|
| click\_patient\_project\_switch | 项目切换picker | 切换当前项目 |
|
|
|
|
|
| click\_patient\_avatar | 头像选择按钮 | 选择/上传头像 |
|
|
|
|
|
| click\_patient\_nickname\_save | 昵称输入框 | 保存昵称 |
|
|
|
|
|
| click\_patient\_indication\_select | 适应症选项 | 选择适应症并登录 |
|
|
|
|
|
| click\_patient\_agreement\_toggle | 协议同意checkbox | 切换协议同意状态 |
|
|
|
|
|
| click\_patient\_agreement\_view | 《用户与隐私保护协议》 | 查看用户协议 |
|
|
|
|
|
| click\_patient\_work\_entry | "我是工作人员" | 进入工作人员入口 |
|
|
|
|
|
| click\_patient\_jump\_miniprogram | "去腾讯药箱看看" | 跳转腾讯药箱小程序 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.5 地推登录页 (ground/pages/login/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------------- | ------------- | -------- |
|
|
|
|
|
| click\_ground\_login\_wx | "手机号快捷登录"按钮 | 微信一键登录 |
|
|
|
|
|
| click\_ground\_login\_sms\_switch | "使用手机号验证码" | 切换验证码登录 |
|
|
|
|
|
| click\_ground\_login\_sms\_code | "发送验证码" | 发送短信验证码 |
|
|
|
|
|
| click\_ground\_login\_submit | "立即加入"按钮 | 验证码登录提交 |
|
|
|
|
|
| click\_ground\_login\_agreement | 协议勾选 | 切换协议同意状态 |
|
|
|
|
|
| click\_ground\_login\_privacy | 《个人信息及隐私保护政策》 | 查看隐私政策 |
|
|
|
|
|
| click\_ground\_login\_patient | "我是患者" | 切换到患者端 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.6 地推首页 (ground/pages/home/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| -------------------------------------- | ---------- | --------- |
|
|
|
|
|
| click\_ground\_home\_project\_switch | 项目切换picker | 切换项目 |
|
|
|
|
|
| click\_ground\_home\_invite\_code | 右上角邀约码图标 | 查看邀约码 |
|
|
|
|
|
| click\_ground\_home\_fold1 | "累计邀约"折叠 | 展开/收起累计数据 |
|
|
|
|
|
| click\_ground\_home\_fold2 | "邀约患者统计"折叠 | 展开/收起日度数据 |
|
|
|
|
|
| click\_ground\_home\_stat\_type\_day | "日统计"切换 | 切换到日统计 |
|
|
|
|
|
| click\_ground\_home\_stat\_type\_month | "月统计"切换 | 切换到月统计 |
|
|
|
|
|
| click\_ground\_home\_date\_picker | 日期选择器 | 选择统计日期 |
|
|
|
|
|
| click\_ground\_home\_date\_prev | 日期左箭头 | 上一天/上月 |
|
|
|
|
|
| click\_ground\_home\_date\_next | 日期右箭头 | 下一天/下月 |
|
|
|
|
|
| click\_ground\_home\_chart1\_start | 图表1开始日期 | 选择图表开始日期 |
|
|
|
|
|
| click\_ground\_home\_chart1\_end | 图表1结束日期 | 选择图表结束日期 |
|
|
|
|
|
| click\_ground\_home\_chart2\_start | 图表2开始日期 | 选择图表开始日期 |
|
|
|
|
|
| click\_ground\_home\_chart2\_end | 图表2结束日期 | 选择图表结束日期 |
|
|
|
|
|
| click\_ground\_home\_chart3\_start | 图表3开始日期 | 选择图表开始日期 |
|
|
|
|
|
| click\_ground\_home\_chart3\_end | 图表3结束日期 | 选择图表结束日期 |
|
|
|
|
|
| click\_ground\_home\_detail | "查看明细"按钮 | 进入邀约明细 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.7 地推店员列表 (ground/pages/pharmacist/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ------------------------------------------ | ---------- | ------- |
|
|
|
|
|
| click\_ground\_pharmacist\_project\_switch | 项目切换picker | 切换项目 |
|
|
|
|
|
| click\_ground\_pharmacist\_search | 搜索框 | 搜索店员/药店 |
|
|
|
|
|
| click\_ground\_pharmacist\_start\_date | 开始时间picker | 选择开始时间 |
|
|
|
|
|
| click\_ground\_pharmacist\_end\_date | 结束时间picker | 选择结束时间 |
|
|
|
|
|
| click\_ground\_pharmacist\_card | 店员卡片 | 查看店员详情 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.8 地推我的页 (ground/pages/my/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------- | ------- | -------- |
|
|
|
|
|
| click\_ground\_my\_avatar | 头像区域 | 修改头像 |
|
|
|
|
|
| click\_ground\_my\_nickname | "修改姓名" | 进入修改姓名页 |
|
|
|
|
|
| click\_ground\_my\_tel | "修改手机号" | 进入修改手机号页 |
|
|
|
|
|
| click\_ground\_my\_invite | "我的邀约码" | 查看邀约码 |
|
|
|
|
|
| click\_ground\_my\_exit | "退出登录" | 退出登录 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.9 地推邀约码 (ground/pages/invite/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------- | ----- | -------- |
|
|
|
|
|
| click\_ground\_invite\_save | 二维码区域 | 保存二维码到相册 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.10 地推邀约明细 (ground/pages/stat/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| -------------------------------- | ---------- | ------ |
|
|
|
|
|
| click\_ground\_stat\_start\_date | 开始日期picker | 选择开始日期 |
|
|
|
|
|
| click\_ground\_stat\_end\_date | 结束日期picker | 选择结束日期 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.11 店员登录页 (doctor/pages/login/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------------- | ------------- | -------- |
|
|
|
|
|
| click\_doctor\_login\_wx | "手机号快捷登录"按钮 | 微信一键登录 |
|
|
|
|
|
| click\_doctor\_login\_sms\_switch | "使用手机号验证码" | 切换验证码登录 |
|
|
|
|
|
| click\_doctor\_login\_sms\_code | "发送验证码" | 发送短信验证码 |
|
|
|
|
|
| click\_doctor\_login\_submit | "立即加入"按钮 | 验证码登录提交 |
|
|
|
|
|
| click\_doctor\_login\_agreement | 协议勾选 | 切换协议同意状态 |
|
|
|
|
|
| click\_doctor\_login\_privacy | 《个人信息及隐私保护政策》 | 查看隐私政策 |
|
|
|
|
|
| click\_doctor\_login\_patient | "我是患者" | 切换到患者端 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.12 店员注册页 (doctor/pages/loginForm/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ----------------------------------------- | ---------- | -------- |
|
|
|
|
|
| click\_doctor\_register\_name\_input | 姓名输入框 | 输入姓名 |
|
|
|
|
|
| click\_doctor\_register\_pharmacy | 所属药店选择 | 打开药店选择弹窗 |
|
|
|
|
|
| click\_doctor\_register\_project | 项目选择picker | 选择项目 |
|
|
|
|
|
| click\_doctor\_register\_submit | "立即加入店员端" | 提交注册 |
|
|
|
|
|
| click\_doctor\_register\_pharmacy\_search | 药店搜索框 | 搜索药店 |
|
|
|
|
|
| click\_doctor\_register\_area\_picker | 省市区选择 | 选择省市区 |
|
|
|
|
|
| click\_doctor\_register\_pharmacy\_select | 药店列表项 | 选择药店 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.13 店员首页 (doctor/pages/home/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| -------------------------------------- | ---------- | --------- |
|
|
|
|
|
| click\_doctor\_home\_project\_switch | 项目切换picker | 切换项目 |
|
|
|
|
|
| click\_doctor\_home\_invite\_code | 右上角邀约码图标 | 查看邀约码 |
|
|
|
|
|
| click\_doctor\_home\_fold1 | "累计邀约"折叠 | 展开/收起累计数据 |
|
|
|
|
|
| click\_doctor\_home\_fold2 | "邀约患者统计"折叠 | 展开/收起日度数据 |
|
|
|
|
|
| click\_doctor\_home\_stat\_type\_day | "日统计"切换 | 切换到日统计 |
|
|
|
|
|
| click\_doctor\_home\_stat\_type\_month | "月统计"切换 | 切换到月统计 |
|
|
|
|
|
| click\_doctor\_home\_date\_picker | 日期选择器 | 选择统计日期 |
|
|
|
|
|
| click\_doctor\_home\_date\_prev | 日期左箭头 | 上一天/上月 |
|
|
|
|
|
| click\_doctor\_home\_date\_next | 日期右箭头 | 下一天/下月 |
|
|
|
|
|
| click\_doctor\_home\_chart\_start | 图表开始日期 | 选择图表开始日期 |
|
|
|
|
|
| click\_doctor\_home\_chart\_end | 图表结束日期 | 选择图表结束日期 |
|
|
|
|
|
| click\_doctor\_home\_detail | "查看明细"按钮 | 进入邀约明细 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.14 店员患者列表 (doctor/pages/patientList/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ---------------------------------------- | ---------- | -------- |
|
|
|
|
|
| click\_doctor\_patient\_project\_switch | 项目切换picker | 切换项目 |
|
|
|
|
|
| click\_doctor\_patient\_search | 搜索框 | 搜索患者 |
|
|
|
|
|
| click\_doctor\_patient\_jump\_status | 跳转状态picker | 筛选跳转状态 |
|
|
|
|
|
| click\_doctor\_patient\_enroll\_status | 入组状态picker | 筛选入组状态 |
|
|
|
|
|
| click\_doctor\_patient\_jump\_start | 跳转开始时间 | 选择跳转开始时间 |
|
|
|
|
|
| click\_doctor\_patient\_jump\_end | 跳转结束时间 | 选择跳转结束时间 |
|
|
|
|
|
| click\_doctor\_patient\_enroll\_start | 入组开始时间 | 选择入组开始时间 |
|
|
|
|
|
| click\_doctor\_patient\_enroll\_end | 入组结束时间 | 选择入组结束时间 |
|
|
|
|
|
| click\_doctor\_patient\_preview | "查看提交材料" | 预览材料图片 |
|
|
|
|
|
| click\_doctor\_patient\_upload\_jump | "提交"/"重新提交"跳转材料 | 上传跳转材料 |
|
|
|
|
|
| click\_doctor\_patient\_upload\_enroll | "提交"/"重新提交"入组材料 | 上传入组材料 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.15 教育列表 (doctor/pages/articleList/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ------------------------------ | -------- | -------- |
|
|
|
|
|
| click\_doctor\_article\_tab | 分类tab | 切换文章分类 |
|
|
|
|
|
| click\_doctor\_article\_banner | Banner轮播 | 点击Banner |
|
|
|
|
|
| click\_doctor\_article\_card | 文章卡片 | 查看文章详情 |
|
|
|
|
|
| click\_doctor\_article\_like | 点赞按钮 | 点赞文章 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.16 文章详情 (doctor/pages/article/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| ------------------------------------ | ---- | ---- |
|
|
|
|
|
| click\_doctor\_article\_detail\_like | 点赞按钮 | 点赞文章 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.17 店员我的页 (doctor/pages/my/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------- | ------- | -------- |
|
|
|
|
|
| click\_doctor\_my\_avatar | 头像区域 | 修改头像 |
|
|
|
|
|
| click\_doctor\_my\_nickname | "修改姓名" | 进入修改姓名页 |
|
|
|
|
|
| click\_doctor\_my\_tel | "修改手机号" | 进入修改手机号页 |
|
|
|
|
|
| click\_doctor\_my\_invite | "我的邀约码" | 查看邀约码 |
|
|
|
|
|
| click\_doctor\_my\_exit | "退出登录" | 退出登录 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.18 店员邀约码 (doctor/pages/invite/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| --------------------------- | ----- | -------- |
|
|
|
|
|
| click\_doctor\_invite\_save | 二维码区域 | 保存二维码到相册 |
|
|
|
|
|
|
|
|
|
|
#### 3.2.19 店员邀约明细 (doctor/pages/stat/index)
|
|
|
|
|
|
|
|
|
|
| 事件名 | 触发元素 | 说明 |
|
|
|
|
|
| -------------------------------- | ---------- | ------ |
|
|
|
|
|
| click\_doctor\_stat\_type\_day | "日统计"切换 | 切换到日统计 |
|
|
|
|
|
| click\_doctor\_stat\_type\_month | "月统计"切换 | 切换到月统计 |
|
|
|
|
|
| click\_doctor\_stat\_start\_date | 开始日期picker | 选择开始日期 |
|
|
|
|
|
| click\_doctor\_stat\_end\_date | 结束日期picker | 选择结束日期 |
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 四、埋点事件汇总
|
|
|
|
|
|
|
|
|
|
### 4.1 事件类型统计
|
|
|
|
|
|
|
|
|
|
| 事件类型 | 事件数量 | 说明 |
|
|
|
|
|
| ------------ | -------- | ------- |
|
|
|
|
|
| 页面浏览 (view) | 25 | 所有页面 |
|
|
|
|
|
| 点击事件 (click) | 115+ | 所有可点击元素 |
|
|
|
|
|
| **总计** | **140+** | - |
|
|
|
|
|
|
|
|
|
|
### 4.2 用户类型定义
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
enum UserType {
|
|
|
|
|
PATIENT = 2, // 患者
|
|
|
|
|
PROMOTER = 3, // 地推/邀约专员
|
|
|
|
|
PHARMACIST = 4, // 店员
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 4.3 页面名称映射
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
const PageNameMap = {
|
|
|
|
|
// 患者端
|
|
|
|
|
'pages/start/index': '启动页',
|
|
|
|
|
'pages/tourists/index': '游客页',
|
|
|
|
|
'pages/work/index': '工作人员入口',
|
|
|
|
|
'pages/index/index': '患者首页',
|
|
|
|
|
|
|
|
|
|
// 地推端
|
|
|
|
|
'ground/pages/login/index': '地推登录',
|
|
|
|
|
'ground/pages/home/index': '地推首页',
|
|
|
|
|
'ground/pages/pharmacist/index': '店员列表',
|
|
|
|
|
'ground/pages/my/index': '地推我的',
|
|
|
|
|
'ground/pages/invite/index': '地推邀约码',
|
|
|
|
|
'ground/pages/stat/index': '地推邀约明细',
|
|
|
|
|
'ground/pages/changeNickname/index': '地推修改姓名',
|
|
|
|
|
'ground/pages/changeTel/index': '地推修改手机号',
|
|
|
|
|
|
|
|
|
|
// 店员端
|
|
|
|
|
'doctor/pages/login/index': '店员登录',
|
|
|
|
|
'doctor/pages/loginForm/index': '店员注册',
|
|
|
|
|
'doctor/pages/home/index': '店员首页',
|
|
|
|
|
'doctor/pages/patientList/index': '患者列表',
|
|
|
|
|
'doctor/pages/articleList/index': '教育列表',
|
|
|
|
|
'doctor/pages/article/index': '文章详情',
|
|
|
|
|
'doctor/pages/my/index': '店员我的',
|
|
|
|
|
'doctor/pages/invite/index': '店员邀约码',
|
|
|
|
|
'doctor/pages/stat/index': '店员邀约明细',
|
|
|
|
|
'doctor/pages/changeNickname/index': '店员修改姓名',
|
|
|
|
|
'doctor/pages/changeTel/index': '店员修改手机号',
|
|
|
|
|
|
|
|
|
|
// 隐私协议
|
|
|
|
|
'privacy/pages/policy/index': '隐私政策',
|
|
|
|
|
'privacy/pages/policy1/index': '用户协议',
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 五、埋点接口规范
|
|
|
|
|
|
|
|
|
|
### 5.1 接口信息
|
|
|
|
|
|
|
|
|
|
**请求地址:** `POST /app/common/common/report-behavior`
|
|
|
|
|
|
|
|
|
|
**请求参数:**
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
| -------- | ------ | -- | -------------- |
|
|
|
|
|
| pageName | string | 是 | 页面名称编码(埋点事件标识) |
|
|
|
|
|
|
|
|
|
|
### 5.2 技术实现方案
|
|
|
|
|
|
|
|
|
|
1. **创建埋点工具类** (`utils/tracking.ts`)
|
|
|
|
|
|
|
|
|
|
* 封装埋点上报方法,调用 `report-behavior` 接口
|
|
|
|
|
|
|
|
|
|
* 管理通用参数
|
|
|
|
|
|
|
|
|
|
* 处理埋点队列和批量上报
|
|
|
|
|
|
|
|
|
|
2. **页面混入 (Mixin)**
|
|
|
|
|
|
|
|
|
|
* 在页面生命周期中自动上报页面浏览事件
|
|
|
|
|
|
|
|
|
|
* 统一处理页面参数
|
|
|
|
|
|
|
|
|
|
3. **点击事件拦截**
|
|
|
|
|
|
|
|
|
|
* 使用自定义属性标记可埋点元素
|
|
|
|
|
|
|
|
|
|
* 统一监听并上报点击事件
|
|
|
|
|
|
|
|
|
|
### 5.3 代码示例
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
// utils/tracking.ts
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 上报用户行为埋点
|
|
|
|
|
* @param pageName 埋点事件标识,格式:page_action_element
|
|
|
|
|
*/
|
|
|
|
|
export function reportBehavior(pageName: string) {
|
|
|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'POST',
|
|
|
|
|
url: '/app/common/common/report-behavior',
|
|
|
|
|
data: {
|
|
|
|
|
pageName,
|
|
|
|
|
},
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
// 埋点上报失败不阻塞业务流程
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面浏览埋点
|
|
|
|
|
* @param pagePath 页面路径
|
|
|
|
|
*/
|
|
|
|
|
export function trackPageView(pagePath: string) {
|
|
|
|
|
const pageNameMap: Record<string, string> = {
|
|
|
|
|
// 患者端
|
|
|
|
|
'pages/start/index': 'patient_start_view',
|
|
|
|
|
'pages/tourists/index': 'patient_tourists_view',
|
|
|
|
|
'pages/work/index': 'patient_work_view',
|
|
|
|
|
'pages/index/index': 'patient_home_view',
|
|
|
|
|
|
|
|
|
|
// 地推端
|
|
|
|
|
'ground/pages/login/index': 'ground_login_view',
|
|
|
|
|
'ground/pages/home/index': 'ground_home_view',
|
|
|
|
|
'ground/pages/pharmacist/index': 'ground_pharmacist_view',
|
|
|
|
|
'ground/pages/my/index': 'ground_my_view',
|
|
|
|
|
'ground/pages/invite/index': 'ground_invite_view',
|
|
|
|
|
'ground/pages/stat/index': 'ground_stat_view',
|
|
|
|
|
'ground/pages/changeNickname/index': 'ground_change_name_view',
|
|
|
|
|
'ground/pages/changeTel/index': 'ground_change_tel_view',
|
|
|
|
|
|
|
|
|
|
// 店员端
|
|
|
|
|
'doctor/pages/login/index': 'doctor_login_view',
|
|
|
|
|
'doctor/pages/loginForm/index': 'doctor_register_view',
|
|
|
|
|
'doctor/pages/home/index': 'doctor_home_view',
|
|
|
|
|
'doctor/pages/patientList/index': 'doctor_patient_view',
|
|
|
|
|
'doctor/pages/articleList/index': 'doctor_article_view',
|
|
|
|
|
'doctor/pages/article/index': 'doctor_article_detail_view',
|
|
|
|
|
'doctor/pages/my/index': 'doctor_my_view',
|
|
|
|
|
'doctor/pages/invite/index': 'doctor_invite_view',
|
|
|
|
|
'doctor/pages/stat/index': 'doctor_stat_view',
|
|
|
|
|
'doctor/pages/changeNickname/index': 'doctor_change_name_view',
|
|
|
|
|
'doctor/pages/changeTel/index': 'doctor_change_tel_view',
|
|
|
|
|
|
|
|
|
|
// 隐私协议
|
|
|
|
|
'privacy/pages/policy/index': 'privacy_policy_view',
|
|
|
|
|
'privacy/pages/policy1/index': 'user_agreement_view',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const pageName = pageNameMap[pagePath]
|
|
|
|
|
if (pageName) {
|
|
|
|
|
reportBehavior(pageName)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 点击事件埋点
|
|
|
|
|
* @param eventName 事件标识
|
|
|
|
|
*/
|
|
|
|
|
export function trackClick(eventName: string) {
|
|
|
|
|
reportBehavior(eventName)
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
// 页面中使用示例
|
|
|
|
|
import { trackPageView, trackClick } from '@/utils/tracking'
|
|
|
|
|
|
|
|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
onLoad() {
|
|
|
|
|
// 页面浏览埋点需要在登录后上报
|
|
|
|
|
app.waitLogin().then(() => {
|
|
|
|
|
trackPageView('pages/index/index')
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handleWork() {
|
|
|
|
|
// 上报点击事件
|
|
|
|
|
trackClick('patient_home_work_click')
|
|
|
|
|
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/pages/work/index',
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 5.3 埋点验证清单
|
|
|
|
|
|
|
|
|
|
实施完成后,需要验证以下埋点是否正常上报:
|
|
|
|
|
|
|
|
|
|
* [ ] 所有页面的 view 事件
|
|
|
|
|
|
|
|
|
|
* [ ] 所有可点击元素的 click 事件
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 六、数据统计维度
|
|
|
|
|
|
|
|
|
|
### 6.1 用户行为分析
|
|
|
|
|
|
|
|
|
|
* **日活跃用户 (DAU)**:按用户类型统计
|
|
|
|
|
|
|
|
|
|
* **页面访问热度**:各页面PV/UV排名
|
|
|
|
|
|
|
|
|
|
* **用户留存率**:次日/7日/30日留存
|
|
|
|
|
|
|
|
|
|
* **使用时长**:平均使用时长、页面停留时长
|
|
|
|
|
|
|
|
|
|
### 6.2 功能使用分析
|
|
|
|
|
|
|
|
|
|
* **登录转化率**:各端登录成功率
|
|
|
|
|
|
|
|
|
|
* **项目切换频次**:用户切换项目的频率
|
|
|
|
|
|
|
|
|
|
* **功能使用分布**:各功能按钮点击率
|
|
|
|
|
|
|
|
|
|
* **搜索使用情况**:搜索功能使用频次
|
|
|
|
|
|
|
|
|
|
### 6.3 业务数据分析
|
|
|
|
|
|
|
|
|
|
* **邀约转化漏斗**:扫码 -> 注册 -> 绑定 -> 跳转 -> 入组
|
|
|
|
|
|
|
|
|
|
* **材料上传完成率**:各状态转化情况
|
|
|
|
|
|
|
|
|
|
* **内容互动数据**:文章阅读、点赞数据
|
|
|
|
|
|
|
|
|
|
* **邀约码使用**:邀约码查看、保存次数
|
|
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
|
|
## 七、附录
|
|
|
|
|
|
|
|
|
|
### 7.1 埋点事件汇总表
|
|
|
|
|
|
|
|
|
|
| 事件类型 | 事件数量 | 说明 |
|
|
|
|
|
| ------------ | -------- | ------- |
|
|
|
|
|
| 页面浏览 (view) | 25 | 所有页面 |
|
|
|
|
|
| 点击事件 (click) | 115+ | 所有可点击元素 |
|
|
|
|
|
| **总计** | **140+** | - |
|
|
|
|
|
|
|
|
|
|
### 7.2 版本记录
|
|
|
|
|
|
|
|
|
|
| 版本 | 日期 | 说明 |
|
|
|
|
|
| ---- | ---------- | ------ |
|
|
|
|
|
| v1.0 | 2026-03-10 | <br /> |
|
|
|
|
|
|