123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- <?php
- // +----------------------------------------------------------------------
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +----------------------------------------------------------------------
- // | Author: 流年 <liu21st@gmail.com>
- // +----------------------------------------------------------------------
- // 应用公共文件
- function pre($content, $is_die = true)
- {
- header('Content-type: text/html; charset=utf-8');
- echo '<pre>' . print_r($content, true);
- $is_die && die();
- }
- /**
- * 成功Json返回函数
- * @param string $code
- * @param array $data
- * @param string $msg
- */
- function json_return($code,$data=[],$msg='')
- {
- exit(json_encode(['code'=>$code,'data'=>$data,'msg'=>$msg],JSON_UNESCAPED_UNICODE ));
- }
- function json_success($data,$msg='ok'){
- exit(json_encode(['code'=>0,'data'=>$data,'msg'=>$msg],JSON_UNESCAPED_UNICODE ));
- }
- /**
- * php发送http请求
- * @param array $params 相关请求参数
- * @param booble $is_json 数据格式,默认false为数组,true为json
- * @return string
- */
- function _curl(array $params,$is_json=false )
- {
- $_data = $params['data'] ?? null;
- $url = $params['url'];
- $defaults = [
- CURLOPT_HEADER => 0,
- CURLOPT_URL => $params['url'],
- CURLOPT_FRESH_CONNECT => 1,
- CURLOPT_RETURNTRANSFER => 1,
- CURLOPT_FORBID_REUSE => 1,
- CURLOPT_TIMEOUT => 60,
- CURLOPT_SSL_VERIFYHOST=>2,
- CURLOPT_SSL_VERIFYPEER=>0,
- ];
- switch ($params['method'])
- {
- case 'post':
- $defaults[CURLOPT_CUSTOMREQUEST] = "POST";
- break;
- case 'get':
- $defaults[CURLOPT_CUSTOMREQUEST] = "GET";
- break;
- case 'put':
- $defaults[CURLOPT_CUSTOMREQUEST] = "PUT";
- break;
- case 'delete':
- $defaults[CURLOPT_CUSTOMREQUEST] = "DELETE";
- break;
- }
- if ($_data && $params['method']!='get')
- {
- if($is_json){
- $defaults[CURLOPT_POSTFIELDS] = json_encode($_data);
- $defaults[CURLOPT_HTTPHEADER] = [
- 'Content-Type: application/json',
- 'Content-Length: ' . strlen(json_encode($_data))
- ];
- }else{
- $defaults[CURLOPT_POSTFIELDS] = $_data;
- }
- }
- elseif($params['method']=='get')
- {
- if(is_array($_data))
- {
- $param = '';
- foreach ($_data as $k=>$v){
- $param .= $k."=".$v."&";
- }
- $param = rtrim($param ,"&");
- if(!strpos($url,"?")){
- $url .= "?".$param;
- }
- else{
- $url .= "&".$param;
- }
- }
- $defaults[CURLOPT_URL] = $url;
- }
- $ch = curl_init();
- curl_setopt_array($ch, ($defaults));
- $result = curl_exec($ch);
- curl_close($ch);
- return $result;
- }
- function httpRequest($method,$url,$data)
- {
- $method = strtolower($method);
- $params['method'] = $method;
- $params['url'] = $url;
- $params['data'] = $data;
- return _curl($params);
- }
- function http_get($url,$data)
- {
- return json_decode(httpRequest('GET',$url,$data),true);
- }
- function http_post($url,$data)
- {
- return json_decode(httpRequest('POST',$url,$data),true);
- }
- /**
- * 整理菜单住方法
- * @param $param
- * @return array
- */
- function prepareMenu($param)
- {
- $param = objToArray($param);
- $parent = []; //父类
- $child = []; //子类
- foreach($param as $key=>$vo){
- if(0 == $vo['type_id']){
- $vo['href'] = '#';
- $parent[] = $vo;
- }else{
- $vo['href'] = url($vo['control_name'] .'/'. $vo['action_name']); //跳转地址
- $child[] = $vo;
- }
- }
- foreach($parent as $key=>$vo){
- foreach($child as $k=>$v){
- if($v['type_id'] == $vo['id']){
- $parent[$key]['child'][] = $v;
- }
- }
- }
- unset($child);
- return $parent;
- }
- /**
- * 统一返回信息
- * @param $code
- * @param $data
- * @param $msge
- */
- function msg($code, $data, $msg)
- {
- return compact('code', 'data', 'msg');
- }
- /**
- * 整理出tree数据 --- layui tree
- * @param $pInfo
- * @param $spread
- */
- function getTree($pInfo, $spread = true)
- {
- $res = [];
- $tree = [];
- //整理数组
- foreach($pInfo as $key=>$vo){
- if($spread){
- $vo['spread'] = true; //默认展开
- }
- $res[$vo['id']] = $vo;
- $res[$vo['id']]['children'] = [];
- }
- unset($pInfo);
- //查找子孙
- foreach($res as $key=>$vo){
- if(0 != $vo['pid']){
- $res[$vo['pid']]['children'][] = &$res[$key];
- }
- }
- //过滤杂质
- foreach( $res as $key=>$vo ){
- if(0 == $vo['pid']){
- $tree[] = $vo;
- }
- }
- unset( $res );
- return $tree;
- }
- /**
- * 对象转换成数组
- * @param $obj
- */
- function objToArray($obj)
- {
- return json_decode(json_encode($obj), true);
- }
- /**
- * 权限检测
- * @param $rule
- */
- function authCheck($rule)
- {
- $control = explode('/', $rule)['0'];
- if(in_array($control, ['login', 'index'])){
- return true;
- }
- if(in_array($rule, cache(session('role_id')))){
- return true;
- }
- return false;
- }
|