V4.1.7 更新日志、了解最新版本动态

V4.1.7 2019-10-6

新增

  • form:fileupload 组件,新增拖拽图片和文件排序功能。
  • form:fileupload 组件,增加 maxFileSize 单独设置上传文件的大小
  • 新增 file.imageMaxWidth 和 imageMaxHeight 全局设置图片上传参数
  • dataGrid 新增 emptyDataHint 参数,表格内没有数据的时候是否提示 “无数据显示”
  • dataGrid 新增 editGridAddRowBtnToHeader 属性,可将子表新增行按钮添加到表头上
  • dataGrid 新增 editGridAddRowKeys 属性,是否开启回车键盘事件(默认关闭,升级注意)
  • dataGrid 新增 multiSort 多列排序演示,指定 firstsortorder 点击标题可设定初次排序方式
  • form:select 新增 readonly 方法,为true时,增加隐藏域并disabled选择框
  • form:imageclip 新增 ratio 参数,可设置图片裁剪比例
  • form:input 增加 dataFormat=”MM-dd” 日期格式化
  • 新增参数配置 gen.forceLowerCase 表名字段名是否强制小写
  • 新增配置 user.loginCodeCorpUnique 登录账号租户内是否唯一
  • 增加 PageView 的 @JsonView 过滤器,方便 SimpleView 使用
  • SqlMap Where 联合查询,属性名支持指定别名 v4.1.6+

优化

  • 升级依赖库 beetl 3.0、jackson to 2.10.0.pr1、fastjson 1.2.61、layer 3.1、poi 3.16
  • 500 错误页面优化,当返回 json 情况下,支持返回错误信息
  • userSelect 和 empUserSelect 查询表单支持 model 绑定
  • ApplicationStartedEvent 替换为 SmartLifecycle 可指定执行顺序,必要时可销毁对象提高健壮性
  • 消息推送,消除歧义,延迟推送改为合并推送,合并推送也是延迟推送的一种,合并推送表示:不重要的通知进行汇总,30分钟或更长执行一次,将多条消息合并为一条消息延迟推送给用户,而定时消息是设定发送时间,到达时间时推送,两者不是一回事
  • 消息推送模块默认关闭,可手动 msg.enabled=true 开启
  • 优化字符串替换方法 replaceAll 替换为 StringUtils.replace
  • job 增加提示,字符串包含逗号的时候使用 , 字符转码
  • 替换 bind(this) 语法,消除 ES5 浏览器兼容问题
  • js.confirm 的 ajax 替换为 ajaxSubmit
  • CacheUtils 当 key 为空的时候,忽略操作
  • 健壮代码,user.roleList 永远不为空
  • 角色业务范围 bizScope 去掉必填,改为非必填
  • WebLogic 12c 的兼容优化,validator 低版本兼容优化
  • jqgrid updateListFieldName 逗号前后允许有空格
  • validation 后台验证消息国际化优化支持
  • 在线用户列表 host 展示优化
  • 其它很多细节的优化

修正

  • 修正组织机构 listData 权限字符串的错误
  • 修正 yml 加密 value 的时候,value 值无限延长的问题
  • 修正当 fileupload 组件在 layer 里的时候(非iframe)按钮点不到的问题
  • 修正上传文件提示类型错误时,但是占了一个上传位置 #I10ONG v4.1.6+
  • 修正 分页情况下 mybatis foreach 参数丢失问题 v4.1.5+
  • 修正可编辑的表格显示复选框的时候,点击复选框不灵活问题
  • 修正消息推送,当会话失效的时候,拉取PC消息忽略处理
  • IdGen.nextCode 优化,修正某些情况下的问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.7-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 本次升级了 beetl3.0 可能会有一些不兼容的地方,升级完成后测试每一个视图是否正确
  • 默认关闭了,DataGrid编辑表格回车事件 editGridAddRowKeys=false,若使用请开启
  • 默认关闭了,msg.enabled=false 参数,消息推送功能,若使用请开启

V4.1.6 2019-8-6

新增

  • 新增一套浅蓝色主题风格,新鲜感十足,仪表盘增加拖拽 box 实例
  • 角色管理支持业务范围数据权限控制,比如有的功能可以看本部门数据,有的功能可以看本公司数据
  • 角色管理增加 20 个扩展字段,方便用户自定义扩展;除此之外也可编写 Extend 扩展类新增字段
  • 用户管理的用户导出微调,增加性别字段导出,主要是:展示Excel列宽设定,字典类型的属性
  • 组织机构管理增加左树右表风格维护,支持普通管理员维护组织机构
  • 菜单管理,菜单图标支持自定义图片地址设定
  • 菜单管理,菜单增加页签标题的设置参数
  • 新增根据角色身份切换菜单功能,原来根据子系统切换功能仍然保留
  • 当顶部一级菜单没有下级菜单的时候,自动隐藏侧边栏
  • 自定义主题支持内页主色调跟随主框架调色一起调整
  • 在线预览组件支持 mp3、mp4、webm、ogg、mkv 视频预览(需要浏览器的支持)
  • 新增 js.removeParam 移除URL地址里的某个参数的工具
  • form:treeselect 新增chkbokType参数,定义复选框级联选择规则,默认:{‘Y’:’ps’,’N’:’ps’}
  • form:treeselect 支持异步加载,详见组件应用实例,区域选择(异步)
  • form:select 下拉框 option 支持字典中设置的颜色和样式。
  • 大部分

