Merge branch 'develop' of https://gitea.hmily.club/liutk/internet-everythings-agricultural into develop
commit
8abbca243c
12
README.md
12
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
php artisan k:g
|
- `cp .env.example .env`
|
||||||
php artisan storage:link
|
- `php artisan key:generate`
|
||||||
php artsian admin:publish
|
- `php artisan storage:link`
|
||||||
php artisan admin:install
|
- 创建数据库
|
||||||
|
- 修改 .env 文件中的配置
|
||||||
php artisan db:seed AdminMenuSeeder
|
- `php artisan migrate --seed`
|
||||||
|
|
@ -9,6 +9,7 @@ use Slowlyo\OwlAdmin\Renderers\TextControl;
|
||||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
use App\Services\Admin\AdminNoticeService;
|
use App\Services\Admin\AdminNoticeService;
|
||||||
use App\Admin\Components;
|
use App\Admin\Components;
|
||||||
|
use Slowlyo\OwlAdmin\OwlAdmin;
|
||||||
|
|
||||||
class AdminNoticeController extends AdminController
|
class AdminNoticeController extends AdminController
|
||||||
{
|
{
|
||||||
|
|
@ -18,12 +19,16 @@ class AdminNoticeController extends AdminController
|
||||||
|
|
||||||
public function list(): Page
|
public function list(): Page
|
||||||
{
|
{
|
||||||
|
$options = [];
|
||||||
|
$user = OwlAdmin::user();
|
||||||
|
// 添加权限
|
||||||
|
if ($user->can('admin_notice.create')) {
|
||||||
|
array_push($options, $this->createButton(true, 'lg'));
|
||||||
|
}
|
||||||
|
$options = array_merge($options, $this->baseHeaderToolBar(),);
|
||||||
$crud = $this->baseCRUD()
|
$crud = $this->baseCRUD()
|
||||||
->filterTogglable(false)
|
->filterTogglable(false)
|
||||||
->headerToolbar([
|
->headerToolbar($options)
|
||||||
$this->createButton(true, 'lg'),
|
|
||||||
...$this->baseHeaderToolBar(),
|
|
||||||
])
|
|
||||||
->columns([
|
->columns([
|
||||||
TableColumn::make()->name('id')->label('ID')->sortable(true),
|
TableColumn::make()->name('id')->label('ID')->sortable(true),
|
||||||
TableColumn::make()->name('title')->label('标题'),
|
TableColumn::make()->name('title')->label('标题'),
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@ class SettingController extends AdminController
|
||||||
->redirect('')
|
->redirect('')
|
||||||
->api($this->getStorePath())
|
->api($this->getStorePath())
|
||||||
->data(settings()->all())
|
->data(settings()->all())
|
||||||
|
->panelClassName('')
|
||||||
|
->title('')
|
||||||
->body(
|
->body(
|
||||||
Tabs::make()->tabs([
|
Tabs::make()->tabs([
|
||||||
Tab::make()->title('基本设置')->body([
|
Tab::make()->title('基本设置')->body([
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,7 @@ class AdminMenuSeeder extends Seeder
|
||||||
['title' => '权限管理', 'icon' => 'icon-park:key-one', 'url' => '/system/admin_permissions', 'order'=>3],
|
['title' => '权限管理', 'icon' => 'icon-park:key-one', 'url' => '/system/admin_permissions', 'order'=>3],
|
||||||
['title' => '菜单管理', 'icon' => 'icon-park:menu-fold-one', 'url' => '/system/admin_menus', 'order'=>4],
|
['title' => '菜单管理', 'icon' => 'icon-park:menu-fold-one', 'url' => '/system/admin_menus', 'order'=>4],
|
||||||
['title' => '字典管理', 'icon' => 'icon-park:arrow-keys', 'url' => '/keywords', 'order'=>5],
|
['title' => '字典管理', 'icon' => 'icon-park:arrow-keys', 'url' => '/keywords', 'order'=>5],
|
||||||
|
['title' => '配置管理', 'icon' => 'icon-park:setting-two', 'url' => '/system/settings', 'order'=>6],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
|
use Slowlyo\OwlAdmin\Models\{AdminUser, AdminRole, AdminPermission, AdminMenu};
|
||||||
|
|
||||||
|
class AdminSeeder extends Seeder
|
||||||
|
{
|
||||||
|
use WithoutModelEvents;
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
AdminUser::truncate();
|
||||||
|
$user = AdminUser::create([
|
||||||
|
'username' => 'admin',
|
||||||
|
'password' => bcrypt('admin'),
|
||||||
|
'name' => 'Administrator',
|
||||||
|
]);
|
||||||
|
|
||||||
|
AdminRole::truncate();
|
||||||
|
$role = AdminRole::create([
|
||||||
|
'name' => 'Administrator',
|
||||||
|
'slug' => 'administrator',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$user->roles()->attach($role);
|
||||||
|
|
||||||
|
$menus = AdminMenu::all()->toArray();
|
||||||
|
|
||||||
|
$permissions = [];
|
||||||
|
foreach ($menus as $menu) {
|
||||||
|
$_httpPath = $menu['url_type'] == AdminMenu::TYPE_ROUTE ? $this->getHttpPath($menu['url']) : '';
|
||||||
|
|
||||||
|
$permissions[] = [
|
||||||
|
'id' => $menu['id'],
|
||||||
|
'name' => $menu['title'],
|
||||||
|
'slug' => (string)Str::uuid(),
|
||||||
|
'http_path' => json_encode($_httpPath ? [$_httpPath] : ''),
|
||||||
|
'order' => $menu['order'],
|
||||||
|
'parent_id' => $menu['parent_id'],
|
||||||
|
'created_at' => $menu['created_at'],
|
||||||
|
'updated_at' => $menu['updated_at'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
AdminPermission::query()->truncate();
|
||||||
|
AdminPermission::query()->insert($permissions);
|
||||||
|
|
||||||
|
DB::table('admin_permission_menu')->truncate();
|
||||||
|
foreach ($permissions as $item) {
|
||||||
|
$query = DB::table('admin_permission_menu');
|
||||||
|
$query->insert([
|
||||||
|
'permission_id' => $item['id'],
|
||||||
|
'menu_id' => $item['id'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$_id = $item['id'];
|
||||||
|
while ($item['parent_id'] != 0) {
|
||||||
|
(clone $query)->insert([
|
||||||
|
'permission_id' => $_id,
|
||||||
|
'menu_id' => $item['parent_id'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$item = AdminMenu::query()->find($item['parent_id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private function getHttpPath($uri)
|
||||||
|
{
|
||||||
|
$excepts = ['/', '', '-'];
|
||||||
|
if (in_array($uri, $excepts)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!str_starts_with($uri, '/')) {
|
||||||
|
$uri = '/' . $uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $uri . '*';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -14,11 +14,7 @@ class DatabaseSeeder extends Seeder
|
||||||
*/
|
*/
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
// \App\Models\User::factory(10)->create();
|
$this->call(AdminMenuSeeder::class);
|
||||||
|
$this->call(AdminSeeder::class);
|
||||||
// \App\Models\User::factory()->create([
|
|
||||||
// 'name' => 'Test User',
|
|
||||||
// 'email' => 'test@example.com',
|
|
||||||
// ]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="zh">
|
<html lang="zh-CN">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8"/>
|
<meta charset="UTF-8"/>
|
||||||
<link rel="icon" href="/admin/logo.png"/>
|
<link rel="icon" href="/admin/logo.png"/>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue