APP下载

校园“微代”服务平台的研究与实现

2022-05-11张泽川于迎霞邱志豪马千里

无线互联科技 2022年3期
关键词:服务平台物品服务器

张泽川,于迎霞,邱志豪,马千里

(新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046)

0 引言

近年来,随着大学生的物质需求与消费水平不断提高,大量的物品在被使用过几次后便被闲置。每年毕业季更是有大量的浪费现象发生。同时,轻应用已经成为一个发展趋势。目前,本校没有此类共享服务平台,故构建校园“微代”服务平台的需求大、可行性高。该服务平台集成了闲置物品共享、学习资料分享及公益活动等功能,为学生提供及时快捷的信息共享服务。相比于安卓App,基于小程序的超轻型应用具有无须下载即可以直接在微信上使用的特点[1],小程序的使用与手机操作系统无关,并且不受安卓开发环境影响,操作方便快捷,因此小程序有着广大的用户基础。

1 校园服务平台功能分析

共享、经济、环保、绿色的理念推动了学校智慧校园的建设。本文立足学校的实际情况以及公共需求,基于微信小程序进行开发。本平台使用O2O商业模式(Online to Offline)。在使用闲置物品交易功能时,本平台以二手闲置物品的线上发布和查询等为核心,在线下进行交易,交易双方当面验货并选择购买与否,既避免了纠纷,同时也避开了线上复杂的支付系统设计[2],用户可自由选择多种支付手段,方便灵活。

本平台基于微信平台的底层支撑向校内师生提供便捷的服务,可跨平台在手机、平板等移动设备上运行,无须安装或卸载,随时随地可用,依托微信小程序开发平台,可以方便地对该本项目的需求功能进行补充与完善。

该服务平台前端通过小程序相配套的WXSS和WXML技术进行内容显示,通过JavaScript代码实现对用户的操作完成响应。该平台的服务器开发基于SpringMVC+Spring+MyBatis(SSM)框架,因其具有良好的性能和较快的开发效率并逐渐成为Web应用中的主流框架,服务器具体功能实现使用JSP技术完成,因其具有良好的系统兼容性。本平台的各个功能模块相对独立,便于小组分工设计。

2 基于微信小程序的校园平台设计

2.1 微代平台核心模块设计

校园“微代”平台根据前期的调研结果,主要设置有四大核心模块,主要包含失物招领、闲置商城、个人中心、资源共享,其中共享资源包含志愿服务、学习资料等,具体平台功能如图1所示。

图1 平台系统前端架构

2.2 微代平台系统的具体实现

2.2.1 用户注册与登录

用户在每次启动服务平台小程序时,由全局App() 方法从微信官方平台获取用户唯一的openid与session_key,本平台将openid作为用户是否进行过注册的标识,若不存在该用户则跳转到注册模块,用户完成注册后跳转到浏览信息模块,同时平台更新用户注册信息到数据库完成注册流程。若已存在,则跳转进行登录流程。

2.2.2 浏览信息

校园“微代”服务平台的信息浏览首页如图2所示。顶部可以修改用户所在的校区位置,并实时同步修改到后台数据库中。搜索框可以按照物品名称进行信息搜索。下方的轮播图对收藏热度较高的物品或共享信息进行展示,轮播图下方分两列对随机物品信息进行展示,获取随机物品信息接口通过高效SQL语句实现。滑动至底部自动加载新的物品信息。底部快捷导航栏包含首页、物品发布和个人中心3部分,可进行快速跳转。

图2 平台首页界面

用户可通过点击物品或信息的缩略图进入详细信息展示模块,如图3所示。该模块包含发布物品的关键信息,可供浏览者查看。下方栏包含发布人的信息链接以及加入收藏夹的功能,以便浏览者进行物品信息汇总。

图3 物品信息详情

2.2.3 物品及信息发布

物品及信息发布功能分为闲置物品发布和信息发布,信息包含失物招领、共享学习资源等,界面设计分别如图4所示。发布者可以在该功能模块中进行文本编辑以及多张图片上传操作,以达到更好的展示效果。