优化

  • 用户菜单加载优化,算法优化,缓存优化,减少 SQL 输出,登录性能倍速提升。
  • @Table、@Column 注解新增高速缓存,超强优化,性能提升。若你在Debug模式修改了该注解,需要调用下 /sys/cache/clearAll 或者调用 MapperHelper.clearCache() 才可动态生效。
  • 多数据源优化,原 RoutingDataSource 不再继承 AbstractRoutingDataSource 类,详见升级方法
  • 依赖升级 spring boot 2.0.8、jackson 2.10.0.pr1、fastjson 1.2.58、druid 1.1.18
  • 默认允许一些 HTTP Method(OPTIONS,PUT,DELETE),对于一些前端应用数据放行
  • 优化初始化方法 @PostConstruct 替换为 ApplicationStartedEvent,对 Spring Cloud 应用更友好
  • FileUploadServiceExtend 新增文件上传方法,支持文件不存本地直接获取文件流存储到云端
  • EncodeUtils.sqlFilter 增加 case when 关键词过滤,有些安全漏洞监测提示
  • 连接池 druid 监控 disabled session stat 不监控 Session,感觉用不太着,根据需要开关
  • 连接池 druid 增加 maxPoolPreparedStatementPerConnectionSize 参数,可指定 PSCache 大小
  • AreaController.treeData 增加 parentCode 参数,异步加载 tree 时使用
  • 新增 treeService.convertTreeList 转换树表方法,性能优化
  • 菜单维护列表增加修复数据按钮,但默认它是隐藏的,需要时再显示
  • 明确的css设置,如 m0、p0、f14、nobg 等等,增加 !important 重要标识
  • 在线用户,选中:查询所有在线、查询游客用户,不过滤重复,方便查询分析用户
  • Swagger 自动扫描 Entity 参数时,忽略所有包含 ApiImplicitParams 注解的方法,让文档更清晰
  • 优化初始化脚本,truncate table 改为 delete form,有些情况下 truncate 会被锁表
  • 平台自动分页代码加强,忽略不是 SELECT 查询语句的操作,提高健壮性
  • 忽略 RememberMe 记住我数据解密错误异常信息
  • 分页控件的页面分页码只能输入数字限定
  • webuploader 支持跨域提交文件

修正

  • 优化侧边栏菜单最大化最小化时,侧边栏高度不修正问题
  • 文件下载文件名、文件在线预览,在 firefox 下的兼容优化 #IZFJX
  • 修正文件管理直接进入的默认列表窗口会列出子文件夹内的文件问题
  • 当使用 JRebel 插件时,启动项目后自动清理缓存,若不清理启动后,缓存数据可能是错误的
  • IdGen.nextCode 纯数值类型时 long 精度优化,否则可能会造成重复
  • CookieUtils 支持中文 Cookie 名称,登录名为中文的时候不能记住用户名
  • FileUtils.downFile 下载文件优化,支持手机播放视频。感谢Nice味道的建议
  • 处理 webuploader 在 tab 下,上传按钮的 x、y 在同一个位置的时候出现重叠问题
  • 新上传的文件接着删除,然后再选择多个文件上传,这时有可能会超过最大文件个数限制的问题
  • 修正开启多租户情况下,非默认租户时,不允许多地登录参数设定,验证失效问题
  • 修正 ie firefox edge 下 DataGrid 冻结列,滚动条下拉到底部时有一点错行问题
  • 修正 DataGrid 排序后,锁定列的滚动定位不正确问题
  • 修正 DataGrid 编辑表,点击按钮不能即时选择当前行问题
  • 修正多个 DataGrid 情况下,偶尔会出现底部统计行有错位问题
  • 修正文件上传多选情况下的一些问题优化 #IY1R6
  • 修正角色停用后,登录用户仍然有停用的角色权限
  • 修正 treeselect id 为数值类型的时候报错问题
  • 修正validcode的isLazy=false失效问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.6-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 明确的css设置,如 m0、p0、f14、nobg 等等,增加 !important 重要标识,可能会受影响
  • 升级注意 UserUtils.getMenuTree 返回值与老版本不同,如果需要全部数据请使用 getMenuList
  • 多数据源优化,原 RoutingDataSource 不再继承 AbstractRoutingDataSource 类,升级方法:
    • 如果你 @Autowired 注入了 RoutingDataSource 类直接获取默认数据源,则替换为 DataSource 接口;
    • 多数据源类 RoutingDataSource 的方法,原 getTargetDataSource 替换 getDataSource;
    • 多数据源类 RoutingDataSource 的方法,原 getTargetDataSources 替换 getDataSourceMap;
    • 原 RoutingDataSource.createDataSource 改为非静态方法,所以你需要注入后才能使用。

V4.1.5 2019-5-20

新增

  • 新增文件管理功能,支持公共文件柜、部门文件柜、个人文件柜、文件分享、批量删除
  • 新增员工用户管理的附属部门功能,一个员工可归属多个部门,并支持多部门数据权限过滤
  • 新增日语语言包(感谢“国峰〓宝くじ”的支持),并开源所有国际化语言包,方便用户自定义语言包
  • 新增全局默认事务超时时间参数jdbc.transactionTimeout,原jdbc.jta.transactionTimeout参数可删除
  • form:fileupload 组件新增 cueWords 提示语属性,默认:或将照片(文件)拖到这里,最多可选 x 张(个)
  • form:fileupload 组件新增后台服务地址自定义参数,包括:上传文件、下载文件、查询文件列表的地址指定
  • form:listselect 组件新增 callbackFuncName 和 getSelectDataFuncName 自定义函数
  • 增加web严格模式 web.strictMode=false(更严格的数据安全验证,如isAll=true这种参数形式将被禁用)
  • 新增用户组织管理功能的控制权限设置 user.adminCtrlPermi,1拥有的权限 2管理的权限,无限级授权场景使用
  • 关闭页签时回调方法 onTablePageClose(tabId, title) 增加两个参数
  • 新增静态资源路径前缀配置 web.staticPrefix,可做 CDN 加速优化
  • 编辑表格子表的表头增加新增按钮实例,详见 testDataForm.html
  • 新增多数据源接口,方便个性化支持,可动态维护多数据源。
  • ReflectUtils.invokeGetter 新增支持静态类及方法调用
  • 增加 favicon 网页收藏图标,可自行替换修改
  • 新增Docker部署脚本实例

