基于微信公众号的政务服务移动端应用研究
2021-04-05王梅
摘 要:伴随5G移动通信网络的快速发展,智能手机拥有逐渐普及,人们在工作、生活和学习等方面越来越多地依赖手机。政务服务部门应对政务服务移动端办理需求,在遵循系统“自主可控”原则、保障政务数据安全前提下,以微信公众号为技术平台,进行政务服务移动端应用程序开发,利用PHP、HTML、MySQL等技术,实现手机办理政务功能,提供方便快捷的服务,推动智慧政务的实现。
关键词:微信公众号;政务服务;移动;应用程序
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2021)17-0138-04
Abstract: With the rapid development of 5G mobile communication network, the smart phone has become more and more popular, and people rely on it more and more in work, life and study. The government affairs service department should deal with the needs of the mobile terminal of the government affairs service, under the premise of following the principle of “autonomous and controllable” of the system and guaranteeing the security of the government affairs data, and taking the WeChat official accounts as the technical platform, carry out the development of the mobile terminal application of the government affairs service, using PHP, HTML, MySQL and other technologies to realize the function of handling government affairs by mobile phone, which provide convenient and fast services, promote the realization of smart government affairs.
Keywords: WeChat official account; government affairs service; mobile; application
0 引 言
隨着移动网络逐步迈向5G时代,以政务服务APP、小程序、公众号为代表的移动政务服务渠道不断扩展,高效便捷地提升了政务服务水平,开启了移动互联网时代的政府治理新途径[1]。
移动端设备一般包含手机和平板,这两种设备运行的操作系统类似,能在手机上运行的系统,通常在平板上也能运行。由于手机可随身携带,利用率高,本文仅以手机作为移动设备的代表来阐述。
随着智能手机的覆盖率增高,手机性能越来越强大,且不受环境限制,其方便性和快捷性让人们对其依赖性很强,手机与人的“亲密度”升温,几乎与人同在,人们已经习惯在手机上解决生活、学习及工作问题,如支付、购物、个人所得税申报及缴纳、交通违章处理、网课等。但由于手机屏幕小,文字输入不方便等原因,手机上只适合处理文字或数据录入量小的工作事项,复杂文字、表格的处理还是在电脑上处理方便。目前,政务办理陆续有专门的手机APP,主要有简易事务办理和查询功能,但能提供的个性服务功能较少。为此,聚焦政务办理设计方便快捷的手机应用设计,使用户可利用碎片化时间来完成工作上的简单任务,实现政务“掌上办、指尖办”[2],提高工作效率和质量。
1 设计要点
1.1 技术平台选择
手机端的应用类别目前主要有手机APP、手机HTML5网页应用、钉钉二次开发应用、微信小程序、微信公众号等。在此,以手机微信公众号作为手机端开发的技术平台,理由为以下几个方面。
1.1.1 排除手机APP
手机APP需要下载、安装、升级,APP为实现消息提醒,往往会驻留在手机内存中,增加手机耗电,占用空间。另外,手机APP必须同时开发安卓版本、iOS版,才能覆盖大部分手机用户,开发成本高、工作量大;加之iOS手机APP市场被美国苹果公司把控,不符合关键核心技术“自主可控”原则。
1.1.2 排除HTML5网页应用
HTML5网页应用是指服务器将HTML5代码发送到手机浏览器运行的应用,由于网络安全限制,这种方式无法直接使用手机本地功能,如拨打电话、实现消息提醒等,方便性差。
1.1.3 排除钉钉二次开发应用
根据搜狐网公布的数据,2020年微信月活跃人数达到了12.025亿人,而同期钉钉月活跃人数不超过2亿。采用基于微信的技术,绝大多数用户就不需要安装新的手机APP了。
1.1.4 排除微信小程序
微信小程序由于采用了微信特有技术开发框架,容易使政务系统过多地绑定到腾讯公司专有的技术上,不符合“自主可控”原则。
1.1.5 选择微信公众号
微信公众号平台是在微信浏览器上运行HTML5代码的平台,是按国际标准,主要用HTML5代码进行开发,不存在技术绑定的缺点。通过微信浏览器可调用微信的本地接口,避免了纯HTML5网页应用无法使用本地接口、无法实现消息提醒的缺点。这是一个介于HTML5网页应用和微信小程序间的技术平台,可利用微信超大的安装率,基本避免安装新的APP,利用微信提供的种种方便,又不过度绑定到某家公司专有的技术上。因此,微信公众号是相对适合开发政务服务手机应用的平台。现在许多大机构在开发手机应用时也选择了微信公众号技术平台,如:成都公安微户政、四川汽车票务网、大地保险公司等微信公众号都为广大用户在手机上提供了方便快捷的服务。
1.2 适应手机特点进行特殊设计
由于手机具有屏幕小、单手操作、碎片化时间、网络环境变化大等特点,导致用户在使用手机软件时对操作的便捷性要求更高。为此在软件设计中,采取多种措施简化软件的使用难度。
1.2.1 实现免登录
在手机上登录软件系统是比较麻烦的事情,常常因为密码输错或忘记密码而影响用户使用,由于目前手机系统的安全性都做得很好,进入手机系统已经有指纹解锁、人脸识别解锁等安全防护措施,不需要每个手机软件都再进行用户名和密码登录,目前“微信”和“钉钉”都实现了免登录。本软件直接以当前登录的微信ID号作为用户身份标识,并在首次使用时通过用户注册的方式,对用户的真实姓名和手机号进行验证,以后再使用本软件时,不再需要登录操作。
1.2.2 降低数据丢失概率
由于手机是移动信息设备,工作环境变化大,用户在用手机软件中录入数据时,很可能因为手机所处位置网络信号不好,在保存过程中出现网络错误,导致用户录入的数据无法保存到服务器,这时可利用HTML5本地存储功能,将数据暂存存到手机端,待网络恢复时再提交到服务器端,避免数据丢失。
1.2.3 自适应各种手机屏幕
进行“响应式设计”[3],实现一次编写,多处适用,大大提高网页的兼容与美观问题。设计时就考虑兼容各种手机屏幕和使用中的横、竖方向,直接利用了成熟开源的手机浏览器插件jquery-mobile来实现显示自适应。
1.3 确保网络安全
手机软件必然是运行在互联网环境下,但目前大多数工作软件又在内网上运行。要实现工作事项在手机上能进行处理,就必须考虑安全的内外网数据交换通道。方案是通过USB设备共享器连接U盘和定时切换装置,实现U盘分时插到內、外网服务器上进行数据摆渡[4],在没有网闸等高级安全设备的情况下,不突破内外网物理隔离的网络安全要求,以廉价的方式实现了非实时内外网数据交换。同时,在数据摆渡服务器上,还采取了四项安全措施:一是对摆渡的所有数据都保留6个月网络安全日志,符合网络安全管理相关规定;二是禁止传递JSP、ASP、EXE、COM等容易引起网络安全风险的文件,对上传的文件类型、大小等进行严格校验,禁止上传恶意代码的文件[5];三是对摆渡的文件自动调用服务器端杀毒软件进行病毒查杀;四是对文件进行保密关键字扫描,对疑似涉密文件拒绝摆渡。
1.4 只做用户最需要的功能
应用手机软件的主要目的是缩短用户获取关键信息的时间,拓展软件使用地点,提高用户利用碎片化时间的业务办理效率,手机软件在工作中只能发挥辅助性作用,在手机上处理的工作事项,大多数电脑上也可以处理,用户选择使用手机软件,就是利用它的方便快捷。因此,在确定程序开发功能时,都是访谈直接用户,确认开发的功能可以给用户其带来方便而不是负担,这样才能体现移动端的优势。
1.5 建立程序开发框架
手机上的软件功能,如发现问题需要尽快解决,否则用户会对手机软件失去信任。为实现对手机软件的快速改进,有效的办法是建立程序开发框架[6],尽量减少设计增、删、改、查等底层功能的重复劳动,使开发人员将更多的精力放在业务逻辑的实现上。通过对原有Web程序开发框架浏览器端的改进,使之在支持电脑的同时,通过少量的程序代码,就可使相应的功能在手机实现。改进的关键之处在于在程序开发框架底层,将电脑上横向显示多个数据项的界面,改为在手机上一行显示一个数据项的格式,数据处理部分的代码基本不变,这样在手机程序开发时做到了基本和原来的电脑WEB程序开发一致,基本不需要重新学习手机开发知识,大大提高了开发效率。
2 应用案例
因各级政务服务平台信息涉及权限和保密,此处以学校政务服务平台应用为例。基于微信公众号的移动政务服务平台采用手机、平板电脑作为客户端。用户通过安装微信程序,关注公众号进入政务服务移动服务平台,使用微信账号登录,完成身份认证后,才能正常使用平台提供的相关服务。服务平台网络拓扑图如图1所示。学校政务服务平台的功能界面如图2所示。
平台提供以下几个典型功能,切实给用户带来了工作上的方便。
2.1 信息查询
用户在微信客户端发起信息查询请求,客户端请求到网页服务器,网页服务器请求微信服务器,将用户查找的信息发回给网页服务器,网页服务器在将网页返回到用户微信端,实现网页信息查询,向用户展示信息内容,或者实现复杂的交互业务逻辑。信息查询流程图如图3所示。信息查询的功能界面如图4所示。
2.2 在线咨询
用户通过发送文字、图片、语音信息到微信服务器,微信服务器作为消息中转站,将接收到的信息转发给开发者服务器,对接收到的信息进行处理,将响应的文字、图片、语音信息转发给微信服务器,再由微信服务器发送到微信端,完成一次在线咨询操作,其核心代码为:
def wechat():
if request.method=='GET':
data = request.args
signature=data.get('signature')
timestap=data.get('timestap')
nonce=data.get('nonce')
echostr=data.get('echostr')
temp=[timestamp,nonce,TOKEN]
temp.sort()
temp=''.join(temp)
if(hashlib.sha1(temp).hexdigest()==signature):
return make_response(echostr)
det wechat():
if request.method =='POST':
xml = request.data
req = xmltodict.parse(xml)['xml']
msg_type =req.get('MsgType')
if 'text'== msg_type:
resp ={
'ToUserName':req.get('FromUserName', ''),
'FromUserName':req.get('ToUserName', ''),
'CreateTime':int(time.time()),
'MsgType':'text',
'Content':req.get('Content')
}
elif 'voice== msg_type:
resp ={
'ToUserName':req.get('FromUserName',''),
'FromUserName':reg.get('ToUserName',''),
'CreateTime':int(time.time()),
'MsgType':'text',
'Content':req.get('Recognition',u'无法识别'"')
}
2.3 关注与取消关注
平台提供公众号的关注与取消关注功能。关注功能代码片段为:
if 'subscribe'== req.get('Event'):
resp ={
'ToUserName':req.get('FromUserName',''),
'FromUserName':req.get('ToUserName',''),
'CreateTime':int(time.time()),
'MsgType':'text',
'Content':u'感谢您的关注!
}
else:
resp = None
3 不足和改进措施
基于政务移动端信息服务平台,在完成移动开发框架、内外网数据摆渡功能的基础上,根据需求进行典型应用功能的开发应用。为适应大数据、人工智能时代的信息获取时效、获取方式、信息运用等需求,应进一步结合大数据、人工智能、图像处理、语音处理、视频处理等技术加以实现,用智能和智慧为服务对象提供更加方便快捷的政务服务[7]。
4 结 论
当前,随着我国经济和科技的飞速发展,人民群众生活水平不断提高,公众在信息的获取与信息传递方面,对信息传播的便捷性与高互动性对政府行政管理提出了更高的要求,推动“数字政府”能够在数据意义上建立起整合与共享的平台。基于微信公众号的政务服务移动端应用程序开发,通过数据收集、信息提供、数据加工和协调整合,实现数据资源的开放共享,用公众方便运用的方式,促进智慧政务的发展。
参考文献:
[1] 新华社.移动政务服务成为政务服务平台建设的重要内容 [EB/OL].(2020-05-29).http://politics.people.com.cn/n1/2020/0529/c1001-31729167.html.
[2] 中央党校电子政务研究中心.2019移动政务服务发展报告 [R/OL].(2019-08-02).http://www.egovernment.gov.cn/art/2019/8/2/art_194_6197.html.
[3] 赵文华.Android应用响应式性能问题诊断方法 [D]. 上海:上海交通大学,2020.
[4] Ftrans飞驰云联.数据摆渡什么意思?如何安全摆渡? [EB/OL].(2019-08-19).https://zhuanlan.zhihu.com/p/78805102.
[5] 51Testing软件测试网.常见Web安全漏洞及测试方法 [EB/OL].(2020-03-30).https://zhuanlan.zhihu.com/p/45016496.
[6] 姚丽萍.建立Java应用程序框架降低Java信息系统开发难度 [J].硅谷,2014,7(15):53+28.
[7] 张成福,谢侃侃.数字化时代的政府转型与數字政府 [J].行政论坛,2020,27(6):34-41.
作者简介:王梅(1968—),女,汉族,四川雅安人,副教授,本科,研究方向:电气自动化及信息技术。