本文介绍了一个基于Node.js Koa2框架的快递柜存储和取出快递的微信小程序。首先,我们使用Koa2框架搭建了一个简单的后端服务器,用于处理微信小程序发送的请求。然后,我们实现了快递柜的存储和取出功能,用户可以通过微信小程序扫描快递柜上的二维码来存储或取出快递。我们对整个系统进行了测试,确保其稳定性和可用性。总之,本文提供了一个基于Node.js Koa2框架的快递柜存储和取出快递的微信小程序的实现方案,为类似应用场景提供了参考。
智能快递投递箱,用于快递员暂时存放、收件人适时取件,来提高快递的配送效率,也使得收件人的取件时间可以不再固定,可以自行安排取件时间。
智能柜系统可分为两个功能,一是快递员存件功能,二是收件人取件功能。
一、存件功能
快递员点击“存件”,存件人身份为注册后的快递员身份账号,登陆后进入存件系统。只需输入取件人的电话号码后,点击存件,后端生成一个随机码,并分配一个未使用的快递柜柜号并在等待确认将快递放入后将该柜号状态设置为已使用。然后电话号码、随机码、柜号三个信息生成同一组数据存入数据库。此处的快递柜应该是有固定数量的,然后快递柜对应有五个属性,柜号id,手机号码,手机号处理后的随机码,使用状态,以及存件快递员的id(也是为了应对后来的意外情况)。应该是改变属性值。这个是快递柜表,然后还有一个存入表,取出表。只要快递柜表有变动,那么存入表跟取出表必定会有变动。存入的话,存入表会增加一条记录。
二、取件功能
收件人的手机收到随机码,来到指定快递柜,输入随机码,相应的柜子打开,取出快递,柜子关闭时后台自动删除这组数据,并修改柜子的状态(1为占用,0为空闲)。
这里不应该删除数据,应该是改变快递柜表的属性,然后增加取出表的记录。
所有信息都应该保留,防止后续出现意外情况可以用来核对。
当快递已被取出时,快递柜表里的手机号和随机号已经没用,应该删除信息,在快递柜表中只保留柜号id和使用状态两个属性下的信息。即修改状态时,把柜号、手机号、随机码、快递员id这组信息存入取出表,然后在快递柜表里删除手机号,随机号和快递员id。
三、技术
后端是基于node.js koa2的,使用MySQL数据库,前端使用腾讯的微信小程序相关技术开发,
四、数据库
(一)注册登录模块
点击存件按钮后,后台判断是否为登录状态,若未登录,跳出登录注册页面。注册后,存入快递员信息。
快递员注册信息包括,姓名、手机号、密码、所属快递公司。
(二)快递柜模块
具备增删查改功能。
1、增:快递柜表存储存件人输入的电话号码、后端生成的对应随机码、对应的快递柜号,快递柜的使用状态,增加存入记录
2、查:根据取件人的随机码,查出快递柜号。这个部分应该是发送短信的时候,告知快递柜子号,以及随机码。
3、删:当柜门关上,取出快递件时,置零该柜子的手机号码,使用状态,随机码
4、改:当存件人存件时,分配一个柜号,柜门打开后放入快递后,修改此快递柜状态为占用;当取件人取件后,关上柜门时,修改快递柜的状态为空闲。
演示视频
node.js koa2模拟快递柜存储取出快递微信小程序