优化

  • jquery.validate 新增重置验证方法,将valid替换为resetValid用户体验会更好
  • FileUploadServiceExtend 支持抛出异常,如:throw ServiceException(“文件不符合要求”)
  • form:select 组件的 itemLabel和itemValue支持多级属性,如:employee.office.officeName
  • form:listselect 组件的 itemCode和itemName支持多级属性,如:employee.office.officeName
  • js.formatNumber 优化,传递null的时候返回默认值,传递0数值的时候返回0.00
  • jqgrid 支持id有特殊字符的情况下的操作,如id中包含#号,则被替换
  • 多数据源优化,去掉了多种验证方法,则简单直接设置数据源,减少高并发出错率
  • @MyBatisDao 如果不设置 dataSourceName,则为 default 默认数据源
  • 角色数据权限配置,支持返回数组的情况,在一个用户多个部门的场景下使用
  • 支持普通用户新建角色的权限,普通用户只可分配自己拥有的菜单,不可越权
  • 优化WebOffice浏览器兼容性,替换ActiveX,采用pdfobject+officeapps方式
  • 根据用户查询菜单menuService.findByUserCode默认包含“默认角色”的查询
  • 调度表sys_job的status设置为1后,支持启动后自动清理quartz数据
  • 优化dataGrid的updateListFieldName接口,可默认不传参
  • 优化TabPage页签标题上的省略号,用CSS方式,方便个性化
  • 优化前端标签class=”addTabPage”增加href属性的支持
  • 调整 shiro.allowRequestMethods 拦截器顺序,放到静态文件之上进行验证
  • 暂时去掉无用的jquery-migrate-1.4.1.min.js类库引用,如果你需要可以放开注释
  • 优化 File.downFile 如果传递 source=preview 则不添加 attachment 内容描述
  • 优化对 .json .xml 后缀的URI会话失效后传递支持
  • 更新最新版身份证号码验证类 idcard

修正

  • 修正密码修改策略超过n天后没有强制或提示修改密码问题
  • 修正attrName为this的时候,SqlMap自定义条件下,JoinTable的条件也会重复加入的问题
  • @Table 如果是 UPDATE 或 DELETE 的语句,无需创建JoinTable的关联表条件
  • 当子表grid有验证的时候,删除一行点击提交,再增加一行,点击提交,这时子表索引号错误问题 #ITGI8
  • 改进preInsert和preUpdate调用方法,解决preInsert重复调用问题
  • 优化init-data脚本,在jdbc.jta.enabled开启情况下支持初始化db
  • 降级maven-surefire插件,该Maven插件的新版本可能会出现VM崩溃
  • DateUtils getOfDayFirst getOfDayLast 24小时制修正
  • 当adminPath修改过后,发送通知的地址不正确问题
  • 会话过期后顶部菜单点击后显示json的代码优化
  • 修正IE下文件上传问题,多选上传问题
  • 修正/upbw/index页面的XSS漏洞
  • 文字优化调整,界面错别字修正
  • 修复jQuery原型污染漏洞

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.5-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 如果你使用DataSourceHolder.setDataSourceName设置数据源,则需设置 @MyBatisDao(dataSourceName=DataSourceHolder.EMPTY)

V4.1.4 2019-3-20

新增

  • 新增内部消息站内信功能
  • 社区版用户提升至20人同时在线
  • EmpUserService 添加获取用户最基本的信息 API
  • DataGrid/jqGrid 新增“没有符合数据”示例,详见 testDataList.html
  • fileupload 增加 fileMeta 字段,用来存在文件信息,例如图片可存储宽高,用来做瀑布流式布局
  • fileupload 支持分片上传,多线程上传,提高上传效率,yml中可开启(默认关闭)
  • fileupload 支持外部调用重置 options 和刷新上传文件列表
  • job 添加 instanceName 集群的实例名字段,与yml配置文件一致,在微服务模块中使用非常重要若你在yml中修改了instanceName名字,你需要更新下sys_job 的 instanceName 字段为你修改的名字
  • yml 中新增 JTA 事务超时默认设置 3 分钟示例
  • yml 中新增是否允许接收跨域的 Cookie 凭证数据配置参数
  • 登录地址支持传递 __url 参数,指定登录后跳转的页面
  • 代码生成器新增 BigDecimal 数据类型
  • 消息推送工具类支持个性化 MsgPush 对象,批量推送时,支持延迟统一推送消息
  • 新增通用 Base64.encode() 和 Base64.decode() 的 js 工具
  • 角色管理新增,增加用户类型,是否系统,的默认值

优化

  • beetl 升级到 v2.9.8
  • 将消息推送实现类移动到core项目下
  • 基础组件(输入框、单选按钮、复选框、下拉框)的边框颜色加重一点
  • mybatis 返回值为 Map 时,当返回空值字段时,仍然需要返回这个 Key
  • 取消 Shiro 内部密码验证,统一使用 validatePassword 密码验证方法,简化密码存储的个性化修改
  • BaseEntity 的 preInsert 和 preUpdate 去掉 abstract
  • 删掉多余的 idx_sys_msg_inner_r_rc 索引
  • treeselect 大数据量下,增加 loading 提示

修正

  • 岗位管理列表根据sort字段排序修正
  • 用户管理点击左侧树节点时 reset 按钮调用不对问题
  • 密保修改页面文字修正:保密->密保
  • 解决用户为中文的时候,记住用户名乱码问题 #IS654
  • 优化 job 目标字符串中包含单引号的时候 XSS 问题 #ISGWC
  • 优化 WebUploader 的输入框打开页面的时候会闪一下的问题
  • 修正树表没有 status 状态字段的时候报错问题 #ITI2I
  • 优化当增加spring-cloud-starter-bus-amqp类库的时候报错 #ISAWA
  • 优化 imageclip 头像裁剪选择3M以上的图片的时候回显不正常问题
  • 当 fileupload 一次选择多个文件的时候,文件顺序显示可能不正确问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.4-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 如果你重新定义了 jobForm.html 文件,你需要同步下次此文件

