新手做校园外卖平台,小程序可按“校方准入确认、人工试跑、最小MVP上线、一笔订单加异常验收”推进:先问清校外餐入校、交接点和配送时段,再用表单跑几天,最后用标准SaaS或轻量开发先跑通下单、接单、校门交接、楼栋分拣和结算。
校园外卖的第一步不是画页面,而是拿到校方书面答复。需要确认校外餐能否入校、校门或站点在哪交接、送到楼下还是固定点、配送时段、学生团队通行规则和餐品暂存条件。得到答复后,把它整理成学校、校区、校门、站点、楼栋和时段六类配置,再进入小程序功能设计。
校方约束 | 需要书面确认 | 对应系统配置 |
|---|---|---|
校外餐入校 | 是否允许、适用校区和时段 | 商家准入、服务区域、营业时段 |
交接位置 | 校门、驿站或固定交接点 | 校门、站点、取餐点地址 |
送达边界 | 楼下、固定点或寝室 | 楼栋、楼层、配送方式 |
人员通行 | 学生骑手能否进校、通行时段 | 骑手角色、班次、禁送区域 |
下面的配置片段用于说明字段关系,落地时按实际系统格式调整。地址层级越清楚,后续分拣、派单和通知越容易对上现场。
campusConfig = {
school: 'A学院',
campus: '东校区',
gates: [{ id: 'gate-1', name: '东门', open: '10:30-13:30' }],
stations: [{ id: 'st-1', gateId: 'gate-1', buildings: ['B1', 'B2'] }],
serviceSlots: [{ id: 'lunch', start: '11:00', end: '13:00' }]
}单校区或两三个校区、没有专职技术团队,先用微信群、表单和台账试跑一到两周,记录订单量、高峰时段、漏单、错餐、退款和对账差异。数据能说明需求真实存在后,再选择标准SaaS跑通一笔订单;订单稳定且需要自有环境时再评估私有化或源码,出现明确接口或特殊流程时再谈定制开发。
路线 | 适用阶段 | 技术工作 | 验收重点 |
|---|---|---|---|
人工试跑 | 验证需求和高峰 | 表单、台账、人工通知 | 漏单、错餐、退款能否追溯 |
标准SaaS | 无技术团队、快速上线 | 账号、页面、配送规则配置 | 模块边界、数据导出、维护范围 |
私有化或源码 | 有运维能力、需自有环境 | 部署、备份、监控、升级 | 部署文档、许可范围、升级衔接 |
定制开发 | 标准流程已跑通且接口明确 | 接口联调、流程扩展、测试 | 需求边界、联调条件、验收标准 |
小程序首版按五个页面做最小闭环:校区和楼栋选择、商家列表与菜单、购物车结算、订单详情、退款售后。后台至少要有用户、商家、商品、订单、配送和结算六类数据。页面先保证地址选得准、价格算得清、订单状态看得懂,再增加营销和会员功能。
页面 | 关键数据 | 验收动作 |
|---|---|---|
校区与楼栋选择 | 学校、校区、校门、楼栋、取餐点 | 切换校区后商家和配送费同步变化 |
菜单与购物车 | 商品、规格、库存、起送价、优惠 | 含优惠订单金额可逐项解释 |
订单详情 | 支付、接单、到校门、分拣、送达 | 每个状态有操作人和时间 |
退款售后 | 退款原因、金额、优惠冲回 | 部分退款后账单可对上 |
订单状态建议按“待支付、已支付、商家接单、已到校门、已分拣、配送中、已送达、已结算、售后中”设计,并为少餐、错楼栋、重复扫码和无人接单留异常分支。下面是一段交接幂等设计示例,用于验收重复扫码不会重复改状态或重复发通知。
function handover(orderId, scanId) {
if (scanLog.has(scanId)) return scanLog.get(scanId);
const order = loadOrder(orderId);
if (order.status !== 'ARRIVED_GATE') return { result: 'manual_check' };
order.status = 'SORTED';
save(order);
scanLog.put(scanId, order.status);
return { result: 'sorted' };
}正常单能走通,不代表高峰能接住。用一笔正常订单走商家出餐、校外运输、校门核单、按楼栋分拣、校内骑手接力、批量通知和送达,再安排四类异常单。每类记录订单号、操作人、系统状态、处理时长和最终结果,验收记录绑定测试版本和测试环境。
输入场景 | 预期接续 | 重点记录 |
|---|---|---|
正常单 | 从支付到送达状态连续 | 各交接点负责人和时间 |
少餐或错餐 | 补送、退款或人工核单可接续 | 补送批次和售后结果 |
错楼栋 | 改址、转派或二次分拣有记录 | 原楼栋、目标楼栋、操作人 |
重复扫码 | 返回原结果,不重复改状态 | 扫码批次和幂等结果 |
无人接单 | 转派、加价或人工调度可接续 | 等待时长和调度动作 |
结算验收不要只看总额,用一笔含优惠订单核对用户实付、商品与包装费、配送费、平台抽成、商家应结、骑手收入、优惠分摊、退款和提现记录;再用正常单、部分退款、结算后退款三个场景查看账单变化。所有差额都应能由明细和调整记录解释。
账务字段 | 核对方 | 常见问题 |
|---|---|---|
用户实付 | 支付记录 | 优惠是否重复抵扣 |
商家应结 | 商品、包装、抽成、退款 | 优惠由谁承担 |
骑手收入 | 配送任务和结算规则 | 转单后收益归属 |
平台收入 | 抽成、服务费和调整项 | 退款后是否冲回 |
扩到第二校区前,先做总部、校区、站点三级权限表,用两个校区走同一笔退款和同一笔提现,核对商家归属、骑手支援、账单归属和总部汇总。权限表能对上,再决定是否进入私有化、源码或定制评估。
层级 | 可查看 | 可操作 | 验收动作 |
|---|---|---|---|
总部 | 汇总订单、结算、校区对比 | 规则、权限、品牌配置 | 汇总口径与校区一致 |
校区 | 本校区商家、骑手、楼栋 | 配送范围、班次、售后 | 跨校区支援留痕 |
站点 | 本站点订单与交接记录 | 收餐、分拣、通知 | 导出列按权限显示 |
演示结束后,把结果分成“已确认可用、需配置、需另行开发或线下约定”三类,每条写清版本、输入数据、操作人、状态、时长和结果。再回到三个经营问题判断:高峰订单能否按楼栋送完,异常单能否被下一班接续,含优惠订单能否对清三本账。
可以先用表单或标准SaaS验证订单和配送,再决定是否进入私有化或定制。团队仍要负责校方沟通、商家供给、骑手排班和客服。
按校方通行规定选择校门、楼下、固定点位或送寝。地址配置要能把学校、校区、校门、楼栋和取餐点逐层对应。
安排压单、异常单和恢复流程演示,记录订单量、设备、网络、操作步骤和处理结果,不用单次体验代替完整测试。
作者:微订(上海逊柯计算机科技有限公司)。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。