1.立项背景和目标
现在大家在本地找家政、外卖、维修、租房等服务,大多要打电话、线下问,不仅麻烦还容易踩坑,信息也不透明。我做这个同城生活服务小程序,核心是把本地商家和用户连起来,让大家不用出门,在微信里就能一键找服务、买东西;同时给本地商家提供线上获客渠道,不用再靠线下发传单,也能让更多本地人看到店铺,最终让本地生活服务变得又方便又靠谱。
2.软件功能、核心功能模块的介绍
小程序/网站分用户用的客户端、商家用的管理端,还有平台管理端三个部分:
(1)用户端:打开小程序自动定位附近城市,能分类找家政保洁、家电维修、餐饮外卖、跑腿送药、租房二手这些服务;能看商家的介绍、价格和用户评价,选好服务后直接预约下单,微信付款,还能实时跟踪订单进度,服务完还能评价打分。
(2)商家端:商家可以免费入驻,上传店铺信息、服务项目和价格,接收到订单后及时处理,到店消费能直接核销;还能发优惠券、搞团购,后台能看订单数据和收入,随时提现。
(3)平台端:负责审核商家的资质,监管服务内容,处理用户和商家的纠纷,还能在首页推荐优质商家和活动,管理平台的运营和数据。
3.业务流程、功能路径描述
(1)用户流程:打开微信小程序授权登录→自动定位所在城市→选择需要的服务分类或直接搜索→查看商家/服务人员详情→选择服务时间、填写需求→微信支付下单→等待商家/师傅上门→服务完成后评价/申请售后。
(2)商家流程:提交营业执照等资料申请入驻→平台审核通过后完善店铺信息、上架服务→接收订单并接单→上门服务或到店核销→订单结算后申请提现→查看评价并回复。
(3)平台流程:审核商家入驻申请→检查发布的服务信息是否合规→处理订单纠纷和投诉→统计平台数据,优化推荐和运营。
1.整体架构和设计思路,不同模块使用的技术栈
整体思路是简单好上手、运行稳定,普通人也能看懂操作。技术上不用复杂复杂的专业框架,前端用微信小程序原生的开发工具,搭配简单的UI组件,让页面加载快、操作不卡顿;后端用SpringBoot搭建基础服务,用MySQL存用户、订单、商家这些数据,用Redis存缓存信息,加快访问速度;服务器用腾讯云,集成微信支付、地图定位这些常用接口,保证核心功能能用、稳定,后续加新功能也方便扩展。
2.“我”的负责模块和结果
我主要负责用户端的页面开发和后端核心接口的编写,具体成果:
(1)完成了小程序首页、服务列表、订单、支付等10个核心页面的开发,页面打开速度基本在2秒内,大部分用户能正常使用,没有明显卡顿;
(2)开发了用户登录、订单创建、微信支付、服务查询等25个核心接口,接口响应时间基本不超过300毫秒,支付成功的比例能达到99%以上;
(3)完成了微信支付、地图定位这两个关键功能的对接,定位能准确找到用户所在城市,支付流程顺畅,没出现频繁支付失败的问题;
(4)配合测试找出并修复了20个线上bug,保证小程序顺利上线,上线后用户反馈的操作问题基本都能及时解决。
3.“我”遇到的难点、坑,和解决方案
(1)难点1:定位不准、城市切换不及时
<1>坑:一开始定位经常飘到其他城市,用户切换城市后,附近的服务数据没及时更新,用户找不到本地服务。
<2>解决:换了更精准的地图定位接口,增加了手动选择城市的功能,同时把城市对应的服务数据存在缓存里,切换城市时直接刷新缓存,定位准确率提高到98%,城市切换后数据能实时更新。
(2)难点2:支付时出现订单异常
<1>坑:高峰期有用户支付成功后,订单状态没变成“已支付”,或者重复支付导致订单混乱。
<2>解决:给订单加了状态锁定的机制,支付完成后后台实时校验订单状态,同时增加了订单超时自动取消的功能,避免重复支付,现在支付异常的情况基本没有了。
(3)难点3:小程序页面加载慢
<1>坑:小程序刚打开时加载慢,尤其是网络不好的时候,要等很久才能看到内容。
<2>解决:把小程序的代码拆分成多个包,只加载需要的核心内容,压缩图片和静态资源,减少加载体积,页面加载速度快了近一半,用户打开小程序的等待时间明显缩短。