V4.1.3 2019-2-15

新增

  • 新增参数配置 sys.index.menuStyle=2 的时候,一级菜单显示在主框架顶部
  • fileupload 组件新增 extendParams 扩展参数,附加数据,方便后台做出相应处理
  • Ueditor 组件新增 StorageManager.uploadFileSuccess 方法,方便写上传文件后回调
  • 新增 lang.defaultLocale 和 lang.defaultTimeZone 指定默认语言和默认时区参数,如果你使用的是v4.1.3之前版本,可在启动参数里增加 -Duser.language=zh 参数设置默认语言
  • mybatis mapper xml 的 select/update/delete 新增 weight 权重属性,用于存在相同的 mapper id 时,指定优先加载顺序,权重越大优先级越大。
  • 新增 jquery 快速获取 iframe 的 window 对象插件,如:layero.iframeWindow()
  • 新增ImageUtils工具类快速方便生成缩略图
  • 新增可编辑的Grid列表选择组件应用示例
  • 主框架页PC消息提醒增加提示音

优化

  • 支持用户自定义数据源实现,将 DataSource 注册 Bean 即可
  • 支持用户点击侧边栏头像隐藏 header 部分,扩大操作区域,优化体验
  • 会话ID顺序调整:优先获取 __sid 请求参数,再获取请求 header,再获取 cookie 的中的会话ID
  • 前端 js.text(code, params) 方法的语言配置文件移动到 core 项目下,方便用户自定义
  • 表 sys_config 的 config_key 字段设置为唯一约束属性
  • 将 sysDesktop 中的 echarts 替换为本地资源文件
  • 默认关闭 lang 和 job 较少运维(4.1.3+)
  • 开源 SSO 简易单点登录的代码
  • 支持 Docker Swarm 集群自由伸缩
  • 优化代码生成模板和默认设置等细节
  • 手机号验证增加 16 号码段
  • 支持 PostgreSQL 11
  • 日志输出格式优化

修正

  • 修正访问登录页时未生成会话验证码初次验证失效
  • 修正浏览器缩放情况下jqgrid有一像素的错位问题(兼容DPI高分屏)
  • 修正账号登录安全选项锁定账号失效的问题(失效后用户名DES未解密导致)
  • 修正非string符合主键的时候导致getId()返回null的问题
  • 修正页签出现滚动条后,快速关闭右侧导致左侧的菜单未显示
  • 修正某些linux下获取不到默认时区和默认语言环境而导致国际化切换失效。
  • 修正主子表情况下,子表点击删除按钮,但不点击确认删除,保存之后仍会删除问题 #IRDVT
  • 移除极少使用的metadata-extractor图片Meta获取类库,若有需要可自行添加该类库
  • 修正代码生成模板,当没有status字段时误导入了DataEntity的问题
  • 修正fileupload组件returnPath下的回显及下载地址不正确问题
  • 修正新增子级公司的时候选择的包含机构数据无法保存问题
  • 修正如果修改了登录名后,原登录名缓存未清理问题
  • 修正js.cookie存储获取path问题

Cloud版

  • 支持重写 FeignRequestInterceptor 拦截器
  • 添加 bootstrap.yml 属性文件加载,方便统一配置中心调用.
  • 默认放开内部系统访问过滤器的局域网IP访问权限(方便调试)
  • 优化数据源,微服务可以不设置默认数据源

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.3-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 默认关闭了 lang 和 job 功能,为较少运维(4.1.3+)若使用请开启

V4.1.2 2018-12-22

新增

  • 代码生成基础路径新增最近路径快速选择,方便用户快速选择最近设置过的路径
  • 新增file.isFileStreamDown开关,是否使用文件流方式下载,不拦截userfiles的地址
  • 新增JeeSite Spring Cloud的基础内置功能的Rest查询服务和FeignClient
  • 新增连接池最大空闲的时间参数,默认30分钟
  • 新增session.sessionIdCookiePath参数
  • 新增TreeQueryService树结构查询基类
  • 主题切换中新增“表单弹窗模式”、“取消页签模式”选项开关
  • 新增仅查询功能(不含增删改)的代码生成模板 #IOZ3S
  • 新增WebOffice在线文件预览的支持
  • 新增shiro.isAllowMultiDeviceLogin参数,是否允许多账号多设备登录,如果设置为false,其它地点登录的相同账号全部登录设备将被踢下线
  • 租户管理员支持绑定角色,让不同的租户可拥有不同的菜单

优化

  • 优化select的items为空的时候忽略错误
  • 优化js.windowOpen不指定宽高时,自动根据屏幕设置大小
  • 优化ScriptRunner,支持字符串中带分号的写法
  • 优化xss过滤去除&和#的转换,有时候会产生一点问题
  • 支持CMYK色彩格式的JPG图片压缩;优化动画效果;
  • FileUtils.getContentType的准确性优化,有时候会对IOS下载视频播放造成影响
  • 优化树表代码生成,展开节点清理请求参数数据时排除状态查询条件
  • 优化树表管理界面,有查询条件情况下,编辑后支持刷新列表中无父节点数据
  • 代码生成模板分离出dataGrid生成代码;日期控件选填显示清空按钮;仅查询生成模板优化
  • 代码优化,减少一些js警告的提示。建议设置IDE忽略一些无关紧要的警告提示
  • 菜单归属系统代码优化及各种细节优化

修正

  • 修正PC消息池,有时会出现concurrent问题;redis下putPool设置不上问题
  • 修正MsgPushTask查询条件不正确,导致PC消息多次推送导致失败问题
  • 修复苹果手机IOS下不能左右滚动问题,另外需按如下步骤操作手机:设置 -> Safari浏览器 -> 高级 -> Experimental Features -> 关闭 Async Frame Scrolling 选项。
  • 修正 /js/a/authInfo 取不到值问题;优化用户会话缓存处理;

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.2-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.1.1 2018-11-17