图4 上传界面

在将多张图片上传时,通常遍历调用服务器图片上传接口即可实现多图上传功能,但可能会因为请求网络连接导致结果不可靠。本平台通过用户端获取服务器返回标志进行计数来解决这一问题,从而确保不同网络状况下的数据上传功能。

2.2.4 个人中心

用户个人中心模块共设计了4个子界面,如图5(a)(b)所示,用户可点击最上方头像栏,进入修改相关个人信息模块。如图5(c)(d)所示,用户在发布栏可以查看发布的物品及信息,并且可以选择对其修改或者进行下架。在收藏栏,用户可以查看当前收藏的物品及信息。在最下方栏,用户可以向平台管理员提交信息反馈以便优化平台。

图5 个人中心及子界面

3 微代平台系统实现的关键部分

该服务平台使用MySQL数据库进行存储,以Eclipse作为开发环境来搭建服务器,并采用SSM框架来相互通信,处理业务逻辑,持久保存数据。

3.1 后端服务器

本平台的服务器运行在JavaSE上。Server 类的main()方法,在特定端口进行监听并处理Socket 客户端的连接请求。当有客户端连接时,平台获取系统的日期并将其发送到客户端[3]。本平台服务器的工作流程如下:首先由小程序发出请求,服务器端接收到请求后,在服务器端进行数据保存并处理相关的数据,返回小程序所需的业务数据。

本平台服务器基于SpringMVC+Spring+MyBatis架构,该框架是Web服务器端选择的核心技术[4]。Servlet对象的基于请求与问答的工作模式,由Servlet对象创建的接口用于客户端和服务器之间的数据交互。Spring环节中管理实务的对象方法采用DAO模式,DAO层逻辑用于实现请求及更新数据库的操作,由SQL语句实现,存取效率高。Service层调用DAO层,实现业务逻辑及数据存储;用户端业务访问的是Controller层接口,将创建相应的数据接收和发送端口,这些接口被用于Web上终端设备和服务器之间的交互。

数据交互方法:Web应用一般采用POST和GET请求方式通过解析服务端返回的JSON数据流,实现数据通信。小程序也有类似的封装接口wx.request() 进行数据请求,可以通过设置method以选择数据请求的方法。小程序需要设置JSON格式进行读取后才能进行处理。其中:

GET方式传入后端参数需要以参数形式传入,生成的访问链接中包含参数内容,适用于小规模数据传输。

GET方式请求代码:

POST方式传入后端的数据格式设置为JSON,该格式适用于较大规模的数据传输,便于进行数据加密传递。两种方式都可以向服务器传入数据并且接收从服务器端返回的数据。

3.2 数据库设计

本校园“微代”平台系统采用MySQL数据库来存储必要信息。为了提高SQL存取语句的运行效率,该设计将不同类型的数据保存在不同的表中,同时使用优化的SQL书写语法,内存消耗低,提高系统的存取速度[5-7]。本平台数据库主要对于物品信息及用户信息进行设计并存储。商品信息设计如表1所示。

表1 商品信息设计

4 结语

本文设计并开发了一个基于微信小程序的“微代”服务平台,包含用户前端的界面设计和业务处理代码,平台的后端基于SSM框架,用JSON格式作为数据传输格式,增强了平台的安全性与稳定性,在后期的使用中具有良好的适应性。该平台采用O2O商业模式,用户在线上运用浏览、查询功能,在线下完成验货交易,避免了设计复杂的支付系统及支付安全的问题[8-9]。小程序的功能可拓展性为平台后期的完善与维护提供了极大的便利。本文对基于微信小程序的信息代理平台的开发提供了一定的参考,后期需要针对核心模块进行优化。

猜你喜欢

服务平台物品服务器
密码服务平台
打造一体化汽车服务平台
称物品
“双十一”,你抢到了想要的物品吗?
论基于云的电子政务服务平台构建
通信控制服务器(CCS)维护终端的设计与实现
谁动了凡·高的物品
基于云计算的民航公共信息服务平台
中国服务器市场份额出炉
得形忘意的服务器标准