Parcourir la source

添加后台菜单seed

qiuzijian il y a 4 ans
Parent
commit
a53c78e11c

+ 100 - 134
.idea/workspace.xml

@@ -3,13 +3,9 @@
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Admin/Enum/AdminEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Admin/Enum/AdminEnum.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Admin/Http/Controllers/UsersController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Admin/Http/Controllers/UsersController.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_20_082221_create_camera_list_table.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_20_082221_create_camera_list_table.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Routes/web.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Admin/Routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Admin/Routes/web.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -44,6 +40,33 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="97">
+              <caret line="149" column="22" selection-start-line="149" selection-start-column="22" selection-end-line="149" selection-end-column="22" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="6447">
+              <caret line="309" column="8" selection-start-line="309" selection-start-column="8" selection-end-line="309" selection-end-column="8" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/storage/app/menulist.php">
+          <provider selected="true" editor-type-id="text-editor">
+            <state>
+              <caret selection-end-line="289" selection-end-column="1" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="447">
@@ -55,11 +78,11 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Admin/Resources/views/layouts/master.blade.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="274">
-              <caret line="246" column="37" lean-forward="true" selection-start-line="246" selection-start-column="15" selection-end-line="246" selection-end-column="37" />
+            <state relative-caret-position="287">
+              <caret line="246" column="37" selection-start-line="246" selection-start-column="15" selection-end-line="246" selection-end-column="37" />
             </state>
           </provider>
         </entry>
@@ -68,7 +91,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>checkBt</find>
       <find>permission</find>
       <find>tinymce/t</find>
       <find>js/admin</find>
@@ -98,6 +120,7 @@
       <find>formObj-&gt;uploadFiles</find>
       <find>-&gt;uploadFiles</find>
       <find>$uploadURLPath</find>
+      <find>menu</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -106,7 +129,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/app/Http/Controllers/Auth/LoginController.php" />
         <option value="$PROJECT_DIR$/app/Http/Middleware/RedirectIfAuthenticated.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Services/FilterService.php" />
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-04-14.log" />
@@ -126,7 +148,6 @@
         <option value="$PROJECT_DIR$/Modules/Admin/Resources/views/layouts/sub.blade.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Http/Requests/MenusRequest.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Resources/views/component/template_from.blade.php" />
-        <option value="$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Services/MenusService.php" />
         <option value="$PROJECT_DIR$/vendor/overtrue/pinyin/src/Pinyin.php" />
         <option value="$PROJECT_DIR$/app/Helpers.php" />
@@ -136,7 +157,6 @@
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-04-16.log" />
         <option value="$PROJECT_DIR$/Modules/Admin/Resources/views/layouts/master.blade.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Database/Migrations/2021_04_16_083654_create_mine_list_table.php" />
-        <option value="$PROJECT_DIR$/Modules/Admin/Routes/web.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Entities/MineList.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
@@ -157,6 +177,9 @@
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
+        <option value="$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php" />
+        <option value="$PROJECT_DIR$/Modules/Admin/Routes/web.php" />
+        <option value="$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php" />
       </list>
     </option>
   </component>
@@ -312,67 +335,15 @@
               <item name="video_system" type="462c0819:PsiDirectoryNode" />
               <item name="Modules" type="462c0819:PsiDirectoryNode" />
               <item name="Admin" type="462c0819:PsiDirectoryNode" />
-              <item name="Resources" type="462c0819:PsiDirectoryNode" />
+              <item name="Database" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
               <item name="video_system" type="462c0819:PsiDirectoryNode" />
               <item name="Modules" type="462c0819:PsiDirectoryNode" />
               <item name="Admin" type="462c0819:PsiDirectoryNode" />
-              <item name="Resources" type="462c0819:PsiDirectoryNode" />
-              <item name="views" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Camera" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Camera" type="462c0819:PsiDirectoryNode" />
-              <item name="Entities" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Camera" type="462c0819:PsiDirectoryNode" />
-              <item name="Routes" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Camera" type="462c0819:PsiDirectoryNode" />
-              <item name="Services" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Mine" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Mine" type="462c0819:PsiDirectoryNode" />
-              <item name="Routes" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="Modules" type="462c0819:PsiDirectoryNode" />
-              <item name="Mine" type="462c0819:PsiDirectoryNode" />
-              <item name="Services" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
-              <item name="video_system" type="462c0819:PsiDirectoryNode" />
-              <item name="public" type="462c0819:PsiDirectoryNode" />
+              <item name="Database" type="462c0819:PsiDirectoryNode" />
+              <item name="Seeders" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="video_system" type="b2602c69:ProjectViewProjectNode" />
@@ -423,12 +394,12 @@
       <option name="presentableId" value="Default" />
       <updated>1618368322468</updated>
       <workItem from="1618368323697" duration="143000" />