新增

  • 新增 Spring Cloud Finchley 的支持
  • 新增代码生成 gen.enabled=true 开关
  • 新增系统监控 state.enabled=true 开关
  • 新增支持 iframe 内页使用 hash,addTabPage 的父级标签加 treeview 类即可
  • 新增支持 entity.getSqlMap().getOrder().setOrderBy(“a.update_date desc”) 设置排序
  • 新增参数配置、字典、数据权限、国际化、消息推送、文件服务层的重写扩展支持
  • 新增 MsgPushUtils 的一个方法,填写定时发送消息时不需要填写是否合并消息参数了
  • 新增 beetl xss 格式化类型,举例:${parameter.testParam,xss}
  • 新增 StringUtils.trim2 方法,去除左右空格,支持清理中文空格
  • 新增内部系统访问过滤器,可设置多个允许的内部系统IP地址串

优化

  • 升级 spring boot 2.0.5 to 2.0.6
  • 优化 UI 色调、微调、美化,表单控件小圆角增强平滑感
  • 优化 PropertiesUtils 代码方便分布式配置中心获取数据
  • 优化 webuploader.mobile.js 文件上传的精简版,仅h5用
  • 优化菜单多的情况下关闭页签侧边栏会重置问题
  • 区域表单响应式布局优化,缩放窗口时体验效果
  • TimeUtils.formatDateAgo 代码精简优化
  • 手机号验证增加199号码段

修正

  • 修正分页title工具提示undefined的问题
  • 修正tomcat容器shutdown后job未shutdown问题
  • 修正记住我情况下解决偶尔出现不显示登录页面的问题
  • 修正RoleDao.findListByUserCode多租户下查询不到系统角色问题
  • 修正树菜单保存排序时子节点的所有排序号字段未更新问题(4.0.5以上版本)
  • 修正UserUtils.putCache方法未登录系统的情况不存储问题
  • 修正整合OSS对象存储生成的URL,前端显示会自带项目前缀问题 #INXBI
  • 修正js.quickSelectDate报date.format未定义问题
  • 修正通过logincode获取用户的缓存无法清理问题
  • 修正有些功能存在xss漏洞的问题 #14

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.1-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步
  • 由于4.1.1开始全面支持微服务,有些核心包里的功能可能根据需要发布为服务,故将所有Service层的类分离出接口,默认接口实现类的命名约定在Service后加Support为后缀,默认情况下此类将在autoconfigure中注册,若您想根据需要重写该类,你可继承Support的类约定用Impl为后缀,并通过@Service注解注册该类即可,这样将会排除默认的Service加载(实例文件见:UserServiceImpl.java)。此分离出接口操作不会影响业务代码的调用。

V4.1.0 2018-10-14

升级内容

  • 升级到 Spring Boot 2.0.5、Spring 5.0.9 以及相关依赖库全面升级
  • 缓存框架将 Ehcache 2 更换为 红薯/J2Cache(Caffeine、Redis) 框架
  • 轻量级 Session 对象,将用户缓存独立为缓存对象,提升会话序列化性能
  • 缓存接口增强几个方法及优化,反射工具优化,支持泛型,省去强制转换代码
  • 规范配置,删除 jeesite.yml 将文件内容迁移到 application.yml 文件
  • 代码生成器模板移动到 jeesite-module-core 项目下,方便用户自定义
  • 新增 jeesite-module-swagger 模块,文档地址:/swagger-ui.html
  • 配置文件增加 msg.enabled=false 开关,可关闭消息推送功能
  • 支持开发者自定义控制用户密码的加密和验证策略
  • 代码生成器支持多数据源表生成;代码生成器支持栅格自定义
  • form:treeselect增加callbackFuncName属性,可自定义回调方法的函数名
  • sso接口优化,当用户名与当前用户不一致的情况下自动重新登录。
  • 去掉 ExceptionHandler Throwable.class 异常拦截,防止扩展时不生效
  • 优化用户菜单缓存,提示主页面加载速度
  • 新增超级管理员可以进行租户切换功能
  • 修正岗位名称唯一验证不应该是LIKE
  • 修正树表名称有正则表达式特殊字符的时候更新报错 #IN6V8
  • 角色数据权限范围,支持扩展自定义的数据权限,并相关权限功能优化改进
  • 新增本部门数据、本公司数据、本部门和本公司数据的权限范围
  • 支持菜单、用户、角色 Service 层自定义,详见 sys.service.impl 包
  • 其它各种优化,性能优化,简化 Application.java

升级方法

  • 建议您升级,因为升级成本不大,最低环境配置:jdk1.8、servlet3.1
  • 查找所有 pom.xml 文件里的 4.0.[当前版本]-SNAPSHOT 替换为 4.1.0-SNAPSHOT
  • 如果您导入 jeesite-module-common 和 jeesite-module-core 项目,则请与码云 4.1.0 源代码同步

  • 查找 import org.hibernate.validator.constraints.NotBlank;

  • 替换为 import javax.validation.constraints.NotBlank;
  • 查找 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  • 替换为 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  • 查找 extends WebMvcConfigurerAdapte
  • 替换为 implements WebMvcConfigurer
  • 查找 import org.springframework.boot.web.support.SpringBootServletInitializer;
  • 替换为 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

  • 查找 FileUploadServiceExtendImpl 替换为 FileUploadServiceExtendSupport

  • 查找 UserService.encryptPassword 替换为 PwdUtils.encryptPassword
  • 查找 UserService.validatePassword 替换为 PwdUtils.validatePassword
  • 查找 UserService.passwordModifyValid 替换为 PwdUtils.passwordModifyValid
  • 查找 CacheUtils.removeAll() 替换为 CacheUtils.clear();

  • 如果项目还有错误,可自行修复,通过搜索引擎查找升级SpringBoot2的相关问题

  • 删除资源目录下的 cache/ehcache-local.xml 和 ehcache-rmi.xml 文件,使用 j2cache.properties

  • 启动类更新 com.jeesite.modules.config.Application 移动到 com.jeesite.modules.Application 下
  • 将 jeesite.yml 的内容与 application.yml 合并,并删除 jeesite.yml 文件
  • yml配置文件 ehcache. 前缀的替换为 spring.cache.
  • yml配置文件 redis.cacheAndSession 替换为 spring.cache.isClusterMode
  • yml配置文件新增参数 logging.config=classpath:config/logback-spring.xml
  • 日志配置优化,重命名并移动到 src/main/resources/config/logback-spring.xml

  • 数据权限关键视图更新:empUser.html、company.html、office.html、role.html,同步ctrlPermi相关代码

  • 验证所有form:checkbox组件,4.0中不选中时提交null,4.1中不选中时提交空字符串
  • JedisUtils 不建议使用了,建议依赖注入 Spring RedisTemplate 类操作 Redis

