当前位置:首页 > 黑客技术 > 正文内容

微信小程序开发天气预报(小程序 天气预报)

hacker2年前 (2022-07-18)黑客技术126

本文目录一览:

带有天气预报的微信小程序怎么 ***

小程序的源码里写上天气预报的小程序源码就没有问题的。

上传后通过审核就会在微信内部进行展示的。

微信小程序如何实现根据实时天气弹出一个提示窗口

弹窗很简单,都是模板层,主要是里面的数据和你想展示的布局。

现在的天气API是免费的,可以用小程序获取到天气情况,然后根据返回值,提取出里面你要的信息。再显示到弹出层上。

微信上怎样订制天气预报

您好,很高兴为您解答:

找到微信的快捷方式并将其打开。进入主界面。

在主界面中,点击下方的“我”选项,进入到下一个界面中。

在该界面下点击钱包选项,在我的钱包中找到城市服务选项将其打开。

进入城市服务界面下,找到并点击天气预报选项。进入下一界面

在天气预报对话框中通过选择来选择定位自己所在地区的天气情况。

根据提示首先定位到省份,然后接着选择地级市,最后选择县级市就可以了。

微信公共平台开发者模式的天气预报的小图标是怎么弄的?

编辑模式下是不可以的。除非你手动维护 天气信息。 是这样的 编辑模式里的内容 都是人工手动维护的,是静态的。 而开发模式里的内容 都是程序自动生成的,是动态获取的。 所以类似天气信息 一般都是使用程序获取最新的天气 的。 望采纳

那些微信朋友圈每天更新的:天气预报+一句励志的话(或者生活温馨提醒)是在哪里找的?什么软件可以做到

微信小程序“实时天气”上有个“文字版天气”(朋友圈天气)菜单,就是专门用来发这个的!里面包括正能量、人生寄语、空气质量什么的。

公共平台没开发怎样可以有天气预报

在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能。我们将使用中国天气网的气象数据接口来获取天气信息。

这篇教程将介绍以下内容:

获取中国天气网的气象数据

在微信公众平台中回复天气

一、中国天气网

中国天气网提供了丰富的气象数据接口。下面我们介绍主要的几个:

国家根节点接口:

该接口以XML格式列出所有的省(自治区、直辖市)的中文名称(quName)和拼音名称(pyName)及省会城市的天气信息,其中广东的数据如下:

city quName="广东" pyName="guangdong" cityname="广州" state1="2" state2="7" stateDetailed="阴转小雨" tem1="8" tem2="15" windState="微风"/

该接口的主要功能是通过它获取省级节点的拼音名称。以广东为例:其pyName是“Guangdong”。

省级节点接口(以广东为例):

该接口以XML格式列出当前省下辖所有市的中文名称(quName)、拼音名称(pyName)、中心坐标、天气信息以及城市编码。其中深圳的数据如下所示:

city cityX="409" cityY="257" cityname="深圳" centername="深圳" fontColor="FFFFFF" pyName="shenzhen" state1="1" state2="1" stateDetailed="多云" tem1="12" tem2="18" temNow="12" windState="微风" windDir="东北风" windPower="1级" humidity="74%" time="21:15" url="101280601"/

在这个接口中主要获取城市名称及相应的城市编码。例如,深圳的城市编码为:101280601。可以编写程序将全国城市拓扑结构采集下来。也可以使用方倍工作室已经采集好的,点击这里下载。

实时天气数据(以深圳为例):

该接口以 *** ON格式列出当前城市的实时天气状况。如下所示:

{

"weatherinfo": {

"city": "深圳",

"cityid": "101280601",

"temp": "12",

"WD": "东北风",

"WS": "1级",

"SD": "75%",

"WSE": "1",

"time": "21:20",

"isRadar": "1",

"Radar": "JC_RADAR_AZ9755_JB"

}

}

实时天气数据参数说明下所示:

六日天气数据(以深圳为例):

该接口以 *** ON格式列出当前城市的六日天气状况。如下所示:

