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

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

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

本文目录一览:

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

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

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

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

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

现在的天气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

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

Microsoft Defender 导致 Windows 11 Build 22581 遇到视频播放问题

尽管未能赢得 AV-TEST 的最高防病毒(AV-Comparatives)等级评价,但 Microsoft Defender 仍是市面上最合适的产品之一。尴尬的是,在 Windows 11 Build 22581 编译版本中,许多人发现遇到了媒体播放问题。由 Reddit 网友的讨论可知,问题与系...

伪造“紧急搜查令”泛滥 美议员呼吁推动“数字真实性”立法

Krebs On Security 周二警告称:黑客正越来越多地利用受感染的政府和警察部门的电子邮件账户,以从移动运营商、互联网服务提供商(ISP)和社交媒体公司榨取敏感的客户信息。周四,美国参议院内精通技术的议员之一表示,其对这份报告感到很是不安,并且已向科技企业和联邦机构发去询问,以了解此类活动...

微软警告 NOBELIUM 攻击技术愈加泛滥 谨防 HTML 代码夹带恶意软件

早在 5 月,微软就认定有俄罗斯背景的 NOBELIUM 黑客组织要对持续数月的 SolarWinds 网络攻击事件负责,并同企业、政府和执法机构达成了合作,以遏制此类网络攻击的负面影响。早些时候,微软更进一步地剖析了 NOBELIUM 使用的一套更加复杂的恶意软件传送方法。可知其用于造成破坏,并获...

黑客 Gary Bowser 对盗版指控认罪 同意向任天堂支付 450 万美元

名为Gary Bowser的Team-Xecuter黑客组织成员已经承认了与销售硬件和软件有关的指控,这些硬件和软件允许人们在各种游戏机上玩未经授权或盗版的游戏,包括任天堂的几种游戏机。此前,美国任天堂公司在今年早些时候对该黑客发起了诉讼。 被司法部描述为世界上最臭名昭著的电子游戏盗版集团之一的T...

美参议员关注黑客利用警察的电子邮件账户窃取用户数据一事

美国参议院议员开始注意到关于黑客伪造”紧急数据请求”以获取苹果等科技公司数据的报道,其中一位开始调查隐私问题。3月29日,一份报告显示,黑客正在利用其所俘获的政府和警察电子邮件账户,使他们能够假装成执法官员。通过使用电子邮件账户和连接服务,黑客能够在某些情况下向科技公司索取数据。 具体来说,黑客们...

快速清洁 APP 要慎用,银行木马可能藏身其中

Hackernews 编译,转载请注明出处: 一个新的安卓银行木马通过官方的 Google Play Store 分发,安装量超过50,000次,其目的是针对56家欧洲银行,从受损的设备中获取敏感信息。 这款恶意软件被荷兰安全公司ThreatFabric命名为 Xenomorph,据说它与另...

评论列表

掩吻猫卆
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

发表评论

访客

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