樊守芳,何 冉,付百彤,曾庆龙
(绥化学院信息工程学院,黑龙江 绥化 152061)
校园网络服务平台是一个基于微信公众平台、能够满足大学生日常生活需求的校园服务平台。通过调查大学生生活中有哪些地方需要帮助或需要与其他人沟通的事项,设计实现相应的功能以供使用。其难点在于对使用者信息的真实性和保密性的管理,必须保证使用本平台的人员是本校人员,避免校外人员使用造成管理混乱。使用者的关键身份信息不能轻易被其他人获知,使用者的真实信息只有管理员有权限查看,其余使用者只能看到昵称等虚拟信息。平台能实时获取地理位置信息,对使用平台双方的消息实现沟通功能。
微信公众平台是基于微信服务而又较为独立的一种自媒体公共网络平台,想要拥有自己的订阅号或是服务号,首先需要在微信公众平台上注册登录,然后填写服务器配置,配置相关内容表明开发者身份,用来接收微信消息和事件的接口URL,并用作消息体加解密密钥。服务器配置完成后,微信服务器将开发者提交的GET请求填写到服务器地址URL上,经校验返回echostr参数内容,此时接入生效。公众平台以access_token为接口调用凭据,它是公众号全局唯一接口的调用凭据。调用HTTP的GET方法是使用中控服务器统一获取和刷新请求携带参数access_token。一般情况,微信服务器对相应公众号返回一个Json数据包,Json数据包含有access_token(获取到的凭证)和expires_in(凭证有效时间)两个参数数据,错误时则返回包含错误码的数据包,可以根据错误码来调试公众号。
校园网络服务平台主要是为在校大学生的日常生活、师生交流和事务办理提供一个便利平台。本平台允许师生通过微信关注公众号。关注公众号后,通过公众号提供的各种功能进行求助或帮助他人。注册登录由微信接口调用来实现。该公众号将获取用户微信名称与头像等相关信息。校园服务平台提供寄取快递、打印文件、购买药品鲜花水果和搬运物品等功能。在个人中心可以看到用户订单信息和物品实时位置信息。
根据需求分析得到本平台的用例,如图1所示。
图1 校园服务平台用例图Fig.1 Use case diagram of campus service platform
寄取快递服务在用户允许关注本公众号之后,使用公众号提供的寄取快递功能。寄取快递用例规约如下:
第一,基本事件流:用例开始于用户关注公众号并点击进入公众号后,用户点击“寄取快递”按钮。用户选择寄/取快递。寄快递填写地址、电话、快递重量、报酬、上门取货时间;取快递填写取快递地点、快递公司、报酬、取件时间段。
第二,备选事件流:如果用户漏填寄/取快递信息,本系统提示“信息不完整”。
第三,前置事件:本用例开始前,微信用户必须关注本公众号。
第四,后置事件:如果用例成功,用户发布的信息将被存进数据库中。
本平台基于MVC架构进行开发,系统分为表示层、控制层和实体层三层。其中,表示层负责获取用户的请求和信息的展现,是用户与系统交互的界面;表示层包括寄取快递、打印文件、搬运物品、购买药品和我的订单等模块;控制层是实现系统业务逻辑的核心,负责对业务逻辑进行抽象和封装,执行用户的业务逻辑操作并将操作结果反馈给用户,包括寄取快递、打印文件、搬运物品和购买药品等模块;实体层负责系统数据的存储和访问,实体层包括用户、订单、物品和管理员等模块。
系统关键抽象主要描述了系统中类和各实体类的属性以及它们之间的相互关系。包依赖关系如图2所示。
图2 包依赖关系Fig.2 Package dependency
为使用户快捷地了解平台公众号功能,采取了菜单自定义设计方案。校园服务平台设计线上服务、线下服务和个人中心三个一级菜单,每个一级菜单又设计了个数不同的二级菜单。用户关注平台公众号后即可进入平台公众号会话页面。菜单自定义设计运行效果如图3所示。
图3 自定义菜单设计Fig.3 Custom menu design
关注微信公众号界面可以看到公众号历史消息记录。本系统主要设置了“click”、“view”两种类型按钮。当用户单击“click”类型按钮之后,微信服务器就会利用消息接口发送一个结构为event类型的消息给开发者,此时开发者就可以通过自己给出的key值和用户沟通;当用户单击“view”类型按钮之后,微信客户端可以通过开发者在该按钮中填写的URL地址打开一个网页,用户可以在该网页中查看浏览开发者提供的相关资源。
当微信用户在公众号页面发送消息时,微信服务器对产生的POST请求返回一个XML特定结构的数据包,然后再将该数据包填写到开发者在“view” 按钮中的URL地址上。用户发送的消息可分为文本消息、图片消息、语音消息、视屏消息、链接消息和地理位置消息。文本研究的系统主要使用的是文本消息和图片消息,文本消息数据包的结构如下:
微信服务器在默认的情况下,如果在5 s内得不到响应就会自动将当前的连接断掉,并且允许至多3次重新发起请求。文本消息数据包携带参数如表1所示:
表1 文本消息数据包携带参数Tab.1 Carrying parameters of text message packet
接收图片消息数据包结构如下:
数据包携带的参数和参数描述如表2所示。
表2 数据包携带的参数Tab.2 Parameters carried by data package
校园网络服务平台研究实现了一个基于微信公众平台、能为大学生的日常生活提供便利服务的微信公众号。本研究实现的系统与其他系统相比,优点在于通过微信公众平台开发,使用了搭建完善的框架进行开发,操作简易,可将精力转移到设计上,提供的功能能够满足大学生的真实需要,可行性高。用户通过微信登录使用,跳过注册等烦琐步骤,无须单独安装APP使用,操作简洁。