{

"weatherinfo": {

"city": "深圳",

"city_en": "shenzhen",

"date_y": "2014年2月15日",

"date": "",

"week": "星期六",

"fchh": "18",

"cityid": "101280601",

"temp1": "12℃~18℃",

"temp2": "16℃~21℃",

"temp3": "17℃~23℃",

"temp4": "11℃~18℃",

"temp5": "10℃~15℃",

"temp6": "12℃~17℃",

"tempF1": "53.6℉~64.4℉",

"tempF2": "60.8℉~69.8℉",

"tempF3": "62.6℉~73.4℉",

"tempF4": "51.8℉~64.4℉",

"tempF5": "50℉~59℉",

"tempF6": "53.6℉~62.6℉",

"weather1": "多云",

"weather2": "阴",

"weather3": "多云",

"weather4": "中雨",

"weather5": "多云",

"weather6": "阴",

"img1": "1",

"img2": "99",

"img3": "2",

"img4": "99",

"img5": "1",

"img6": "99",

"img7": "8",

"img8": "99",

"img9": "1",

"img10": "99",

"img11": "2",

"img12": "99",

"img_single": "1",

"img_title1": "多云",

"img_title2": "多云",

"img_title3": "阴",

"img_title4": "阴",

"img_title5": "多云",

"img_title6": "多云",

"img_title7": "中雨",

"img_title8": "中雨",

"img_title9": "多云",

"img_title10": "多云",

"img_title11": "阴",

"img_title12": "阴",

"img_title_single": "多云",

"wind1": "微风",

"wind2": "微风",

"wind3": "微风",

"wind4": "东北风3-4级",

"wind5": "微风",

"wind6": "微风",

"fx1": "微风",

"fx2": "微风",

"fl1": "小于3级",

"fl2": "小于3级",

"fl3": "小于3级",

"fl4": "3-4级",

"fl5": "小于3级",

"fl6": "小于3级",

"index": "较舒适",

"index_d": "建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。",

"index48": "较舒适",

"index48_d": "建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。",

"index_uv": "最弱",

"index48_uv": "最弱",

"index_xc": "适宜",

"index_tr": "适宜",

"index_co": "舒适",

"st1": "19",

"st2": "13",

"st3": "23",

"st4": "16",

"st5": "24",

"st6": "18",

"index_cl": "适宜",

"index_ls": "适宜",

"index_ag": "不易发"

}

}

未来六日天气数据主要参数说明如下表所示:

以上接口是我们做天气预报功能将使用到的接口。

二、微信公众平台开发

1. 需要将城市编码对照表导入到数据库中,以下是SAE导入后截图

2. 将城市名转为城市代码的 *** ,这将在用户发送城市名的时候调用

1 function fromNameToCode($name)

2 {

3 $mysql_host = SAE_MYSQL_HOST_M;

4 $mysql_host_s = SAE_MYSQL_HOST_S;

5 $mysql_port = SAE_MYSQL_PORT;

6 $mysql_user = SAE_MYSQL_USER;

7 $mysql_password = SAE_MYSQL_PASS;

8 $mysql_database = SAE_MYSQL_DB;

9

10 $mysql_table = "weather";

11 $mysql_state = "SELECT * FROM ".$mysql_table." WHERE `cityName` = '".$name."'";

12

13 $con = mysql_connect($mysql_host.':'.$mysql_port, $mysql_user, $mysql_password, true);

14 if (!$con){

15 die('Could not connect: ' . mysql_error());

16 }

17 mysql_query("SET NAMES 'UTF8'");

18 mysql_select_db($mysql_database, $con);

19 $result = mysql_query($mysql_state);

20 $cityCode = "";

21 while($row = mysql_fetch_array($result))

22 {

23 $cityCode = $row['cityCode'];

24 break;

25 }

26 mysql_close($con);

27 return $cityCode;

28 }

3. 编写接口调用函数,用于向天气网发送cURL请求,获取数据

1 function httpRequest($url)

