调整文件上传

This commit is contained in:
2022-09-02 16:10:50 +08:00
parent 486db5a1ab
commit 9ccaf65526
6 changed files with 117 additions and 115 deletions

View File

@@ -46,6 +46,7 @@ class IndexController extends AdminController
/** /**
* Make a form builder. * Make a form builder.
*
* @return Form * @return Form
*/ */
protected function form(): Form protected function form(): Form
@@ -54,33 +55,27 @@ class IndexController extends AdminController
$form->text('title', '广告名称')->required(); $form->text('title', '广告名称')->required();
$form->select('category_id', '所属分类') $form->select('category_id', '所属分类')
->options(function () { ->options(function () {
return Category::query() return Category::query()
->where('status', 1) ->where('status', 1)
->where('type', Category::TYPE_ADVERT) ->where('type', Category::TYPE_ADVERT)
->pluck('title', 'id'); ->pluck('title', 'id');
}) })
->rules('required|min:1', [ ->rules('required|min:1', [
'required' => '必须选择所属分类', 'required' => '必须选择所属分类',
'min' => '必须选择所属分类', 'min' => '必须选择所属分类',
]); ]);
$form->image('cover', '封面图片') $form->image('cover', '封面图片')
->rules(function ($form) { ->rules('image|mimes:jpeg,jpg,png')
if ($form->model()->cover != []) { ->move('images/'.date('Y/m/d'))
return 'nullable|image'; ->removable()
} else { ->uniqueName();
return 'required';
}
})
->move('images/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->text('url', '链接地址'); $form->text('url', '链接地址');
$form->number('sort', '排序') $form->number('sort', '排序')
->default(1) ->default(1)
->required() ->required()
->help('数字越大越靠前'); ->help('数字越大越靠前');
return $form; return $form;
} }

View File

@@ -75,10 +75,12 @@ class IndexController extends AdminController
$form->textarea('description', '内容简介'); $form->textarea('description', '内容简介');
$form->image('cover', '封面') $form->image('cover', '封面')
->rules('image|mimes:jpeg,jpg,png')
->move('images/'.date('Y/m/d')) ->move('images/'.date('Y/m/d'))
->removable() ->removable()
->uniqueName(); ->uniqueName();
$form->image('logo', 'logo') $form->image('logo', 'logo')
->rules('image|mimes:jpeg,jpg,png')
->move('images/'.date('Y/m/d')) ->move('images/'.date('Y/m/d'))
->removable() ->removable()
->uniqueName(); ->uniqueName();

View File

