You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

217 lines
8.0 KiB

2 weeks ago
# 埋点文档
## 命名规范
| 类别 | 前缀 | 格式 | 示例 |
|------|------|------|------|
| 页面浏览(患者端) | `PG_` | `PG_Patient{功能名}` | `PG_PatientHome` |
| 页面浏览(医生端) | `PG_` | `PG_Doctor{功能名}` | `PG_DoctorHome` |
| 点击事件(患者端) | `BTN_` | `BTN_Patient{功能名}{操作}` | `BTN_PatientHomeNextVisit` |
| 点击事件(医生端) | `BTN_` | `BTN_Doctor{功能名}{操作}` | `BTN_DoctorHomeInvite` |
## 埋点示例
### 患者端页面访问埋点
```ts
// 页面级 PV
app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PatientHome' })
})
// 详情页带 detailId
app.waitLogin().then(() => {
app.mpBehavior({ PageName: 'PG_PatientDoctorDetail', detailId: options.id })
})
```
### 医生端页面访问埋点
```ts
app.waitLogin().then(() => {
app.mpBehavior({ doctor: true, PageName: 'PG_DoctorHome' })
})
```
### 患者端点击埋点
```ts
handleNextVisit() {
app.mpBehavior({ PageName: 'BTN_PatientHomeNextVisit' })
// ... 业务逻辑
}
```
### 医生端点击埋点
```ts
handleInvite() {
app.mpBehavior({ doctor: true, PageName: 'BTN_DoctorHomeInvite' })
// ... 业务逻辑
}
```
### 全局访问埋点
```ts
// app.ts onShow 中,记录小程序整体打开事件
app.mpBehavior({ PageName: 'MINI_PROGRAM_VISIT' })
```
## 页面级埋点(PG_)
### 患者端
| 页面路径 | 页面名称 | PageName | detailId |
|---------|---------|----------|----------|
| pages/index/index | 首页 | `PG_PatientHome` | - |
| gift/pages/recordList/index | 就诊记录列表页 | `PG_PatientRecordList` | - |
| gift/pages/record/index | 就诊记录新增页 | `PG_PatientRecordAdd` | - |
| gift/pages/recordDetail/index | 就诊记录详情页 | `PG_PatientRecordDetail` | `options.id` |
| pages/interactivePatient/index | 医患互动页 | `PG_PatientInteractive` | - |
| pages/doctorDetail/index | 医生详情页 | `PG_PatientDoctorDetail` | `options.id` |
| pages/repository/index | 知识库 | `PG_PatientRepository` | - |
| pages/repositoryDetail/index | 知识库详情页 | `PG_PatientRepositoryDetail` | `id` |
| pages/my/index | 我的 | `PG_PatientMy` | - |
| pages/qaFormDetail/index | 健康档案页 | `PG_PatientQaFormDetail` | - |
| pages/qaForm/index | 健康档案编辑页 | `PG_PatientQaForm` | - |
| pages/caseReport/index | 病例报告页 | `PG_PatientCaseReport` | - |
| pages/personalInformation/index | 个人信息页 | `PG_PatientPersonalInfo` | - |
| pages/cancellation/index | 注销账号页 | `PG_PatientCancellation` | - |
| pages/mySave/index | 我的收藏页 | `PG_PatientMySave` | - |
| pages/feedback/index | 问题反馈页 | `PG_PatientFeedback` | - |
### 医生端
| 页面路径 | 页面名称 | PageName | detailId |
|---------|---------|----------|----------|
| doctor/pages/d_home/index | 首页 | `PG_DoctorHome` | - |
| doctor/pages/d_invite/index | 邀约患者页 | `PG_DoctorInvite` | - |
| doctor/pages/d_patient/index | 患者列表页 | `PG_DoctorPatient` | - |
| doctor/pages/d_patientDetail/index | 患者详情页 | `PG_DoctorPatientDetail` | `this.data.id` |
| doctor/pages/d_taskList/index | 群发列表页 | `PG_DoctorTaskList` | - |
| doctor/pages/d_taskDetail/index | 群发详情页 | `PG_DoctorTaskDetail` | `this.data.id` |
| doctor/pages/d_createTask/index | 群发新增页 | `PG_DoctorCreateTask` | - |
| doctor/pages/d_interactive/index | 互动列表页 | `PG_DoctorInteractive` | - |
| doctor/pages/d_interactiveDoctor/index | 互动页 | `PG_DoctorInteractiveDoctor` | `this.data.patientId` |
| doctor/pages/d_my/index | 我的 | `PG_DoctorMy` | - |
| doctor/pages/d_userInfo/index | 个人信息页 | `PG_DoctorUserInfo` | - |
| doctor/pages/d_changeDoctor/index | 切换医生页 | `PG_DoctorChangeDoctor` | - |
## 点击级埋点(BTN_)
### 患者端
#### 首页(pages/index/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `routerTo(e)` | `BTN_PatientHomeFunctionCard` | 功能卡片跳转 |
| `handleNextVisit()` | `BTN_PatientHomeNextVisit` | 下次复诊入口 |
| `handleArticleView(e)` | `BTN_PatientHomeArticle` | 文章点击 |
| `handleArticleSave(e)` | `BTN_PatientHomeArticleSave` | 文章收藏 |
| `handleToastOk()` | `BTN_PatientHomeBindDoctor` | 绑定医生弹窗确认 |
| `handlePublic()` | `BTN_PatientHomeFollowPublic` | 关注公众号 |
#### 我的(pages/my/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `routerVipTo()` | `BTN_PatientMyVip` | VIP 认证入口 |
| `handleMyHealthRecord(e)` | `BTN_PatientMyHealthRecord` | 健康档案 |
| `handleQaForm()` | `BTN_PatientMyQaForm` | 健康问卷 |
| `routerTo(e)` → mySave | `BTN_PatientMySave` | 我的收藏 |
| `routerTo(e)` → personalInfo | `BTN_PatientMyPersonalInfo` | 个人信息 |
| `handleMiniDoctor()` | `BTN_PatientMyMiniDoctor` | 迷你医生 |
| `handleFeedback()` | `BTN_PatientMyFeedback` | 问题反馈 |
#### 医患互动(pages/interactivePatient/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleHot(e)` | `BTN_PatientInteractiveHotQuestion` | 热门问题点击 |
| `handleQuestion(e)` | `BTN_PatientInteractiveQuestion` | 快捷问题点击 |
| `handleConfirm()` | `BTN_PatientInteractiveSend` | 发送消息 |
| `handleAdl()` | `BTN_PatientInteractiveAdl` | ADL 评估入口 |
| `handleQol()` | `BTN_PatientInteractiveQol` | QoL 入口 |
| `handleDoctorDetail()` | `BTN_PatientInteractiveDoctorDetail` | 查看医生详情 |
#### 知识库(pages/repository/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `tabChange(e)` | `BTN_PatientRepositoryTab` | Tab 切换 |
| `handleSearch()` | `BTN_PatientRepositorySearch` | 搜索 |
| `handleCate(e)` | `BTN_PatientRepositoryCategory` | 分类筛选 |
| `handleDetail(e)` | `BTN_PatientRepositoryArticle` | 文章详情 |
| `handleStar(e)` | `BTN_PatientRepositoryStar` | 点赞 |
| `handleToggleSave(e)` | `BTN_PatientRepositorySave` | 收藏 |
#### 就诊记录列表(gift/pages/recordList/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleAdd()` | `BTN_PatientRecordListAdd` | 新增记录 |
| `handleDetail(e)` | `BTN_PatientRecordListItem` | 记录列表项 |
#### 就诊记录新增(gift/pages/record/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleSubmit()` | `BTN_PatientRecordAddSubmit` | 保存记录 |
### 医生端
#### 医生首页(doctor/pages/d_home/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handlePatient(e)` | `BTN_DoctorHomePatient` | 患者列表入口 |
| `handleInvite()` | `BTN_DoctorHomeInvite` | 邀约按钮 |
| `handleSelectYear1()` | `BTN_DoctorHomeSelectYear` | 年份筛选 |
#### 邀约患者(doctor/pages/d_invite/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleDownload()` | `BTN_DoctorInviteSend` | 发送邀约(海报保存/分享) |
#### 患者列表(doctor/pages/d_patient/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleSearch()` | `BTN_DoctorPatientSearch` | 搜索患者 |
| `handleDetail(e)` | `BTN_DoctorPatientItem` | 患者列表项 |
#### 互动列表(doctor/pages/d_interactive/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleSearch()` | `BTN_DoctorInteractiveSearch` | 搜索互动 |
| `handleDetail(e)` | `BTN_DoctorInteractiveItem` | 互动列表项 |
#### 互动页(doctor/pages/d_interactiveDoctor/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleConfirm()` | `BTN_DoctorInteractiveSend` | 发送消息 |
#### 群发列表(doctor/pages/d_taskList/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleCreate()` | `BTN_DoctorTaskListAdd` | 新增群发 |
| `handleDetail(e)` | `BTN_DoctorTaskListItem` | 群发列表项 |
#### 群发新增(doctor/pages/d_createTask/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleSubmit()` | `BTN_DoctorCreateTaskSubmit` | 创建群发 |
#### 切换医生(doctor/pages/d_changeDoctor/index)
| 方法 | PageName | 说明 |
|------|----------|------|
| `handleSubmit()` | `BTN_DoctorChangeDoctorSelect` | 切换医生选择 |