| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 | 
							- <?php
 
- if (!function_exists('dd')) {
 
-     function dd($obj)
 
-     {
 
-         halt($obj);
 
-     }
 
- }
 
- if (!function_exists('fail')) {
 
-     /**
 
-      * 主动抛错
 
-      */
 
-     function fail($message, $data = [], $code = 0)
 
-     {
 
-         $result = [
 
-             'code' => $code,
 
-             'data' => $data,
 
-             'msg'  => is_array($message) ? json_encode($message) : $message,
 
-         ];
 
-         request_log_update($result);
 
-         // 如果未设置类型则自动判断
 
-         $type     = 'json';
 
-         $response = \think\Response::create($result, $type, 200);
 
-         throw new \think\exception\HttpResponseException($response);
 
-     }
 
- }
 
- if (!function_exists('succ')) {
 
-     /**
 
-      * 成功返回
 
-      */
 
-     function succ($data = [], $message = '')
 
-     {
 
-         $result = [
 
-             'code' => 1,
 
-             'data' => $data,
 
-             'msg'  => $message,
 
-         ];
 
-         request_log_update($result);
 
-         // 如果未设置类型则自动判断
 
-         $type     = 'json';
 
-         $response = \think\Response::create($result, $type, 200);
 
-         throw new \think\exception\HttpResponseException($response);
 
-     }
 
- }
 
- if (!function_exists('getConfig')) {
 
-     /**
 
-      * 获取配置
 
-      * @param string  $field   配置组名
 
-      * @param string  $key     字段
 
-      * @param string  $default 字段默认值
 
-      * @param boolean $refresh 是否刷新缓存
 
-      * @return mixed
 
-      */
 
-     function getConfig(string $field, $key = '', $default = '', $refresh = true)
 
-     {
 
-         $config = \think\Cache::get($field);
 
-         if (!$config || $refresh) {
 
-             $config = \think\Db::name('exam_config_info')->order('id')->limit(1)->value($field);
 
-             if (!$config) {
 
-                 return null;
 
-             }
 
-             $config = json_decode($config, true);
 
-             //存入缓存
 
-             \think\Cache::set($field, $config);
 
-         }
 
-         if ($key) {
 
-             return $config[$key] ?? $default;
 
-         }
 
-         return $config;
 
-     }
 
- }
 
- if (!function_exists('getCurl')) {
 
-     /**
 
-      * get请求
 
-      * @param $url
 
-      * @return bool|string
 
-      */
 
-     function getCurl($url)
 
-     {
 
-         $ch = curl_init();
 
-         curl_setopt($ch, CURLOPT_URL, $url);
 
-         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
-         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
-         $data = curl_exec($ch);
 
-         curl_close($ch);
 
-         return $data;
 
-     }
 
- }
 
- if (!function_exists('postCurl')) {
 
-     /**
 
-      * post请求
 
-      * @param        $url
 
-      * @param string $data
 
-      * @param string $type
 
-      * @return bool|string
 
-      */
 
-     function postCurl($url, $data = '', $type = 'json')
 
-     {
 
-         if ($type == 'json') {
 
-             $data   = json_encode($data); //对数组进行json编码
 
-             $header = array("Content-type: application/json;charset=UTF-8", "Accept: application/json", "Cache-Control: no-cache", "Pragma: no-cache");
 
-         }
 
-         $curl = curl_init();
 
-         curl_setopt($curl, CURLOPT_URL, $url);
 
-         curl_setopt($curl, CURLOPT_POST, 1);
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
 
-         if (!empty($data)) {
 
-             curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 
-         }
 
-         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
-         curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
 
-         $res = curl_exec($curl);
 
-         if (curl_errno($curl)) {
 
-             echo 'Error+' . curl_error($curl);
 
-         }
 
-         curl_close($curl);
 
-         return $res;
 
-     }
 
- }
 
- if (!function_exists('only_keys')) {
 
-     /**
 
-      * 只取数组部分key数据
 
-      * @param array $array
 
-      * @param array $keys
 
-      * @return array
 
-      */
 
-     function only_keys(array $array, array $keys)
 
-     {
 
-         $result = [];
 
-         foreach ($array as $k => $value) {
 
-             if (in_array($k, $keys)) {
 
-                 $result[$k] = $value;
 
-             }
 
-         }
 
-         return $result;
 
-     }
 
- }
 
- if (!function_exists('hidden_keys')) {
 
-     /**
 
-      * 隐藏数组部分key数据
 
-      * @param array $array
 
-      * @param array $keys
 
-      * @return array
 
-      */
 
-     function hidden_keys(array $array, array $keys)
 
-     {
 
-         $result = [];
 
-         foreach ($array as $k => $value) {
 
-             if (in_array($k, $keys)) {
 
-                 unset($value[$k]);
 
-                 $result[$k] = $value;
 
-             }
 
-         }
 
-         return $result;
 
-     }
 
- }
 
