维亿CMS资源网,免费分享和下载
当前位置: 首页 > CMS建站 > 用PbootCms扩展定制一个访客当地天气功能

用PbootCms扩展定制一个访客当地天气功能

匿名站长 CMS建站
扫码手机访问

Pbootcms交流群里有同学提出给PbootCms加一个天气。安排。

实现思路

首先我们要获取访客IP,pb有写好的方法,get_user_ip(),这个就不用重复去写了。


有了IP地址就要去查IP归属城市,

查询好归属地之后再用归属地去查询当地天气。

根据IP查询城市

百度地图有我需要的接口,首先你需要有一个AK:可以到百度地图开放平台去申请,当然你也可以直接用我的,我不介意。

我们先测试下,看看百度地图API返回的信息:

这个city是我想要的值。


根据city查询天气

我这里用的今日头条的API,如果你需要用其他的API可以自行对照修改。


我们来看看头条的API返回内容:

这个接口返回的内容还是很多的,不要慌,红框里是我想要的内容,提取出来就行了。


好了,万事是具备,只欠代码。


上代码

修改文件:apps/home/controller/ExtLabelController.php

首先在run方法中,加入自定义标签$this->diylabel();方法


    /* 必备启动函数 */

    public function run($content)

    {

        // 接收数据

        $this->content = $content;

        

        // 执行个人自定义标签函数

        $this->diylabel();


        // 返回数据

        return $this->content;

    }

紧接着,给出自定义标签的方法


    // 扩展单个标签

    private function diylabel()

    {

        $this->content = str_replace('{pboot:weather}', $this->getWeather(), $this->content);

    }

接下来就是要返回标签替换的内容,接着写


    //获取当地天气

    private function getWeather(){

        $city = $this->get_ip_city();

        $url = "https://www.toutiao.com/stream/widget/local_weather/data/?city={$city}";

        $result = get_url($url);

        $result = json_decode($result,true);

        //这里可以按照你需要自行组合

        return $city.' 今天'.$result['data']['weather']['day_condition'].' 当前气温'.$result['data']['weather']['current_temperature'];

    }


    //获取城市

    private function get_ip_city(){

        $ip = get_user_ip();

        $url   = 'http://api.map.baidu.com/location/ip?ip=' . $ip . '&ak=x7sOPlIYZkFO9eXZHwEj4bc06IhqhdoF';

        $html  = file_get_contents($url);

        $res   = json_decode($html);

        $city  = $res->content->address_detail->city; //城市

        return $city;

    }

使用方法

在模板中使用{pboot:weather}即可。

上效果图:

呐,你们要的自定义天气标签,也可以根据你的实际需求把天气用图片来显示,更美观,这个就请自行尝试吧。

提示:该代码需要正式环境生效,本地环境IP可能是127.0.0.*或者localhost,获取不到城市信息。

标签:

访客

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 123456@qq.com

同类推荐
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网
维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网维亿CMS资源网