emniis/ng-admin

基于 angularjs 1.8 的管理面板

v1.2.0 2020-06-29 14:26 UTC

README

基于 Angular Js 的 Laravel 管理面板,包含 CRUD 生成器。

此版本与

  • Angular Js 1.8
  • Laravel 5.4 +

安装

通过 composer 将 Ng Admin 添加到您的 Laravel 项目中

    composer require emniis/ng-admin

下一步是向 config/app.php 添加服务提供者

    Emniis\NgAdmin\NgAdminServiceProvider::class,

发布

下一步是使用以下命令发布应用程序中的视图和资源

    php artisan vendor:publish --provider="Emniis\NgAdmin\NgAdminServiceProvider"

安装 npm 依赖项

最后一步是在 Laravel 公共目录(laravel-app-directory/public/)中安装 ng-admin npm 依赖项

    npm install

恭喜,您已成功安装 NG Admin !

为实体生成 CRUD

使用 nga:crud 生成实体的 CRUD(表格)

    php artisan nga:crud <entity> "<the list of table columns coma separated>"

例如:为 articles 表生成 CRUD

    php artisan nga:crud article "name,content,is_published"

生成的文件

一个管理控制器:/app/Http/Controllers/Admin/ArticleController.php

一个视图:/resources/views/ng-admin/articles.php

一个模型:/app/Models/Article.php

一个迁移:/database/migrations/<...>create_articles_table.php

将添加一些路由

Laravel 网络路由在 /routes/web.php

<?php
    ...
      Route::resource('articles', 'Admin\ArticleController');
      /** crudgen routes dont remove this comment **/
    ...

Angular 路由在 /public/ng-admin/boot.js

    ...
                  .when('/articles', {
                      title:"Smarts",
                      templateUrl: APP_VIEWS_BASE+'articles',
                      controller: 'ArticleController',
                      resolve: {
                          lazy: ['$ocLazyLoad', function($ocLazyLoad) {
                              return $ocLazyLoad.load({
                                  name: 'admin',
                                  files: [
                                      BASE+'ng-admin/article-controller.js'
                                  ]
                              });
                          }]
                      }
                  })
      /** crudgen dont remove **/
    ...

Angular 服务在 /public/ng-admin/services.js

    ... 
        .service("ArticleService", ["$resource", function($resource) {
                return $resource(API+"Smarts/:id" ,{id: '@id'}, {
                      query: {method: 'get', isArray: false, cancellable: true},
                        update: { method:'PUT' }
                    });
        }])
      /** crudgen dont remove **/
    ...