V4.0.7 2018-9-15

新增

  • 配置文件增加 lang.enabled=false 开关,可关闭 i18n 多语言功能。
  • 配置文件增加 job.enabled=false 开关,可关闭任务调度功能(微服务用)
  • 配置文件增加 file.enabled=false 开关,可关闭上传文件功能,精简加载(微服务用)
  • 配置文件增加 web.core.enabled=false 开关,可关闭核心模块的Web功能(微服务用)
  • 配置文件增加 menu.updateStatusByModuleStatus=false 可关闭根据模块状态去更新相连的菜单状态(微服务用)
  • 配置文件增加 mybatis.scanTypeHandlersPackage 参数,TypeHandlers的扫描基础包
  • 配置文件增加 shiro.rememberMe.secretKey 参数,记住我cookie密钥自定义设置选项,提高安全性
  • 配置文件增加 job.log.* 调度日志开关,可关闭或只保存错误级别的日志,详见:jeesite.yml
  • 配置文件增加 job.scheduler.instanceName 参数,指定作业集群实例名。
  • 增加微服务优化选项,上文中标注为“微服务用”的,可关闭一些不需要的功能开关,减少加载启动时间,控制在10秒内
  • 新增@JsonView注解支持,自定义过滤Json视图输出字段。这在移动端API节省流量,隐私信息,或特殊场景下非常有用
  • 工具类 NumberUtils 新增formatNumber方法,格式化数据类型格式
  • 工具类 Md5Utils 增加获取文件的MD5值,并支持获取文件指定前部分的MD5
  • 增加文件上传扩展服务类 FileUploadServiceExtend接口,支持将文件保存到第三方文件服务器(如飞牛、OSS等)
  • 将ueditor后台上传源码开源,移到jeesite-common项目,方便扩展第三方文件存储服务器(如飞牛、OSS等)
  • 菜单新增扩展字段的编辑界面
  • 支持DB2数据库

优化

  • 分页器优化,Service基类新增重载findPage(T entity),可进行entity.setPage()进行设置分页。
  • application.yml增加Spring环境切换提示,不可设置为 test 它是单元测试用的环境名称
  • 优化MsgPushUtils.push调用后返回MsgPush对象,方便后续处理该消息。
  • 访问日志去掉日期范围查询条件,初始加载在没有时间条件的情况下查询更快
  • 缓存监控的缓存值获取优化,太大的缓存预览截取一部分,防止客户端假死
  • 优化ListUtils.listOrderBy支持默认升序排序
  • 优化Linux下运行时,减少权限问题的产生
  • 优化监控百分比参数,去除小数点
  • job数据源优化,druid升级到1.1.10版本

修正

  • 修正树表编辑后,如果当前节点下已加载了子节点,则展示错乱问题。
  • 修正sqlWhere多个endBracket的情况下不输出问题,#IMJU8
  • 消息推送的PC消息按钮修正;模板消息优化修正;消息推送单元测试完善
  • 修正记住我的账号时,从在线列表踢出用户无效问题
  • 修正@Column(typeHandler)不能设置泛型类型的问题
  • 修正 js.addTabPage 的 refresh 参数不起作用问题
  • 修正一个tomcat下不能部署多个应用解决
  • 修正PC消息提醒获取按钮报错问题
  • 修正租户缓存无法删除的问题
  • 修正初始化脚本空值针错误
  • 修正多主键情况下getId()获取不正确问题
  • 优化有些缓存在Redis下的未保存的情况修正

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.7-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.6 2018-8-14

新增

  • 新增:缓存监控功能,查看缓存内存,清理缓存等
  • 新增:服务器监控功能,查看CPU,内存,JVM,磁盘信息等
  • 新增:通用CrudDao基类新增物理删除方法,满足一些特殊需求
  • 新增:@Table支持动态表名,可指定当前实体里的一个属性的Get方法
  • 新增:新增支持无页签模式和表单弹窗模式(专业版)。
  • 新增:shiro.successUrl登录成功后跳转页面参数,支持ajax登录后跳转,sso下登录跳转
  • 新增:@Table.@Column 的几个属性 javaType、jdbcType、typeHandler 的支持。
  • 新增:一些连接池常用参数,详见 jeesite-core.yml
  • 新增:是否在登录后生成新的Session(默认false)参数,详见 jeesite.yml
  • 新增:MyBatis使用Map参数传递和返回实例代码,支持分页。

