|
1
|
4
|
756
|
0
|
1787817232
|
## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量 ## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量柱状图排行,支持下钻到城市维度。
## 核心决策
- 统计口径:当月**新激活**上线设备(首次上线,取 )
- 地区归属:取设备绑定**门店地址**的省/市字段
- 交互方式:点击省份**下钻**到城市排行(非 Tab 切换)
- 权限:跟随现有 角色体系,超管看全国,运营商看自己区域
## 不在范围内
- 不做 Excel 导出
- 不做地图热力图
- 不做区/县级别
- 不做跨月趋势
## 产物文件
[intent/device-online-stats-by-region.md](intent/device-online-stats-by-region.md)
## PM 审核要点
- [ ] 需求理解是否准确?
- [ ] 本次是否接受排期进入 Design 阶段?
...
|
1
|
0
|
Edit
Delete
|
|
2
|
4
|
756
|
0
|
1787817722
|
## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量 ## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量柱状图排行,支持下钻到城市维度。
## 核心决策
- 统计口径:当月**新激活**上线设备(首次上线,取 ahead_authenticate_log 表的 create_time 字段)
- 地区归属:取设备绑定**门店地址**的省/市字段
- 交互方式:点击省份**下钻**到城市排行(非 Tab 切换)
- 权限:跟随现有 agent_id 角色体系,超管看全国,运营商看自己区域
## 不在范围内
- 不做 Excel 导出
- 不做地图热力图
- 不做区/县级别
- 不做跨月趋势
## 产物文件
[intent/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/intent/device-online-stats-by-region/intent/device-online-stats-by-region.md)
## PM 审核要点
- [ ] 需求理解是否准确?
- [ ] 本次是否接受排期进入 Design 阶段?
...
|
0
|
0
|
Edit
Delete
|
|
3
|
4
|
756
|
0
|
1787818973
|
## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备 ## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量柱状图排行,支持下钻到城市维度。
## 核心决策
- 统计口径:当月**新激活**上线设备(首次上线,取 ahead_authenticate_log 表的 create_time 字段)
- 地区归属:取设备绑定**门店地址**的省/市字段
- 交互方式:点击省份**下钻**到城市排行(非 Tab 切换)
- 权限:跟随现有 agent_id 角色体系,超管看全国,运营商看自己区域
## 不在范围内
- 不做 Excel 导出
- 不做地图热力图
- 不做区/县级别
- 不做跨月趋势
## 产物文件
[intent/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/intent/device-online-stats-by-region/intent/device-online-stats-by-region.md)
## PM 审核要点
- [x] 需求理解是否准确?
- [ ] 本次是否接受排期进入 Design 阶段?
...
|
0
|
0
|
Edit
Delete
|
|
4
|
4
|
756
|
0
|
1787818974
|
## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备 ## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量柱状图排行,支持下钻到城市维度。
## 核心决策
- 统计口径:当月**新激活**上线设备(首次上线,取 ahead_authenticate_log 表的 create_time 字段)
- 地区归属:取设备绑定**门店地址**的省/市字段
- 交互方式:点击省份**下钻**到城市排行(非 Tab 切换)
- 权限:跟随现有 agent_id 角色体系,超管看全国,运营商看自己区域
## 不在范围内
- 不做 Excel 导出
- 不做地图热力图
- 不做区/县级别
- 不做跨月趋势
## 产物文件
[intent/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/intent/device-online-stats-by-region/intent/device-online-stats-by-region.md)
## PM 审核要点
- [ ] 需求理解是否准确?
- [ ] 本次是否接受排期进入 Design 阶段?
...
|
0
|
0
|
Edit
Delete
|
|
5
|
4
|
756
|
0
|
1787822699
|
## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量 ## 需求摘要
在「数据报表 > 设备分析」下新增报表,按月筛选展示各省份新激活上线设备数量柱状图排行,支持下钻到城市维度。
## 核心决策
- 统计口径:当月**新激活**上线设备(首次上线,取 ahead_authenticate_log 表的 create_time 字段)
- 地区归属:取设备绑定**门店地址**的省/市字段
- 交互方式:点击省份**下钻**到城市排行(非 Tab 切换)
- 权限:跟随现有 agent_id 角色体系,超管看全国,运营商看自己区域
## 不在范围内
- 不做 Excel 导出
- 不做地图热力图
- 不做区/县级别
- 不做跨月趋势
## 产物文件
[intent/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/intent/device-online-stats-by-region/intent/device-online-stats-by-region.md)
## PM 审核清单(参考 REVIEW.md)
- [ ] 需求背景和问题描述是否准确反映了原始诉求?
- [ ] 期望结果是否可验证?
- [ ] 不在范围内的排除项是否合理?
- [ ] 受影响系统判断是否正确(admin / ahead_authenticate_log)?
- [ ] 本次是否接受排期,进入 Design 阶段?
...
|
0
|
0
|
Edit
Delete
|
|
6
|
4
|
757
|
0
|
1787824027
|
## 关联 Intent
PR #1 — 按省市统计设备月度新增上线数量报表
## 技术方案摘要 ## 关联 Intent
PR #1 — 按省市统计设备月度新增上线数量报表
## 技术方案摘要
**数据链路:** ahead_authenticate_log → ahead_family_servers → ahead_yc_shop(取省市字段)
**新增接口(DeviceOnlineReport 控制器):**
- POST /DeviceOnlineReport/getStats — 省份排行 + 当月总数
- POST /DeviceOnlineReport/getCityStats — 城市下钻
**前端:** Vue 页面 + ECharts 柱状图,点击省份下钻到城市
**权限:** 复用 PcServer agent_id 过滤,无需新增权限规则
## 产物文件
[spec/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/spec/device-online-stats-by-region/spec/device-online-stats-by-region.md)
## Tech Lead 审核清单
- [ ] 数据链路是否正确(ahead_family_servers._shop_id 关联的表待确认)?
- [ ] 接口设计是否合理?参数/响应格式是否符合项目规范?
- [ ] ECharts 引入方式是否认可(按需引入)?
- [ ] 权限处理方式是否正确?
- [ ] 待确认项是否需要在 Build 前解决?
...
|
1
|
0
|
Edit
Delete
|
|
7
|
4
|
757
|
0
|
1787827290
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## UI 原型(Design 阶段产物)
**原型链接:** https://claude.ai/code/artifact/f78c807a-ae4c-4261-bd42-fb73da2336a9
包含两个页面状态:
- ① 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图排行
- ② 广东省城市下钻 — 面包屑「全国 › 广东省」+ 城市排行 + 返回全国按钮
**交互流程:**
- 点击省份柱子 → 进入该省城市下钻视图
- 点击面包屑「全国」或「返回全国」按钮 → 返回省份视图
> PM 审核要点:布局、交互路径、数据说明是否符合预期,确认后在本 PR approve。
---
## 技术规格(Tech Lead 确认)
**数据链路:**
> 待确认:ahead_family_servers._shop_id 是否关联 ahead_yc_shop._id,Build 阶段查库验证。
**新增接口(新建控制器 DeviceOnlineReport.php):**
- — 省份排行 + 当月总数
- — 城市下钻
**前端:** Vue 页面组件 + ECharts 横向柱状图,点击省份下钻到城市视图
**权限:** agent_id 从 session 取,agent_id=0 为超管不过滤
**安全要点:**
- month 参数正则校验 /^\d{4}-\d{2}$/
- province_id 强制 intval()
- agent_id 从 session 取,不信任前端传参
**各端影响:** 仅 admin 端
---
## 审核清单
### PM 审核(原型)
- [ ] 页面布局符合预期?
- [ ] 省份下钻 / 返回交互路径正确?
- [ ] 数据定义(新增上线 = 首次激活,归属 = 门店地址)理解一致?
### Tech Lead 审核(技术规格)
- [ ] 数据链路正确?表关联关系有无误判?
- [ ] 接口设计合理?参数和响应格式符合规范?
- [ ] 权限处理方式正确?
- [ ] 安全检查要点覆盖?
- [ ] 前端方案可行(ECharts 按需引入)?
**通过后:** PM + Tech Lead 均 Approve → Merge → 召开评审会议 → 进入 Plan 阶段...
|
0
|
0
|
Edit
Delete
|
|
8
|
4
|
757
|
0
|
1787827677
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## 审核顺序:PM 先确认原型,再由 Tech Lead Approve Spec
---
## 第一步:PM 确认原型
**原型链接:** https://claude.ai/code/artifact/f78c807a-ae4c-4261-bd42-fb73da2336a9
页面状态:
- ① 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图排行
- ② 广东省城市下钻 — 面包屑「全国 › 广东省」+ 城市排行 + 返回全国
交互流程:点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回省份视图。
**PM 审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次激活,归属 = 门店地址)理解一致?
✅ **PM 确认方式:在本 PR 评论「原型确认 ✅」即可,无需 Approve**
---
## 第二步:Tech Lead 审核 Spec(PM 确认后进行)
**数据链路:**
> 待确认:ahead_family_servers._shop_id 是否关联 ahead_yc_shop._id,Build 阶段查库验证。
**新增接口(新建控制器 DeviceOnlineReport.php):**
- POST /DeviceOnlineReport/getStats — 省份排行 + 当月总数
- POST /DeviceOnlineReport/getCityStats — 城市下钻
**前端:** Vue 页面组件 + ECharts 横向柱状图,点击省份下钻到城市视图
**权限:** agent_id 从 session 取,agent_id=0 为超管不过滤
**安全要点:**
- month 参数正则校验 /^\d{4}-\d{2}$/
- province_id 强制 intval()
- agent_id 从 session 取,不信任前端传参
**Tech Lead 审核 checklist:**
- [ ] 数据链路正确?表关联关系有无误判?
- [ ] 接口设计合理?参数和响应格式符合规范?
- [ ] 权限处理方式正确?
- [ ] 安全检查要点覆盖?
- [ ] 前端方案可行(ECharts 按需引入)?
✅ **Tech Lead 直接 Approve → Merge → 召开评审会议 → 进入 Plan 阶段**...
|
0
|
0
|
Edit
Delete
|
|
9
|
4
|
757
|
0
|
1787829219
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## 审核顺序:PM 先确认原型,再由 Tech Lead Approve
---
## 第一步:PM 确认原型
**原型文件:**
(从仓库拉取后浏览器直接双击打开,可点击交互)
页面状态:
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
交互流程:点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**PM 审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次激活,归属 = 门店地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**PM 确认方式:在本 PR 评论「原型确认 ✅」即可,无需 Approve**
---
## 第二步:Tech Lead 审核(PM 确认后进行)
**数据链路:**
> 待确认:ahead_family_servers._shop_id 是否关联 ahead_yc_shop._id,Build 阶段查库验证。
**新增接口(新建控制器 DeviceOnlineReport.php):**
- POST /DeviceOnlineReport/getStats — 省份排行 + 当月总数
- POST /DeviceOnlineReport/getCityStats — 城市下钻
**权限:** agent_id 从 session 取,= 0 为超管不过滤
**安全:** month 正则校验、province_id intval()、agent_id 不信任前端
**Tech Lead 审核 checklist:**
- [ ] 数据链路正确?表关联关系有无误判?
- [ ] 接口设计合理?参数和响应格式符合规范?
- [ ] 权限处理方式正确?
- [ ] 安全检查要点覆盖?
- [ ] 前端方案可行(ECharts 按需引入)?
**Tech Lead Approve → Merge → 评审会议(里程碑内所有需求一起)→ Plan 阶段**...
|
0
|
0
|
Edit
Delete
|
|
10
|
4
|
758
|
0
|
1787829439
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## 审核顺序:PM 先确认原型,再由 Tech Lead Approve
---
## 第一步:PM 确认原型
**原型文件:**
(从仓库拉取后浏览器直接双击打开,可点击交互)
页面状态:
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
交互流程:点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**PM 审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次激活,归属 = 门店地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**PM 确认方式:在本 PR 评论「原型确认 ✅」即可,无需 Approve**
---
## 第二步:Tech Lead 审核(PM 确认后进行)
数据链路、接口设计、权限和安全要点见 。
**Tech Lead 审核 checklist:**
- [ ] 数据链路正确?表关联关系有无误判?
- [ ] 接口设计合理?参数和响应格式符合规范?
- [ ] 权限处理方式正确?
- [ ] 安全检查要点覆盖?
- [ ] 前端方案可行(ECharts 按需引入)?
**Tech Lead Approve → Merge → 评审会议(里程碑内所有需求一起)→ Plan 阶段**...
|
1
|
0
|
Edit
Delete
|
|
11
|
4
|
758
|
0
|
1787884622
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**原型文件:** `design/assets/device-online-stats-by-region/prototype.html`
(从仓库拉取后浏览器直接双击打开,可点击交互)
页面状态:
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
交互流程:点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|
|
12
|
4
|
758
|
0
|
1787884914
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**在线原型(可直接点击交互):**
https://claude.ai/code/artifact/b50eaa98-689b-4742-8024-cdf74f95d5c8
> 无需下载,浏览器直接打开即可交互。
**页面状态:**
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
**交互流程:** 点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|
|
13
|
4
|
758
|
0
|
1787887148
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**原型文件(点击直接打开,可交互):**
[设备上线分布 — 原型.html](https://gitea.g-hi.com/laiqiaojie/jh-project/raw/branch/design/device-online-stats-by-region/design/assets/device-online-stats-by-region/prototype.html)
> 浏览器直接打开可交互,无需任何工具。
**页面状态:**
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
**交互流程:** 点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|
|
14
|
4
|
758
|
0
|
1787891110
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**原型文件下载:**
[设备上线分布 prototype.html](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/design/device-online-stats-by-region/design/assets/device-online-stats-by-region/prototype.html)
> 打开链接后点击页面右上角「原始文件」→ 右键另存为 → 本地双击打开,可交互。
**页面状态:**
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
**交互流程:** 点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|
|
15
|
4
|
758
|
0
|
1787891481
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**在线原型(点击直接打开,可交互,无需登录):**
https://claude.ai/code/artifact/b50eaa98-689b-4742-8024-cdf74f95d5c8
**页面状态:**
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
**交互流程:** 点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|
|
16
|
4
|
758
|
0
|
1787906875
|
## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https:// ## 关联 Intent
[PR #1 — 按省市统计设备月度新增上线数量报表](https://gitea.g-hi.com/laiqiaojie/jh-project/pulls/1)
---
## PM 确认原型
**需求说明文档:**
[design/device-online-stats-by-region.md](https://gitea.g-hi.com/laiqiaojie/jh-project/src/branch/design/device-online-stats-by-region/design/device-online-stats-by-region.md)
**在线原型(点击直接打开,可交互,无需登录):**
https://claude.ai/code/artifact/b50eaa98-689b-4742-8024-cdf74f95d5c8
**页面状态:**
- 全国省份视图 — 月份筛选器 + 当月总数卡片 + 各省份横向柱状图
- 城市下钻视图 — 点击省份柱子进入,面包屑「全国 › 广东省」+ 城市排行
**交互流程:** 点击省份柱子进入城市视图,点击面包屑「全国」或「返回全国」按钮返回。
**审核 checklist:**
- [ ] 页面布局和组件符合预期?
- [ ] 交互路径(下钻、返回)正确?
- [ ] 数据定义(新增上线 = 首次上线,归属 = 门店注册地址)理解一致?
- [ ] 权限范围(超管看全国,运营商看自己区域)正确?
**确认方式:在本 PR 评论「原型确认 ✅」,然后 Approve + Merge**...
|
0
|
0
|
Edit
Delete
|