本项目是一款面向美甲消费者的美甲店预约与服务管理小程序,核心围绕“发现服务—在线预约—订单管理—会员成长”闭环设计。对于使用者(C端顾客)而言,主要实现以下功能:
服务浏览与筛选模块:首页展示热门服务与公告,服务列表按“基础美甲”“彩绘设计”“延长甲”“护理保养”等品类分类展示,每个服务项清晰呈现价格、耗时,帮助用户快速对比并选择心仪项目。
在线预约与下单模块:用户选定服务后可发起预约,选择门店与时段,生成待支付订单,完成支付后状态变更为“已预约”,实现足不出户锁定服务资源。
订单全生命周期管理:“我的订单”页面按“全部/待支付/已预约/已完成”四态筛选,用户可随时追踪订单进度,查看历史消费记录(含技师、时间、实付金额),支撑售后核对与复购参考。
会员中心与资产体系:集成余额、积分、次卡、等级(如银卡)等虚拟资产,支持余额充值、次卡管理、积分记录查询,通过会员等级与积分激励提升用户粘性,形成“消费—积累—权益”的良性循环。
门店信息与客服入口:提供门店地址、客服咨询通道及公告通知,保障信息触达与售后支持。
二)主要功能路径
预约主路径:首页“立即预约”/底部“服务”Tab → 按品类或全部列表浏览 → 点击具体服务(如“猫眼美甲”)→ 选择门店与时段 → 确认预约并支付 → 跳转“已预约”订单页。
订单回溯路径:底部“我的”Tab → “我的订单” → 切换状态标签(如“已完成”)→ 查看历史订单详情。
会员资产查看路径:底部“我的”Tab → 顶部会员卡片 → 进入余额/积分/次卡/等级详情页 → 可发起充值或查看变动记录。
(一)角色参与与个人职责
本项目团队规模为 1 名产品经理 + 2 名前端开发 + 1 名后端开发 + 1 名设计师 + 1 名测试,开发周期共计 4 周(含设计评审、前后端联调与测试修复)。
“我”作为 前端开发负责人,承担以下核心任务:
主导小程序端整体架构设计与页面搭建,负责首页、服务列表、预约下单、订单管理与会员中心等全部核心页面的组件化开发与交互实现;
封装统一的请求拦截器、全局状态管理(用户信息、登录态、购物车/预约草稿),实现前后端接口联调与异常兜底;
配合设计师完成 Figma 设计稿的像素级还原,针对移动端长列表渲染、图片懒加载进行性能优化;
协同后端开发定义接口契约(RESTful API),推动 mock 数据与真实接口平滑切换,确保预约支付链路闭环。
(二)技术栈、架构与实现亮点
技术栈:小程序端采用 UniApp(Vue 3 + TypeScript) 进行跨端开发,兼顾微信小程序与后续多端扩展;状态管理使用 Pinia;后端采用 Node.js(NestJS) + SQL(MySQL) 提供 RESTful 接口,缓存层引入 Redis 处理预约时段锁;设计协作基于 Figma。
架构亮点:
预约时段并发控制:同一技师同一时段可能被多人抢约,后端基于 Redis 分布式锁 + 数据库乐观锁(版本号)实现库存扣减,避免超约;
订单状态机设计:订单状态流转(待支付→已预约→已完成/已取消)通过枚举状态机管理,配合定时任务(如 15 分钟未支付自动取消)保障业务严谨性;
会员资产事务一致性:充值、消费扣减余额、增加积分等操作采用数据库事务包裹,并通过消息队列异步记录积分变动日志,保证资产最终一致性。
难点攻克:支付回调与预约状态同步是最大难点,我们通过微信支付异步通知 + 本地定时轮询补偿机制双重保障,确保支付成功后订单状态与预约资源同步锁定不