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

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

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