@@ -23,7 +23,7 @@ class OldController extends AdminController
$filter->like('title', '文章标题'); $filter->like('title', '文章标题');
$filter->equal('category_id', '所属分类')->select(Category::selectOptions(function ($model) { $filter->equal('category_id', '所属分类')->select(Category::selectOptions(function ($model) {
return $model->where('status', 1) return $model->where('status', 1)
->whereIn('type', [Category::TYPE_ARTICLE, Category::TYPE_SHOW]); ->whereIn('type', [Category::TYPE_ARTICLE, Category::TYPE_SHOW]);
}, '所有分类')); }, '所有分类'));
}); });
@@ -42,7 +42,7 @@ class OldController extends AdminController
$grid->column('sort', '序号'); $grid->column('sort', '序号');
$grid->column('测试')->display(function () { $grid->column('测试')->display(function () {
$cids = $this->categories()->pluck('id')->toArray(); $cids = $this->categories()->pluck('id')->toArray();
if (empty($this->category_id) && !empty($cids)) { if (empty($this->category_id) && ! empty($cids)) {
$this->category_id = $cids[0]; $this->category_id = $cids[0];
$this->save(); $this->save();
} }
@@ -59,14 +59,15 @@ class OldController extends AdminController
$form->text('title', '文章标题')->rules('min:2'); $form->text('title', '文章标题')->rules('min:2');
$form->text('remark', '子标题'); $form->text('remark', '子标题');
$form->select('category_id', '上级分类') $form->select('category_id', '上级分类')
->options(Category::selectOptions(function ($model) { ->options(Category::selectOptions(function ($model) {
return $model->where('status', 1)->whereIn('type', [Category::TYPE_ArticleOld, Category::TYPE_SHOW]); return $model->where('status', 1)->whereIn('type', [Category::TYPE_ArticleOld, Category::TYPE_SHOW]);
}, '一级分类')); }, '一级分类'));
$form->textarea('description', '内容简介'); $form->textarea('description', '内容简介');
$form->image('cover', '封面') $form->image('cover', '封面')
->move('images/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('images/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->ueditor('content', '文章内容')->rules('required', ['required' => '详情不能为空']); $form->ueditor('content', '文章内容')->rules('required', ['required' => '详情不能为空']);
$form->number('sort', '序号')->default(0)->rules('required', ['required' => '序号必须填写'])->help('倒序优先'); $form->number('sort', '序号')->default(0)->rules('required', ['required' => '序号必须填写'])->help('倒序优先');
$states = [ $states = [

View File

@@ -19,6 +19,7 @@ class IndexController extends AdminController
/** /**
* Index interface. * Index interface.
*
* @return \Closure * @return \Closure
*/ */
public function grid() public function grid()
@@ -35,29 +36,29 @@ class IndexController extends AdminController
$form->text('title', '分类名称')->rules('required'); $form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名'); $form->text('alias', '别名');
$form->select('type', '分类类型') $form->select('type', '分类类型')
->options(Category::TYPES) ->options(Category::TYPES)
->when('show', function (WidgetsForm $form) { ->when('show', function (WidgetsForm $form) {
$form->select('article_id', '关联文章') $form->select('article_id', '关联文章')
->options(function ($option, $info) { ->options(function ($option, $info) {
return Article::whereHas('category', function ($q) { return Article::whereHas('category', function ($q) {
$q->where('type', 'show'); $q->where('type', 'show');
})->pluck('title', 'id'); })->pluck('title', 'id');
})->help('当分类类型是文章详情的时候需要选择关联文章'); })->help('当分类类型是文章详情的时候需要选择关联文章');
}) })
->when(Category::TYPE_LINK, function (WidgetsForm $form) { ->when(Category::TYPE_LINK, function (WidgetsForm $form) {
$form->text('url', '跳转地址'); $form->text('url', '跳转地址');
}) })
->required(); ->required();
$form->textarea('description', '分类简介') $form->textarea('description', '分类简介')
->rules('nullable'); ->rules('nullable');
$form->image('logo', 'Logo') $form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d')) ->move('logos/'.date('Y/m/d'))
->removable() ->removable()
->uniqueName(); ->uniqueName();
$form->image('cover', '封面') $form->image('cover', '封面')
->move('images/' . date('Y/m/d')) ->move('images/'.date('Y/m/d'))
->removable() ->removable()
->uniqueName(); ->uniqueName();
$form->text('template', '模板'); $form->text('template', '模板');
$form->number('order', '排序')->default(0); $form->number('order', '排序')->default(0);
$form->switch('top_show', '顶部导航显示')->states()->default(0); $form->switch('top_show', '顶部导航显示')->states()->default(0);
@@ -96,6 +97,7 @@ class IndexController extends AdminController
/** /**
* Make a form builder. * Make a form builder.
*
* @return Form * @return Form
*/ */
protected function form(): Form protected function form(): Form
@@ -108,29 +110,31 @@ class IndexController extends AdminController
$form->text('title', '分类名称')->rules('required'); $form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名'); $form->text('alias', '别名');
$form->select('type', '分类类型') $form->select('type', '分类类型')
->options(Category::TYPES) ->options(Category::TYPES)
->when('show', function (Form $form) { ->when('show', function (Form $form) {
$form->select('article_id', '关联文章') $form->select('article_id', '关联文章')
->options(function ($option, $info) { ->options(function ($option, $info) {
return Article::whereHas('category', function ($q) { return Article::whereHas('category', function ($q) {
$q->where('type', 'show'); $q->where('type', 'show');
})->pluck('title', 'id'); })->pluck('title', 'id');
})->help('当分类类型是文章详情的时候需要选择关联文章'); })->help('当分类类型是文章详情的时候需要选择关联文章');
}) })
->when(Category::TYPE_LINK, function (Form $form) { ->when(Category::TYPE_LINK, function (Form $form) {
$form->text('url', '跳转地址'); $form->text('url', '跳转地址');
}) })
->required() ->required()
->rules('required'); ->rules('required');
$form->textarea('description', '分类简介')->rows(4)->rules('nullable'); $form->textarea('description', '分类简介')->rows(4)->rules('nullable');
$form->image('logo', 'Logo') $form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('logos/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->image('cover', '封面') $form->image('cover', '封面')
->move('images/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('images/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->text('template', '模板'); $form->text('template', '模板');
$form->number('order', '排序')->default(0)->help('正序优先'); $form->number('order', '排序')->default(0)->help('正序优先');
$form->switch('top_show', '顶部导航显示')->states()->default(0); $form->switch('top_show', '顶部导航显示')->states()->default(0);

View File

@@ -19,6 +19,7 @@ class OldController extends AdminController
/** /**
* Index interface. * Index interface.
*
* @return \Closure * @return \Closure
*/ */
public function grid() public function grid()
@@ -35,26 +36,28 @@ class OldController extends AdminController
$form->text('title', '分类名称')->rules('required'); $form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名'); $form->text('alias', '别名');
$form->select('type', '分类类型') $form->select('type', '分类类型')
->options(CategoryOld::TYPES) ->options(CategoryOld::TYPES)
->when('show', function (WidgetsForm $form) { ->when('show', function (WidgetsForm $form) {
$form->select('article_id', '关联文章') $form->select('article_id', '关联文章')
->options(function ($option, $info) { ->options(function ($option, $info) {
return Article::whereHas('categories', function ($q) { return Article::whereHas('categories', function ($q) {
$q->where('type', 'show'); $q->where('type', 'show');
})->pluck('title', 'id'); })->pluck('title', 'id');
})->help('当分类类型是文章详情的时候需要选择关联文章'); })->help('当分类类型是文章详情的时候需要选择关联文章');
}) })
->required(); ->required();
$form->textarea('description', '分类简介') $form->textarea('description', '分类简介')
->rules('nullable'); ->rules('nullable');
$form->image('logo', 'Logo') $form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('logos/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->image('cover', '封面') $form->image('cover', '封面')
->move('images/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('images/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->text('template', '模板'); $form->text('template', '模板');
$form->number('order', '排序')->default(0); $form->number('order', '排序')->default(0);
$form->switch('top_show', '顶部导航显示')->states()->default(0); $form->switch('top_show', '顶部导航显示')->states()->default(0);
@@ -93,6 +96,7 @@ class OldController extends AdminController
/** /**
* Make a form builder. * Make a form builder.
*
* @return Form * @return Form
*/ */
protected function form(): Form protected function form(): Form
@@ -105,26 +109,28 @@ class OldController extends AdminController
$form->text('title', '分类名称')->rules('required'); $form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名'); $form->text('alias', '别名');
$form->select('type', '分类类型') $form->select('type', '分类类型')
->options(CategoryOld::TYPES) ->options(CategoryOld::TYPES)
->when('show', function (Form $form) { ->when('show', function (Form $form) {
$form->select('article_id', '关联文章') $form->select('article_id', '关联文章')
->options(function ($option, $info) { ->options(function ($option, $info) {
return Article::whereHas('categories', function ($q) { return Article::whereHas('categories', function ($q) {
$q->where('type', 'show'); $q->where('type', 'show');
})->pluck('title', 'id'); })->pluck('title', 'id');
})->help('当分类类型是文章详情的时候需要选择关联文章'); })->help('当分类类型是文章详情的时候需要选择关联文章');
}) })
->required() ->required()
->rules('required'); ->rules('required');
$form->textarea('description', '分类简介')->rows(4)->rules('nullable'); $form->textarea('description', '分类简介')->rows(4)->rules('nullable');
$form->image('logo', 'Logo') $form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('logos/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->image('cover', '封面') $form->image('cover', '封面')
->move('images/' . date('Y/m/d')) ->rules('image|mimes:jpeg,jpg,png')
->removable() ->move('images/'.date('Y/m/d'))
->uniqueName(); ->removable()
->uniqueName();
$form->text('template', '模板'); $form->text('template', '模板');
$form->number('order', '排序')->default(0)->help('正序优先'); $form->number('order', '排序')->default(0)->help('正序优先');
$form->switch('top_show', '顶部导航显示')->states()->default(0); $form->switch('top_show', '顶部导航显示')->states()->default(0);

View File

@@ -67,14 +67,8 @@ class IndexController extends AdminController
'min' => '必须选择所属分类', 'min' => '必须选择所属分类',
]); ]);
$form->file('cover', '封面') $form->image('cover', '封面')
->rules(function ($form) { ->rules('image|mimes:jpeg,jpg,png')
if ($form->model()->cover != []) {
return 'nullable|image';
} else {
return 'required';
}
})
->move('images/'.date('Y/m/d')) ->move('images/'.date('Y/m/d'))
->removable() ->removable()
->uniqueName(); ->uniqueName();
@@ -82,9 +76,9 @@ class IndexController extends AdminController
$form->file('link', '视频') $form->file('link', '视频')
->rules(function ($form) { ->rules(function ($form) {
if ($form->model()->cover != []) { if ($form->model()->cover != []) {
return 'nullable|image'; return 'nullable|mimetypes:video/avi,video/mpeg,video/mp4';
} else { } else {
return 'required'; return 'required|mimetypes:video/avi,video/mpeg,video/mp4';
} }
}) })
->move('videos/'.date('Y/m/d')) ->move('videos/'.date('Y/m/d'))