立项背景和目标:
随着共享经济发展,共享充电宝已成为人们外出时解决手机电量焦虑的刚需。本项目旨在开发一款跨平台的充电宝租借小程序/App,覆盖用户从查找附近机柜、扫码租借、在线支付到归还的全流程。同时通过电池包租借功能拓展业务场景(如便携充电包),提升用户体验与平台收益。
核心功能模块:
地图找点:基于LBS显示附近可用机柜,支持按距离/空闲状态筛选,一键导航。
扫码租借:扫描机柜二维码或手动输入编号,快速租借充电宝或电池包。
信用免押:接入第三方信用分(如芝麻信用),高信用用户免押金租借。
订单与支付:实时计费,支持微信/支付宝支付,订单历史可查,押金秒退。
用户中心:个人信息、优惠券、客服反馈、使用帮助等。
业务流程描述:
用户打开小程序 → 授权定位 → 首页地图展示附近机柜 → 点击机柜查看详情(剩余充电宝数、距离)→ 选择“扫码租借”扫描二维码 → 确认租借,系统判断信用分 → 免押/支付押金 → 机柜弹出充电宝 → 使用中可查看剩余电量/计费 → 归还时扫描任意同品牌机柜二维码 → 插入充电宝 → 系统自动结算费用并扣款 → 订单完成。
整体架构与设计思路:
项目采用 UniApp 跨端框架,实现一套代码编译为小程序、H5、iOS及Android App,大幅降低多端维护成本。前端基于 Vue 语法开发,使用 VueRouter 管理路由,通过封装原生地图、扫码、支付等插件实现高性能交互。后端采用RESTful API与前端通信,保证业务逻辑与数据分离。
“我”的负责模块与成果量化:
我独立负责前端整体架构搭建及核心业务模块开发,包括:
地图找点模块:集成高德地图SDK,实现机柜标注、自定义气泡、距离实时计算,加载速度提升25%。
扫码租借流程:优化扫码识别率至99.5%,并实现与机柜硬件通信的接口对接。
支付与订单系统:完成微信/支付宝支付集成,加入轮询机制确保支付结果100%不丢单。
性能优化:通过路由懒加载、图片压缩、组件复用,使小程序首屏加载时间从1.8s降至1.2s,日活用户峰值达8000+,用户留存率提升15%。
遇到的难点与解决方案:
跨端地图兼容性:不同平台(微信小程序、App)地图API差异大。
解决:使用UniApp的条件编译,针对不同平台编写对应的地图初始化与事件处理代码,同时封装统一的接口调用。
扫码实时性与硬件状态同步:用户扫码后需快速获取机柜状态,避免重复租借。
解决:采用WebSocket维持长连接,实时推送机柜状态变化;扫码时先本地校验二维码有效性,再异步请求后端确认,界面给出加载反馈。
复杂计费逻辑:涉及阶梯计费、优惠券叠加、押金抵扣等,易出现金额误差。
解决:将计费核心逻辑放在后端,前端仅展示结果,并通过Mock数据反复测试边界条件(如跨天计费、优惠券失效场景)。
离线归还处理:用户归还时网络不佳可能导致订单未正确结束。
解决:增加本地缓存队列,在网络恢复后自动重试提交归还请求,并主动推送消息提醒用户确认。