- 数组门面增加

v6 v6.0.67
Chaim 4 years ago
parent 8addce2907
commit 99c2e9a40c

@ -16,6 +16,7 @@
namespace DtApp\ThinkLibrary;
use stdClass;
use think\App;
use think\exception\HttpResponseException;
use think\Request;
@ -25,7 +26,7 @@ use think\Request;
* Class Controller
* @package DtApp\ThinkLibrary
*/
class Controller extends \stdClass
class Controller extends stdClass
{
/**
* 应用容器
@ -59,371 +60,8 @@ class Controller extends \stdClass
{
$this->app = $app;
$this->request = $app->request;
$this->currentUrl = $this->request->request('s');
$this->meuns = [
[
"title" => "后台管理",
"icon" => "mdi mdi-home",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "UI元素",
"icon" => "mdi mdi-palette",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "按钮",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "卡片",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "格栅",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "图标",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "表格",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "模态框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "提示 / 弹出框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "警告框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "分页",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "进度条",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "标签页",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "排版",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "步骤",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "其他",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "表单",
"icon" => "mdi mdi-format-align-justify",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "基本元素",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "单选框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "复选框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "开关",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "示例页面",
"icon" => "mdi mdi-format-align-justify",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "文档列表",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "图库列表",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "网址配置",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "设置权限",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "新增文档",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "表单向导",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "登录页面",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "错误页面",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "JS 插件",
"icon" => "mdi mdi-language-javascript",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "日期选择器",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "滑块",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "选色器",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "Chart.js",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "对话框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "标签插件",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "通知消息",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "多级菜单",
"icon" => "mdi mdi-menu",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "三级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "三级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/config/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
]
];
$this->app->bind('DtApp\ThinkLibrary\Controller', $this);
if (in_array($this->request->action(), get_class_methods(__CLASS__))) {
$this->error('Access without permission.');
}
if (in_array($this->request->action(), get_class_methods(__CLASS__))) $this->error('Access without permission.');
$this->initialize();
}
@ -432,367 +70,6 @@ class Controller extends \stdClass
*/
protected function initialize()
{
$this->currentUrl = $this->request->request('s');
$this->meuns = [
[
"title" => "后台管理",
"icon" => "mdi mdi-home",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "UI元素",
"icon" => "mdi mdi-palette",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "按钮",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "卡片",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "格栅",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "图标",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "表格",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "模态框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "提示 / 弹出框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "警告框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "分页",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "进度条",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "标签页",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "排版",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "步骤",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "其他",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "表单",
"icon" => "mdi mdi-format-align-justify",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "基本元素",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "单选框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "复选框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "开关",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "示例页面",
"icon" => "mdi mdi-format-align-justify",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "文档列表",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "图库列表",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "网址配置",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "设置权限",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "新增文档",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "表单向导",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "登录页面",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "错误页面",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "JS 插件",
"icon" => "mdi mdi-language-javascript",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "日期选择器",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "滑块",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "选色器",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "Chart.js",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "对话框",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "标签插件",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "通知消息",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "多级菜单",
"icon" => "mdi mdi-menu",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "#",
"params" => "",
"target" => "_self",
"sub" => [
[
"title" => "三级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
],
[
"title" => "三级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
],
[
"title" => "一级菜单",
"icon" => "layui-icon layui-icon-set",
"url" => "/admin/index.html",
"params" => "",
"target" => "_self",
"sub" => []
]
]
]
];
}
/**
@ -803,7 +80,7 @@ class Controller extends \stdClass
*/
public function error($info, $data = '{-null-}', $code = 0)
{
if ($data === '{-null-}') $data = new \stdClass();
if ($data === '{-null-}') $data = new stdClass();
throw new HttpResponseException(json([
'code' => $code, 'info' => $info, 'data' => $data,
]));
@ -817,7 +94,7 @@ class Controller extends \stdClass
*/
public function success($info, $data = '{-null-}', $code = 1)
{
if ($data === '{-null-}') $data = new \stdClass();
if ($data === '{-null-}') $data = new stdClass();
throw new HttpResponseException(json([
'code' => $code, 'info' => $info, 'data' => $data,
]));

@ -58,6 +58,7 @@ abstract class Service
*/
public static function instance(...$args)
{
return Container::getInstance()->make(static::class, $args);
return Container::getInstance()
->make(static::class, $args);
}
}

@ -25,7 +25,7 @@ use think\db\exception\ModelNotFoundException;
/**
* 定义当前版本
*/
const VERSION = '6.0.56';
const VERSION = '6.0.67';
if (!function_exists('get_ip_info')) {

@ -27,9 +27,11 @@ use think\Facade;
* @package think\facade
* @mixin helper
*
* @method helper rand(array $arr) mixed 数组随机返回一个下标
* @method helper randValue(array $arr) mixed 数组随机返回一个值
* @method helper split(array $data, $num = 5) array 分隔数组
* @method helper rand(array $array) mixed 数组随机返回一个下标
* @method helper randValue(array $array) mixed 数组随机返回一个值
* @method helper split(array $array, $num = 5) array 分隔数组
* @method helper unique(array $array) array 多维数组去重
* @method helper sort(array $arrays, string $sort_key, $sort_order = SORT_ASC, $sort_type = SORT_NUMERIC) array 二维数组根据某个键排序
*/
class Arrays extends Facade
{

@ -26,43 +26,77 @@ class Arrays
{
/**
* 数组随机返回一个下标
* @param $arr
* @param $array
* @return mixed
*/
public function rand(array $arr)
public function rand(array $array)
{
return array_rand($arr);
return array_rand($array);
}
/**
* 数组随机返回一个值
* @param $arr
* @param $array
* @return mixed
*/
public function randValue(array $arr)
public function randValue(array $array)
{
return $arr[array_rand($arr)];
return $array[array_rand($array)];
}
/**
* 分隔数组
* @param array $data 数组
* @param array $array 数组
* @param int $num 数量
* @return array
*/
public function split(array $data, $num = 5): array
public function split(array $array, $num = 5): array
{
$arrRet = array();
if (!isset($data) || empty($data)) return $arrRet;
$iCount = count($data) / $num;
if (!isset($array) || empty($array)) return $arrRet;
$iCount = count($array) / $num;
if (!is_int($iCount)) $iCount = ceil($iCount);
else $iCount += 1;
for ($i = 0; $i < $iCount; ++$i) {
$arrInfos = array_slice($data, $i * $num, $num);
$arrInfos = array_slice($array, $i * $num, $num);
if (empty($arrInfos)) continue;
$arrRet[] = $arrInfos;
unset($arrInfos);
}
return $arrRet;
}
/**
* 多维数组去重
* @param array $array
* @return array
*/
public function unique(array $array)
{
$out = array();
foreach ($array as $key => $value) if (!in_array($value, $out)) $out[$key] = $value;
$out = array_values($out);
return $out;
}
/**
* 二维数组根据某个键排序
* @param array $arrays
* @param string $sort_key
* @param int $sort_order
* @param int $sort_type
* @return array
*/
public function sort(array $arrays, string $sort_key, $sort_order = SORT_ASC, $sort_type = SORT_NUMERIC)
{
$key_arrays = array();
if (is_array($arrays)) {
foreach ($arrays as $array) {
if (is_array($array)) $key_arrays[] = $array[$sort_key];
else return [];
}
} else return [];
array_multisort($key_arrays, $sort_order, $sort_type, $arrays);
return $arrays;
}
}

Loading…
Cancel
Save