Requests.php 2.8 KB
Newer Older
李光春's avatar
李光春 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?php

// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
李光春's avatar
李光春 已提交
16
declare (strict_types=1);
李光春's avatar
李光春 已提交
17 18 19 20 21

namespace DtApp\ThinkLibrary\helper;

/**
 * 请求管理类
李光春's avatar
李光春 已提交
22
 * @mixin Requests
李光春's avatar
李光春 已提交
23 24 25 26 27 28 29 30
 * @package DtApp\ThinkLibrary\helper
 */
class Requests
{
    /**
     * 判断输入的参数
     * @param array $data
     * @param array $arr
李光春's avatar
李光春 已提交
31
     * @return array
李光春's avatar
李光春 已提交
32
     */
李光春's avatar
李光春 已提交
33
    public function isEmpty(array $data, array $arr): array
李光春's avatar
李光春 已提交
34
    {
李光春's avatar
李光春 已提交
35
        foreach ($arr as $k => $v) if (empty(isset($data["$v"]) ? $data["$v"] : '')) return [];
李光春's avatar
李光春 已提交
36 37 38 39 40 41 42 43 44
        return $data;
    }

    /**
     * 判断输入的参数为空就返回Json错误
     * @param array $data
     * @param array $arr
     * @return array
     */
李光春's avatar
李光春 已提交
45
    public function isEmptyRet(array $data, array $arr): array
李光春's avatar
李光春 已提交
46 47 48 49 50 51 52 53 54
    {
        foreach ($arr as $k => $v) if (empty(isset($data["$v"]) ? $data["$v"] : '')) \DtApp\ThinkLibrary\facade\Returns::jsonError('请检查参数', 102);
        return $data;
    }

    /**
     * 判断是否为GET方式
     * @return bool
     */
李光春's avatar
李光春 已提交
55
    public function isGet(): bool
李光春's avatar
李光春 已提交
56 57 58 59 60 61 62 63
    {
        return request()->isGet();
    }

    /**
     * 判断是否为POST方式
     * @return bool
     */
李光春's avatar
李光春 已提交
64
    public function isPost(): bool
李光春's avatar
李光春 已提交
65 66 67 68 69 70 71 72
    {
        return request()->isPost();
    }

    /**
     * 判断是否为PUT方式
     * @return boolean
     */
李光春's avatar
李光春 已提交
73
    public function isPut(): bool
李光春's avatar
李光春 已提交
74 75 76 77 78 79 80 81
    {
        return request()->isPut();
    }

    /**
     * 判断是否为DELETE方式
     * @return boolean
     */
李光春's avatar
李光春 已提交
82
    public function isDelete(): bool
李光春's avatar
李光春 已提交
83 84 85 86 87 88 89 90
    {
        return request()->isDelete();
    }

    /**
     * 判断是否为Ajax方式
     * @return bool
     */
李光春's avatar
李光春 已提交
91
    public function isAjax(): bool
李光春's avatar
李光春 已提交
92 93 94 95 96 97 98 99
    {
        return request()->isAjax();
    }

    /**
     * 获取域名地址
     * @return string
     */
李光春's avatar
李光春 已提交
100
    public function getWebsiteAddress(): string
李光春's avatar
李光春 已提交
101 102 103 104 105
    {
        $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
        return $http_type . $_SERVER['HTTP_HOST'] . "/";
    }
}