浅谈玫瑰种植气象指标研究平台设计中的几点技巧

2020-06-09 12:20刘建勇胡雪刘彦岑刘星燕田晶闫慧敏
软件 2020年2期
关键词:微信小程序

刘建勇 胡雪 刘彦岑 刘星燕 田晶 闫慧敏

摘  要: 针对2018年河北省气象局科研开发项目玫瑰种植气象指标研究,结合工作需求,笔者利用VB.net编程语言,辅之以access数据库,开发了玫瑰种植气象指标研究平台。本文就开发过程中的以下几点技术技巧与同行业者分享与探讨:开发过程中与项目主要负责人实现“程序远程共享”,从而实现远程沟通和程序改进;物候观测数据处理过程中要素选取的鼠标右键菜单控制;气象服务产品发送邮件、微信公众号或微信小程序的实现等。

关键词: 程序远程共享;鼠标右键菜单;邮件发送;微信小程序

中图分类号: TP31    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.02.033

【Abstract】: According to the research and development project of Hebei Meteorological Bureau in 2018,in combination with the work requirements. The author developed a research platform for rose planting meteorological index by using VB.net programming language and “microsoft access” database. In this paper, the following technical skills in the development process are shared and discussed with those of the same industry:Realize "Program remote sharing" with the main person in charge of the project in the development process to achieve the purpose of remote communication and program improvement;In the process of phenological observation data processing, the right mouse button menu control;Meteorological service products mail delivery, WeChat Official Account or We Chat Mini Program implementation, etc.

【Key words】: Program remote sharing; Context menu; Mail sending; WeChat Mini Program

0  引言

近年来,随着电子技术和互联网技术的发展,气象設备的自动化程度越来越高[1-6],张家口业务软件的自动化程度也随之日益提高[7-9]。玫瑰种植气象指标研究,是由张家口市生态与农业气象中心主持,河北省气象科学研究所指导,针对康保星瀚玫瑰气象服务的一项科研项目。平台在设计过程中需要多方督导和协商,气象产品的发送也需要从原来的电话或传真方式,向邮件或微信方式过度,转变为玫瑰庄园大田工作人员方便快捷接收的形式。笔者针对以上需求,就平台开发过程中的几点技术技巧做一浅谈,以期与同行业者就类似问题做一探讨交流,以便共同提高本行业的开发能力。

1  程序远程共享的实现

在以往的气象业务软件编制过程中,需根据使用过程中出现的问题不断修正程序,使用者在程序改进后需重新获取并进行少量配置。在VS2010中提供了ClickOnce发布工具,方便了使用者进行程序更新。实现程序的远程共享,就是程序员给予项目负责人一个网址和权限,负责人安装后能够运行平台程序,从而实现异地共同调试的一项技术。程序员对平台修改更新后,负责人会收到更新提示。

1.1  实现程序远程共享的发布设置

在Visual Studio2010的解决方案资源管理器中,右键项目名称,打开项目属性,出现图1对话框,便是程序实现远程共享设计的部分设置界面。在本应用中,设置远程程序存放位置为服务器目录E:\app-online,设置了两种访问方式:局域网文件共享和HTTP协议访问。HTTP访问不需太多功能,选用了Nginx服务。设置ip为10.48.39.156,设置服务端口为8080,定义一个目录app,指向本地目录e:\app-online,对外形成地址为http://10.48.39.156: 8080/app。那么在图1界面中的左边菜单,选择“发布”,然后在“发布文件夹位置(网站、FTP服务器或者文件路径)”中输入“\\10.48.39.156\app-online\ kbrose\”,“安装文件夹URL(如果与以上不同)”输入“http://10.48.39.156:8080/app/kbrose/”,便设置了发布文件夹位置和安装文件夹位置。

其中配置文件nginx.conf,相关设置如下:

http{

include mime.types;

default_type application/octet-stream;

server {

listen 8080;

location/{root html;}

'邮件优先级

mail.Priority = System.Net.Mail.MailPriority. Normal

'以纯文本显示信件内容,为True时以HTML格式显示信件内容

mail.IsBodyHtml = False

'发件人邮箱

mail.From = New System.Net.Mail.Mail Address(mm.user + "@126.com", mm.displayName)

mail.To.Add(New Net.Mail.MailAddress("liux ingyan@qq.com", "刘星燕"))

'邮件主题和内容

mail.Subject = mm.Subject

mail.Body = mm.Content

'定义附件,参数为附件文件名,包含路径,推荐使用绝对路径

If Not mm.AttachFile Is Nothing AndAlso mm.AttachFile.Count <> 0 Then

For Each f As String In mm.AttachFile

Dim objFile As New System.Net. Mail.Attachment(f)

'附件文件名,用于收件人收到附件时显示的名称

Dim k = New IO.FileInfo(f)

objFile.Name = k.Name

'加入附件,可以多次添加

mail.Attachments.Add(objFile)

Next

End If

'发送邮件

Try

smtp.Send(mail)

sendMail = "邮件发送成功!"

Return True

Catch

sendMail = "邮件发送失败!"

Return False

Finally

mail.Dispose()

End Try

End Function

3.2  微信公众号或微信小程序的更新

近年來,随着智能手机的普及,微信用户也在逐年增加[10-14],微信公众号和微信小程序气象服务逐渐替代了传统的气象服务方式。玫瑰气象指标研究平台针对康保星瀚玫瑰庄园的气象服务产品发送,也采用了微信服务方式。

方式1:用户自行在公众号内查阅消息

主动推送数据到外网服务器或云服务器,用户在微信公众号及微信小程序中获取最新数据

方式2:主动发送应用消息到企业微信用户

通过企业微信应用发送消息,相关文档参考企业微信官方开发文档。得到发送应用消息的api接口为https://qyapi.weixin.qq.com/cgi-bin/message/send? access_token=ACCESS_TOKEN。新建一个企业微信应用,获取该应用的AgentID(本例中为1000003)。以发送文本消息为例,发送消息体为:

{

"touser" : "LiuXingYan|HuXue|TianJing",

"msgtype" : "text",

"agentid" : 1000003,

"text" : {"content" : "明日天气晴好,适合玫瑰采摘。"},

"safe":0,

"enable_id_trans": 0

}

使用newtonsoft.json组件构造该消息,通过net.webclient.upload方法 Post消息到api地址。

4  小结

(1)玫瑰种植气象指标研究,是由张家口市气象局主持、河北省气象科学研究所指导、康保气象

局协助的一项科研项目。项目平台的设计,需要多方沟通和协商,“程序远程共享”功能的设计,为项目“多方、异地共同研究”提供了便利条件。程序远程共享,主要靠配置文件nginx.conf来实现。

(2)在处理和分析物候观测数据时,平台大量使用“鼠标右键功能”,不但界面简洁,功能上也大大增强。此项功能的实现,ContextMenuStrip控件的使用是关键技术。

(3)近年来,随着智能手机的普及,关注微信公众号和使用微信小程序的用户越来越多,将这两种新型技术应用于气象服务,也是气象为农服务方式的新尝试。

参考文献

余卫东, 杨光仙, 张志红. 我国农业气象自动化观测现状与展望[J]. 气象与环境科学, 2013, 36(2): 66-70.

张雪芬, 薛红喜, 孙涵, 等. 自动农业气象观测系统功能与设计[J]. 应用气象学报, 2012, 23(1): 105-112.

顾润香. 121按9定制气象短信号码提取与发送程序设计[J]. 软件, 2014, 35(5): 122-124.

刘星燕, 王新宁, 孙晓霞, 等. 从预报报文获取农气预报程序设计浅谈[J]. 软件, 2017, 38(7): 130-133.

张成伟, 杨建宇, 高雯. 使用AutoIt开发气象业务自动化应用软件[J]. 广东气象, 2011, 33(3): 54-55.

邹书平. 基于VB通信控制技术的气象短信服务[J]. 气象科技, 2006, 34(4): 682-684.

吴伟光, 刘建勇, 刘星燕, 等. 浅谈坝上温室育苗气象灾害监测预警系统的界面设计[J]. 软件, 2018, 39(9): 149-153.

刘星燕, 王新宁, 孙晓霞, 等. 从预报报文获取农气预报程序设计浅谈[J]. 软件, 2017, 38(7): 130-133.

刘星燕, 贾磊, 薛君彦. 浅谈张家口121语音答询系统几个常见问题的处理[J]. 软件, 2018, 39(1): 180-182.

张雪云, 牟艳, 张九博. 基于微信小程序的电源监测管理系统设计[J]. 计算机与现代化, 2017(12): 98-102.

查晓俊, 成刚, 杨玉志. 基于微信小程序的医疗设备管理系统设计与实现[J]. 中国医疗设备, 2018, 33(5): 134-138.

张嘉琳, 江锋, 张耀曾. 基于微信小程序的师生项目管理系统设计[J]. 办公自动化, 2018, 23(8): 39-41.

蔡 敏. 微信小程序的电源监测管理系统设计分析[J]. 江西电力职业技术学院学报, 2019, 32(1): 1-3.

郭毅棋. 基于微信小程序的高校新生预报到系统设计[J]. 厦门城市职业学院学报, 2017, 19(4): 10-14.

猜你喜欢
微信小程序
微信小程序在高校英语教学中的应用
当图书馆遇上微信小程序