快速使用ABP+Zorro
ABP前台操作流程
下载
- 前往ASP.NET Boilerplate Startup Templates下载例子
- 下载完成后按照流程Startup-Template-Angular操作,或直接用angular前端部分衔接已有的后台(以下操作衔接南海项目现有API)
配置
-
到项目目录下安装包
npm i
或者npm install
或yarn add
cd XXX npm i
-
安装好后需更新
NSwag
生成的客户端调用代码-
更新nswag的后台api地址
nswag
路径nswag/service.config.nswag
(注意,这个与本地的.net core版本有关)"documentGenerator": { "fromDocument": { "url": "http://salt1.gzwanlink.com.cn:8096/swagger/v1/swagger.json", "output": null } },
-
更新完配置后运行refresh.bat,可见
src/shared/service-proxies/service-proxies.ts
已经更新
-
-
更新配置中app运行的后台地址,位置
src/assets/appconfig.json,
{ "remoteServiceBaseUrl": "http://salt1.gzwanlink.com.cn:8096", "appBaseUrl": "http://localhost:4200", "localeMappings": [ { "from": "pt-BR", "to": "pt" }, { "from": "zh-CN", "to": "zh" }, { "from": "he-IL", "to": "he" } ] }
-
运行
npm start
,可成功打开登录界面
添加ng-zorro
- 为了不破坏ABP前端框架,选择手动添加
ng-zorro
,执行npm install ng-zorro-antd --save
,参考https://ng.ant.design/docs/getting-started/zh-
在core.less中引入
@import "~ng-zorro-antd/ng-zorro-antd.min.css"
-
新建模块文件ng-zorro-antd.module.ts
-
在需要用到zorro的组件所在的模块中引入
DemoNgZorroAntdModule
@NgModule({ imports: [ DemoNgZorroAntdModule, ],
-
添加完成后如果报错
Uncaught (in promise): ReferenceError: ImportNgZorroAntdModule is not defined
,可重新npm start
-
创建组件和模块
-
从api中选取一个模块Player,在
src/shared/service-proxies/service-proxy.module.ts
中添加模块ApiServiceProxies.PlayerServiceProxy,
-
ng g m player --routing
和到指定的模块目录下添加组件ng g c player-list -m player
,模块中需要引进ng-zorro、PlayerServiceProxyimports: [ CommonModule, PlayerRoutingModule, SharedModule, FormsModule, //表单 ReactiveFormsModule, //表单 ServiceProxyModule, // 后端生成的前端服务 ImportNgZorroAntdModule, //zorro组件模块 ],
-
更新路由PlayerRoutingModule, 更新模块路由RootRoutingModule, 更新菜单
-
模块路由
player-routing.module.ts
const routes: Routes = [ { path: '', component: AppComponent, children: [ { path: 'list', component: PlayerListComponent, }, ] } ];
-
总路由
root-routing.module.ts
const routes: Routes = [ { path: 'player', loadChildren: () =>import('app/player/player.module').then(m => m.PlayerModule) }]
-
添加进菜单
src/app/layout/sidebar-menu.component.ts
,添加new MenuItem('player', '/player/list', 'fas fa-info-circle'),
-
-
运行,可以跳转到player-list页面
业务
- 参考role页面
- 页面继承抽象类
PagedListingComponentBase
,实现抽象方法