高校失物招领在微信小程序中的实现
2022-05-26张李鹏李旭李香菊陈豪韩雨哲冯正元
张李鹏,李旭,李香菊,陈豪,韩雨哲,冯正元
(东南大学成贤学院,江苏南京,210000)
0 引言
校园失物招领平台存在的必要性:校园内学生丢失物品的现象极其常见,失物招领的形式也不尽相同。线下可以通过张贴寻物启事或到学校固定的失物招领处挂失与寻找,线上可以通过微信朋友圈、QQ 空间等网络平台的转发来达到失物招领的目的。但这些失物招领方式常常面临各种问题,如寻找过于分散、人工查找不便、执行效率低、数据无法集中统一管理等问题,失物招领的效果不佳。而该项目的建立的旨在方便各用户通过评论区实现交互,且提供拾物者联系方式来联系,发布以及查看失物招领信息。本项目在用户体验方面,对UI 进行了美化且加入适当的提示提高与用户的交互性,充分体现了人机交互友好性。
1 微信小程序有效性分析
(1)用户:微信小程序是近年来一种不需要通过下载安装就可以使用的应用程序,微信小程序兴起的原因更在于,与手机APP 相比,不需要安装即可使用,占比空间小,开发程度低,与网站网页相比,登陆简单,无需注册,更方便用户。它内嵌于社交软件微信,更适用于用户低频率、及时化的应用场景。用户可以通过微信公共平台提供的界面,轻松地连接到第三方服务器提供的服务。使用完毕需要退出时,可直接点击 关闭按钮,用完即走的理念能够满足用户需求且节省用户的手机内存。
(2)开发者:更重要的是无论是组织或者个人都可以申请注册开发小程序,运营小程序。小程序覆盖了PC网页接口、微信公众号等多个板块,大大减小了开发成本、减少了系统维护、升级成本。同时可借助微信强大的流量入口,减少了运营的成本,并且降低了推广的难度。内嵌于微信公众号中开发失物招领小程序,则方便运营者与用户的交互和平台运营,运营者一方面可以通过公众号对话框接收用户实时的反馈意见,一方面借由公众号的流量收入覆盖经营成本。
2 项目创新特色概述
(1)在拾物者捡到证件上传到拾物数据库时,通过拍摄证件,图像识别文本的方式,系统自动填充证件号一栏,这样可以有效防止拾物者输入证件号错误,而且增强了人机交互的友好性;
(2)在首页提供拾物信息时将证件具体图像信息隐藏,取而代之的是显示所有已发布证件公有图像,以保护个人隐私,本项目将证件号关键位信息隐藏,用户只能在首页浏览证件大致信息,若要查看已发布的证件真实图像、拾物者联系方式等高级权限,则需要身份审核:输入证件号被隐藏的几位信息。其次,当自己丢失的证件被拾到时(在创建个人信息时已输入证件号),系统发通知告知。
3 功能需求
(1)通过微信小程序建立的失物招领平台,用户在该小程序平台中,可以通过分类物品,地点,时间发布信息,使信息更加完整精确,更有利于用户查找信息。
(2)在用户发布信息层面,分为发布拾取信息板块和发布丢失信息板块。在用户查找页面分为两个板块:查找丢失信息板块和查找拾取信息板块,以避免信息的杂乱。
(3)拾取者用户在发布信息时,通过分类物品、分类时间、再分类拾取地点,且地点分类到最小化,最后用户输入拾取地点,从而使发布拾物便捷。在发布的信息最后,拾取者可以提供联系方式,以便丢失者联系(前提:拾取者移动物品)。
(4)丢失者用户查看失物招领信息时,该用户可以通过联系方式,找回丢失物品。并且在找回丢失物品之后,丢失者需要在用户个人页面上确认找回,那么该信息在综合大厅中将被删除,但管理员数据库中仍保留该条拾物记录。
(5)在管理员层面,通过数据库对权限、物品以及用户信息进行管理。
4 系统核心模块的设计与实现
用户分为两个模块:拾取者用户的发布拾取信息模块和丢失者查找发布的拾取信息模块。
拾取者用户的发布拾取信息模块,拾取者用户在发布信息时,通过分类物品、分类时间、再分类拾取地点,且地点分类到最小化,最后通过用户输入拾取地点。在发布的信息最后,拾取者可以提供联系方式,以便丢失者联系(前提:拾取者移动物品)。
丢失者查找发布的拾取信息模块,在丢失者用户查看失物招领信息时,该用户可以通过联系方式,找回丢失物品。并且在找回丢失物品之后,丢失者需要在用户个人页面上确认找回,那么该信息在综合大厅中将被删除,但仍保留在用户个人历史信息中。
管理者模块,主要是对数据库的权限、物品信息以及用户信息进行管理,及时进行更新。
用户通过终端设备在用户平台可在用户权限下进行增加、删除、修改信息反馈至数据库,管理员可对数据库中数据信息、权限进行审核管理,同时管理员管理服务器日志(见图1)。
图1
系统流程图(以寻找证件为例)如图2 所示。
图2
5 主要功能及关键代码
(1)个人信息界面:用户在完成微信号绑定,登录后可以进入该页面,在该页面完成身份信息的上传。在该页面,用户可以通过 “我的失物招领”和“我的寻物启事”选项进行有关操作,也能够快速的找到自己所发布的失物招领信息和寻物启事信息,从而为用户提供便利。
关键功能及代码如下所示:
在上传个人信息时,首先需要通过正则表达式审核用户输入证件号、姓名、QQ、手机号等信息是否符合规定,其次利用微信授权登录函数进行登录操作,调用微信登录函数,登录后显示导航栏,将登录后获取的用户信息存储到缓存,准备进入注册个人信息界面,用户未填写基本信息则跳转到个人信息页面,并提示授权失败。
(2)证件识别功能:选择要上传的证件类型,上传照片即可识别出证件号。用户可以直接选择识别卡,通过拍照的形式,系统会自动读取用户卡上的信息包括姓名,卡号等等。该功能适用于身份证,校园卡这一类特殊的身份识别。这一功能的增加方便用户手动输入个人信息时出错也提高信息的准确率。
关键功能及代码如下所示:
在证件识别功能中,系统主要调用微信OCR 的API 进行证件识别(用字符识别方法将形状翻译成计算机文字),以供系统后续对文字进一步加工处理,在读取到图片后对数据列表进行更新,并在页面显示相关信息,调用微信图像识别API,最后利用CDN 内容分发网络方法标记要上传并转换成HTTP URL 的文件,具体图像识别类型调用html 页面id。
在校园卡识别功能中,由于校园卡的特殊性,微信图像识别API 不提供相关接口,只能使用通用字体识别提取相关信息。首先对识别结果逐行分析识别,如果检测到存在姓名、学号字段则进行截取,并且还需分别提取出来姓名、学号字符串的信息。如果在检测过程中出现错误,则系统进行提示出错。
(3)丢失证件提示功能:功能优点在于当信息复杂且繁多的情况下,利用数据信息匹配,提醒相关丢失证件的用户查看证件类信息。这一功能很大程度上缩减用户浏览信息的时间,为用户带来便利,以及帮助用户避免错过或者遗漏信息的问题。
关键功能及代码如下所示:
丢失证件提示依赖滚动条进行实现,首先获取滚动文字的宽度,屏幕宽度,其次判断是否滚动到最大宽度,若达最大宽度则重新滚动。在滚动条框架搭建完成后,获取数据库中关于该用户信息的字段
(4)留言及回复功能:留言及回复功能的出现,为用户之间确定失物招领的信息带来方便,在可以促进失物找回的正确率的情况下,这一功能也可以促进用户之间的交流,体现了系统的交互性。
关键功能及代码如下所示:
在留言回复功能中,首先需验证用户输入评论是否符合最短字长的要求,其次获取评论者基本信息、评论时间等重要信息,最后调用数据库对评论进行数据存储,以备查验
(5)发布拾、失物功能:在校园中捡到某件物品,可以使用该小程序发布失物招领信息。登录的用户可在本页发布物品信息,包括捡到的物品信息,填写物品描述,可选择上传物品图片或者不上传物品图片,点击提交按钮后可以提交物品信息。提交物品信息后用户可在首页或者在个人中心对自己发布的物品内容进行管理。在校园丢失某件物品,可以使用该小程序发布寻物启事。用户可在本页发布物品信息,包括丢失物品的信息,填写物品描述,可选择上传物品图片或者不上传物品图片。点击提交按钮后可以提交物品信息。提交物品信息后用户可在首页或者在个人中心对自己发布的失物信息进行管理。
关键功能及代码如下所示:
在提交失物、寻物信息后,首先将图片上传到云端存储,并将云端图片姓名以时间戳命名,在上传数据成功后返回云端路径,接着根据图片路径的读取调用上传函数(同时返回一个promise)。
首页设定物品分类导航栏方便用户快速筛选信息,为优化页面,是界面更加美观,设定每个导航栏选项宽度占1/5,通过计算导航栏宽度定位,使得导航栏选中选项居中,对分类具体页面进行定位。为方便失物者联系拾物者,系统采用调用函数自动拨打拾物者电话:调用数据列表中电话信息。
(6)个人隐私隐藏功能:用户在首页浏览证件信息时,页面只能显示证件信息的部分信息位且涉及隐私的证件照,通过隐藏关键信息位对用户身份审核的同时也能保护失物者隐私。
关键功能及代码如下所示:
隐藏证件信息处理时,系统采用对证件的最后6 位数进行隐藏显示,并要求输入正确信息才能进行具体页面显示。调用html 页面传输的具体证件信息数据,验证正确后跳转具体信息页面。
6 总结
微信小程序简化了信息系统的开发难度,并为开发者提供了开放的平台。校高校失物招领微信小程序为广大高校学生提供便利。通过调用小程序提供的组件及API,设计实现了遗失物品信息的发布、已处理事务的删除、用户留言和回复等基本需求。该系统在个人证件及学生证件的方向上比以往失物招领平台更具创新性,充分考虑了用户隐私的保护和身份核验功能的实现,该证件具有很好的人机交互友好性,更方便用户与用户交流,具有重要的实用价值。但在小程序的功能设计上,还存在可以扩展的功能,需进一步完善,如:具体实物在发布拾物和失物数据库中能通过图像识别匹配,从而实现无特征物品的丢失提醒功能。