首页 课程中心 问答&分享 读书 公众号框架 HUI H.JS 开放源 登录 & 注册
 《微信公众号开发权威教程》

1、回复关键字设定

设定客户回复的关键字为 "天气:城市名称",例如: 天气:北京


2、使用百度天气api查询结果并返回

查询当天天气的基本情况,包括气温,风向,风速等信息。(apikey 注册百度会员即可获取)


3、完整代码

<?php
$wechatObj = new weChat();
if($wechatObj->msgType == 'text'){
    $key = mb_substr($wechatObj->postObj->Content, 0, 3, 'utf-8');
    if($key == '天气:' || $key == '天气:'){
        $cityLength = mb_strlen($wechatObj->postObj->Content, 'utf-8');
        $city = mb_substr($wechatObj->postObj->Content, 3, $cityLength - 3,'utf-8');
        $ch = curl_init();
        $url = 'http://apis.baidu.com/apistore/weatherservice/cityname?cityname='.urlencode($city);
        $header = array('apikey:542fa63e80f8d8b630a9a611684dbf7c');
        // 添加apikey到header
        curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        // 执行HTTP请求
        curl_setopt($ch , CURLOPT_URL , $url);
        $res = curl_exec($ch);
        $arr = json_decode($res, true);
        if($arr['errMsg'] != 'success'){
            $wechatObj->reTextMsg('请输入正确的城市名称');
        }else{
            $str = "城市 : ".$arr['retData']['city']."
天气 : ".$arr['retData']['weather'].'
实时温度 : '.$arr['retData']['temp'].' °c
全天温度 : '.$arr['retData']['l_tmp'].' - '.$arr['retData']['h_tmp'].' °c
风向 : '.$arr['retData']['WD'].'
风力 : '.$arr['retData']['WS'];
            $wechatObj->reTextMsg($str);
        }
    }
}


4、图片示例

书籍目录  (请点击阅读)