APP下载

基于天气预警信息服务的微信小程序设计

2023-06-25隋远琦潘静那月光徐薇王金丹

现代信息科技 2023年10期
关键词:微信小程序气象服务

隋远琦 潘静 那月光 徐薇 王金丹

摘  要:基于微信小程序的天气预警信息服务系统前端使用HTML、CSS、JavaScript技术,程序后台数据处理采用MySQL数据库搭建,为天气预报预警服务小程序作数据支撑。通过预警信息推送模块、预警信息查询模块、预警信息库三部分建设实现我省气象灾害预警信息推送微信小程序。微信小程序能够创新公共气象服务供给模式,有效扩展辽宁省气象服务信息传播渠道建设,让公众能更加便捷、高效地获得预警信息,推进气象融入数字生活,加快数字化气象服务普惠应用。

关键词:天气预警信息;气象服务;微信小程序

中图分类号:TP311    文献标识码:A  文章编号:2096-4706(2023)10-0006-04

Abstract: The front terminal of the weather early warning information service system based on Mini Program uses HTML, CSS, JavaScript technology, and the background data processing of the program is built by using MySQL database to support the weather forecast and early warning service program. Through the construction of early warning information push module, early warning information query module and early warning information database, the Mini Program for pushing early warning information of meteorological disasters in our province is realized. The Mini Program can innovate the public meteorological service supply mode, effectively expand the construction of meteorological service information dissemination channels in our province, and make the public more convenient and efficient to obtain early warning information, promote the integration of meteorology into digital life, and accelerate the inclusive application of digital meteorological services.

Keywords: weather early warning information; meteorological service; Mini Program

0  引  言

由天氣原因引起的自然灾害对人们日常生活生中的影响极大,为了更好地服务国家、服务人民,避免气象灾害造成严重的社会影响和经济损失,我们需要进一步拓宽预警信息传播途径,让公众获取气象灾害预警信息的渠道更加多样、便捷。随着科技的进步,利用智能手机的优越性发布信息成为发展的必然趋势,很多气象部门采用微信公众平台来传递天气预报信息[1]。微信小程序是继公众号之后,微信公众平台推出的一种全新的将用户与服务相结合的高效模式。微信小程序不需要订阅和下载等烦琐的操作,用户不用担心过于麻烦以及安装太多应用占内存等问题,所以小程序可以给用户提供更加简单明了、方便快捷的服务体验。

与传统气象预警信息发布方式相比,小程序具有时效性强、覆盖面广、方便快捷的优势,通过手机微信平台的实时发布预警信息,根据用户个性化需求实时获取、查询统计预警信息,因此开发基于天气预警信息服务的微信小程序通过发布快速、优质的气象服务信息,向用户广泛、精准推送服务消息,在一定程度上提高用户体验和气象服务质量,使社会公众能够便捷地获取准确的气象预警信息。拓展气象预警信息发布手段和发布渠道,加强高品质生活气象服务供给,推动气象服务向高品质和多样化升级。

1  系统设计

1.1  整体结构设计

本系统根据功能需求可详细划分为应用层、服务层、数据层和基础层。应用层负责业务逻辑处理,提供系统业务服务的具体应用,显示功能模块和相应数据信息,可供用户直接进行操作。服务层是面向具体的应用、实现用户操作的重要一层,可对相关业务组件进行集成与封装,包括安全组件、业务逻辑、微信鉴权、定时任务、服务网关、消息组件等内容。数据层是为系统提供数据存储管理的关键,为了提高并发处理能力和数据传输效率,采取关系型数据库和缓存型数据库相结合的存储方式。基础层是系统搭建的基本保障,具体内容包含本地/云服务器、域名ssl证明、微信认证等,为整体系统建设提供了良好的基础保障。系统的整体构架如图1所示。

1.2  系统功能模块设计

微信小程序主要由预警信息推送模块、预警信息查询、预警信息库三大部分组成,如图2所示。总体设计如下:

1)预警信息推送模块设计:预警信息推送的接口遵循微信小程序数据接口规范,接口方式的接口内容与取值方式保持一致。实现一键式发布辽宁省内预警信息,有效缩短预警信息服务时间,实现预警信息快速、及时传达。

2)预警信息查询模块设计:可根据用户的个性化需求按照时间、灾种、地区等进行分类查询,在不同分类使信息获取更加精准、多样、便捷。用户可自主选择时间段查询预警信息,在灾种、地区分类中建立相关索引,提高查询效率。

3)预警信息库设计:与辽宁省突发事件预警信息发布系统数据库进行对接,获取预警信息数据,完成预警信息库预警信息表、用户信息表、位置信息表的数据结构设计,并按照数据结构完成数据关联表的设计与构建,实现数据库的数据存储、修改、查询、删除功能。小程序开发内容包括数据库设计、实现、基础数据采集、数据加工处理等。

1.3  小程序详细模块设计

1.3.1  用户登录