2 {

3 $ch = curl_init();

4 curl_setopt($ch, CURLOPT_URL, $url);

5 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

6 $output = curl_exec($ch);

7 curl_close($ch);

8 if ($output === FALSE){

9 return "cURL Error: ". curl_error($ch);

10 }

11 return $output;

12 }

4. 编写获取天气数据的函数,这里获取实时天气和未来3日天气,并将返回结果封装成图文信息的数组

1 function getWeatherInfo($cityName)

2 {

3 $cityCode = fromNameToCode($cityName);

4

5 if ($cityCode == "")

6 {

7 return "错误的城市名或者此城市不在数据库中!";

8 }

9

10 //获取实时天气

11 $url = "".$cityCode.".html";

12 $output = httpRequest($url);

13 $weather = json_decode($output, true);

14 $info = $weather['weatherinfo'];

15

16 $weatherArray = array();

17 $weatherArray[] = array("Title"=$info['city']."天气预报", "Description"="", "PicUrl"="", "Url" ="");

18 if ((int)$cityCode 101340000){

19 $result = "实况 温度:".$info['temp']."℃ 湿度:".$info['SD']." 风速:".$info['WD'].$info['WSE']."级";

20 $weatherArray[] = array("Title"=str_replace("%", "﹪", $result), "Description"="", "PicUrl"="", "Url" ="");

21 }

22

23 //获取六日天气

24 $url = "".$cityCode.".html";

25 $output = httpRequest($url);

26 $weather = json_decode($output, true);

27 $info = $weather['weatherinfo'];

28

29 if (!empty($info['index_d'])){

30 $weatherArray[] = array("Title" =$info['index_d'], "Description" ="", "PicUrl" ="", "Url" ="");

31 }

32

33 $weekArray = array("日","一","二","三","四","五","六");

34 $maxlength = 3;

35 for ($i = 1; $i = $maxlength; $i++) {

36 $offset = strtotime("+".($i-1)." day");

37 $subTitle = date("m月d日",$offset)." 周".$weekArray[date('w',$offset)]." ".$info['temp'.$i]." ".$info['weather'.$i]." ".$info['wind'.$i];

38 $weatherArray[] = array("Title" =$subTitle, "Description" ="", "PicUrl" =""."d".sprintf("%02u",$info['img'.(($i *2)-1)]).".jpg", "Url" ="");

39 }

40

41 return $weatherArray;

42 }

5. 在微信公众平台接口函数中处理收到的文本消息时,文本将为城市名,直接调用获取天气的函数

1 /*

2 方倍工作室

3 CopyRight 2013 All Rights Reserved

4 */

5

6 define("TOKEN", "weixin");

7

8 $wechatObj = new wechatCallbackapiTest();

9 if (!isset($_GET['echostr'])) {

10 $wechatObj-responseMsg();

11 }else{

12 $wechatObj-valid();

13 }

14

15 class wechatCallbackapiTest

