helper.php 3.1 KB
<?php

use App\Utils\LogUtils;

define('HTTP_OPENAI_URL','http://openai.waimaoq.com/');
/**
 * 生成路由标识
 * @param $string
 * @return string
 * @author zbj
 * @date 2023/4/15
 */
function generateRoute($string){
    return  trim(strtolower(preg_replace( '/[\W]+/', '-', trim($string))), '-');
}

/**
 * 手动记录错误日志
 * @param $title
 * @param $params
 * @param Throwable $exception
 * @author zbj
 * @date 2023/4/27
 */
function errorLog($title, $params, Throwable $exception){
    $exceptionMessage = "错误CODE:" . $exception->getCode() .
        "-----错误message:" . $exception->getMessage() .
        '------错误文件:' . $exception->getFile() .
        '-------错误行数:' . $exception->getLine();

    LogUtils::error($title, $params, $exceptionMessage);
}

if(!function_exists('http_post')){
    /**
     * 发送http post请求
     * @param type $url
     * @param type $post_data
     */
    function http_post($url, $post_data)
    {
        $header = array(
            "Accept: application/json",
            "Content-Type:application/json;charset=utf-8",
        );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $res = curl_exec($ch);
        if (curl_errno($ch)) {
            Log::write(print_r(curl_errno($ch),1),'debug---1');
        }
        curl_close($ch);
        return json_decode($res, true);
    }
}

if(!function_exists('http_get')){
    /**
     * 发送http get请求
     * @param type $url
     * @return type
     */
    function http_get($url)
    {
        $header[] = "content-type: application/x-www-form-urlencoded;
            charset = UTF-8";
        $ch1     = curl_init();
        $timeout = 5;
        curl_setopt($ch1, CURLOPT_URL, $url);
        curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch1, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch1, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, false);
        $access_txt = curl_exec($ch1);
        curl_close($ch1);
        return json_decode($access_txt, true);
    }
}


if(!function_exists('_get_child')){
    /**
     * 菜单权限->得到子级数组
     * @param int
     * @return array
     */
    function _get_child($my_id, $arr)
    {
        $new_arr = array();
        foreach ($arr as $k => $v) {
            $v = (array)$v;
            if ($v['pid'] == $my_id) {
                $v['sub'] = _get_child($v['id'],$arr);
                $new_arr[] = $v;
            }
        }
        return $new_arr ? $new_arr : false;
    }
}