用户登录模块主要是验证用户身份以及获取访问控制权限。为了简化登录流程,用户可选择通过对小程序授权直接进行微信自动登录,点击登录按钮的同时触发事件GetUserInfo,小程序自动获取用户的头像、昵称。平台在获取用户授权之后方可获取加密的用户信息,并将用户信息数据存储到后台数据库,数据存储成功后前端用户登录成功跳转到小程序首页[2,3]。登录小程序流程图如图3所示。

1.3.2  预警信息推送

在用户登录成功后,首页显示辽宁省近期发布的预警信息,用户需点击订阅气象预警方可获取全部的预警信息,发布新的预警信息会自动推送到用户微信端,由于微信显示字数受限,用户可点击查看完整的预警内容。预警推送模块简化用户操作过程,提高使用效率,有利于提高预警信息的公众覆盖面。

1.3.3  预警信息查询

用户点击查询模块,根据用户的个性化需求选择时间、灾种、地区等信息后点击查询按钮,自动跳转到所查询预警信息结果的页面,页面展示查询信息的总数以及具体内容,单页展示内容有限,无法展示全部预警内容可点击下一页获取。

1.3.4  预警信息数据传输

微信小程序是主要基于气象局内部私有云平台进行建设,数据环境主要基于辽宁省气象大数据云平台-天擎数据环境,预警信息数据来源于辽宁省突发事件预警信息发布平台[4]。

预警信息处理、传输模块利用Hibernate对应模型数据进行持久化,将预警信息编码化后以逻辑的数据模型匹配发布区域、发布手段信息调用传输接口,将形成的预警信息包放入对应的传输通道信息横向传输、纵向传输、跨网络域传输。

2  关键技术

小程序使用微信官方发布的微信开发者工具和微信原生框架,系统主要是由界面前端和后台数据两部分构成,如图4所示。界面前端主要是面向用户并对其展示程序主界面和各子界面,设计思路考虑用户的实用性和可访问性,为用户提供更专业的可视化服务。程序界面前端的实现主要采用JavaScript、CSS、HTML5等开发语言编写[5],采用Vant UI框架设计用户交互界面。程序后台数据处理主要采用MySQL数据库搭建,为本天气预报预警服务小程序提供有效的数据支撑,为了减轻服务器的压力,采用Ehcache缓存框架实现缓存数据库的搭建。小程序客户端的页面是通过网络与服务器API接口来实现的,利用接口进行数据的传输。根据业务需求,Web服务器向数据库获取访问权限以及包含相应数据的PHP文件,进而对数据进行加工处理,生成可满足用户个性化需求的数据返回到客户端,经过页面视图的渲染后呈现给用户。

2.1  微信小程序

微信小程序的框架核心是一个响应的数据绑定系统,该系统由视图层和逻辑层两部分构成[6]。视图层是系统操作界面,面向的是用户。逻辑层包括Web管理系统,能够完成API调用。当用户进行操作时,视图层将事件发送给逻辑层,逻辑层接收视图层事件反馈后,将处理后数据发送回视图层。小程序利用JavaScript框架将视图层和逻辑层有效的连接起来,JavaScript框架起到两者桥梁的作用,有效保证视图层与逻辑层的良好交互。整体的小程序系统框架如图5所示。

2.2  JavaScript

JavaScript是一种可科跨平台的解释型的编程语言。广泛用于Web应用开发中,通常情况下是嵌入HTML中来实现其功能的。微信小程序开发框架的逻辑层是由JavaScript编写,为了实现数据与用户之间的交互。使用JavaScript来调用小程序的API来完成视图层与逻辑层的业务需求[7]。

2.3  CSS框架

CSS是一种Web前端开发的基础语言,有规范项目开发流程,CSS代码具有清晰、简单、便于维护等优势,有利于提高微信小程序的工作效率。本文利用CSS框架对小程序页面排版、网格布局、表单样式等模块进行设计。

2.4  HTML5

HTML5是构建Web内容的一种语言描述方式,用来描述微信小程序页面的结构[8]。相较于传统的技术,HTML5的语法特征更加明显,使用更加便捷,更重要的是与SVG的内容相结合,便于在网页中使用多媒体技术。

2.5  位置坐标获取

微信小程序与定位引擎系统已经成功对接,用户首次进入小程序会接受授权提醒,在获得用户位置权限后,调用微信小程序JavaScript SDK接口,获取用户的定位坐标,服务器将坐标信号以Json字符串的形式存储到定位数据库中,然后通过jQuery Ajax技术将这些信息发送至高德地图,高德地图平台利用坐标转换技术计算得到城市名称,显示在小程序首页。

2.6  Ehcache緩存技术

Ehcache是一种较轻量级的开源分布式缓存,是当前使用较广泛的基于Java的通用缓存,具有快速、使用简单、包容性强等优势[9]。它支持内存和磁盘存储,是内存充裕的缓存加载器。可以与RMI、REST、可插入API等技术相结合,在减轻数据库压力的同时缩短交互响应时间。