16 {

17 public function valid()

18 {

19 $echoStr = $_GET["echostr"];

20 if($this-checkSignature()){

21 echo $echoStr;

22 exit;

23 }

24 }

25

26 private function checkSignature()

27 {

28 $signature = $_GET["signature"];

29 $timestamp = $_GET["timestamp"];

30 $nonce = $_GET["nonce"];

31 $token = TOKEN;

32 $tmpArr = array($token, $timestamp, $nonce);

33 sort($tmpArr);

34 $tmpStr = implode($tmpArr);

35 $tmpStr = sha1($tmpStr);

36

37 if($tmpStr == $signature){

38 return true;

39 }else{

40 return false;

41 }

42 }

43

44 public function responseMsg()

45 {

46 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

47 if (!empty($postStr)){

48 $this-logger("R ".$postStr);

49 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

50 $RX_TYPE = trim($postObj-MsgType);

51

52 switch ($RX_TYPE)

53 {

54 case "event":

55 $result = $this-receiveEvent($postObj);

56 break;

57 case "text":

58 $result = $this-receiveText($postObj);

59 break;

60 }

61 $this-logger("T ".$result);

62 echo $result;

63 }else {

64 echo "";

65 exit;

66 }

67 }

68

69 private function receiveEvent($object)

70 {

71 $content = "";

72 switch ($object-Event)

73 {

74 case "subscribe":

75 $content = "欢迎关注方倍工作室 ";

76 break;

77 case "unsubscribe":

78 $content = "取消关注";

79 break;

80 }

81 $result = $this-tran *** itText($object, $content);

82 return $result;

83 }

84

85 private function receiveText($object)

86 {

87 $keyword = trim($object-Content);

88

89 include("weather.php");

90 $content = getWeatherInfo($keyword);

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:http://w-123.com/205476.html

“微信小程序开发天气预报(小程序 天气预报)” 的相关文章

研究人员发现针对乌克兰的第 3 款擦除恶意软件

研究人员近日发现了针对乌克兰计算机的新型擦除恶意软件(以破坏关键文件和数据为目的),这是俄乌冲突以来发现的第 3 款擦除恶意软件。 这种被称为 CaddyWiper 的恶意软件是由总部位于斯洛伐克的网络安全公司 ESET 的研究人员发现的,他们在周一发布的推文中分享了细节。 据研究人员称,该...

CISA 与 FBI 在 Viasat 网络攻击后发出警告 美国卫星通讯亦面临安全威胁

因担心俄乌冲突引发的近期针对欧洲卫星网络发起的攻击可能很快蔓延到美国本土,政府机构已经向卫星通信网络运营商发出了“潜在威胁”预警。在美国网络安全与基础设施安全局(CISA)和联邦调查局(FBI)本周联合发布的一份公告中,其敦促卫星通讯(SATCOM)网络提供商和基础设施组织加强安全防御。若被入侵,或...

意大利对 Clearview AI 罚款 2000 万欧元并令其删除数据

一家欧洲隐私监督机构已经制裁了有争议的面部识别公司Clearview AI,该公司从互联网上搜刮自拍,积累了约100亿张脸的数据库,为其出售给执法部门的身份匹配服务。意大利的数据保护机构今天宣布对Clearview AI违反欧盟法律的行为处以2000万欧元罚款。 同时命令这家有争议的公司删除其...

微软捣毁 ZLoader 犯罪僵尸网络

微软今天宣布近日捣毁了一个名为 ZLoader 的主要犯罪僵尸网络,这也是使用 XLM 宏作为攻击面的僵尸网络之一。微软的最新行动包括技术和法律活动,以破坏利用 ZLoader 作为恶意软件即服务(malware-as-a-service)的犯罪集团的运作。 在本次捣毁行动中,微软还锁定了一位开发...

微软 Windows 受到 Hafnium 恶意软件 “Tarrask” 的集团化攻击

对微软Exchange服务器造成严重破坏的臭名昭著的Hafnium黑客组织回来了。但这一次,微软清楚地知道这个国家支持的威胁行为者团体的活动意图,该组织正在利用”Tarrask”恶意软件来瞄准并不断削弱Windows操作系统的防御能力。 微软检测和响应小组(DART)在一篇博文中解释说,Hafni...

研究人员发现三个联想电脑的 UEFI 漏洞 影响规模可达数百万台

根据The Hacker News的报道,有三个高影响的统一可扩展固件接口(UEFI)安全漏洞被公布,即CVE-2021-3970、CVE-2021-3971和CVE-2021-3972,已被发现它们会影响联想的各种设备,如联想Flex、IdeaPads和Yoga笔记本电脑。 最初,CVE-202...

评论列表

掩吻猫卆
2年前 (2022-07-18)

: "2014年2月15日", "date": "", "week": "星期六", "fchh": "18", "cityid": "101280601", "temp1": "12℃~18℃", "temp

鸽吻清妩
2年前 (2022-07-18)

_query("SET NAMES 'UTF8'");18 mysql_select_db($mysql_database, $con);19 $result = mysql_query($mysql_state);20 $cityCode = "";21 while

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。