-      <workItem from="1618368497550" duration="88430000" />
+      <workItem from="1618368497550" duration="91026000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="88573000" />
+    <option name="totallyTimeSpent" value="91169000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -459,35 +430,6 @@
     <option name="version" value="1" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/User.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="208">
-          <caret line="10" column="19" lean-forward="true" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" />
-          <folding>
-            <element signature="e#23#63#0#PHP" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Services/FilterService.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-269">
-          <caret line="13" column="27" selection-start-line="13" selection-start-column="27" selection-end-line="13" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/.env">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-51" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Resources/views/component/template_table_view.blade.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="210">
-          <caret line="10" column="27" lean-forward="true" selection-start-line="10" selection-start-column="27" selection-end-line="10" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-04-16.log">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="372">
@@ -537,13 +479,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-833">
-          <caret line="24" column="45" selection-start-line="24" selection-start-column="33" selection-end-line="24" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Admin/Entities/Menu.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="210">
@@ -653,13 +588,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Routes/web.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="488">
-          <caret line="34" column="55" selection-start-line="34" selection-start-column="47" selection-end-line="34" selection-end-column="55" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="172">
@@ -771,17 +699,40 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/web.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_20_082221_create_camera_list_table.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="17" column="68" selection-start-line="17" selection-start-column="54" selection-end-line="17" selection-end-column="68" />
+        <state relative-caret-position="294">
+          <caret line="16" column="29" lean-forward="true" selection-start-line="16" selection-start-column="29" selection-end-line="16" selection-end-column="29" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_20_082221_create_camera_list_table.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="294">
-          <caret line="16" column="29" lean-forward="true" selection-start-line="16" selection-start-column="29" selection-end-line="16" selection-end-column="29" />
+        <state relative-caret-position="343">
+          <caret line="81" column="50" selection-start-line="81" selection-start-column="50" selection-end-line="81" selection-end-column="50" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Resources/views/layouts/master.blade.php">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/.env">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Resources/views/layouts/master.blade.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="287">
+          <caret line="246" column="37" selection-start-line="246" selection-start-column="15" selection-end-line="246" selection-end-column="37" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="447">
+          <caret line="62" column="20" selection-start-line="62" selection-start-column="20" selection-end-line="62" selection-end-column="20" />
+          <folding>
+            <element signature="e#129#166#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -795,30 +746,45 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/web.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="343">
-          <caret line="81" column="50" selection-start-line="81" selection-start-column="50" selection-end-line="81" selection-end-column="50" />
+        <state relative-caret-position="168">
+          <caret line="17" column="68" selection-start-line="17" selection-start-column="54" selection-end-line="17" selection-end-column="68" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Routes/web.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="447">
-          <caret line="62" column="20" selection-start-line="62" selection-start-column="20" selection-end-line="62" selection-end-column="20" />
-          <folding>
-            <element signature="e#129#166#0#PHP" expanded="true" />
-          </folding>
+        <state relative-caret-position="676">
+          <caret line="45" column="59" selection-start-line="45" selection-start-column="59" selection-end-line="45" selection-end-column="59" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Resources/views/layouts/master.blade.php">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/routes/web.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="210">
+          <caret line="19" column="32" lean-forward="true" selection-start-line="19" selection-start-column="32" selection-end-line="19" selection-end-column="32" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Resources/views/layouts/master.blade.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Http/Controllers/MenusController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="97">
+          <caret line="149" column="22" selection-start-line="149" selection-start-column="22" selection-end-line="149" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/storage/app/menulist.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret selection-end-line="289" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="274">
-          <caret line="246" column="37" lean-forward="true" selection-start-line="246" selection-start-column="15" selection-end-line="246" selection-end-column="37" />
+        <state relative-caret-position="6447">
+          <caret line="309" column="8" selection-start-line="309" selection-start-column="8" selection-end-line="309" selection-end-column="8" />
         </state>
       </provider>
     </entry>

+ 308 - 2
Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php

@@ -4,6 +4,7 @@ namespace Modules\Admin\Database\Seeders;
 
 use Illuminate\Database\Seeder;
 use Illuminate\Database\Eloquent\Model;
