资讯专栏INFORMATION COLUMN

TP5结合聚合数据天气预报API查询天气

王晗 / 3102人阅读

摘要:分享一个版本的查询天气接口。那就用聚合数据的天气接口吧,也是免费的,不过聚合数据的接口申请相对繁琐。注册一个聚合数据的账号实名认证你的账号申请你需要的接口申请验证你的接口申请地址虽然是繁琐了很多,不过返回的信息确是非常的丰富。

分享一个php版本的查询天气接口。免费查询天气的接口有很多,比如百度的apistore的天气api接口,我本来想采用这个接口的,可惜今天百度apistore死活打不开了。那就用聚合数据的天气api接口吧,也是免费的,不过聚合数据的接口申请相对繁琐。
1、注册一个聚合数据的账号
2、实名认证你的账号
3、申请你需要的api接口
4、申请验证你的api接口
申请地址:https://www.juhe.cn/docs/api/...
虽然是繁琐了很多,不过返回的信息确是非常的丰富。
好了,现在来分享一下,tp5中怎么整合进去。

config.php中,配置你的appkey:

//配置文件
return [
    
    "appkey" => ""  //此处填入你的key
];

common.php中放入请求的方法:


控制器中,index.php的代码:


// +----------------------------------------------------------------------
namespace appweathercontroller;

use thinkController;

class Index extends Controller
{
    public function index()
    {
        return $this->fetch();
    }
    
    /**
     * 根据城市获取天气情况
     */
    public function getWeatherByCity()
    {
        $cityName = input("param.cityname");
        $url = "http://op.juhe.cn/onebox/weather/query";
        $appkey = config("appkey");
        
        $params = [
                "cityname" => $cityName,//要查询的城市,如:温州、上海、北京
                "key" => $appkey,//应用APPKEY(应用详细页查询)
                "dtype" => "",//返回数据的格式,xml或json,默认json
        ];
        $paramstring = http_build_query($params);
        
        $content = juhecurl($url, $paramstring);
        $result = json_decode($content, true);
        
        if( empty( $result ) ){
            return json( ["code" => -1, "data" => "", "msg" => "请求失败"] );
        }
        
        if( "0" != $result["error_code"] ){
            return json( ["code" => -2, "data" => "", "msg" => $result["error_code"]." : ".$result["reason"]] );
        }
        
        return json( ["code" => 1, "data" => $result, "msg" => "success"] );
    }
}

view层中,index.html的代码如下:



  
  
    
    
    天气查询
    
    
    
  
    
    
    
    

通过浏览器访问页面如下:

输入你要查询的城市,比如:南京,点击查询

json数据成功返回,这是你就可以根据你的需要渲染页面了。参数的讲解参照这里
https://www.juhe.cn/docs/api/...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22094.html

相关文章

  • Android程序之全国天气预报查询API调用

    一、项目演示效果如下: showImg(https://segmentfault.com/img/bVCW9p);showImg(https://segmentfault.com/img/bVCW9q); 项目源代码下载地址: http://yunpan.cn/cZVWIieuFyK9I 访问密码 2eac 二、使用 聚合数据SDK: (1)聚合数据官网地址:http://www.juhe.cn/...

    darryrzhong 评论0 收藏0
  • Android手机集成天气预报功能方案:全国天气预报API调用

    摘要:今天要分享的是手机设备集成天气预报功能的方案。我采用的方案是使用聚合数据上的全国天气预报。如需要,可申请实现步骤到聚合数据官网上注册,然后申请申请全国天气预报数据,生成。 今天要分享的是Android手机设备集成天气预报功能的方案。我采用的方案是使用聚合数据上的全国天气预报API。如需要,可申请:https://www.juhe.cn/docs/api/...实现步骤:1.到聚合数据官...

    MageekChiu 评论0 收藏0
  • 国内值得关注的官方API集合

    摘要:电影豆瓣电影豆瓣电影支持电影条目,影人条目,搜索和榜单等。音乐豆瓣音乐支持音乐信息,评论信息,标签信息,搜索音乐,某个音乐中标记最多的标签,发表修改删除评论,用户对音乐的所有标签等内容。 项目地址:https://github.com/marktony/A... 本页仅收集国内部分官方API,如需查看其他版本,请点击这里。 目录 笔记 出行 词典 电商 地图 电影 即时通讯 开发者网...

    gaomysion 评论0 收藏0
  • 国内值得关注的官方API集合

    摘要:电影豆瓣电影豆瓣电影支持电影条目,影人条目,搜索和榜单等。音乐豆瓣音乐支持音乐信息,评论信息,标签信息,搜索音乐,某个音乐中标记最多的标签,发表修改删除评论,用户对音乐的所有标签等内容。 项目地址:https://github.com/marktony/A... 本页仅收集国内部分官方API,如需查看其他版本,请点击这里。 目录 笔记 出行 词典 电商 地图 电影 即时通讯 开发者网...

    miqt 评论0 收藏0
  • 国内值得关注的官方API集合

    摘要:电影豆瓣电影豆瓣电影支持电影条目,影人条目,搜索和榜单等。音乐豆瓣音乐支持音乐信息,评论信息,标签信息,搜索音乐,某个音乐中标记最多的标签,发表修改删除评论,用户对音乐的所有标签等内容。 项目地址:https://github.com/marktony/A... 本页仅收集国内部分官方API,如需查看其他版本,请点击这里。 目录 笔记 出行 词典 电商 地图 电影 即时通讯 开发者网...

    coordinate35 评论0 收藏0

发表评论

0条评论

王晗

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<