卡小标 · 项目说明
面向重卡司机的沿途标点、临时车队、跑线记录与贡献共建 App。
一、项目是什么
卡小标是一款主要面向重卡司机、卡友和临时运输车队的移动应用。它不是只看路线的基础导航,而是把司机在路上真正需要的信息沉淀到共同地图上:哪里能吃饭、哪里能补胎、哪里能修车、哪里有电路、哪里能充电、哪里有水站、哪里有停车和休息点,以及封路、限高、超限站等重要路况。
核心理念是“卡友互助,信息共建”。老司机跑过的路、踩过的坑、找到的好点,可以标记到公共地图上;新司机打开地图就能看到,不必重复试错,也不需要在微信群里翻聊天记录。
后期临时车队属于增值服务:领队创建房间,队友通过房间号加入,在房间里共享位置、共享标点、查看队友车辆,适合老板带新司机、临时组队运输、车队沿途集合等场景。
二、解决什么问题
- 老司机带新司机时,口头说“前面停车吃饭”,新司机没看到容易开过。
- 沿途哪里能补胎、修车、充电、加水、停车,信息分散,没有统一定位。
- 微信群里的位置和路线,新司机加入晚一点就找不到。
- 临时车队的队友位置不能只看地图公共层,需要房间内才能看到。
- 一条跑过的线路需要沉淀下来,后续可以分享给新司机回看。
- 长期使用的司机需要贡献体系,让标点、纠错、带队产生长期价值。
三、核心功能
四、技术架构
客户端
- uni-app + Vue 3,主要构建 Android APK。
- HBuilderX 作为编译、运行和云资源管理工具。
- 腾讯地图用于地图展示、标记、定位和地图交互。
- App 包名:
cn.hanqiu.kaxiaobiao。
云端
- uniCloud 支付宝云,云空间名:
ka-youbang。 - 云函数名:
api,所有业务通过一个入口和action分发。 - 客户端统一调用
callApi(action, data),携带登录 token 和本地用户标识。 - 数据库使用 uniCloud 数据集合,密码使用 PBKDF2 加密保存,登录使用会话 token。
地图与定位
- 腾讯地图 App Key:
6WSBZ-UP2CZ-HRKXM-TVINN-7W6UF-SCFXT。 - Android 已配置定位、网络、前台定位、通知、安装包更新和开机相关权限。
- 位置上报使用 GCJ-02 坐标,方向角按正北为 0 度、顺时针 0-360 度保存。
- 房间过期后停止位置共享,保留期内领队可续费恢复,超期销毁并清理位置数据。
五、数据表说明
当前项目共有 15 张业务表:
| 数据表 | 用途 |
|---|---|
users | 用户账号、手机号、昵称、车牌号、密码哈希等资料。 |
user_sessions | 登录会话 token 和退出登录状态。 |
points | 公共地图标点,包含类型、经纬度、标题、说明、电话、发布人等。 |
point_types | 标点类型配置,支持默认类型和用户自定义类型。 |
point_confirmations | 标点确认记录,用于判断标点是否仍存在以及确认数。 |
contribution_events | 贡献事件明细,例如发布标点、纠错、确认、跑线、带队。 |
user_contribution_summaries | 用户贡献总分、等级和统计汇总。 |
tracks | 跑线记录主表,保存线路名称、公里数、时间、分享码和所属用户。 |
track_points | 轨迹点分表,按批次保存轨迹经纬度、速度和时间,避免单条数据过大。 |
fleets | 临时车队房间,保存房间号、房名、目的地、领队、到期时间和保留期。 |
fleet_members | 车队成员关系,记录领队/队员、车牌、加入和退出状态。 |
fleet_locations | 车队队友位置,包含经纬度、速度、方向角、精度和上报时间。 |
fleet_points | 房间私有标点,例如集合点,只有房间成员可见。 |
orders | 房间套餐订单,记录天数、价格、支付状态和所属车队。 |
app_versions | App 最新版本信息和安装包下载地址。 |
六、云接口清单
所有接口统一调用云函数 api,请求中通过 action 指定接口名。以下为当前已实现的 31 个接口。
账号与用户
| 接口 | 作用 | 主要参数 |
|---|---|---|
register | 手机号+密码注册,创建用户和初始会话。 | phone、password、nickname、plateNo |
login | 手机号+密码登录,返回 token 和用户资料。 | phone、password |
logout | 退出登录并失效当前会话。 | 无 |
getMe | 读取当前登录用户资料。 | 无 |
updateProfile | 修改昵称和车牌号。 | nickname、plateNo |
公共标点
| 接口 | 作用 | 主要参数 |
|---|---|---|
getPoints | 读取公共地图标点列表。 | limit |
getPointTypes | 读取云端标点类型,返回所有可见类型。 | 无 |
addPointType | 新增用户自定义标点类型。 | name、label、value |
updatePointType | 修改现有标点类型名称或颜色。 | id、name、label、value |
submitPoint | 发布一个公共地图标点。 | type、typeLabel、name、note、phone、latitude、longitude、photos |
confirmPoint | 确认某标点仍存在,云端校验距离和重复确认。 | pointId、latitude、longitude |
贡献体系
| 接口 | 作用 | 主要参数 |
|---|---|---|
getContributionSummary | 读取当前用户的贡献总分、等级和下一等级进度。 | 无 |
listContributionEvents | 读取贡献变动明细。 | limit |
跑线与轨迹
| 接口 | 作用 | 主要参数 |
|---|---|---|
submitTrack | 上传一段跑线轨迹,主表与轨迹点分表保存。 | title、points、distanceMeters、durationSeconds、startAt、endAt |
listTracks | 读取当前用户的线路列表。 | limit |
getTrackDetail | 读取指定线路详情和轨迹点。 | id |
getTrackByShareCode | 通过 6 位分享码读取别人的线路。 | code |
临时车队
| 接口 | 作用 | 主要参数 |
|---|---|---|
createFleet | 创建临时车队房间,生成 6 位房间号。 | title、destination、paid |
joinFleet | 通过房间号加入车队。 | roomNo |
renameFleet | 领队修改车队名称。 | fleetId、title |
getMyFleet | 读取当前用户所在的活跃车队。 | 无 |
getFleetRoom | 读取房间、成员、队友位置、房间标点。 | fleetId |
reportFleetLocation | 上报当前位置、速度、精度和车头方向角。 | fleetId、latitude、longitude、speed、accuracy、heading |
addFleetPoint | 在房间内增加集合点等私有标点。 | fleetId、type、title、latitude、longitude |
leaveFleet | 退出车队;领队退出则解散房间。 | fleetId |
订单与支付
| 接口 | 作用 | 主要参数 |
|---|---|---|
getAppConfig | 读取套餐、房间价格、支付开关和折扣配置。 | 无 |
createOrder | 创建房间套餐订单。 | productType、planCode、fleetId、title、destination |
payOrder | 支付订单。当前为测试模式,不真实扣款。 | orderNo |
queryOrder | 查询订单支付状态。 | orderNo |
listOrders | 读取当前用户订单列表。 | limit |
版本更新
| 接口 | 作用 | 主要参数 |
|---|---|---|
getLatestVersion | 读取最新 App 版本号和安装包地址。 | 无 |
七、支付、车队与套餐现状
临时车队支持以下套餐:
| 套餐 | 天数 | 价格 | 每天约 | 折扣 |
|---|---|---|---|---|
| 1 天 | 1 | 1 元 | 约 1.00 元/天 | 无折扣 |
| 1 周 | 7 | 5 元 | 约 0.71 元/天 | 7.1 折 |
| 1 个月 | 30 | 15 元 | 约 0.50 元/天 | 5.0 折 |
| 1 年 | 365 | 120 元 | 约 0.33 元/天 | 3.3 折 |
当前支付模式:测试模式。订单、支付、开房间、续费、到期保留流程已经跑通,但不会真实扣款。真正接微信支付后,需要微信开放平台移动应用 AppID,并增加支付回调接口。
房间到期后保留 30 天,期间只有领队可以续费复活;超过保留期自动销毁,提醒中会显示保留截止日期和剩余天数。
八、隐私、权限与备案
用户数据
- 注册使用手机号和密码,不使用短信验证码,降低前期成本。
- 昵称和车牌号用于车队内互相识别。
- 当前位置只用于公共地图定位、跑线记录和临时车队位置共享。
- 公共地图只显示标点和自己的位置;只有加入同一个临时车队后,才能看到队友位置。
权限
- 定位权限:用于定位、跑线、车队位置共享。
- 网络权限:用于访问腾讯地图和 uniCloud 云服务。
- 通知/前台定位权限:为后续后台跑线和版本更新预留。
- 安装包权限:为后续 App 内更新预留。
备案信息
开发运营主体:汉裘互联网科技。
ICP 备案号:冀ICP备2026010989号。
联系邮箱:250874125@qq.com。
九、当前进度与后续计划
已经完成
注册登录 公共标点 标点确认 自定义标点类型 贡献体系 跑线记录 线路分享 临时车队 队友方向 订单框架 隐私政策 下载页
后续计划
真实微信支付 管理后台 标点清理机制 老司机路线推荐 充电计划 集合点语音提醒 头像上传 应用市场资料 正式 APK 发布