.NET Core的响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单
netnrf 响应式框架
用于快速开发的响应式框架
v3.x
- 前端采用 jQuery + Bootstrap + EasyUI + AceAdmin + fontAwesome
- 后端采用 .NET Core + EF + SQL(SQLServer、MySQL、PostgreSQL、SQLite)
- 数据库脚本放置于
wwwroot/scripts/目录下 - 数据库转换使用的工具:http://www.szmesoft.com/DB2DB
- 全部采用 LINQ,跨数据库、避免SQL注入
- 数据库脚本放置于
- Visual Studio 2019 运行项目
项目结构
- Netnr.Core 类库(引用NuGet,源码地址:https://github.com/netnr/Netnr.ClassLibrary)
- Netnr.Data 数据访问、仓储(Scaffold-DbContext 命令自动生成)
- Netnr.Domain 实体(Scaffold-DbContext 命令自动生成)
- Netnr.Fast 常用方法
- Netnr.Func 应用
- Netnr.ResponseFramework Web站点
数据表
- 用户(SysUser)
- 角色、角色权限(SysRole)
- 菜单(SysMenu)
- 按钮(SysButton)
- 日志(SysLog)
- 字典(SysDictionary)
- 表配置(SysTableConfig)
功能
- 登录:系统账号登录
- 权限:角色权限,控制菜单及页面按钮
- 表格:动态配置标题、宽度、排序、对齐方式、格式化、冻结、点击排序等
- 表单:动态生成表单,自定义标题、排序、跨列、类型、必填等,支持多表单生成
- 查询:动态生成查询面板,自定义字段查询,以JSON格式表达查询条件
- 日志:访问日志记录
- 字典:通用的字典表
- 工具:数据库表信息展示,一键导出数据库表结构为Excel
- 任务:定时执行任务,清理临时目录、重置演示数据库
- 导出:公共导出Excel表,自定义查询主体,支持条件查询、列格式化,支持追加操作等
- 上传:通用的上传接口
- 接口:所有非页面请求规范化为接口,并用 swagger 生成可视化接口文档,https://rf2.netnr.com/swagger
使用说明
- 创建表、写字段注释(方便生成表配置)
- 生成表配置,可以用【工具箱】-【表管理】-【生成表配置】,也可以直接拷贝文件夹
wwwroot/scripts/table-config/对应的SQL脚本运行 - 修改表配置,表格,表单、查询,调整为需要展示的形式(标题、宽度、排序、输入类型、列格式化、必填、默认值等,根据业务拓展配置项)
- 修改表配置,输入类型配置,需要配置下拉框、下拉树等,在
Common控制器写方法,url源指向这个方法访问的地址 - 修改表配置,列格式化配置,比如状态需要格式化为
启用、停用,有常用公共的格式化方法,也可以配置自定义格式化方法col_custom_字段小写 - 创建一个页面,菜单表添加此页面,配置操作按钮
- 写表对应的查询、保存(新增/修改)、删除方法,参考【系统设置】里面的功能
- 基于
z.js封装的表格方法(API与EasyUI保持一致,看EasyUI文档即可),配置查询表的请求地址、表格类型、分页、复选等
截图
列表

新增、编辑、查看

列表配置

表单配置

角色权限配置(树)

第三方文档API
附
Source
.NET Core的响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单的更多相关文章
- 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
并发编程概述 前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工 ...
- 函数响应式编程(FRP)框架--ReactiveCocoa
由于工作原因,有段时间没更新博客了,甚是抱歉,只是,从今天開始我又活跃起来了,哈哈,于是决定每周更新一博.大家互相学习.交流. 今天呢.讨论一下关于ReactiveCocoa,这个採用函数响应式编程( ...
- 基于Ace Admin 的菜单栏实现
1.首先是数据库表必然包含以下几个字段Id ,ParnetId,Url,Name等 create table dbo.Module ( Id uniqueidentifier not null con ...
- ace admin 左侧菜单定位
后台模版来自:Ace Admin http://ace.jeka.by/form-elements.html 左侧菜单,通过js根据url来判断显示哪块 window.location.pathnam ...
- 美团客户端响应式框架EasyReact开源啦
前言 EasyReact 是一款基于响应式编程范式的客户端开发框架,开发者可以使用此框架轻松地解决客户端的异步问题. 目前 EasyReact 已在美团和大众点评客户端的部分业务中进行了实践,并且持续 ...
- 巧用 BootStrap --- 栅格系统(布局)轻松搞定网页响应式布局!
摘要:Bootstrap 为我们提供了一套响应式.移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了.接下来我以Boots ...
- 07-Spring5 WebFlux响应式编程
SpringWebFlux介绍 简介 SpringWebFlux是Spring5添加的新模块,用于Web开发,功能和SpringMvc类似的,WebFlux使用当前一种比较流行的响应式编程框架 使用传 ...
- SpringBoot实战派读书笔记---响应式编程
1.什么是WebFlux? WebFlux不需要Servlet API,在完全异步且无阻塞,并通过Reactor项目实现了Reactor Streams规范. WebFlux可以在资源有限的情况下提高 ...
- Crumpet – 使用很简单的响应式前端开发框架
Crumpet 是一个简单的响应式的基于 SASS/SCSS 的响应式前端框架,保持你的 HTML 代码简洁.内置尽量使用占位符选择器,以减少你的 HTML 标记的大小,没有凌乱的 HTML 代码.快 ...
随机推荐
- 一个ip, 两个域名, 两个ssl, 对应多个不同的项目 之 坑
之前配置了好几天, 就想通过tomcat直接配置. 找各种资料, 都说先配置Connector, 在配置Host. 我试了很多次, 都不成功. 原因我也没有找到在哪里. 我的配置参考如下网址: 修改这 ...
- Secure CRT注册码
secure CRT 把记忆的东西放在这就行了,:) SecureCRT 5.2.2的注册码 Name: Apollo InteractiveCompany: Apollo ...
- Anaconda 笔记
Anaconda笔记 conda 功能 管理版本的切换 安装其他的包 conda 创建python27环境 conda create --name python27 python=2.7 conda ...
- nyoj 264-国王的魔镜 (string[-1:-int(str_len/2+1):-1])
264-国王的魔镜 内存限制:64MB 时间限制:3000ms 特判: No 通过数:13 提交数:25 难度:1 题目描述: 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜 ...
- NetCore下搭建websocket集群方案
介绍 最近在做一个基于netcore的实时消息服务.最初选用的是ASP.NET Core SignalR,但是后来发现目前它并没有支持IOS的客户端,所以自己只好又基于websocket重新搭建了一套 ...
- android灭屏后调用binder通讯竟然影响了socket的POLL_OUT事件,怪事。
当你的android在灭屏(休眠)时分派(dispatch) Ice调用过程中,如果创建了新的进程,你的响应将不会预期那样工作,尽管你已经调用 ice_response或 ice_exception, ...
- markdown总结 (webstrom快捷键)
# 在HbuilderX中写markdown(WebStrom快捷键配置)0. 一些快捷键和鼠标操作:1. ctrl+shift+↑ 当前行或者选中的块整体向上移动 ↓同理2. 向两侧扩大选择:A ...
- web前端开发面试题(Vue.js)
1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? ...
- Java 数据类型、变量
Java 数据类型 在 Java 中,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间. 整数类型 (byte.short.int.long) 1.Java 各整数类型 ...
- 物联网架构成长之路(47)-利用GitLab实现CI持续集成
0.前言 前段时间,考虑到要练习部署一套CI/CD的系统.一开始考虑到Jenkins,随着这两天的了解,发现最新版的GitLab已经提供有CI/CD集成了.所以本次博客,干脆一步到位,直接用GitLa ...