- if (!function_exists('hidden_list_keys')) {
 
-     /**
 
-      * 隐藏数组部分key数据
 
-      * @param array $list
 
-      * @param array $keys
 
-      * @return array
 
-      */
 
-     function hidden_list_keys(array $list, array $keys)
 
-     {
 
-         $list   = collection($list)->toArray();
 
-         $result = [];
 
-         foreach ($list as $i => $item) {
 
-             foreach ($item as $k => $value) {
 
-                 if (in_array($k, $keys)) {
 
-                     unset($item[$k]);
 
-                 }
 
-             }
 
-             $result[$i] = $item;
 
-         }
 
-         return $result;
 
-     }
 
- }
 
- if (!function_exists('is_empty_in_array')) {
 
-     /**
 
-      * 数组内是否包含且存在字段值
 
-      * @param $array
 
-      * @param $field
 
-      * @return bool
 
-      */
 
-     function is_empty_in_array($array, $field)
 
-     {
 
-         if (!isset($array[$field]) || !$array[$field]) {
 
-             return true;
 
-         }
 
-         return false;
 
-     }
 
- }
 
- if (!function_exists('cache_data')) {
 
-     /**
 
-      * 获取/设置缓存数据
 
-      * @param string  $cache_key   缓存key名
 
-      * @param Closure $fun         用户函数,获取并返回数据
 
-      * @param int     $expire_time 缓存过期时间
 
-      * @return mixed
 
-      */
 
-     function cache_data(string $cache_key, Closure $fun, int $expire_time = 0, bool $refresh = false)
 
-     {
 
-         // 固定前缀
 
-         $cache_key = "exam:{$cache_key}";
 
-         // 存在缓存,返回缓存
 
-         if (!$refresh && $cache = cache($cache_key)) {
 
-             return $cache;
 
-         }
 
-         // 执行数据获取
 
-         $data = $fun();
 
-         $data = is_array($data) ? json_encode($data, JSON_UNESCAPED_UNICODE) : $data;
 
-         // 设置缓存
 
-         cache($cache_key, $data, $expire_time);
 
-         return $data;
 
-     }
 
- }
 
- if (!function_exists('getUser')) {
 
-     /**
 
-      * 获取Api用户信息
 
-      * @return mixed
 
-      */
 
-     function getUser()
 
-     {
 
-         if (\app\common\library\Auth::instance()->isLogin()) {
 
-             return \app\common\library\Auth::instance();
 
-         }
 
-         return null;
 
-     }
 
- }
 
- if (!function_exists('getUserId')) {
 
-     /**
 
-      * 获取Api用户ID
 
-      * @return mixed
 
-      */
 
-     function getUserId()
 
-     {
 
-         if ($user = getUser()) {
 
-             return $user->id;
 
-         }
 
-         return 0;
 
-     }
 
- }
 
- if (!function_exists('str_trim')) {
 
-     /**
 
-      * 字符串去除空格
 
-      * @return string
 
-      */
 
-     function str_trim($str)
 
-     {
 
-         return str_replace(' ', '', $str);
 
-     }
 
- }
 
- if (!function_exists('generate_no')) {
 
-     /**
 
-      * 根据时间生成编号
 
-      * @return string
 
-      */
 
-     function generate_no($pre = '')
 
-     {
 
-         $date         = date('YmdHis', time());
 
-         $u_timestamp  = microtime(true);
 
-         $timestamp    = floor($u_timestamp);
 
-         $milliseconds = round(($u_timestamp - $timestamp) * 100); // 改这里的数值控制毫秒位数
 
-         return $pre . $date . date(preg_replace('`(?<!\\\\)u`', $milliseconds, 'u'), $timestamp);
 
-     }
 
- }
 
- function request_log_update($log_result){
 
-     /*if ($this->logType === 1){
 
-         if (strlen(json_encode($log_result['data'])) > 1000) {
 
-             $log_result['data'] = '数据太多,不记录';
 
-         }
 
-         LogUtil::info('result', 'Api-Middleware-Log', 'request_log', $log_result);
 
-     }else{*/
 
-         if(defined('API_REQUEST_ID')) { //记录app正常返回结果
 
-             if(strlen(json_encode($log_result['data'])) > 1000) {
 
-                 $log_result['data'] = '数据太多,不记录';
 
-             }
 
-             db('api_request_log')->where('id',API_REQUEST_ID)->update(['result'=>json_encode($log_result)]);
 
-         }
 
-     /*}*/
 
- }
 
 
  |