diff --git a/packages/dcat-extension-plus-master/.gitignore b/packages/banner/.gitignore similarity index 100% rename from packages/dcat-extension-plus-master/.gitignore rename to packages/banner/.gitignore diff --git a/packages/banner/README.md b/packages/banner/README.md new file mode 100644 index 0000000..838df4c --- /dev/null +++ b/packages/banner/README.md @@ -0,0 +1,3 @@ +# Dcat Admin Extension + + diff --git a/packages/banner/composer.json b/packages/banner/composer.json new file mode 100644 index 0000000..3c552e2 --- /dev/null +++ b/packages/banner/composer.json @@ -0,0 +1,31 @@ +{ + "name": "peidikeji/banner", + "alias": "banner", + "description": "Description...", + "type": "library", + "keywords": ["dcat-admin", "extension"], + "homepage": "https://github.com/peidikeji/banner", + "license": "MIT", + "authors": [ + { + "name": "your name", + "email": "your email" + } + ], + "require": { + "php": ">=7.1.0" + }, + "autoload": { + "psr-4": { + "Peidikeji\\Banner\\": "src/" + } + }, + "extra": { + "dcat-admin": "Peidikeji\\Banner\\BannerServiceProvider", + "laravel": { + "providers": [ + "Peidikeji\\Banner\\BannerServiceProvider" + ] + } + } +} diff --git a/packages/banner/resources/assets/css/index.css b/packages/banner/resources/assets/css/index.css new file mode 100644 index 0000000..d69dd2d --- /dev/null +++ b/packages/banner/resources/assets/css/index.css @@ -0,0 +1,4 @@ +.extension-demo { + font-size: 1.3rem; + cursor: pointer; +} \ No newline at end of file diff --git a/packages/banner/resources/assets/js/index.js b/packages/banner/resources/assets/js/index.js new file mode 100644 index 0000000..cdc4a7e --- /dev/null +++ b/packages/banner/resources/assets/js/index.js @@ -0,0 +1,26 @@ +(function (w, $) { + function ExtensionDemo(options) { + this.options = $.extend({ + $el: $('.demo'), + }, options); + + this.init(this.options); + } + + ExtensionDemo.prototype = { + init: function (options) { + options.$el.on('click', function () { + Dcat.success($(this).text()); + }); + + console.log('Done.'); + }, + }; + + $.fn.extensionDemo = function (options) { + options = options || {}; + options.$el = $(this); + + return new ExtensionDemo(options); + }; +})(window, jQuery); \ No newline at end of file diff --git a/packages/banner/resources/lang/en/banner-ad.php b/packages/banner/resources/lang/en/banner-ad.php new file mode 100644 index 0000000..0b67a5f --- /dev/null +++ b/packages/banner/resources/lang/en/banner-ad.php @@ -0,0 +1,3 @@ + [ + 'BannerAd' => '广告位管理', + 'banner-ads'=> '广告位管理', + ], + 'fields' => [ + 'name' => '名称', + 'key' => 'key', + 'width' => '宽度', + 'height' => '高度', + 'is_enable' => '启用', + 'remarks' => '备注', + ], + 'options' => [ + ], +]; diff --git a/packages/banner/resources/lang/zh_CN/banner.php b/packages/banner/resources/lang/zh_CN/banner.php new file mode 100644 index 0000000..06f30b9 --- /dev/null +++ b/packages/banner/resources/lang/zh_CN/banner.php @@ -0,0 +1,19 @@ + [ + 'Banner' => '广告图管理', + 'banners' => '广告图管理', + ], + 'fields' => [ + 'ad_id'=>'广告位', + 'name'=>'名称', + 'path'=>'内容', + 'sort'=>'排序', + 'is_enable'=>'启用', + 'remarks'=> '备注', + 'ext'=>'扩展字段' + ], + 'options' => [ + ], +]; diff --git a/packages/banner/resources/views/index.blade.php b/packages/banner/resources/views/index.blade.php new file mode 100644 index 0000000..5acad67 --- /dev/null +++ b/packages/banner/resources/views/index.blade.php @@ -0,0 +1,13 @@ +
+ Welcome to dcat-admin ! +
+ + + + diff --git a/packages/banner/src/BannerAdFilter.php b/packages/banner/src/BannerAdFilter.php new file mode 100644 index 0000000..9a504ab --- /dev/null +++ b/packages/banner/src/BannerAdFilter.php @@ -0,0 +1,28 @@ + [input_key1, input_key2]]. + * + * @var array + */ + public $relations = []; + + public function q($v) + { + $this->where(function ($q) use ($v) { + $q->where('key', 'like', '%'.$v.'%')->orWhere('name', 'like', '%'.$v.'%'); + }); + } + + public function key($v) + { + $this->where('key', $v); + } +} diff --git a/packages/banner/src/BannerFilter.php b/packages/banner/src/BannerFilter.php new file mode 100644 index 0000000..3f0cbbd --- /dev/null +++ b/packages/banner/src/BannerFilter.php @@ -0,0 +1,23 @@ + [input_key1, input_key2]]. + * + * @var array + */ + public $relations = []; + + public function q($v) + { + $this->where(function ($q) use ($v) { + $q->where('key', 'like', '%'.$v.'%')->orWhere('name', 'like', '%'.$v.'%'); + }); + } +} diff --git a/packages/banner/src/BannerServiceProvider.php b/packages/banner/src/BannerServiceProvider.php new file mode 100644 index 0000000..56a874b --- /dev/null +++ b/packages/banner/src/BannerServiceProvider.php @@ -0,0 +1,23 @@ +all()); + + $query->select(['id', 'name as text', 'width', 'height']); + + if ($request->filled('_paginate')) { + $list = $query->paginate(); + } else { + $list = $query->get(); + } + return $list; + } + + protected function grid() + { + return Grid::make(new BannerAd(), function ($grid) { + $grid->disableRowSelector(); + + $grid->column('name'); + $grid->column('key'); + $grid->column('width'); + $grid->column('height'); + $grid->column('is_enable')->if(function(){ + return !config('admin.permission.enable') || Admin::user()->can('dcat.admin.banner_ads.edit'); + })->then(function (GridColumn $column) { + $column->switch(); + })->else(function (GridColumn $column) { + $column->bool(); + }); + $grid->column('remarks'); + $grid->disableCreateButton(!(!config('admin.permission.enable') || Admin::user()->can('dcat.admin.banner_ads.create'))); + $grid->enableDialogCreate(); + + $grid->actions(function (Grid\Displayers\Actions $actions) { + $actions->disableView(); + $actions->disableEdit(); + $actions->quickEdit(!config('admin.permission.enable') || Admin::user()->can('dcat.admin.banner_ads.edit')); + }); + }); + } + + protected function form() + { + return Form::make(new BannerAd(), function (Form $form) { + $form->text('name')->required(); + $form->text('key')->required()->rules([Rule::unique((new BannerAd())->getTable())]); + $form->number('width')->min(0); + $form->number('height')->min(0); + $form->switch('is_enable'); + $form->text('remarks'); + }); + } + + public function destroy($id){ + //如果该广告位下还有内容,则一起删除 + Banner::where([ + 'ad_id' => $id + ])->delete(); + + return parent::destroy($id); + } +} diff --git a/packages/banner/src/Http/Controllers/BannerController.php b/packages/banner/src/Http/Controllers/BannerController.php new file mode 100644 index 0000000..9e593db --- /dev/null +++ b/packages/banner/src/Http/Controllers/BannerController.php @@ -0,0 +1,125 @@ +input('keys'); + + if (empty($keys)) { + return response()->json([]); + } + + + $ads = BannerAd::with([ + 'banners' => function ($query) { + $query->enable()->latest('sort'); + }, + ])->enable()->whereIn('key', $keys)->get(); + + $mapAds = $ads->mapWithKeys(function ($item) use ($request) { + return [ + $item->key => BannerResource::collection($item->banners)->resolve($request), + ]; + }); + + foreach ($keys as $key) { + if (! $mapAds->has($key)) { + $mapAds->put($key, []); + } + } + + return response()->json($mapAds); + } + + protected function grid() + { + return Grid::make(new Banner(), function ($grid) { + $grid->disableRowSelector(); + $grid->column('name'); + $grid->column('path')->image(100); + $grid->column('sort'); + $grid->column('is_enable')->if(function(){ + return !config('admin.permission.enable') || Admin::user()->can('dcat.admin.banners.edit'); + })->then(function (GridColumn $column) { + $column->switch(); + })->else(function (GridColumn $column) { + $column->bool(); + }); + $grid->column('remarks'); + + $grid->setDialogFormDimensions('50%', '70%'); + $grid->disableCreateButton(!(!config('admin.permission.enable') || Admin::user()->can('dcat.admin.banners.create'))); + $grid->enableDialogCreate(); + + $grid->actions(function (Grid\Displayers\Actions $actions) { + $actions->disableView(); + $actions->disableEdit(); + $actions->quickEdit(!config('admin.permission.enable') || Admin::user()->can('dcat.admin.banners.edit')); + }); + }); + } + + protected function form(){ + return Form::make(new Banner(), function (Form $form) { + $form->select('ad_id') + ->options('api/banner-ads') + ->required(); + $form->text('name'); + $form->image('path') + ->uniqueName() + ->move('banner') + ->saveFullUrl() + ->autoSave(false) + ->autoUpload() + ->removable(false)//禁止用户从页面点击删除服务器上的文件,可以实现图片覆盖上传效果 + ->retainable() + ->required()->help('建议尺寸:'); + Admin::script( + << 建议尺寸:'+ cicun); + } + }); + }); + JS); + $form->number('sort') + ->min(0) + ->help('数值越大, 越靠前'); + // $form->embeds('ext', function (EmbeddedForm $form) { + // $form->select('type', '类型')->options(Target::options()); + // $form->text('value', '地址'); + // // $form->switch('auth', '登录认证'); + // }); + $form->switch('is_enable'); + $form->text('remarks'); + }); + } +} diff --git a/packages/banner/src/Http/Resources/BannerResource.php b/packages/banner/src/Http/Resources/BannerResource.php new file mode 100644 index 0000000..d893245 --- /dev/null +++ b/packages/banner/src/Http/Resources/BannerResource.php @@ -0,0 +1,24 @@ + $this->id, + 'name' => $this->name, + 'path' => $this->path, + 'ext' => $this->ext, + ]; + } +} diff --git a/packages/banner/src/Http/routes.php b/packages/banner/src/Http/routes.php new file mode 100644 index 0000000..f4c7726 --- /dev/null +++ b/packages/banner/src/Http/routes.php @@ -0,0 +1,10 @@ +name('api.banner_ads'); + +Route::resource('banner-ads', Controllers\BannerAdController::class)->names('banner_ads'); +Route::resource('banners', Controllers\BannerController::class); + diff --git a/packages/banner/src/Http/web.php b/packages/banner/src/Http/web.php new file mode 100644 index 0000000..a7e14ea --- /dev/null +++ b/packages/banner/src/Http/web.php @@ -0,0 +1,9 @@ + 'api', 'prefix' => 'api'], function () { + Route::get('banners', [BannerController::class, 'json']); +}); diff --git a/packages/banner/src/Models/Banner.php b/packages/banner/src/Models/Banner.php new file mode 100644 index 0000000..2df79ce --- /dev/null +++ b/packages/banner/src/Models/Banner.php @@ -0,0 +1,24 @@ +belongsTo(BannerAd::class, 'ad_id'); + } + + public function scopeEnable($query){ + return $query->where('is_enable', 1); + } +} diff --git a/packages/banner/src/Models/BannerAd.php b/packages/banner/src/Models/BannerAd.php new file mode 100644 index 0000000..e2a1e48 --- /dev/null +++ b/packages/banner/src/Models/BannerAd.php @@ -0,0 +1,30 @@ +hasMany(Banner::class, 'ad_id'); + } + + public function scopeEnable($query){ + return $query->where('is_enable', 1); + } +} diff --git a/packages/banner/src/Setting.php b/packages/banner/src/Setting.php new file mode 100644 index 0000000..88820ad --- /dev/null +++ b/packages/banner/src/Setting.php @@ -0,0 +1,14 @@ +text('key1')->required(); + $this->text('key2')->required(); + } +} diff --git a/packages/banner/updates/CreateBannerTable.php b/packages/banner/updates/CreateBannerTable.php new file mode 100644 index 0000000..48f7342 --- /dev/null +++ b/packages/banner/updates/CreateBannerTable.php @@ -0,0 +1,56 @@ +id(); + $table->string('name')->comment('名称'); + $table->string('key')->unique()->comment('key'); + $table->unsignedInteger('width')->nullable()->comment('宽'); + $table->unsignedInteger('height')->nullable()->comment('高'); + $table->unsignedTinyInteger('is_enable')->default(1)->comment('可用状态'); + $table->string('remarks')->nullable()->comment('备注'); + + $table->timestamps(); + }); + } + + if (!Schema::hasTable('banners')) { + Schema::create('banners', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('ad_id')->comment('位置ID'); + $table->string('path')->comment('地址'); + $table->string('name')->nullable()->comment('名称'); + $table->unsignedInteger('sort')->comment('排序'); + $table->unsignedTinyInteger('is_enable')->default(1)->comment('可用状态'); + $table->text('ext')->nullable()->comment('扩展字段,可用于跳转配置等'); + $table->string('remarks')->nullable()->comment('备注'); + + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('banners'); + Schema::dropIfExists('banner_ads'); + } +}; diff --git a/packages/banner/version.php b/packages/banner/version.php new file mode 100644 index 0000000..92bf9e9 --- /dev/null +++ b/packages/banner/version.php @@ -0,0 +1,8 @@ + [ + '初始化广告管理插件', + 'CreateBannerTable.php', + ], +]; diff --git a/packages/dcat-extension-plus-master/LICENSE b/packages/dcat-extension-plus-master/LICENSE deleted file mode 100644 index e2bb263..0000000 --- a/packages/dcat-extension-plus-master/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 celaraze - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/dcat-extension-plus-master/README.md b/packages/dcat-extension-plus-master/README.md deleted file mode 100644 index cfda9e5..0000000 --- a/packages/dcat-extension-plus-master/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# Dcat Plus - -为 DcatAdmin 后台添加增强配置的功能。修改过程利用 DcatAdmin 自带的 `admin_setting()` 方法实现,不会硬编码修改任何 config 文件或者 .env 文件。 - -## 安装方式 - -最新支持 Dcat Admin 2.0.24beta - -`composer require celaraze/dcat-extension-plus` - -或者在后台扩展中,直接上传本插件的 `.zip` 文件即可。 - -### 使用 - -在菜单 `扩展` 中启用扩展后,会自动添加名为 `增强配置` 的菜单。 - -### 功能 - -- 站点标题 - -- 站点 LOGO - -- 站点微缩 LOGO - -- 站点静态资源 URL - -- 调试模式 - -- 语言切换 - -- 移除底部授权 - -- 主题色切换 - -- 菜单样式切换(默认、分离、水平) - -- 表单行操作按钮固定最右 - -- 快速创建选项:表单可用 `selectCreate()` 字段类型,是 `select` 字段的增强,支持在右侧添加快速创建选项的按钮,异步添加值。 - -```PHP -$form->selectCreate('department','部门') - ->options(Department::class) - ->ajax('/api/departments') // 必须使用 api 方式取选项列表,格式同 select 字段的使用方法 - ->url('/departments/create') // 异步打开的页面,这里是部门创建的页面 url - ->required(); -``` - -- 表单详情扩展字段类型:`video`,视频,传入参数和 `image` 相同。 - -`$show->field('name')->video()` - -## 开源协议 - -Dcat Plus 遵循 MIT 开源协议。 diff --git a/packages/dcat-extension-plus-master/composer.json b/packages/dcat-extension-plus-master/composer.json deleted file mode 100644 index e6c1241..0000000 --- a/packages/dcat-extension-plus-master/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "celaraze/dcat-extension-plus", - "description": "增强 DcatAdmin 的使用体验。", - "alias": "Dcat 增强工具", - "type": "library", - "keywords": [ - "dcat-admin", - "extension" - ], - "homepage": "https://github.com/celaraze/dcat-extension-plus", - "license": "MIT", - "authors": [ - { - "name": "Celaraze", - "email": "celaraze@qq.com" - } - ], - "require": { - "php": ">=7.3.0", - "dcat/laravel-admin": "~2.0" - }, - "autoload": { - "psr-4": { - "Celaraze\\DcatPlus\\": "src/" - } - }, - "extra": { - "dcat-admin": "Celaraze\\DcatPlus\\ServiceProvider", - "laravel": { - "providers": [ - "Celaraze\\DcatPlus\\ServiceProvider" - ] - } - } -} diff --git a/packages/dcat-extension-plus-master/logo.png b/packages/dcat-extension-plus-master/logo.png deleted file mode 100644 index 356a4bd..0000000 Binary files a/packages/dcat-extension-plus-master/logo.png and /dev/null differ diff --git a/packages/dcat-extension-plus-master/resources/lang/zh_CN/main.php b/packages/dcat-extension-plus-master/resources/lang/zh_CN/main.php deleted file mode 100644 index 2270f12..0000000 --- a/packages/dcat-extension-plus-master/resources/lang/zh_CN/main.php +++ /dev/null @@ -1,15 +0,0 @@ - '站点域名', - 'site_title' => '站点标题', - 'site_logo_text' => 'LOGO(文字)', - 'site_logo' => 'LOGO', - 'site_logo_mini' => 'LOGO(微缩)', - 'site_debug' => '调试模式', - 'footer_remove' => '移除底部授权', - 'select_create' => '快速创建选项', - 'theme_color' => '主题色', - 'sidebar_style' => '菜单样式', - 'site_lang' => '语言', - 'grid_row_actions_right' => '表单行操作按钮最右' -]; diff --git a/packages/dcat-extension-plus-master/resources/lang/zh_CN/menu.php b/packages/dcat-extension-plus-master/resources/lang/zh_CN/menu.php deleted file mode 100644 index 65d4bf1..0000000 --- a/packages/dcat-extension-plus-master/resources/lang/zh_CN/menu.php +++ /dev/null @@ -1,5 +0,0 @@ - '增强配置' -]; diff --git a/packages/dcat-extension-plus-master/resources/views/select_create.blade.php b/packages/dcat-extension-plus-master/resources/views/select_create.blade.php deleted file mode 100644 index 9939e19..0000000 --- a/packages/dcat-extension-plus-master/resources/views/select_create.blade.php +++ /dev/null @@ -1,42 +0,0 @@ -
- -
- {!! $label !!} -
- -
- -
- @include('admin::form.error') - - - - - -
- {!! $createDialog !!} -
-
- - @include('admin::form.help-block') - -
-
- -@include('admin::form.select-script') diff --git a/packages/dcat-extension-plus-master/src/Extensions/Form/SelectCreate.php b/packages/dcat-extension-plus-master/src/Extensions/Form/SelectCreate.php deleted file mode 100644 index 872c90d..0000000 --- a/packages/dcat-extension-plus-master/src/Extensions/Form/SelectCreate.php +++ /dev/null @@ -1,64 +0,0 @@ -addDefaultConfig([ - 'allowClear' => true, - 'placeholder' => [ - 'id' => '', - 'text' => $this->placeholder(), - ], - ]); - - $this->formatOptions(); - - $this->addVariables([ - 'options' => $this->options, - 'groups' => $this->groups, - 'configs' => $this->config, - 'cascadeScript' => $this->getCascadeScript(), - 'createDialog' => $this->build() - ]); - - $this->attribute('data-value', implode(',', Helper::array($this->value()))); - - return parent::render(); - } - - protected function build(): string - { - Form::dialog(Support::trans('main.select_create')) - ->click('.create-form') - ->url($this->url) - ->width('1200px') - ->height('800px'); - - $text = Support::trans('main.select_create'); - - return " $text "; - } - - public function url($url): SelectCreate - { - $this->url = $url; - return $this; - } -} diff --git a/packages/dcat-extension-plus-master/src/Extensions/Show/Video.php b/packages/dcat-extension-plus-master/src/Extensions/Show/Video.php deleted file mode 100644 index dc75db6..0000000 --- a/packages/dcat-extension-plus-master/src/Extensions/Show/Video.php +++ /dev/null @@ -1,32 +0,0 @@ -value, true); - $return = ''; - foreach ($items as $item) { - if (url()->isValidUrl($item)) { - $src = $item; - } elseif ($server) { - $src = rtrim($server, '/') . '/' . ltrim($item, '/'); - } else { - $disk = config('admin.upload.disk'); - - if (config("filesystems.disks.{$disk}")) { - $src = Storage::disk($disk)->url($item); - } else { - return ''; - } - } - $return .= "  "; - } - return $return; - } -} diff --git a/packages/dcat-extension-plus-master/src/Forms/DcatPlusSiteForm.php b/packages/dcat-extension-plus-master/src/Forms/DcatPlusSiteForm.php deleted file mode 100644 index 4d43c2f..0000000 --- a/packages/dcat-extension-plus-master/src/Forms/DcatPlusSiteForm.php +++ /dev/null @@ -1,57 +0,0 @@ -response() - ->success('站点配置更新成功!') - ->refresh(); - } - - /** - * Build a form here. - */ - public function form() - { - $this->url('site_url', Support::trans('main.site_url')) - ->help('站点域名决定了静态资源(头像、图片等)的显示路径,可以包含端口号,例如 http://chemex.it:8000 。') - ->default(admin_setting('site_url')); - $this->text('site_title', Support::trans('main.site_title')) - ->default(admin_setting('site_title')); - $this->text('site_logo_text', Support::trans('main.site_logo_text')) - ->help('文本LOGO显示的优先度低于图片,当没有上传图片作为LOGO时,此项将生效。') - ->default(admin_setting('site_logo_text')); - $this->image('site_logo', Support::trans('main.site_logo')) - ->autoUpload() - ->uniqueName() - ->default(admin_setting('site_logo')); - $this->image('site_logo_mini', Support::trans('main.site_logo_mini')) - ->autoUpload() - ->uniqueName() - ->default(admin_setting('site_logo_mini')); - $this->switch('site_debug', Support::trans('main.site_debug')) - ->help('开启 debug 模式后将会显示异常捕获信息,关闭则只返回 500 状态码。') - ->default(admin_setting('site_debug')); - $this->radio('site_lang', Support::trans('main.site_lang')) - ->options([ - 'zh_CN' => '中文(简体)', - 'en' => 'English' - ]) - ->default(admin_setting('site_lang')); - } -} diff --git a/packages/dcat-extension-plus-master/src/Forms/DcatPlusUIForm.php b/packages/dcat-extension-plus-master/src/Forms/DcatPlusUIForm.php deleted file mode 100644 index 5f1a43f..0000000 --- a/packages/dcat-extension-plus-master/src/Forms/DcatPlusUIForm.php +++ /dev/null @@ -1,61 +0,0 @@ -response() - ->success('站点配置更新成功!') - ->refresh(); - } - - /** - * Build a form here. - */ - public function form() - { - $this->switch('footer_remove', Support::trans('main.footer_remove')) - ->default(admin_setting('footer_remove')); - $defaultColors = [ - 'default' => '墨蓝', - 'blue' => '蓝', - 'blue-light' => '亮蓝', - 'green' => '墨绿', - ]; - foreach (explode(",", ServiceProvider::setting('additional_theme_colors')) as $value) { - if (!empty($value)) { - [$k, $v] = explode(":", $value); - $defaultColors[$k] = $v; - } - } - - $this->radio('theme_color', Support::trans('main.theme_color')) - ->options($defaultColors) - ->default(admin_setting('theme_color')); - $this->radio('sidebar_style', Support::trans('main.sidebar_style')) - ->options([ - 'default' => '默认', - 'sidebar-separate' => '菜单分离', - 'horizontal_menu' => '水平菜单' - ]) - ->default(admin_setting('sidebar_style')); - $this->switch('grid_row_actions_right', Support::trans('main.grid_row_actions_right')) - ->help('启用后表格行操作按钮将永远贴着最右侧。') - ->default(admin_setting('grid_row_actions_right')); - } -} diff --git a/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusSiteController.php b/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusSiteController.php deleted file mode 100644 index 7f92d2d..0000000 --- a/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusSiteController.php +++ /dev/null @@ -1,24 +0,0 @@ -header('增强配置') - ->description('提供了一些对站点增强的配置') - ->body(function (Row $row) { - $tab = new Tab(); - $tab->add('站点配置', new DcatPlusSiteForm(), true); - $tab->addLink('UI优化', admin_route('dcat-plus.ui.index')); - $row->column(12, $tab->withCard()); - }); - } -} diff --git a/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusUIController.php b/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusUIController.php deleted file mode 100644 index 9244936..0000000 --- a/packages/dcat-extension-plus-master/src/Http/Controllers/DcatPlusUIController.php +++ /dev/null @@ -1,24 +0,0 @@ -header('增强配置') - ->description('提供了一些对站点增强的配置') - ->body(function (Row $row) { - $tab = new Tab(); - $tab->addLink('站点配置', admin_route('dcat-plus.site.index')); - $tab->add('UI优化', new DcatPlusUIForm(), true); - $row->column(12, $tab->withCard()); - }); - } -} diff --git a/packages/dcat-extension-plus-master/src/Http/Middleware/AfterInjectDcatPlus.php b/packages/dcat-extension-plus-master/src/Http/Middleware/AfterInjectDcatPlus.php deleted file mode 100644 index 98cc5b6..0000000 --- a/packages/dcat-extension-plus-master/src/Http/Middleware/AfterInjectDcatPlus.php +++ /dev/null @@ -1,23 +0,0 @@ -initConfig(); - $support->gridRowActionsRight(); - $support->injectFields(); - $support->footerRemove(); - - return $next($request); - } -} diff --git a/packages/dcat-extension-plus-master/src/Http/routes.php b/packages/dcat-extension-plus-master/src/Http/routes.php deleted file mode 100644 index 623bbce..0000000 --- a/packages/dcat-extension-plus-master/src/Http/routes.php +++ /dev/null @@ -1,16 +0,0 @@ -name('dcat-plus.site.index'); - -Route::get('/dcat-plus/ui', [DcatPlusUIController::class, 'index']) - ->name('dcat-plus.ui.index'); - - - diff --git a/packages/dcat-extension-plus-master/src/ServiceProvider.php b/packages/dcat-extension-plus-master/src/ServiceProvider.php deleted file mode 100644 index e40bc8e..0000000 --- a/packages/dcat-extension-plus-master/src/ServiceProvider.php +++ /dev/null @@ -1,50 +0,0 @@ - [ - BeforeInjectDcatPlus::class, - ], - 'middle' => [ - MiddleInjectDcatPlus::class, - ], - 'after' => [ - AfterInjectDcatPlus::class, - ] - ]; - protected $menu = [ - [ - 'title' => 'Dcat Plus', - 'uri' => 'dcat-plus/site', - 'icon' => 'feather icon-settings' - ] - ]; - - public function register() - { - // - } - - public function settingForm() - { - return new Setting($this); - } - - public function init() - { - parent::init(); - - } -} diff --git a/packages/dcat-extension-plus-master/src/Setting.php b/packages/dcat-extension-plus-master/src/Setting.php deleted file mode 100644 index 54847dc..0000000 --- a/packages/dcat-extension-plus-master/src/Setting.php +++ /dev/null @@ -1,14 +0,0 @@ -text('additional_theme_colors', 'Additional Theme Colors') - ->help("cssname1:Title1,cssname2:Title2"); - } -} diff --git a/packages/dcat-extension-plus-master/src/Support.php b/packages/dcat-extension-plus-master/src/Support.php deleted file mode 100644 index bbc6c2f..0000000 --- a/packages/dcat-extension-plus-master/src/Support.php +++ /dev/null @@ -1,140 +0,0 @@ -url(admin_setting('site_logo')); - $logo = ""; - } - - /** - * 处理站点LOGO-MINI自定义 - */ - if (empty(admin_setting('site_logo_mini'))) { - $logo_mini = admin_setting('site_logo_text'); - } else { - $logo_mini = Storage::disk(config('admin.upload.disk'))->url(admin_setting('site_logo_mini')); - $logo_mini = ""; - } - - /** - * 处理站点名称 - */ - $horizontal_menu = false; - if (empty(admin_setting('site_url'))) { - $site_url = 'http://localhost'; - } else { - $site_url = admin_setting('site_url'); - } - - if (empty(admin_setting('site_debug'))) { - $site_debug = true; - } else { - $site_debug = admin_setting('site_debug'); - } - - if (empty(admin_setting('theme_color'))) { - $theme_color = 'blue-light'; - } else { - $theme_color = admin_setting('theme_color'); - } - if (empty(admin_setting('sidebar_style'))) { - $sidebar_style = 'default'; - } else { - $sidebar_style = admin_setting('sidebar_style'); - if ($sidebar_style == 'horizontal_menu') { - $horizontal_menu = true; - } - } - - /** - * 复写admin站点配置 - */ - config([ - 'app.url' => $site_url, - 'app.debug' => (bool)$site_debug, - 'app.locale' => admin_setting('site_lang', config('app.locale')), - 'app.fallback_locale' => admin_setting('site_lang', config('app.fallback_locale')), - - 'admin.title' => admin_setting('site_title'), - 'admin.logo' => $logo, - 'admin.logo-mini' => $logo_mini, - 'admin.layout.color' => $theme_color, - 'admin.layout.body_class' => $sidebar_style, - 'admin.layout.horizontal_menu' => $horizontal_menu - ]); - } - - /** - * 注入字段. - */ - public function injectFields() - { - Form::extend('selectCreate', SelectCreate::class); - Show\Field::extend('video', Video::class); - } - - /** - * 底部授权移除. - */ - public function footerRemove() - { - if (admin_setting('footer_remove')) { - Admin::style( - <<<'CSS' -.main-footer { - display: none; -} -CSS - ); - } - } - - /** - * 行操作按钮最右. - */ - public function gridRowActionsRight() - { - if (admin_setting('grid_row_actions_right')) { - Admin::style( - << [ - '原始版本发布', - ], - '1.0.1' => [ - '增加调试模式开关 & 侧栏子菜单缩进增加', - ], - '1.0.2' => [ - '扩展表单字段 selectCreate 为 select 字段的升级版,支持快速创建。', - ], - '1.0.3' => [ - '增加扩展图标和别名。', - ], - '1.0.4' => [ - '增加表单提交预处理过滤,防止XSS攻击。', - ], - '1.0.5' => [ - '优化表单提交预处理过滤,不再依赖第三方包。', - ], - '1.0.6' => [ - 'selectCreate组件的颜色改为主题色。', - 'UI增加表格行操作按钮紧贴最右侧。' - ], - '1.0.7' => [ - '支持DcatAdmin 2.0.18beta。', - '暂时移除侧栏菜单子菜单缩进(不兼容)。', - '增加水平菜单选项。', - '原先的头部块状显示改为边距优化' - ], - '1.0.8' => [ - '提供了自定义颜色的支持入口', - ], - '1.0.9' => [ - '移除HTML、JS过滤', - '移除部分UI优化' - ], - '1.1.0' => [ - '修复debug配置无效的问题', - '自动注入扩展字段', - '移除了一些无用的配置' - ], - '1.1.1' => [ - '增加详情页视频扩展字段', - ], -];