+use Modules\Admin\Services\MenusService;
 
 class AdminDatabaseSeeder extends Seeder
 {
@@ -14,8 +15,313 @@ class AdminDatabaseSeeder extends Seeder
      */
     public function run()
     {
-        Model::unguard();
+        $menus = [
+            array (
+                0 =>
+                    array (
+                        'icon' => 'username',
+                        'title' => '用户管理',
+                        'slug' => 'adminUsers',
+                        'path' => '/admin/users',
+                        'sort' => 10,
+                        'show' => '1',
+                        'child' =>
+                            array (
+                                0 =>
+                                    array (
+                                        'icon' => 'user',
+                                        'title' => '用户列表',
+                                        'slug' => 'adminUsersList',
+                                        'path' => '/admin/users/list',
+                                        'sort' => 10,
+                                        'show' => '1',
+                                        'child' =>
+                                            array (
+                                                0 =>
+                                                    array (
+                                                        'icon' => 'add-1',
+                                                        'title' => '添加用户',
+                                                        'slug' => 'adminUsersListAdd',
+                                                        'path' => '/admin/users/list/add',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                1 =>
+                                                    array (
+                                                        'icon' => 'search',
+                                                        'title' => '查看用户',
+                                                        'slug' => 'adminUsersListView',
+                                                        'path' => '/admin/users/list/view',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                2 =>
+                                                    array (
+                                                        'icon' => 'edit',
+                                                        'title' => '编辑用户',
+                                                        'slug' => 'adminUsersListEdit',
+                                                        'path' => '/admin/users/list/edit',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                3 =>
+                                                    array (
+                                                        'icon' => 'close',
+                                                        'title' => '删除用户',
+                                                        'slug' => 'adminUsersListDel',
+                                                        'path' => '/admin/users/list/del',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                4 =>
+                                                    array (
+                                                        'icon' => 'password',
+                                                        'title' => '重置密码',
+                                                        'slug' => 'adminUsersListResetpassword',
+                                                        'path' => '/admin/users/list/resetpassword',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                            ),
+                                    ),
+                            ),
+                    ),
+                1 =>
+                    array (
+                        'icon' => 'app',
+                        'title' => '矿区管理',
+                        'slug' => 'adminMine',
+                        'path' => '/admin/mine',
+                        'sort' => 10,
+                        'show' => '1',
+                        'child' =>
+                            array (
+                                0 =>
+                                    array (
+                                        'icon' => 'list',
+                                        'title' => '矿区列表',
+                                        'slug' => 'adminMineList',
+                                        'path' => '/admin/mine/list',
+                                        'sort' => 10,
+                                        'show' => '1',
+                                        'child' =>
+                                            array (
+                                                0 =>
+                                                    array (
+                                                        'icon' => 'add-1',
+                                                        'title' => '添加矿区',
+                                                        'slug' => 'adminMineAdd',
+                                                        'path' => '/admin/mine/add',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                1 =>
+                                                    array (
+                                                        'icon' => 'edit',
+                                                        'title' => '修改矿区',
+                                                        'slug' => 'adminMineEdit',
+                                                        'path' => '/admin/mine/edit',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                            ),
+                                    ),
+                            ),
+                    ),
+                2 =>
+                    array (
+                        'icon' => 'video',
+                        'title' => '摄像头管理',
+                        'slug' => 'adminCamera',
+                        'path' => '/admin/camera',
+                        'sort' => 10,
+                        'show' => '1',
+                        'child' =>
+                            array (
+                                0 =>
+                                    array (
+                                        'icon' => 'list',
+                                        'title' => '摄像头列表',
+                                        'slug' => 'adminCameraList',
+                                        'path' => '/admin/camera/list',
+                                        'sort' => 10,
+                                        'show' => '1',
+                                        'child' =>
+                                            array (
+                                                0 =>
+                                                    array (
+                                                        'icon' => 'add-1',
+                                                        'title' => '添加记录',
+                                                        'slug' => 'adminCameraListAdd',
+                                                        'path' => '/admin/camera/list/add',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                1 =>
+                                                    array (
+                                                        'icon' => 'edit',
+                                                        'title' => '编辑记录',
+                                                        'slug' => 'adminCameraListEdit',
+                                                        'path' => '/admin/camera/list/edit',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                2 =>
+                                                    array (
+                                                        'icon' => 'search',
+                                                        'title' => '查看记录',
+                                                        'slug' => 'adminCameraListView',
+                                                        'path' => '/admin/camera/list/view',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                3 =>
+                                                    array (
+                                                        'icon' => 'close',
+                                                        'title' => '删除记录',
+                                                        'slug' => 'adminCameraListDel',
+                                                        'path' => '/admin/camera/list/del',
+                                                        'sort' => 10,
+                                                        'show' => '1',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                4 =>
+                                                    array (
+                                                        'icon' => 'upload-drag',
+                                                        'title' => '导入记录',
+                                                        'slug' => 'adminCameraListImport',
+                                                        'path' => '/admin/camera/list/import',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                                5 =>
+                                                    array (
+                                                        'icon' => 'download-circle',
+                                                        'title' => '下载导入模板',
+                                                        'slug' => 'adminCameraListImportTemplate',
+                                                        'path' => '/admin/camera/list/importTemplate',
+                                                        'sort' => 10,
+                                                        'show' => '0',
+                                                        'child' =>
+                                                            array (
+                                                            ),
+                                                    ),
+                                            ),
+                                    ),
+                            ),
+                    ),
+                3 =>
+                    array (
+                        'icon' => 'set-sm',
+                        'title' => '后台配置',
+                        'slug' => 'adminSetting',
+                        'path' => '/admin/setting',
+                        'sort' => 5,
+                        'show' => '1',
+                        'child' =>
+                            array (
+                                0 =>
+                                    array (
+                                        'icon' => 'table',
+                                        'title' => '菜单设置',
+                                        'slug' => 'adminSettingMenus',
+                                        'path' => '/admin/menus/list',
+                                        'sort' => 10,
+                                        'show' => '1',
+                                        'child' =>
+                                            array (
+                                            ),
+                                    ),
+                                1 =>
+                                    array (
+                                        'icon' => 'add-1',
+                                        'title' => '添加菜单',
+                                        'slug' => 'adminSettingMenusAdd',
+                                        'path' => '/admin/menus/add',
+                                        'sort' => 10,
+                                        'show' => '0',
+                                        'child' =>
+                                            array (
+                                            ),
+                                    ),
+                                2 =>
+                                    array (
+                                        'icon' => 'edit',
+                                        'title' => '编辑菜单',
+                                        'slug' => 'adminSettingMenusEdit',
+                                        'path' => '/admin/menus/edit',
+                                        'sort' => 10,
+                                        'show' => '0',
+                                        'child' =>
+                                            array (
+                                            ),
+                                    ),
+                                3 =>
+                                    array (
+                                        'icon' => 'close',
+                                        'title' => '删除菜单',
+                                        'slug' => 'adminSettingMenusDel',
+                                        'path' => '/admin/menus/del',
+                                        'sort' => 10,
+                                        'show' => '0',
+                                        'child' =>
+                                            array (
+                                            ),
+                                    ),
+                            ),
+                    ),
+            )
+        ];
+        
+        $this->addMenu($menus);
+    }
 
-        // $this->call("OthersTableSeeder");
+    public function addMenu($menuList, $parentId = 0)
+    {
+        $menuService = new MenusService();
+        foreach ($menuList as $menu) {
+            $menu['parent_id'] = $parentId;
+            $_menu             = $menu;
+            unset($_menu['child']);
+            $menu_parent = $menuService->addMenu($_menu, 'slug');
+            if (count($menu['child']) > 0) {
+                $this->addMenu($menu['child'], $menu_parent['id']);
+            }
+        }
     }
 }

+ 38 - 0
Modules/Admin/Http/Controllers/MenusController.php

@@ -138,4 +138,42 @@ class MenusController extends BaseController
         $menus->delMenu($menuId);
         return $this->redirect('admin/menus/list');
     }
+
+    /**
+     * 菜单导出文件
+     * @return string
+     */
+    public function makeMenuToFile()
+    {
+        $menusService = new MenusService();
+        $menusAll     = $menusService->getMenusList();
+        $menus        = $this->menuFilter($menusAll);
+//        $apiMenusAll  = $menusService->getMenusList('', 'api');
+//        $apiMenus     = $this->menuFilter($apiMenusAll);
+
+        Storage::put('menulist.php', var_export($menus, true));
+//        Storage::put('apimenulist.php', var_export($apiMenus, true));
+        return 'ok';
+    }
+
+    protected function menuFilter($menuList)
+    {
+        $menus = [];
+        foreach ($menuList as $menu) {
+            $_menu = [
+                "icon"  => $menu['icon'],
+                "title" => $menu['title'],
+                "slug"  => $menu['slug'],
+                "path"  => $menu['path'],
+                "sort"  => $menu['sort'],
+                "show"  => $menu['show'],
+                "child" => $menu['child'],
+            ];
+            if (count($menu['child']) > 0) {
+                $_menu['child'] = $this->menuFilter($menu['child']);
+            }
+            $menus[] = $_menu;
+        }
+        return $menus;
+    }
 }

+ 3 - 0
Modules/Admin/Routes/web.php

@@ -41,3 +41,6 @@ Route::prefix('admin')->group(function() {
     Route::post('/users/list/del', 'UsersController@delPost');
     Route::get('/users/list/resetpassword', 'UsersController@resetPassword');
 });
+
+//菜单导出文件
+Route::get('/file/menu', 'MenusController@makeMenuToFile');

+ 16 - 0
database/seeds/Modules/Admin/Database/Seeders/MenuTableSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class Modules/Admin/Database/Seeders/MenuTableSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        //
+    }
+}