|
@@ -20,6 +20,30 @@ function pre($content, $is_die = true)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 异常处理函数
|
|
|
+ * @param string $code
|
|
|
+ * @param string $msg
|
|
|
+ */
|
|
|
+function json_error_exception($code = '', $msg = '')
|
|
|
+{
|
|
|
+ $error = config('errorCode.');
|
|
|
+ $errorCode = isset($error[$code]) ? $code : 10000;
|
|
|
+ $errorMsg = $msg != '' ? (isset($error[$code]) ? $error[$code] . " :" . $msg : $msg) : (isset($error[$code]) ? $error[$code] : "请求错误");
|
|
|
+ return array('code' => $errorCode, 'msg' => $errorMsg);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 成功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 ));
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
* php发送http请求
|
|
|
* @param array $params 相关请求参数
|
|
|
* @param booble $is_json 数据格式,默认false为数组,true为json
|
|
@@ -88,4 +112,117 @@ function _curl(array $params,$is_json=false )
|
|
|
curl_close($ch);
|
|
|
|
|
|
return $result;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 整理菜单住方法
|
|
|
+ * @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;
|
|
|
}
|