常见问题
如何不登录直接访问
在 ShiroConfig 中设置filterChainDefinitionMap
配置url=anon
/admins/**=anon # 表示该 uri 可以匿名访问
/admins/**=auth # 表示该 uri 需要认证才能访问
/admins/**=authcBasic # 表示该 uri 需要 httpBasic 认证
/admins/**=perms[user:add:*] # 表示该 uri 需要认证用户拥有 user:add:* 权限才能访问
/admins/**=port[8080] # 表示该 uri 需要使用 8080 端口
/admins/**=roles[admin] # 表示该 uri 需要认证用户拥有 admin 角色才能访问
/admins/**=ssl # 表示该 uri 需要使用 https 协议
/admins/**=user # 表示该 uri 需要认证或通过记住我认证才能访问
/logout=logout # 表示注销,可以当作固定配置
注意:
anon,authcBasic,authc,user 是认证过滤器。
perms,roles,ssl,rest,port 是授权过滤器。
如何使用多数据源
- 在 resources 目录下修改
application-druid.yml
## 从库数据源 slave: # 开启从库 enabled: true url: 数据源 username: 用户名 password: 密码
- 在Service实现中添加DataSource注解
@DataSource(value = DataSourceType.SLAVE) public List<User> selectUserList() { return mapper.selectUserList(); }
日期插件精确到时分秒
datetimepicker日期控件可以设置format
$('.input-group.date').datetimepicker({
format: 'yyyy-mm-dd hh:ii:ss',
autoclose: true,
minView: 0,
minuteStep:1
});
laydate日期控件可以设置common.js
配置type=datetime
layui.use('laydate', function() {
var laydate = layui.laydate;
var startDate = laydate.render({
elem: '#startTime',
max: $('#endTime').val(),
theme: 'molv',
trigger: 'click',
type : 'datetime',
done: function(value, date) {
// 结束时间大于开始时间
if (value !== '') {
endDate.config.min.year = date.year;
endDate.config.min.month = date.month - 1;
endDate.config.min.date = date.date;
} else {
endDate.config.min.year = '';
endDate.config.min.month = '';
endDate.config.min.date = '';
}
}
});
var endDate = laydate.render({
elem: '#endTime',
min: $('#startTime').val(),
theme: 'molv',
trigger: 'click',
type : 'datetime',
done: function(value, date) {
// 开始时间小于结束时间
if (value !== '') {
startDate.config.max.year = date.year;
startDate.config.max.month = date.month - 1;
startDate.config.max.date = date.date;
} else {
startDate.config.max.year = '';
startDate.config.max.month = '';
startDate.config.max.date = '';
}
}
});
});
代码生成不显示新建表
默认条件需要表注释,特殊情况可在GenMapper.xml
去除table_comment条件
<select id="selectTableByName" parameterType="String" resultMap="TableInfoResult">
<include refid="selectGenVo"/>
where table_comment <> '' and table_schema = (select database())
</select>
提示您没有数据的权限
这种情况都属于权限标识配置不对在菜单管理
配置好权限标识(菜单&按钮)
- 确认此用户是否已经配置角色
- 确认此角色是否已经配置菜单权限
- 确认此菜单权限标识是否和后台代码一致
如参数管理
后台配置@RequiresPermissions("system:config:view")
对应参数管理权限标识为system:config:view
注:如需要角色权限,配置角色权限字符 使用@RequiresRoles("admin")
富文本编辑器文件上传
富文本控件采用的summernote,图片上传处理需要设置callbacks函数
$('.summernote').summernote({
height : '220px',
lang : 'zh-CN',
callbacks: {
onImageUpload: function(files, editor, $editable) {
var formData = new FormData();
formData.append("file", files[0]);
$.ajax({
type: "POST",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$(obj).summernote('editor.insertImage', result.url, result.fileName);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
如何创建新的菜单页签
建新新的页签有以下两种方式(js&html)
// 方式1 js创建
function dept() {
var url = ctx + "system/dept";
createMenuItem(url, "部门管理");
}
// 方式2 html创建
<a class="menuItem" href="/system/dept">部门管理</a>
表格数据进行汇总统计
对于某些数据需要对金额,数量等进行汇总,可以配置showFootertrue
表示尾部统计
// options 选项中添加尾部统计
showFooter: true,
// columns 中添加
{
field : 'money',
title : '金额',
sortable: true,
footerFormatter:function (value) {
return "总金额:" + value;
}
},
如何去除数据监控广告
服务监控中使用的Driud,默认底部有阿里的广告。如果是一个商业项目这个是很不雅也是不允许的
- 找到本地maven库中的对应的druid-1.1.xx.jar文件,用压缩包软件打开
- 找到support/http/resource/js/common.js, 打开找到 buildFooter 方法
this.buildFooter(); buildFooter : function() { var html ='此处省略一些相关JS代码'; $(document.body).append(html); },
- 删除此函数和及初始方法后覆盖文件
- 重启项目后,广告就会消失了
如何支持多类型数据库
对于某些特殊需要支持不同数据库,参考以下支持oracle
mysql
配置
<!--oracle驱动-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
## 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# 主库数据源
master:
url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: true
url: jdbc:oracle:thin:@127.0.0.1:1521:oracle
username: root
password: password