骑手应用¶
骑手应用是 OvApp 面向客户的部分,专为使用 OVES 电池换电服务的骑手设计。它提供自助式仪表板,用于管理订阅、查找换电站和跟踪活动。
身份验证与登录¶

骑手打开应用时,首先检查是否有已保存的凭据:
- 老用户 — 应用显示"欢迎回来"界面,包含其姓名和个人资料,提供两个选项:
- 继续 — 登录并在后台开始预取数据,以获得更快的体验
- 切换账户 — 清除凭据并显示登录表单

- 新会话 — 骑手看到登录界面,使用其电话号码和密码登录
Note
骑手无法在此界面直接注册。他们只能使用为其提供的凭据登录。
主界面¶

登录后,骑手进入主界面,该界面有四个主要部分:
我的自行车卡片¶
显示骑手的车辆和订阅信息:
| 字段 | 描述 |
|---|---|
| 车辆 ID | 骑手分配的车辆 |
| 付款状态 | 活跃、续费到期、逾期等 |
| 总换电次数 | 完成的电池换电次数 |
| 上次换电 | 最近一次换电时间 |
此数据通过使用其订阅码调用 identifyCustomer GraphQL mutation 获取,返回服务计划数据,包括分配的车辆、换电次数、能源使用情况和付款状态。
账户余额卡片¶
以骑手的计费货币(如 XOF)显示账户余额。
- 余额根据能源服务数据计算:剩余能源(配额减去已用)乘以单价
- 充值按钮允许骑手增加资金
快速操作¶
| 按钮 | 操作 |
|---|---|
| 查找站点 | 导航到站点地图视图 |
| 我的 QR 码 | 打开一个弹窗,显示由其订阅码生成的 QR 码(服务员在换电时扫描此码) |
附近站点地图¶
显示附近换电站标记的交互式 Leaflet/OpenStreetMap。
站点发现流程:
- 应用发布 MQTT 请求,获取与骑手订阅计划关联的车队 ID。
- 使用这些车队 ID 查询 GraphQL 端点(
getFleetAvatarsSummary),获取站点位置和电池可用性。
每个站点显示:
- 站点名称
- 与骑手的距离(使用 GPS 的 Haversine 公式计算)
- 可用的满电电池数量
交互操作:
- 点击站点缩放地图
- 点击导航箭头绘制从骑手位置到站点的路线
站点界面¶

包含所有换电站的全屏地图视图。
功能¶
- 按站点名称筛选的搜索栏
- 地图下方每个站点的站点列表卡片
- 每个站点卡片显示:
| 字段 | 描述 |
|---|---|
| 名称 | 站点名称 |
| 坐标 | 站点位置 |
| 距离 | 与骑手当前位置的距离 |
| 可用电池 | 仅统计 100% 电量的电池数量 |
交互操作¶
- 点击站点在地图上高亮显示
- 导航按钮绘制从骑手当前位置到所选站点的路线
- 需要位置权限——如果 GPS 被禁用则显示后备界面或提示
- 随位置变化动态更新
活动界面¶

显示所有换电和付款记录的交易历史,按日期分组(今天、昨天或具体日期)。
数据来源¶
活动数据从 servicePlanActions GraphQL 端点获取,返回:
- 付款操作 — 充值、订阅付款
- 服务操作 — 电池换电、电力使用
显示内容¶
每条记录显示:
- 类型图标 — 换电箭头、货币符号等
- 标题 — 操作描述
- 金额 — 交易金额
- 时间戳 — 发生时间
筛选标签¶
- 全部 — 显示所有记录
- 换电 — 仅显示电池换电历史
- 付款 — 仅显示付款和充值历史
空状态¶
当没有记录时显示"未找到活动"。
个人资料界面¶

显示骑手的个人信息和账户设置。
显示信息¶
- 骑手头像和全名
- 电话号码
- 账户余额
- 总换电次数
- 订阅计划名称和有效期
- 车辆信息
- 付款状态
菜单项目¶
| 项目 | 描述 |
|---|---|
| 账户详情 | 查看个人信息;通过 Odoo API 更改密码 |
| 我的车辆 | 车辆身份和注册详情 |
| 订阅计划 | 查看和管理计划及账单 |
| 付款方式 | 关联的付款选项 |
| 帮助与支持 | 常见问题和联系支持/工单页面 |
| 退出登录 | 退出骑手会话 |
充值弹窗¶
为骑手账户添加资金的多步骤流程:
- 选择金额 — 选择预设金额或输入自定义金额
- 选择付款方式 — 选择付款方式
- 输入交易 ID — 提供付款参考
- 确认 — 提交充值
成功后:
- 余额立即更新
- 活动历史中出现新的活动条目
账户详情弹窗¶
允许骑手更改密码:
- 输入当前密码
- 输入新密码
- 确认
成功更改后,应用注销骑手,使其可以使用新凭据登录。
底部导航¶
具有四个标签的持久底部导航栏,用于在界面之间快速切换:
| 标签 | 界面 |
|---|---|
| 主页 | 包含自行车卡片、余额、快速操作和附近站点的仪表板 |
| 站点 | 包含所有换电站的全屏地图 |
| 活动 | 带筛选器的交易历史 |
| 个人资料 | 个人信息、设置和账户管理 |
数据流摘要¶
登录时,应用并行发起多个 API 调用以提高速度:
| API 调用 | 返回数据 |
|---|---|
| Odoo 仪表板 API | 付款摘要 |
| 订阅 API | 活跃订阅详情 |
identifyCustomer GraphQL mutation |
车辆、换电次数、能源余额 |
servicePlanActions GraphQL query |
活动历史 |
MQTT 请求 + getFleetAvatarsSummary GraphQL query |
站点位置和电池可用性 |
每次调用独立更新其对应的 UI 部分,因此骑手看到数据逐步出现,而无需等待所有内容加载完毕。