<<<<<<< HEAD
# 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/)
系统登录账号:admin/123456
**JFinal-layui代码在线生成器:** [代码生成器](http://www.qinhaisenlin.com/code)
**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的通用配置如果不是特别需要,不需要修改,直接开发你的功能即可,QQ交流群:970045838
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必须成对出现
```
<div class="layui-row layui-col-space1 task-row">
#@colStart('用户编号',6)
<input type="text" class="layui-input" name="sysUser.userCode" value="#(sysUser.user_code??)"
lay-verType='tips'lay-verify="required|" maxlength="50" placeHolder="必填"/>
#@colEnd()
#@colStart('密码',6)
<input type="password" class="layui-input" name="sysUser.passwd" value="#(sysUser.passwd??)"
lay-verType='tips'lay-verify="" maxlength="50" placeHolder="不填则使用默认密码"/>
#@colEnd()
</div>
```
4、分页列表,页面代码也极其简单明了
```
<script>
//自定义弹窗
function userRole(obj){
var data=obj.data;
var userCode=data.user_code;
var userName=data.user_name;
var url="#(path)/portal/core/sysUser/userRole?userCode="+userCode+"&userName="+userName;
openDialog("配置用户角色",url,false,null,null);
}
//分页表格参数
gridArgs.title='功能';
gridArgs.dataId='id';
gridArgs.deleteUrl='#(path)/portal/core/sysUser/delete';
gridArgs.updateUrl='#(path)/portal/core/sysUser/edit/';
gridArgs.addUrl='#(path)/portal/core/sysUser/add';
gridArgs.resetUrl='#(path)/portal/core/sysUser/resetPassword';
gridArgs.gridDivId ='maingrid';
initGrid({id : 'maingrid'
,elem : '#maingrid'
,cellMinWidth: 80
,cols : [ [
{title: '主键',field : 'id',width : 35,checkbox : true},
{title:'序号',type:'numbers',width:35},
{title: '用户名', field: 'user_code' },
{title: '姓名', field: 'user_name'},
{title: '所属部门', field: 'org_name'},
{title: '性别', field: 'sex',templet:'#sexStr'},
{title: '电话', field: 'tel'},
{title: '手机号码', field: 'mobile'},
{title: '邮箱', field: 'email'},
{title: '允许登录', field: 'allow_login',templet:'#numToStr' },
{fixed:'right',width : 180,align : 'left',toolbar : '#bar_maingrid'} // 这里的toolbar值是模板元素的选择器
] ]
,url:"#(path)/portal/core/sysUser/list"
,searchForm : 'searchForm'
},{role:userRole});
</script>
<script type="text/html" id="sexStr">
{{ d.sex == 1 ? '男' : '女' }}
</script>
<script type="text/html" id="numToStr">
<input type="checkbox" name="isStop" {{(d.id=='admin'||d.id=='superadmin')?'disabled':''}} value="{{d.id}}"
lay-skin="switch" lay-text="是|否" lay-filter="allowLoginFilter" {{ d.allow_login == 0 ? 'checked' : '' }}>
</script>
```
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()
```
![业务字典快速引用](https://images.gitee.com/uploads/images/2019/0107/190356_a4e5ac71_1692092.png "日志类型快速引用实例.png")
#### 系统界面
1、登录界面,第一次不显示验证码,输错一次密码,则需要验证码
![第一次登录界面](https://images.gitee.com/uploads/images/2019/0105/215040_a8a2fc5f_1692092.png "登录登录.png")
![密码错误,显示验证码](https://images.gitee.com/uploads/images/2019/0105/215235_6a995c90_1692092.png "显示验证码.png")
2、登录后的管理主页
![管理主页](https://images.gitee.com/uploads/images/2019/0105/215505_6151b7da_1692092.png "管理主页.png")
3、系统管理核心模块
![功能管理](https://images.gitee.com/uploads/images/2019/0105/215623_059ce33f_1692092.png "功能管理.png")
![角色管理](https://images.gitee.com/uploads/images/2019/0105/215705_08c4c892_1692092.png "角色管理.png")
![用户管理](https://images.gitee.com/uploads/images/2019/0105/215739_245dccdd_1692092.png "用户管理.png")
![部门管理](https://images.gitee.com/uploads/images/2019/0301/085710_77180688_1692092.jpeg "部门管理.jpg")
![业务字典](https://images.gitee.com/uploads/images/2019/0105/21583
没有合适的资源?快使用搜索试试~ 我知道了~
基于jfinal的后台官网展示页面.zip
共537个文件
java:124个
html:77个
gif:76个
0 下载量 172 浏览量
2024-08-19
09:15:48
上传
评论
收藏 9.7MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供技术指导/答疑
资源推荐
资源详情
资源评论
收起资源包目录
基于jfinal的后台官网展示页面.zip (537个子文件)
jfinal.bat 2KB
.classpath 2KB
frontend-builder-plugin-style.unified.css 762KB
shortcodes.css 134KB
layout.css 115KB
layui.css 68KB
style.css 65KB
woocommerce.css 61KB
animations.min.css 57KB
base.css 56KB
responsive.css 56KB
rs6.css 55KB
style.min.css 52KB
oa.css 48KB
dashicons.min.css 46KB
frontend-forms.css 44KB
woocommerce(1).css 40KB
font-awesome.css 37KB
jquery-ui-1.9.1.custom.css 31KB
font-awesome.min.css 30KB
sweetalert2.css 20KB
global.css 19KB
jquery.ui.all.css 18KB
woocommerce-layout.css 17KB
layer.css 14KB
layui.mobile.css 10KB
jplayer.blue.monday.css 10KB
laydate.css 7KB
css 7KB
css 7KB
woocommerce-smallscreen.css 7KB
codemirror.min.css 6KB
login.css 6KB
lightbox.css 4KB
layout.css 4KB
lightbox.min.css 3KB
trp-language-switcher.css 2KB
trp-floater-language-switcher.css 2KB
styles.css 2KB
form-ext.css 2KB
begtable.css 1KB
marker-icon.css 1KB
btable.css 1KB
publice.css 1KB
code.css 1KB
form.css 861B
layui-btn-cover.css 477B
style(1).css 350B
main.css 172B
page.css 119B
table.css 106B
css(1) 6KB
css(1) 6KB
jfinal_layui.dmp 68KB
fontawesome-webfont.eot 162KB
iconfont.eot 40KB
59.gif 10KB
22.gif 10KB
loading.gif 8KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
共 537 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
热爱技术。
- 粉丝: 2280
- 资源: 7862
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 源码文件的编译-kibana-elastic
- 题目打印出所有的“水仙花数”-最大数问题:从键盘上任意输入10个整数,求出其中的最大数
- 数据结构-kmp算法详解-KMP算法是D.E.Knuth、J.H.Morris和V.R.Pratt共同提出的,简称KMP算法
- Flutter+Getx+状态管理、路由管理、getx用法+用于展示Getx用法
- RPReplay_Final1730045568.mov
- COMO算法源码!!!!!
- 基于Java语言实现的小徐发财之路源码分享
- 基于Java的WeixinAutoChat微信机器人设计源码
- 基于Java、JavaScript、CSS的SwapPub大社区内部二手商品互换网站设计源码
- 基于Neoclide框架的coc.nvim插件源码分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功