Hook.php 3.9 KB
Newer Older
D
devil_gong 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\plugins\footercustomerservice;

use think\Controller;
use app\plugins\footercustomerservice\Service;
use app\service\PluginsService;

/**
 * 底部客户服务介绍插件 - 钩子入口
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class Hook extends Controller
{
    /**
     * 应用响应入口
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-02-09T14:25:44+0800
     * @param    [array]                    $params [输入参数]
     */
    public function run($params = [])
    {
        if(!empty($params['hook_name']))
        {
            switch($params['hook_name'])
            {
D
devil_gong 已提交
40 41 42
                // css
                case 'plugins_css' :
                    $ret = $this->CssFile($params);
D
devil_gong 已提交
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
                    break;

                // 底部导航上面钩子
                case 'plugins_view_common_footer_top' :
                    $ret = $this->FooterServerData($params);
                    break;
                default :
                    $ret = '';
            }
            return $ret;
        }
    }

    /**
     * 客户服务数据
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-02-06T16:16:34+0800
     * @param    [array]          $params [输入参数]
     */
    public function FooterServerData($params = [])
    {
        $ret = $this->IsNormal($params);
        if($ret['code'] == 0)
        {
            $this->assign('data_list', $ret['data']);
            return $this->fetch('../../../plugins/view/footercustomerservice/index/content');
        }
        return '';
    }

    /**
     * css
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-02-06T16:16:34+0800
     * @param    [array]          $params [输入参数]
     */
D
devil_gong 已提交
83
    public function CssFile($params = [])
D
devil_gong 已提交
84 85 86 87
    {
        $ret = $this->IsNormal($params);
        if($ret['code'] == 0)
        {
D
devil_gong 已提交
88
            return __MY_ROOT_PUBLIC__.'static/plugins/css/footercustomerservice/index/style.css';
D
devil_gong 已提交
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
        }
        return '';
    }

    /**
     * 是否正常
     * @author   Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2019-04-23
     * @desc    description
     * @param    [array]          $params [输入参数]
     */
    private function IsNormal($params = [])
    {
        // 当前模块/控制器/方法
        $module_name = strtolower(request()->module());
        $controller_name = strtolower(request()->controller());
        $action_name = strtolower(request()->action());

        // 获取应用数据
        $ret = PluginsService::PluginsData('footercustomerservice');
        if($ret['code'] == 0)
        {
            // 是否仅首页
            if(isset($ret['data']['is_only_home']) && $ret['data']['is_only_home'] == 1)
            {
                // 非首页则空
                if($module_name.$controller_name.$action_name != 'indexindexindex')
                {
                    return DataReturn('仅首页展示', -1);
                }
            }
        }

        // 获取图片列表
        $ret = Service::DataList();
        if($ret['code'] == 0 && !empty($ret['data']))
        {
            return DataReturn('成功', 0, $ret['data']);
        }

        return DataReturn('失败', -100);
    }
}
?>