# JFinal-layui
**Repository Path**: hopper/Jfinal-layui
## Basic Information
- **Project Name**: JFinal-layui
- **Description**: JFinal-layui极速开发企业应用管理系统,是以JFinal+layui为核心的企业应用项目架构,利用JFinal的特性与layui完美结合,达到快速启动项目的目的。前端使用layui的响应式布局,让开发更简单高效,即使你不会layui,也能轻松掌握使用。该项目的核心功能有:登录、功能管理、角色管理(包含了权限管理)、用户管理、部门管理、系统日志、业务字典,在线表单,通用的附件上传、下载、导入、导出,echart图表统计,缓存,druid的sql监控,基本满足企业应用管理系统的需求,简化了前端代码,后台公用接口都封装完善,你只需要开发业务功能即可。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 498
- **Created**: 2020-04-27
- **Last Updated**: 2021-06-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Jfinal-layui
#### 介绍
JFinal+layui极速开发企业应用管理系统,是以JFinal+layui为核心的企业应用项目架构,利用JFinal的特性与layui完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会layui,也能轻松掌握使用。该项目的核心功能有:登录、功能管理、角色管理(包含了权限管理)、用户管理、部门管理、系统日志、业务字典,报表管理、代码生成器、通用的附件上传、下载、导入、导出,echart图表统计,缓存,druid的sql监控,基本满足企业应用管理系统的需求,简化了前段代码,后台公用接口都封装完善,你只需要开发业务功能即可。从后端架构到前端开发,从开发到部署,这真正的展现了jfinal极速开发的魅力。
#### 软件架构
软件架构说明:
核心架构:[jfinal](http://www.jfinal.com),[jfinal-undertow](http://www.jfinal.com/doc/1-4),[layui](https://www.layui.com/),mysql,ehcach,rsa加密算法
系统权限:通过“用户-角色-功能”三者关系来实现系统的权限控制,操作简单明了,代码实现极其简单,完全可以替代shiro,你不用再去折腾shiro那一套了,这都是得益于jfinal架构的巧妙设计。
前端页面:封装了layui常用模块代码,参照使用例子,就能快速上手,无需担心不懂layui。
系统日志:操作日志、数据日志、登录日志,无需注解和手动添加,就能跟踪记录数据
#### 友情链接
**JFinal-layui在线演示系统:** [JFinal极速开发企业应用管理系统](http://www.qinhaisenlin.com:8080/)
**JFinal-layui交流群:970045838**
**[视频教程-入门实战](https://www.qinhaisenlin.com/share/47 )
#### 安装教程
1. 新建数据库,执行doc目录下的jfinal-layui.sql
2. 修改resources下面的config-dev.txt配置文件,修改数据库配置
3. 运行com.qinhailin.common.config.ManiConfig的main方法
4. 访问地址:http://localhost;登录账号:admin/123456
#### 使用说明
jfinal的通用配置如果不是特别需要,不需要修改,直接开发你的功能即可
1. controller控制类:只需继承BaseController就能拥有上传、导入、导出等通用方法。
ControllerBind的path、viewPath默认相同,也可自定义:
```
@ControllerBind(path="/portal/core/sysUser")
public class SysUserController extends BaseController {
@Inject
SysUserService service;
public void index() {
setAttr("orgList", service.queryOrgIdAndNameRecord());
render("index.html");
}
public void list() {
//条件查询
Record record = new Record();
record.set("userName", getPara("userName"));
record.set("orgId", getPara("orgId"));
record.set("sex", getPara("sex"));
renderJson(service.page(getParaToInt("pageNumber", 1), getParaToInt("pageSize", 10), record));
}
}
```
2. service服务类:只需要继承BaseService接口,实现getDao()方法,就能拥有对数据库持久层的所有方法接口。
```
public class SysUserService extends BaseService {
private SysUser dao = new SysUser().dao();
@Override
public Model> getDao(){
return dao;
}
}
```
3. 前端页面,封装了layui常用代码,添加修改页面使用函数#@colStart和#@colEnd即可,#@colStart和#@colEnd必须成对出现
```
#@colStart('用户编号',6)
#@colEnd()
#@colStart('密码',6)
#@colEnd()
```
4、分页列表,页面代码也极其简单明了
```
```
5、业务字典快速引用函数
**#@getSelect(code,name,text)** ; **#@getRadio(code,name,text)** ;**#@getCheckbox(code,name,text)**
code:字典编号,name:元素name属性,text:选项名称,需要选中值,在调用之前设置值即可:#set(value='选中值'),如:系统日志类型引用:
```
#@queryStart('日志类型')
#@getSelect('logType','remark','日志类型')
#@queryEnd()
#@queryStart('日志类型')
#set(value='数据日志')
#@getRadio('logType','remark','日志类型')
#@queryEnd()
#@queryStart('日志类型')
#set(value='操作日志,数据日志,登录日志')
#@getCheckbox('logType','remark','日志类型')
#@queryEnd()
```

#### 系统界面
1、登录界面,第一次不显示验证码,输错一次密码,则需要验证码


2、登录后的管理主页

3、系统管理核心模块













**4、响应式布局展示:**






感兴趣的攻城狮可以参考,希望能对你有帮助。