提交 4df2aa18 编写于 作者: Y yadong.zhang

1. 完善shiro权限(数据库、页面)。注:需要重新执行下`sys_resources`和`sys_role_resources`两张表的`insert`语句

2. redis配置默认不含密码(鉴于大多数朋友的redis都没有密码做此修改,不过本人 **强烈建议**设置下密码)
上级 7c47566e
......@@ -67,7 +67,8 @@ ps: 虽然我知道,大部分人都是来了**直接下载源代码**后就潇
1. 数据库链接属性(可搜索`datasource`或定位到L.19)
2. redis配置(可搜索`redis`或定位到L.69)
3. mail配置(可搜索`mail`或定位到L.89)
4.[七牛云](http://qiniu.com)】配置(可搜索`qiniu`或定位到L.135)
4.[七牛云](http://qiniu.com)】配置(见sys_config表中qiniu_*开头的字段)
注:因为系统存在redis缓存,如果是第一次使用,可以直接修改sys_config表内容,如果不是第一次用,建议使用admin项目中的`系统配置`页面修改相关配置内容
5. 运行项目(三种方式)
1. 项目根目录下执行`mvn -X clean package -Dmaven.test.skip=true`编译打包,然后执行`java -jar target/blog-web.jar`
2. 项目根目录下执行`mvn springboot:run`
......@@ -81,10 +82,21 @@ _超级管理员_: 账号:root 密码:123456 (本地测试使用这个
_普通管理员_: 账号:admin 密码:123456
_评论审核管理员_: 账号:comment-admin 密码:123456
注:后台用户的创建,尽可能做到**权限最小化**
更多详情,请参考【[Wiki](https://gitee.com/yadong.zhang/DBlog/wikis)
### 更新日志
2018-05-22
**修改功能:**
1. 完善shiro权限(数据库、页面)。注:需要重新执行下`sys_resources``sys_role_resources`两张表的`insert`语句
2. redis配置默认不含密码(鉴于大多数朋友的redis都没有密码做此修改,不过本人 **强烈建议**设置下密码)
2018-05-18
**修复bug:**
......
......@@ -34,15 +34,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 页面跳转类
*
......@@ -164,42 +157,11 @@ public class RenderController {
return ResultUtil.view("sysWebpage/list");
}
@GetMapping("/list")
public ModelAndView list(Model model) {
return ResultUtil.view("list");
}
@GetMapping("/details")
public ModelAndView detail(Model model) {
return ResultUtil.view("detail");
}
@GetMapping("/ztree")
public ModelAndView ztree(Model model) {
return ResultUtil.view("ztree");
}
@GetMapping("/icons")
public ModelAndView icons(Model model) {
return ResultUtil.view("icons");
}
@PostMapping("/getZtree")
@ResponseBody
public List<Map<String, Object>> getTree() {
List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
Map<String, Object> map = null;
for (int i = 0; i < 20; i++) {
map = new HashMap<>(4);
map.put("id", i);
map.put("pId", (i % 3 > 0 ? i - 1 : 0));
map.put("checked", (i % 3 > 0 ? i - 1 : 0) != 0);
map.put("name", "菜单i");
mapList.add(map);
}
return mapList;
}
@GetMapping("/shiro")
public ModelAndView shiro(Model model) {
return ResultUtil.view("shiro");
......
......@@ -73,7 +73,7 @@ spring:
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password: qwe!@#123
password:
# 连接池最大连接数(使用负值表示没有限制)
pool:
maxActive: 8
......
......@@ -11,13 +11,19 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="article:publish">
<a class="btn btn-default" title="发布文章" href="/article/publish"> <i class="fa fa-plus"></i> 发布文章 </a>
</@shiro.hasPermission>
<@shiro.hasPermission name="article:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="article:batchPush">
<button id="btn_push_ids" type="button" class="btn btn-info" title="批量推送">
<i class="fa fa-send-o"></i> 批量推送到百度
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -39,11 +45,11 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-info btn-push" title="推送" data-id="' + trId + '"><i class="fa fa-send-o"></i>推送</a>',
'<a class="btn btn-xs btn-success btn-top" data-id="' + trId + '"><i class="fa fa-arrow-circle-up"></i>置顶</a>',
'<a class="btn btn-xs btn-success btn-recommend" data-id="' + trId + '"><i class="fa fa-thumbs-o-up"></i>推荐</a>',
'<a class="btn btn-xs btn-primary" href="/article/update/' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="article:push"><a class="btn btn-xs btn-info btn-push" title="推送" data-id="' + trId + '"><i class="fa fa-send-o"></i>推送</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="article:top"><a class="btn btn-xs btn-success btn-top" data-id="' + trId + '"><i class="fa fa-arrow-circle-up"></i>置顶</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="article:recommend"><a class="btn btn-xs btn-success btn-recommend" data-id="' + trId + '"><i class="fa fa-thumbs-o-up"></i>推荐</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="article:edit"><a class="btn btn-xs btn-primary" href="/article/update/' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="article:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -11,12 +11,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="tag:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增标签">
<i class="fa fa-plus"></i> 新增标签
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="tag:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -71,8 +75,8 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="tag:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="tag:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -11,12 +11,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="type:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增分类">
<i class="fa fa-plus"></i> 新增分类
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="type:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -135,8 +139,8 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="type:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="type:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -11,9 +11,11 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="comment:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -112,9 +114,9 @@
var id = row.id;
var sid = row.sid;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-reply" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-edit"></i>回复</a>',
'<a class="btn btn-xs btn-warning btn-audit" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-edit"></i>审核</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="comment:reply"><a class="btn btn-xs btn-primary btn-reply" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-edit"></i>回复</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="comment:audit"><a class="btn btn-xs btn-warning btn-audit" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-edit"></i>审核</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="comment:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + id + '" data-sid="' + sid + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -9,13 +9,15 @@
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="col-md-7 col-sm-7 col-xs-12">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<@shiro.hasPermission name="articles">
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>最近发布</h2>
<a href="/article/publish" class="btn btn-default pull-right"><i class="fa fa-plus"></i> 发布新文章</a>
<@shiro.hasPermission name="article:publish">
<a href="/article/publish" class="btn btn-success btn-xs pull-right"><i class="fa fa-plus"></i> 发布文章</a>
</@shiro.hasPermission>
<div class="clearfix"></div>
</div>
<div class="x_content">
......@@ -34,9 +36,9 @@
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
</@shiro.hasPermission>
<@shiro.hasPermission name="comments">
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>近期评论</h2>
......@@ -61,9 +63,10 @@
</div>
</div>
</div>
</@shiro.hasPermission>
</div>
</div>
<div class="col-md-5 col-sm-5 col-xs-12">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>系统日志</h2>
......@@ -71,6 +74,65 @@
</div>
<div class="x_content">
<ul class="list-unstyled timeline">
<li>
<div class="block">
<div class="tags">
<a href="javascript:;" class="tag">
<span>05月22日</span>
</a>
</div>
<div class="block_content">
<h2 class="title">
<span>更新说明</span>
</h2>
<div class="byline">
<span>13 hours ago</span> by <a>zyd</a>
</div>
<div class="excerpt">
<h5>修改功能:</h5>
<ol class="list-unstyled">
<li>1. 完善shiro权限(数据库、页面)。注:需要重新执行下`sys_resources`和`sys_role_resources`两张表的`insert`语句</li>
<li>2. redis配置默认不含密码(鉴于大多数朋友的redis都没有密码做此修改,不过本人 <strong>强烈建议设置下密码</strong>)</li>
</ol>
</div>
</div>
</div>
</li>
<li>
<div class="block">
<div class="tags">
<a href="javascript:;" class="tag">
<span>05月18日</span>
</a>
</div>
<div class="block_content">
<h2 class="title">
<span>更新说明</span>
</h2>
<div class="byline">
<span>13 hours ago</span> by <a>zyd</a>
</div>
<div class="excerpt">
<h5>修复bug:</h5>
<ol class="list-unstyled">
<li>1. web端自动申请友链后不显示的问题</li>
<li>2. config表修改后不能实时刷新的问题</li>
</ol>
<h5>增加功能:</h5>
<ol class="list-unstyled">
<li>1. 网站赞赏码</li>
<li>2. 百度推送功能(链接提交到百度站长平台)</li>
</ol>
<h5>修改功能:</h5>
<ol class="list-unstyled">
<li>1. 百度api的ak和百度推送的token以及七牛云的配置改为通过config表管理</li>
<li>2. admin模块菜单通过标签实时获取(链接提交到百度站长平台)</li>
<li>2. 弹窗工具类js结构调整</li>
</ol>
</div>
</div>
</div>
</li>
<li>
<div class="block">
<div class="tags">
......@@ -116,6 +178,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<#include "layout/footer.ftl"/>
\ No newline at end of file
......@@ -11,16 +11,17 @@
<span class=" fa fa-angle-down"></span>
</a>
<ul class="dropdown-menu dropdown-usermenu pull-right">
<#--<li><a href="/profile"> 个人资料</a></li>-->
<@shiro.hasRole name="role:root">
<li>
<a href="/config">
<#--<span class="badge bg-red pull-right">50%</span>-->
<span>系统配置</span>
</a>
</li>
</@shiro.hasRole>
<li><a href="/passport/logout"><i class="fa fa-sign-out pull-right"></i> 退出系统</a></li>
</ul>
</li>
<@shiro.hasPermission name="comments">
<li role="presentation" class="dropdown">
<a href="javascript:;" class="dropdown-toggle info-number" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-envelope-o"></i>
......@@ -37,6 +38,7 @@
</li>
</ul>
</li>
</@shiro.hasPermission>
</ul>
</nav>
</div>
......
......@@ -2,6 +2,9 @@
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<ul class="nav side-menu">
<@shiro.user>
<li><a href="/index"><i class="fa fa-home"></i>首页</a></li>
</@shiro.user>
<@zhydTag method="menus" userId="${user.id}">
<#if menus?? && menus?size gt 0>
<#list menus as item>
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<button id="btn_add" type="button" class="btn btn-default" title="新增友情链接">
<i class="fa fa-plus"></i> 新增友情链接
<@shiro.hasPermission name="link:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增友链">
<i class="fa fa-plus"></i> 新增友链
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="link:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -141,8 +145,8 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="link:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="link:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<button id="btn_add" type="button" class="btn btn-default" title="新增网站通知">
<i class="fa fa-plus"></i> 新增网站通知
<@shiro.hasPermission name="notice:add">
<button id="btn_add" type="button" class="btn btn-default" title="添加公告">
<i class="fa fa-plus"></i> 添加公告
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="notice:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -89,14 +93,14 @@
var status = row.status;
var html = '';
if (status && status == 'NOT_RELEASE') {
html = '<a class="btn btn-xs btn-primary btn-release" data-id="' + trId + '"><i class="fa fa-rocket fa-fw"></i>发布</a>';
html = '<@shiro.hasPermission name="notice:release"><a class="btn btn-xs btn-primary btn-release" data-id="' + trId + '"><i class="fa fa-rocket fa-fw"></i>发布</a></@shiro.hasPermission>';
} else {
html = '<a class="btn btn-xs btn-primary btn-withdraw" data-id="' + trId + '"><i class="fa fa-rocket fa-rotate-180 fa-fw"></i>撤回</a>';
html = '<@shiro.hasPermission name="notice:withdraw"><a class="btn btn-xs btn-primary btn-withdraw" data-id="' + trId + '"><i class="fa fa-rocket fa-rotate-180 fa-fw"></i>撤回</a></@shiro.hasPermission>';
}
var operateBtn = [
html,
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit fa-fw"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o fa-fw"></i>删除</a>'
'<@shiro.hasPermission name="notice:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="notice:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="resource:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增资源">
<i class="fa fa-plus"></i> 新增资源
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="resource:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -46,15 +50,16 @@
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="type">资源类型: <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<select name="type" id="type" required="required" class="form-control col-md-7 col-xs-12">
<option value="">请选择</option>
<option value="menu">菜单</option>
<option value="button">按钮</option>
</select>
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="type">父级资源: <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<select name="parentId" id="parentId" required="required" class="form-control col-md-7 col-xs-12">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="type">父级资源: </label>
<div class="col-md-6 col-sm-6 col-xs-6">
<select id="parentId" name="parentId" class="form-control col-md-5 col-xs-5">
<option value="">请选择</option>
<@zhydTag method="availableMenus">
<#if availableMenus?? && availableMenus?size gt 0>
......@@ -101,20 +106,8 @@
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="mobile">是否可用 <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<ul class="list-unstyled list-inline">
<li>
<div class="radio">
<label>
<input type="radio" class="flat" checked name="available" value="1"> 可用
</label>
</div>
</li>
<li>
<div class="radio">
<label>
<input type="radio" class="flat" name="available" value="0"> 禁用
</label>
</div>
</li>
<li><input type="radio" class="flat" checked="checked" name="available" value="1"> 可用</li>
<li><input type="radio" class="flat" name="available" value="0"> 禁用</li>
</ul>
</div>
</div>
......@@ -122,20 +115,8 @@
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="mobile">外部链接 <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<ul class="list-unstyled list-inline">
<li>
<div class="radio">
<label>
<input type="radio" class="flat" checked name="external" value="0"> 否
</label>
</div>
</li>
<li>
<div class="radio">
<label>
<input type="radio" class="flat" name="external" value="1"> 是
</label>
</div>
</li>
<li><input type="radio" class="flat" checked name="external" value="0"> 否</li>
<li><input type="radio" class="flat" name="external" value="1"> 是</li>
</ul>
</div>
</div>
......@@ -160,9 +141,9 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<@shiro.hasPermission name="resource:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="resource:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
operateBtn.push('<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>');
return operateBtn.join('');
}
$(function () {
......@@ -225,5 +206,6 @@
$.tableUtil.init(options);
//2.初始化Button的点击事件
$.buttonUtil.init(options);
});
</script>
\ No newline at end of file
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="role:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增角色">
<i class="fa fa-plus"></i> 新增角色
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="role:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -59,15 +63,22 @@
<form id="addOrUpdateForm" class="form-horizontal form-label-left" novalidate>
<input type="hidden" name="id">
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="description">角色名称: <span class="required">*</span></label>
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">角色名称: <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control col-md-7 col-xs-12" name="description" id="description" required="required" placeholder="请输入角色名称"/>
<input type="text" class="form-control col-md-7 col-xs-12" name="name" id="name" required="required" placeholder="请输入角色名称"/>
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="description">角色描述: <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control col-md-7 col-xs-12" name="description" id="description" required="required" placeholder="请输入角色描述"/>
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="available">是否可用: <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<select name="available" id="available" required="required" class="form-control col-md-7 col-xs-12">
<option value="">请选择</option>
<option value="0">不可用</option>
<option value="1" selected="selected">可用</option>
</select>
......@@ -94,10 +105,10 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<@shiro.hasPermission name="role:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="role:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="role:allotResource"><a class="btn btn-xs btn-info btn-allot" data-id="' + trId + '"><i class="fa fa-circle-thin"></i>分配资源</a></@shiro.hasPermission>'
];
operateBtn.push('<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>');
operateBtn.push('<a class="btn btn-xs btn-info btn-allot" data-id="' + trId + '"><i class="fa fa-circle-thin"></i>分配资源</a>')
return operateBtn.join('');
}
......@@ -112,9 +123,13 @@
columns: [{
checkbox: true
}, {
field: 'description',
field: 'name',
title: '角色名',
editable: false,
}, {
field: 'description',
title: '角色描述',
editable: false,
}, {
field: 'available',
title: '是否可用',
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="template:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增模板">
<i class="fa fa-plus"></i> 新增模板
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="template:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -69,8 +73,8 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="template:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="template:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="updateLog:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增更新记录">
<i class="fa fa-plus"></i> 新增更新记录
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="updateLog:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -80,8 +84,8 @@
function operateFormatter(code, row, index) {
var trId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a>',
'<a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a>'
'<@shiro.hasPermission name="updateLog:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
'<@shiro.hasPermission name="updateLog:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>'
];
return operateBtn.join('');
}
......
......@@ -10,12 +10,16 @@
<div class="x_content">
<div class="<#--table-responsive-->">
<div class="btn-group hidden-xs" id="toolbar">
<@shiro.hasPermission name="user:add">
<button id="btn_add" type="button" class="btn btn-default" title="新增用户">
<i class="fa fa-plus"></i> 新增用户
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="user:batchDelete">
<button id="btn_delete_ids" type="button" class="btn btn-default" title="删除选中">
<i class="fa fa-trash-o"></i> 批量删除
</button>
</@shiro.hasPermission>
</div>
<table id="tablelist">
</table>
......@@ -116,11 +120,11 @@
var currentUserId = '${user.id}';
var trUserId = row.id;
var operateBtn = [
'<a class="btn btn-xs btn-primary btn-update" data-id="' + trUserId + '"><i class="fa fa-edit"></i>编辑</a>',
'<@shiro.hasPermission name="user:edit"><a class="btn btn-xs btn-primary btn-update" data-id="' + trUserId + '"><i class="fa fa-edit"></i>编辑</a></@shiro.hasPermission>',
];
if (currentUserId != trUserId) {
operateBtn.push('<a class="btn btn-xs btn-danger btn-remove" data-id="' + trUserId + '"><i class="fa fa-trash-o"></i>删除</a>');
operateBtn.push('<a class="btn btn-xs btn-info btn-allot" data-id="' + trUserId + '"><i class="fa fa-circle-thin"></i>分配角色</a>')
operateBtn.push('<@shiro.hasPermission name="user:delete"><a class="btn btn-xs btn-danger btn-remove" data-id="' + trUserId + '"><i class="fa fa-trash-o"></i>删除</a></@shiro.hasPermission>');
operateBtn.push('<@shiro.hasPermission name="user:allotRole"><a class="btn btn-xs btn-info btn-allot" data-id="' + trUserId + '"><i class="fa fa-circle-thin"></i>分配角色</a></@shiro.hasPermission>')
}
return operateBtn.join('');
}
......
......@@ -73,7 +73,7 @@ spring:
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password: qwe!@#123
password:
# 连接池最大连接数(使用负值表示没有限制)
pool:
maxActive: 8
......
此差异已折叠。
################################### readme ###################################
#
# 该文件中的sql已同步更新到了dblog.sql中,本文件存在的目的主要是记录数据库修改的内容
# 在每次更新时,凡是涉及到修改数据库的,如果是第一次使用该系统,则只需要导入dblog.sql即可
# 如果你已经在使用dblog了,则只需要复制本文件中的相关sql去执行即可,避免了直接执行dblog可能会覆盖本地修改内容的问题
#
################################### readme ###################################
ALTER TABLE `sys_role`
ADD COLUMN `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '角色名' AFTER `id`;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册