发布测试版 2.5.0

This commit is contained in:
2021-11-28 12:06:10 +08:00
parent 672cc966db
commit 8408038188
807 changed files with 94347 additions and 47563 deletions
+2 -1
View File
@@ -8,6 +8,7 @@ use App\Support\Pinyin;
use Gdoo\User\Models\User;
use Gdoo\Index\Models\Notification;
use Cron\CronExpression;
class ApiController extends Controller
{
@@ -36,7 +37,7 @@ class ApiController extends Controller
$rows = DB::table('cron')->where('status', 1)->get();
if ($rows) {
foreach ($rows as $row) {
$cron = \Cron\CronExpression::factory($row['expression']);
$cron = new \Cron\CronExpression($row['expression']);
// 由于定时任务无法定义秒这里特殊处理一下
if (strtotime($row['next_run']) <= time()) {
+1 -1
View File
@@ -15,7 +15,7 @@ class Controller extends BaseController
/**
* @var 程序版本
*/
public $version = '2.4.0';
public $version = '2.5.0';
/**
* @var 配置参数
@@ -29,6 +29,7 @@ class DashboardController extends DefaultController
$widgets->transform(function ($row) use($user_widgets) {
$user_widget = $user_widgets[$row['id']];
if (not_empty($user_widget)) {
$row['id'] = $user_widget['id'];
$row['status'] = $user_widget['status'];
$row['grid'] = $user_widget['grid'];
$row['sort'] = $user_widget['sort'];
@@ -41,10 +42,11 @@ class DashboardController extends DefaultController
if ($user_widget['icon']) {
$row['icon'] = $user_widget['icon'];
}
$row['params'] = json_decode($user_widget['params'], true);
} else {
$row['status'] = $row['default'] == 1;
}
$row['params'] = json_decode($user_widget['params'], true);
$row['key'] = str_replace(['/', '?', '='], ['_', '_', '_'], $row['url']);
return $row;
});
$widgets = $widgets->sortBy('sort')->values();
@@ -64,6 +66,7 @@ class DashboardController extends DefaultController
$infos->transform(function ($row) use($user_infos) {
$user_info = $user_infos[$row['id']];
if (not_empty($user_info)) {
$row['id'] = $user_info['id'];
$row['status'] = $user_info['status'];
$row['sort'] = $user_info['sort'];
if ($user_info['name']) {
@@ -75,10 +78,13 @@ class DashboardController extends DefaultController
if ($user_info['icon']) {
$row['icon'] = $user_info['icon'];
}
$row['params'] = json_decode($user_info['params'], true);
$params = $user_info['params'];
} else {
$row['status'] = $row['default'] == 1;
$params = $row['params'];
}
$row['params'] = json_decode($params, true);
$row['key'] = str_replace(['/', '?', '='], ['_', '_', '_'], $row['more_url']);
return $row;
});
$infos = $infos->sortBy('sort')->values();
@@ -99,14 +105,57 @@ class DashboardController extends DefaultController
return $row;
});
$dates = [
'day' => '今天',
'day2' => '昨天',
'week' => '本周',
'week2' => '上周',
'month' => '本月',
'month2' => '上月',
'season' => '本季度',
'season2' => '上季度',
'year' => '本年',
'year2' => '去年',
];
$dates2 = [
'day' => '昨天',
'day2' => '前天',
'week' => '上周',
'week2' => '前周',
'month' => '上月',
'month2' => '前月',
'season' => '上季度',
'season2' => '前季度',
'year' => '去年',
'year2' => '前年',
];
$dates3 = [
'last_day7' => '最近7天',
'last_day28' => '最近28天',
'last_month' => '上个月',
'last_year' => '去年',
];
$cards = [];
$grids = ['8', '4'];
return $this->display([
$vars = [
'dates' => $dates,
'dates2' => $dates2,
'dates3' => $dates3,
'cards' => $cards,
'widgets' => $widgets,
'infos' => $infos,
'grids' => $grids,
'quicks' => $quicks,
]);
];
if (Request::method() == 'POST') {
return $this->json($vars, true);
}
return $this->display($vars);
}
// 仪表板设置
@@ -120,6 +169,9 @@ class DashboardController extends DefaultController
$sort = 1;
foreach($widgets as $widget) {
$widget['sort'] = $sort;
if ($widget['permission'] && $widget['date']) {
$widget['params'] = json_encode(['permission' => $widget['permission'], 'date' => $widget['date']], JSON_UNESCAPED_UNICODE);
}
$sort ++;
$model = UserWidget::firstOrNew(['type' => 1, 'node_id' => $widget['id'], 'user_id' => $auth['id']]);
$model->fill($widget);
@@ -185,6 +237,8 @@ class DashboardController extends DefaultController
if ($user_widget['icon']) {
$row['icon'] = $user_widget['icon'];
}
} else {
$row['status'] = 0;
}
return $row;
});
@@ -219,6 +273,8 @@ class DashboardController extends DefaultController
$row['icon'] = $user_info['icon'];
}
$row['params'] = json_decode($user_info['params'], true);
} else {
$row['status'] = 0;
}
return $row;
});
@@ -261,6 +317,41 @@ class DashboardController extends DefaultController
// 设置单个组件
public function settingInfo()
{
$auth = auth()->user();
$id = Request::input('id');
$info = Widget::where('id', $id)
->selectRaw('*,name as info_name')
->first();
$user_info = UserWidget::where('user_id', $auth['id'])
->where('node_id', $info['id'])
->first();
$params = json_decode($info['params'], true);
$user_params = json_decode($user_info['params'], true);
$params['date'] = not_empty($params['date']) ? $params['date'] : 'month';
$params['permission'] = not_empty($params['permission']) ? $params['permission'] : 'dept2';
if ($user_info['name']) {
$info['name'] = $user_info['name'];
}
if ($user_info['icon']) {
$info['icon'] = $user_info['icon'];
}
if ($user_info['color']) {
$info['color'] = $user_info['color'];
}
if ($user_params['date']) {
$params['date'] = $user_params['date'];
}
if ($user_params['permission']) {
$params['permission'] = $user_params['permission'];
}
$info['params'] = $params;
// 定义权限
$permissions = option('role.access')->pluck('name', 'id');
$dates = [
@@ -275,49 +366,68 @@ class DashboardController extends DefaultController
'year' => '本年',
'year2' => '去年',
];
$info_id = Request::input('info_id');
$row = UserWidget::where('id', $info_id)->first();
$widget = Widget::where('id', $row['node_id'])->first();
$params = json_decode($row['params'], true);
if (empty($params['date'])) {
$params['date'] = 'month';
}
if (empty($params['permission'])) {
$params['permission'] = 'dept';
}
$row['params'] = $params;
$row['widget_name'] = $widget['name'];
return $this->render([
'permissions' => $permissions,
'dates' => $dates,
'row' => $row,
'info' => $info,
]);
}
// 设置单个组件
public function settingWidget()
{
$widget_id = Request::input('widget_id');
$row = UserWidget::where('id', $widget_id)->first();
$widget = Widget::where('id', $row['node_id'])->first();
$params = json_decode($row['params'], true);
$auth = auth()->user();
$id = Request::input('id');
if (empty($params['date'])) {
$params['date'] = 'month';
$widget = Widget::where('id', $id)
->selectRaw('*,name as widget_name')
->first();
$user_widget = UserWidget::where('user_id', $auth['id'])
->where('node_id', $widget['id'])
->first();
$params = json_decode($widget['params'], true);
$user_params = json_decode($user_widget['params'], true);
if ($params['date']) {
if ($user_params['date']) {
$params['date'] = $user_params['date'];
}
}
if (empty($params['permission'])) {
$params['permission'] = 'dept';
if ($params['permission']) {
if ($user_params['permission']) {
$params['permission'] = $user_params['permission'];
}
}
$row['params'] = $params;
$row['widget_name'] = $widget['name'];
if ($user_widget['name']) {
$info['name'] = $user_widget['name'];
}
if ($user_widget['icon']) {
$widget['icon'] = $user_widget['icon'];
}
if ($user_widget['color']) {
$widget['color'] = $user_widget['color'];
}
$widget['params'] = $params;
// 定义权限
$permissions = option('role.access')->pluck('name', 'id');
$dates = [
'last_day7' => '最近7天',
'last_day28' => '最近28天',
'last_month' => '上个月',
'last_year' => '去年',
];
return $this->render([
'row' => $row,
'permissions' => $permissions,
'dates' => $dates,
'widget' => $widget,
]);
}
}
@@ -62,6 +62,7 @@ class DefaultController extends Controller
if (Request::method() == 'POST') {
// 检查表单
$valid = Form::flowRules($models, $gets);
if ($valid['rules']) {
$v = Validator::make($gets, $valid['rules'], $valid['messages'], $valid['attributes']);
if ($v->fails()) {
@@ -1,5 +1,6 @@
<?php namespace Gdoo\Index\Controllers;
use App\Jobs\SendSms;
use DB;
use URL;
use Request;
@@ -14,5 +15,7 @@ class DemoController extends Controller
public function hello()
{
$abc = SendSms::dispatch([1], '我是测试', '我也是测试');
print_r($abc);
}
}