优化

  • 优化:form组件path属性支持html编码属性encodeHtml默认false
  • 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题
  • 优化:在不开启i18n的情况下不受浏览器的语言设置影响
  • 优化:模块管理增加当前版本编辑字段。
  • 优化:表格分页控制部分,分离出一个pageHtmlControl方法,方便重写
  • 优化:js.closeCurrentTabPage优化,支持有tabpage情况下弹窗关闭
  • 优化:Global增加几个方法,快速获取属性自动转换为整型或布尔类型
  • 优化:参数配置的参数值config_value允许空值
  • 优化:XSS过滤方法,解决一些可能会发生的问题。
  • 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题。
  • 优化:支持jeesite.yml属性自定义获取客户端IP的Header名称,防止IP伪造。
  • 优化:StringUtils.camelCase驼峰命名法转换,不允许第二个字符是大写,避免一些不规范代码
  • 优化:降低ReflectUtils的错误级别,如果null不抛错,打印日志警告即可
  • 优化:将web项目的config文件分散到jar包里,让web项目更简洁。

修正

  • 修正:用户列表选择的selectData变量可能造成XSS漏洞
  • 修正:优化form:select为multiple=”true”时,如果itemValue不是字符串类型,会报错问题
  • 修正:当修改表名js_前缀时,job表前缀与系统前缀没有统一的问题
  • 修正:登录密码错误的时候,偶尔显示未知错误的问题
  • 修正:登录页记住账号在DES加密的情况下,会有XSS漏洞
  • 修正:属性配置文件${xxx}表达式为空时可能报错问题。

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.6-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.5 2018-7-16

新增

  • 新增:找回密码功能,支持通过手机号、邮箱、保密问题重置密码
  • 新增:@Table@Column支持isUpdateForce=true强制更新,不再判断值非空情况下才加入更新(常用于Date类型)
  • 新增:支持war包不解压的情况下运行(SpringBootVFS),支持引入外部yml配置文件
  • 新增:数据范围过滤条件方法,实现如果之前sqlMapKey已经存在,则使用OR增加到该条件,主要用来扩展自定义的权限过滤条件(如:本部门、本公司等等):getSqlMap().getDataScope().addFilter(String sqlMapKey, String sqlWhere)
  • 新增:清理数据过滤条件方法:getSqlMap().getDataScope().clearFilter(String sqlMapKey)
  • 新增:拆离出CAS权限授权的Realm,支持开发者自定义Realm(个人版)
  • 新增:form:validcode标签增加isShowLabel属性,是否显示“验证码”标签
  • 新增:支持spring.profiles.active=dev的jvm参数和yml配置,指定活动环境名称参数,如:application-dev.yml
  • 新增:员工用户列表选择示例代码,详见帮助文档form:listselect

优化

  • 优化:为了防止InitCoreData单元测试误运行,增加 -Djeesite.initdata=true 参数作为校验
  • 优化:当checkbox标签指定label的时候,原来未选中时是提交null,现在未选中的时候提交0选中提交1
  • 优化:postgresql下,schema可以不和用户名一致的情况
  • 优化:当代码生成子表,选择父表不对的情况下,可能会出现空值针
  • 优化:自动更新数据库程序,各个模块的初始版本号读取用户自定义的
  • 优化:Job支持指定数据源名称,数据源监控显示数据源名称,可减轻主数据源压力
  • 优化:extWhereKeys 设置多个键值时,逗号后包含空格时获取不到设置的数据问题。#IL9Q3
  • 优化:select下拉框,选项个数小于10个的时候不显示搜索框
  • 优化:bin脚本,增加一些脚本修改的提示帮助
  • 优化:PinyinUtils工具类,新增id规则过滤

修正

  • 修正:500页面,没有ex.cause的情况报空值针问题
  • 修正:用户身份为二级管理员的时候数据权限设置不正确问题
  • 修正:解决Job在XA/JTA数据源下,隔一段时间报获取连接错误问题
  • 修正:fileupload标签的uploadType=”all”的时候allowSuffixes设置为一个后缀的时候失效问题
  • 修正:listselect在jqgrid编辑行中,因注释问题引起的语法错误
  • 修正:Session失效后,右上角消息数显示NaN问题
  • 修正:postgresql数据库删除字段后,代码生成器查询列仍然能查询出来的问题
  • 修正:yml密码加密时未找到Key的情况下,会被误认为了其它key下相同的键值名问题
  • 修正:sys.login.multiAddrMessage的i18n键名调用错误

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.5-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.4 2018-6-20

新增

  • 新增:用户数据导入和导出功能,支持导入数据更新
  • 新增:Excel导入工具想新增@ExcelField(attrName=”“)属性的支持
  • 新增:js.ajaxSubmitForm 新增 ajax 文件下载功能,参考 empUserList.html
  • 新增:MsgPushUtils.push(type…)的receiveUserCodes参数新增多个接受者支持
  • 新增:receiveUserCodes用[CODE]前缀,支持直接指定手机号码或邮箱地址等等
  • 新增:双击树表前的图标可刷新子节点数据,停用启用的时候非常有用;

优化

  • 优化:shiro缓存优化
  • 优化:租户功能优化
  • 优化:员工编号与登录名前端验证一致
  • 优化:规范用户头像base64参数名修改为 avatarBase64
  • 优化:代码生成,子表选择子表,限制只选择已有生成配置的表
  • 优化:停用启用树节点时,不同步更新子节点数据,更新本级的tree_leaf字段;
  • 优化:增加 jdbc.jta.enabled 分布式事务开关(默认false)
  • 优化:支持 -Dspring.config.location=x:/app.yml
  • 优化:错误页面优化,ajax情况下返回json数据。

修正

  • 修正:直接在WHERE后添加扩展Where语句时,移除开头AND标识符
  • 修正:解决长时间不访问的时候出现connection holder is null的问题
  • 修正:mapper.refresh属性参数不对,导致开发模式下mapper xml不自动刷新的问题
  • 修正:生成代码绑定数据字典值不对的问题,应该返回type而不是id #IKA0C
  • 修正:sqlserver数据库初始化脚本报null的问题
  • 修正:#IKILZ 待审核账号登录提示i18n问题
  • 修正:DictUtils.getDictLabels取不到标签问题

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.4-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.3 2018-5-27