辽宁气象预警小程序为了节省用户的时间成本、提高系统资源使用效率,在程序设计的时候利用Ehcache缓存技术,减少对后台不必要的请求次数,节约系统资源。在获取用户请求时提供两种查询方式,首次直接调用数据库进行查询,如果从数据库中请求相同的数据信息,系统会自动从缓存数据库中获取以往的数据信息,有效避免了重复调用的资源浪费问题,缩短了系统数据响应时间,提高了用户的使用体验感。

2.7  Maven项目管理

Maven是一种基于项目对象模型(POM)的项目管理工具,广泛应用于Java自动构建项目。它的基础核心为为依赖管理系统,系统引入了Maven之后,会自动把项目打包到Tomcat中,在Pom文件中形成依赖,无须在项目中烦琐的添加jar包,操作简单便捷,有效节省了使用者的时间成本。

3  实验结果

辽宁气象预警小程序使用微信开发者工具和Idea开发工具。用户需进入小程序并订阅预警信息,服务器接受定时任务,有预警信息的情况下存储到数据库中,如果有新的预警信息再从数据库返回到服务器,服务器将预警信息精准发送给订阅的用户。图6为辽宁气象预警小程序运行模式。为了验证系统的主要功能模块,辽宁气象预警服务小程序使用微信开发工具进行测试。

3.1  登录模块

用户无须注册,只需授权位置信息后便可实现微信快速登录。登录成功后进入首页展示,首页上部展示小程序名称,中上部展示近期发布的预警信息,方便用户及时掌握预警信息,中部用户可根据需求点击订阅气象预警,以便后续用户在第一时间获取精准的预警信息。底部添加了个人中心模块,点击可获取用户登录信息及定位信息,如图7所示。

3.2  登预警信息推送模块

获取用户定位信息,显示当前所在城市名称,并获取辽宁省发布的预警信息,如图8所示。用户在成功订阅气象预警信息的前提下,微信端会自动推送气象灾害预警信息。

3.3  登预警信息查询模块

为了简化用户操作,用户可根据自身需求在时间下滑栏选择具体时间搜索[10];在全省下滑栏选择市级城市搜索;在灾种下滑栏中选择不同灾种类型搜索。对应的界面如图9、图10所示。

4  结  论

基于微信小程序的天气预警信息服务系统经过测试,各个模块功能均已实现并且能够稳定运行。本系统为所有小程序用户提供一个快速便捷掌握、查询气象预警信息的平台。与传统气象预警信息发布方式相比,预警服务小程序增强广大公眾获得预警信息的便捷性,有效提高了提高用户体验和气象服务质量。微信小程序为我省气象预警工作的呈现又提供了新的渠道,更能够体现我省气象工作与时俱进、服务至上的理念,推进生活性气象服务向高质量和多元化目标升级。

参考文献:

[1] 毕陟,宋海强.微信公众平台在公共气象服务领域中的应用 [J].现代商业,2016(28):180-181.

[2] 彭佳丽,郑剑.基于微信小程序开发的天气小管家平台 [J].电脑知识与技术,2019,15(12):67-69.

[3] 温志达,崔韶,高雷博,等.农业气象服务系统的微信小程序设计与实现 [J].甘肃农业,2022(3):112-115.

[4] 王家乐.基于微信的“雨在哪”小程序设计与实现 [J].电脑知识与技术,2021,17(15):82-84.

[5] 毛雨萱,杨平恒.基于微信小程序的天气预报平台的设计与实现 [J].电脑知识与技术,2022,18(20):54-56.

[6] 周文洁.微信小程序开发零基础入门 [M].北京:清华大学出版社,2019:1-36.

[7] 李正仁,周凯虎,王全贵,等.基于Node.js与微信小程序的活动管理平台 [J].计算机系统应用,2019,28(12):86-92.

[8] 邹琼俊.H5+跨平台移动应用实战开发 [M].北京:北京航空航天大学出版社,2019:52-93.

[9]王萍.SpringBoot项目中EhCache缓存技术的实现 [J].电脑知识与技术,2021,17(29):79-81.

[10] 黑马程序员.微信小程序开发实战 [M].北京:人民邮电出版社,2019:180-192.

作者简介:隋远琦(1995-),女,汉族,辽宁丹东人,助理工程师,硕士,主要研究方向:计算机应用的研究;潘静(1979-),女,汉族,辽宁沈阳人,高级工程师,硕士,主要研究方向:气象信息服务的研究。

猜你喜欢

微信小程序气象服务
图书馆微信小程序的应用现状及前景分析
基于CNKI的微信小程序研究文献计量分析
信息技术与专业课程融合路径探索
当图书馆遇上微信小程序
农业生产中气象服务的重要性及改进途径
浅析气象服务需进一步融入农业生产必要性