5分钟使用NetModular 完成通讯录 App 开发
原版连接:https://www.cnblogs.com/shanyou/p/12520894.html
NetModular(后文简称NM)是 OLDLI 堪称艺术品级的应用开发框架,它基于经典领域驱动设计(DDDLite)的思维,创新地采用了模块化的设计。NM 目前无疑是 ASP.NET Core 开发框架中最先进和最优雅的存在。笔者认为,凭借绝妙的模块化设计和丝滑的开发体验,NM 有望超越 Spring 家族在历史上的影响力。
模块开发与应用开发的关系
使用 NM 框架,你可以提前制作一些功能模块,例如微信登录、私信、博客、论坛等模块,将它们打包备用。在开发具体的 App 应用时,你可以轻松将模块安装到你的工程中,节省了大量的重复性工作。除了自己造轮子,你还可以在 NuGet 上安装由开源社区维护的模块,当然,社区也在等待你的贡献。
五分钟完成通讯录 App 开发
今天我们不讲模块开发,而是从最简单的应用开发入手,笔者将遵循 NM 最佳实践,带你体验如何在 5 分钟内,使用 NM 框架开发一个通讯录 App。
第一步:在线设计模块
打开地址 https://demo.17mkh.com/ ,输入账户密码 admin admin
打开 模块创建>模块列表 页面
点击添加按钮,填写模块信息

第二步:创建“联系人”实体
找到刚刚创建的模块,点击 操作>实体管理,添加 Contact 实体

第三步:添加实体属性


第四部:配置视图模型

第五步:生成代码
返回模块列表,点击 操作>生成代码
接下下载的代码压缩包

第五步:启动
启动后端接口
使用vs2019打开Contact.sln解决方案,编译WebHost项目
进入 src/WebHost 目录,打开命令行输入以下命令
dotnet watch run

如上表示启动成功,可通过[http://localhost:6312/swagger]访问接口文档
启动前端 进入 src/UI/module-contacts 目录,打开命令行执行以下命令
npm i
npm run serve

如上表示成功,打开地址http://localhost:5312/app/
登录并使用通讯录(默认账户密码都是admin)
默认已包含Admin的菜单,接下来添加通讯录的菜单
打开 权限管理>菜单管理

给角色绑定菜单
打开 角色管理页面,点击绑定菜单按钮

选择刚刚添加的菜单并绑定按钮,然后刷新页面
打开联系人列表,点击添加

至此,结束~

5分钟使用NetModular 完成通讯录 App 开发的更多相关文章
- 五分钟完成 ABP vNext 通讯录 App 开发
五分钟完成 ABP vNext 通讯录 App 开发 ABP vNext(后文简称Abp)是 Volo 公司堪称艺术品级的应用开发框架,它基于领域驱动设计(DDD)的思维,创新地采用了模块化的设计.A ...
- 从中间件的历史来看移动App开发的未来
在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...
- html5 app开发,你知道多少?
随着大量新生移动设备的兴起,改变了互联网的未来,html5技术为开发者提供了一个跨平台的移动app开发方案,并且该方案具有很好的扩展性和灵活性,但就国内使用html5开发app应用技术来讲,还是有欠缺 ...
- HTML5手机APP开发入(5)
HTML5手机APP开发入(5) 回顾一下 HTML5手机APP开发入(4) 如何自定义Component,directive HTML5手机APP开发入(3) 如何实现MVC的代码重构,自定义一个P ...
- HTML5手机APP开发入(4)
HTML5手机APP开发入(4) 课程内容 完成一个自定义的Component用来展现通讯录用户的明细信息如下图 http://bootsnipp.com/snippets/featured/prof ...
- HTML5手机APP开发入(3)
HTML5手机APP开发入(3) 课程内容: 按照AngularJs MVC框架进行代码重构,新建一个DataService服务类使用SQLite插件实现储存对通讯录的本地存储. 涉及的知识点: An ...
- App开发到App Store上架,发布流程。
http://blog.csdn.net/wojsg001/article/details/12005887 App开发到App Store上架,发布流程. 分类: IOS2013-09-25 11 ...
- 瑞柏匡丞_免费app开发是否可行
随着移动互联时代的到来,手机APP软件开发已成为一大商机.当众人纷纷涌入这一领域“淘金”时,有人则做起了“卖水”的生意.无需编程知识和开发成本,只需要输入简单的文字指令,三分钟的时间就可以生成一个AP ...
- 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论
基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...
随机推荐
- SpringBoot webjars 映射
添加静态资源映射 @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.a ...
- 微软研究员Eric Horvitz解读 “人工智能百年研究”
本文翻译自ScienceInsider"A 100-year study of artificial intelligence? Microsoft Research's Eric Horv ...
- labview的bool(布尔)按键机械属性
在学习LabVIEW(简称LV)时,布尔控件是常用的控件.布尔控件分为按钮型控件和开关型控件,LV内部并没有区分按钮型还是开关型.这两种布尔控件可以根据需要相互转换,通过配置布尔控件的机械动作属性来实 ...
- vue日常问题总结
1.Vue项目启动后首页URL带的#该怎么去掉? vue-router中默认使用的是hash模式,URL中带有#号,我们可以用如下代码修改成history模式: import Vue from 'vu ...
- 题解:BZOJ 1009 HNOI2008 GT考试 KMP + 矩阵
原题描述: 阿申准备报名参加GT考试,准考证号为N位数 X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字.他的不吉利数学A1A2...Am(0<=Ai&a ...
- JavaScript闭包、Object对象
JavaScript闭包 定义:闭包指一个拥有许多变量和绑定这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. function a(){ var i=0; function ...
- [JS奇怪的世界]No.55 危險小叮嚀:陣列與for in
前言 前面已經瞭解了使用內建函數建構子的某些危險地方,但其實陣列與for in,也是有一些危險的地方. 陣列與for in 在前面幾個章節有講過陣列就是物件,所以我們一樣可以使用 for in來做處理 ...
- 是AI就躲个飞机-纯Python实现人工智能
你要的答案或许都在这里:小鹏的博客目录 代码下载:Here. 很久以前微信流行过一个小游戏:打飞机,这个游戏简单又无聊.在2017年来临之际,我就实现一个超级弱智的人工智能(AI),这货可以躲避从屏幕 ...
- 记一次MySQL表分区操作
最近一次日常迭代中,业务线需要对一张大表进行联合查询,查询性能可想而知,测试过程中服务接口直接响应超时,导致服务不可用,最后临时对该表进行分区操作,暂时缓解性能问题.由于是第一次操作表分区,姑且记录一 ...
- 使用python抓取汽车之家车型数据
import requests import pymysql HOSTNAME = '127.0.0.1' USERNAME = 'root' PASSWORD = 'zyndev' DATABASE ...