新增

  • 新增:core项目增加单元测试支持类 ApplicationTest.java
  • 新增:代码生成config.xml支持自定义,放同目录下config-custom.xml文件即可覆盖
  • 新增:shiro.allowRequestMethods 参数,可指定允许的请求方法,默认GET,POST
  • 新增:TabPanel 增加 onTablePageClose 事件
  • 新增:@PatternValue验证注解,支持从属性文件中读取正则表达式
  • 新增:可修改主键和loginCode的验证正则表达式
  • 新增:优化userService.save方法,可支持直接保存password
  • 新增:js.addTabPage增加返回值,可返回当前tab的id,方便后续事件绑定
  • 新增:form:select 增加 blankOptionLabel=”全部” 选项
  • 新增:form:input 支持 dataFormat=”datetime2”,年月日时分秒
  • 新增:form:fileupload 支持 returnPath=true 和 bizType 共存,bizType优先
  • 新增:统一的消息提醒处理,消息推送功能,包括:PC消息、APP消息、短信、邮件、微信等等。

优化

  • 优化:采用Mybatis-PageHelper的CountPage方法,优化count性能,感谢abel533
  • 优化:弹出优化,支持 js.layer.config({shadeClose: false}) 设置
  • 优化:集团模式修改为通俗名称:多租户、租户代码、租户名称。
  • 优化:/a/menuTree 优化,支持 parentCode 参数
  • 优化:用户管理下的授权角色、授权数据、重置密码权限不严谨问题。
  • 优化:SpringMVC 优化 MaxFileSize 参数,同MaxRequestSize
  • 优化:Thumbnails 自动压缩优化,支持 png,jpg,jpeg,bmp,ico 类型
  • 优化:treeselect组件,当所有跟节点没有子节点的时候,不显示“展开和折叠”按钮
  • 优化:Beetl 视图 include 支持相对路径,sysLogin、sysIndex 移到 themes 目录下
  • 优化:代码生成模板,当存在 corp_code 字段时,BaseEntity 未 import 修正
  • 优化:代码生成,当添加已经存在的表时,提示并直接进入,优化体验
  • 优化:代码生成模块代码合并到框架包
  • 优化:角色查询SAAS下允许共享系统角色
  • 优化:js.formatMoney支持小数位数为0
  • 优化:XSS非法字符过滤优化
  • 优化:IE下ajax缓存优化

修正

  • 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
  • 修正:在磁盘根目录下BeetlUtil.getWebRoot()报错修正
  • 修正:Excel导入时如果遇到空行可能会出现空指针异常
  • 修正:Excel导入时对于带有小数部分得数据可能出现精度丢失得情况
  • 修正:上传文件超过最大文件个数限制时,未知情况下仍可上传问题
  • 修正:fileupload文件列表readonly=true是删除按钮还存在问题
  • 修正:#IJSM4 新增公司后,用户数据权限自动添加的BUG
  • 修正:代码生成器子表生成界面跳转到主表的链接不正确问题
  • 修正: js.formatDate(new Date()) to “2018-05-dd HH:mm:ss” 问题
  • 修正:国际化js.text()带参数的code,修正默认情况下没有加入参数值问题
  • 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
  • 修正:MySql下字典类型停用启用Connection is read-only修正
  • 修正:添加一级的部门或公司的时候会自动给所有用户数据权限问题
  • 修正:UserUtils.getUser().getRoleList()数据不对问题。

升级方法

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.0.3-SNAPSHOT
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.2 2018-4-22

新增

  • 新增:支持分布式事务,多数据源下事务支持
  • 新增:支持MyBatisDao注解指定数据源名称,Dao层动态切换数据源
  • 新增:国际化底层框架、通用组件、机构管理功能和代码生成模板
  • 新增:Linux下执行的Shell脚本,并优化startup脚本
  • 新增:@JoinTable 的 attrName 支持 this 当前类
  • 新增:Redis 增加 clientName 设置参数
  • 新增:附件列表增加上传人和时间回显

优化

  • 优化:初始化SQL脚本优化,主要针对mysql脚本;修复创建索引警告
  • 优化:将timestamp替换为datetime类型,杜绝MySql下创建时间更新问题,时间不能为空问题
  • 优化:设置SpringBoot的上传文件大小限制与file.maxFileSize设置统一
  • 优化:ExcelExport工具类接口,更方便的支持多Sheet
  • 优化:角色管理增加状态条件,优化查询

修正

  • 修正:jquery validate remote 中文乱码导致验证失败问题
  • 修正:因加载过早EmpUserService类事务失效问题
  • 修正:Linux下找不到程序包 java.lang 问题
  • 修正:代码生成选择多个验证条件的时候报错

升级方法

  • 直接运行 mvn clean package -Dmaven.test.skip=true -U 强制更新即可
  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步
  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

V4.0.1 2018-3-31

新增

  • 新增:国际化登录相关和错误页面信息(中文、英文)
  • 新增:数据表格实例,多表头、行分组、合计行、小计行、编辑表格,实例
  • 新增:表单组件实例,栅格布局(一列、两列、三列、四列),组件应用实例
  • 新增:日志查询,表增加执行时间记录字段,分析页面的执行效能
  • 新增:CookieUtils.getCookie() 增加 path 参数
  • 新增:支持Oracle、SqlServer、PostgreSQL数据库
  • 新增:zTree 增加扩展方法 expandNodeByLevel 方便根据层级展开节点
  • 新增:接口API,获取用户权限信息:/a/authInfo;获取用户菜单信息:/a/menuTree

优化

  • 优化:Spring Boot 1.5.9 升级 1.5.10
  • 优化:错误页面优化、升级 beetl 2.7.26
  • 优化:手机端API接口测试优化,支持验证码登录
  • 优化:解压war包后可直接执行startup.bat运行项目
  • 优化:一些体验和性能优化

修正

  • 修正:DataGrid冻结行的时候超连接未绑定btnList事件问题
  • 修正:Excel导入导出中的DictUtils反射方法参数顺序不对问题 #IINDU