# 更新日志 

--- 
### 2021-10-24 @v1.26.0
- 优化：优化前端样式，删除不必要的 `size="mini"` 配置
- 修复：修复部分页面表单校验抛出异常未能处理的情况 
- 重构：重构代码生成器，更简洁的代码结构 
- 升级：升级表单封装，增加日期、时间、slot等多种适配 
- 升级：部分依赖升级至最新版本 
- 更换：更换logo


--- 
### 2021-10-14 @v1.25.0
- 升级：重构前端页面，Sa-Admin版本升级为1.40.0
- 升级：升级 Sa-Token 至最新版本 
- 优化：优化`readme.md`
					

--- 
### 2020-12-10 @v1.24.0
- 优化：优化内置代码，更清晰的代码风格 **[重要]**
- 优化：优化控制台启动打印信息 
- 优化：导出表格增加提示语 
- 优化：更改demo演示地址 
- 新增：新增技术栈链接 
- 新增：`PublicMapper`新增`getCountBy`方法 
- 新增：默认依赖新增网络请求库`OkHttps`，[文档](http://okhttps.ejlchina.com/)
- 修复：修复`redis控制台`相关bug
- 新增：新增若干技术栈展示 
- 优化：优化`readme.md`


--- 
### 2020-12-2 @v1.23.0
- 新增：新增配置`webLibImportWay`，决定前端js库导入方式是cdn还是本地依赖 
- 新增：Redis控制台更改为前台分页模式，千条以上数据不再卡顿 
- 修复：修复管理员列表无法显示列表的bug 
- 优化：把请求日志表的自增列改成雪花算法
- 优化：优化实体类注释风格生成策略 
- 新增：接口日志面板新增耗时统计 
- 新增：`SoMap`添加部分构建方法
- 新增：`PublicMapper`添加部分查询方法
- 新增：新增`fast-update`属性，用语生成在列表中的快速修改按钮 
- 新增：枚举字段新增`[enum switch]`配置，可在列表中生成开关控件，快速改值 
- 新增：字段注释新增`[time]`类型，用与生成时间类型(时:分:秒)
- 新增：字段注释新增`[link]`类型，用与生成超链接表单 
- 新增：表注释新增`[tree]`、`[tree-lazy]`，用于生成树状表格 **[重要]**
- 新增：字段注释新增`[logic-delete]`，用于声明一个表的逻辑删除标识 
- 优化：为数字和日期字段生成专门的class，方便定制全局样式，详细参考`sa.css`第188行附近注释
- 升级：`sp-com`多模块版同步升级至最新版
- 优化：优化文档


--- 
### 2020-11-25 @v1.22.0
- 新增：全局异常新增redis异常判断，个性化显示提示信息 
- 新增：在`PublicMapper`的`columnAdd`方法中新增`IFNULL`函数判断
- 新增：权限修改新增判断，如果修改的角色为当前登录者角色，则让它实时刷新出来 
- 优化：API接口调用日志，分页条数由最高一万条改为一千条 
- 新增：增加全局配置，指定生成后台管理页面时，默认的菜单图标  
- 优化：优化代码生成，将一些不必要的列忽略掉作为排序条件生成  
- 新增：新增`xxx-add`和`xxx-info`未能查找到数据的时候提示一下  
- 优化：优化`MyBatis`输出日志，sql语句高亮打印，方便调试 
- 优化：数据完整性校验增加中括号，更醒目的提示 
- 新增：新增智能判断，当检测到后台设置取消了关键权限的时候，给出危险警告，防止系统崩溃 
- 新增：`PublicMapper`类新增`columnAddByIds`和`getColumnListToLongByWhere`方法
- 新增：`SoMap`新增`has`方法,更语义化的判断非空 
- 新增：枚举型字段增加对`String`类型的支持，只需声明时标注：`[enum dt=string]`


--- 
### 2020-11-19 @v1.21.0
- 优化：全面优化代码架构与模板样式 **[重要]**
- 升级：内置`sa-admin`版本升级至`v2.4.4` **[重要]**
- 优化：放弃了0代表不限的设定，因为在表设计时，0太常用了 **[重要]**
- 优化：移除`fk-1`、`fk-2`，新增表注释`fk-s`，更符合逻辑的外键标注
- 优化：表格的时间列去除`min-width`熟悉，改用内层div解决时间换行问题
- 优化：接口文档在条件列上标注"条件"，更清晰的分辨参数与条件
- 优化：优化`redis控制台`，将键值数量警示线改为1000 
- 优化：配置`logback`控制台打印彩色日志
- 优化：去除掉admin添加页面的滚动条
- 优化：实体类的字段数据类型改为包装类
- 优化：优化测试sql示例，更详细的演示示例说明
- 优化：在线表单构建菜单移动至监控中心，后续会继续集成更多开发工具
- 升级：将`token`鉴权改为`header`鉴权模式，避免了跨域模式下无法写入cookie的问题 
- 新增：日志模块默认打开 `a.setUser_id(StpUserUtil.getLoginId(0L));`	记录本次请求user_id 
- 新增：实体类新增常量`TABLE_NAME`，代表此模块对应的数据库表名 


--- 
### 2020-9-26 @v1.20.0 	---------- [稳定版]
- 新增：新增`sp-cloud`微服务版本 **[重要]**
- 优化：优化启动打印信息，添加当前环境显示
- 修复：修复`deleteByWhereList`方法bug
- 增加：新增打完整包示例

--- 
### 2020-9-16 @v1.19.0
- 新增：新增maven多模块版本 **[重要]**
- 新增：聚合外键默认类型改为`Long`
- 新增：配置`mapper.xml`可直接返回`SoMap`
- 新增：修复表格动画相关bug
- 新增：修复`sa.js`里部分注释错别字 
- 新增：上传图片增加边框样式
- 优化：优化报错提示
- 修复：修正更新时间


### 2020-9-11 @v1.18.0
- 新增：新增表注释，可声明`icon=菜单图标`
- 新增：新增聚合外键，可声明`fk-count`、`fk-max`、`fk-min`、`fk-sum`、`fk-avg`、`fk-?`等生成外键信息 **[重要]**
- 新增：可在枚举字段中指定`s-type`和`a-type`，控制生成的枚举样式，具体请查看文档
- 优化：彻底解决了外键名称重复问题，将在外键重复名称时自动计算合适的外键名称 
- 优化：`img_list`改为`img-list`风格，更容易书写的方式，同时兼容旧形式 
- 优化：优化测试sql，更完善的示例
- 优化：完善在线开发文档
- 修复：修复添加之后，富文本内容不清空的bug
- 优化：优化控制台打印字体样式


### 2020-9-7 @v1.17.0
- 优化：集成`sa-token v1.4.0` **[重要]**


### 2020-9-3 @v1.16.0
- 优化：集成`sa-admin v2.4.2`
- 优化：`SoMap`部分处理方法，不再返回副本，而是返回对象本身，更智能的操作
- 修复：修正`SoMap`的部分注释错误
- 修复：修复`fk-1`和`fk-2` 生成的外键 列名和字段名 在驼峰转下划线模式下的部分问题
- 修复：修复生成代码中`controller`里`add`方法没有加`public`修饰符的bug
- 修复：修复`update判空修改`，下划线转驼峰时无法正确生成的bug
- 修复：修复`xxx-add`页面 有的地方缺br的bug
- 新增：新增file类型文件生成，可上传任意类型文件
- 修复：修复添加完成后富文本不清空的问题，修复下拉框和日期选择框覆盖富文本的问题


### 2020-8-27 @v1.15.0

**服务端架子：**
- 新增：新增配置，在发生`sql`异常时是否将`sql`语句抛出到前台
- 新增：`PublicMapper`类新增批量删除方法 
- 优化：`AjaxJson`改成继承Map形式，更方便的set值 **[重要]**
- 优化：`AjaxError`的方法加上`throw`前缀，更加语义化
- 优化：`springboot`升级到最新版本，`fastjson`升级到最新版本
- 优化：后台日志记录增加全部复制，批量删除、范围删除等功能 
- 优化：后台日志部分状态码改为蓝色显示，方便区分
- 优化：去除掉`druid`连接池监控页的广告
- 修复：修复部分后台异常无法记录到日志表中的bug
- 修复：修复`StpInterfaceImpl`里多个`StpLogic`可能混淆的bug 
- 新增：启动成功后输出访问地址，方便调试
- 新增：新增`StpUserUtil`类，免的每个项目都再写一遍了

**前端：**
- 升级：集成`sa-admin 2.4.1`，更华丽的UI  **[重要]**
- 优化：指定`lang='cn'`，避免了每次打开页面`Chrome`提示翻译

**SoMap：**
- 新增：获取日期，根据指定格式
- 新增：新增`isContainNull`方法，验证一组`key`中是否包含`value`的元素
- 新增：新增`isNumber`方法，验证指定`key`的`value`是否为数字 
- 新增：`getModel`方法，从`SoMap`中取出一个实体对象 
- 新增：`setModel`方法，将一个实体对象写入`SoMap`
- 新增：新增`cloneKeys`方法，克隆指定或者所有字段，返回一个新的`SoMap` 
- 新增：新增`key`列表下划线与驼峰互转、下划线转中划线 (`kebab-case`风格)
- 新增：新增`key`列表大小写转换 
- 优化：空元素列表提取到`final`数组中，方便二次修改配置 

**代码生成：**
- 新增：批量删除
- 修复：修复生成的接口文档没有排序条件的bug 
- 修复：修复生成的接口文档没有外键的bug 
- 优化：`sort_type` 改成 `sortType`，小驼峰模式 
- 优化：生成的接口文档里，不必要的[默认值]去掉，避免歧义 
- 优化：生成的`Controller`里，将`admin接口`和`web端接口`分开，方便阅读 
- 优化：`mapper.xml`里生成的`getList`中 `<if>`折叠了起来 更方便一屏审阅代码 
- 优化：代码生成时路径统一管理，不用再为服务端、后台管理、接口文档分别填写路径 
- 新增：生成的`Controller`中，可以配置使用`post`或`get`或所有
- 新增：在生成代码时，可以设置是 `select *` 还是 `select所有列`
- 新增：`add`接口返回新增的对象，方便前端开展二次处理
- 新增：新增`updateByIsNull`方法，`SoMap`形式的判空修改
- 新增：新增生成类型 `audio_list`音频列表、`video_list` 视频列表 
- 新增：新增`img_video_list`类型，用于图片与视频混合在一个字段的业务场景
- 新增：新增配置`sqlEnclose`，配置生成的`sql`语句中，是否将字段用`包裹起来
- 新增：新增配置`saTokenAuthWay`，可在代码式鉴权和注解式鉴权里自由切换
- 新增：新增配置`fname`，可以在`[fk-1]`和`[fk-2]`模式下，声明`fname=xxx`解决多个外键指向同一个表重名的场景 

**其他更新：**
- 项目名称改为：`sa-plus` **[重要]**


### 2020-8-19 @v1.14.0 ---------- [稳定版]
- 新增：生成代码可以对包名中的下划线进行替换操作 
- 新增：`util` 类注释风格设定 
- 新增：`Controller` 层代码改为文档注释 
- 优化：代码风格向阿里巴巴开发手册看齐 


### 2020-7-3 @v1.13.0
- 优化：优化`SoMap`更智能的判空方式
- 优化：更换`sa-doc`版本至`v1.3.0`，新增接口测试功能  **[重要]**


### 2020-6-22 @v1.12.0
- 新增：集成druid sql监控台，监控sql执行
- 新增：新增redis控制台，可灵活的对sql进行增删改查  **[重要]**
- 新增：新增`resultMap`风格设置，可在自动映射与手动映射之间自由切换 
- 优化：优化`readme.md`及开发文档
- 优化：更换版本号计算方式（由原来的2.x改回1.x递增）


### 2020-6-18 @v1.11.0
- 完善：完善外键解析模式，`fk-1`、`fk-2`可配置多种模式，按需生成代码
- 新增：新增实体类字段风格设置，可配置为下划线转小驼峰模式
- 优化：优化部分开发文档


### 2020-6-15 @v1.10.0
- 新增：字段查询方式可配置为`like`模糊查询 
- 新增：新增`<resultMap>`映射标签的生成，用于解决多人协同开发时对代码风格追求不一致的问题 
- 优化：角色权限表加上了id主键 
- 优化：`mapper.xml`里将 `where 1 = 1` 替换为 `<where>`
- 优化：整理前端样式问题，使生成的代码更简洁 
- 完善：完善文档：架构介绍、发包步骤、常见操作、最佳实践
- 新增：新增友情链接 


### 2020-6-15 @v1.9.0
- 新增：新增在文件上传时可设置为阿里云oss模式（需要集成oss相关工具类）  
- 新增：实体类可以设置字段的访问权限是`public`或者`private` 
- 新增：实体类的字段注释可配置为 `行尾注释` 和 `文档注释` 两种 
- 新增：`audio`音频上传与`video`视频上传 
- 修复：修复主键字段非id的情况下，service层变量名错误的情况 
- 优化：优化`SoMap`类API，移除`SoMapUtil`类 
- 优化：移除SF中Bean依赖清单，使模块更具有自完备性


### 2020-6-1 @v1.8.0
- 新增：系统配置模块


### 2020-5-26 @v1.7.0
- 优化：SoMap.java 新增集合参数获取 
- 新增：AjaxError.java 更方便的code码定义 


### 2020-5-24 @v1.6.0
- 新增：service版本 
- 新增：集成mybatis-plus  **[重要]**
- 优化：在线文档 


### 2020-5-17 @v1.5.0
- 新增：生成日期控件：`date`, `date-create`, `date-update` 
- 新增：根据外键生成联表查询代码：`fk-1`、`fk-2` 
- 优化：优化访问日志页面 
- 修复：管理员头像设置 


### 2020-5-15 @v1.4.0
- 优化：controller 不再依赖FC.java 
- 优化：改变鉴权路由，更完善的鉴权流程 
- 优化：多图片上传改为逗号链接 


### 2020-5-10 @v1.3.0
- 新增：新增特殊声明，对数值输入、多行文本域、图片上传、多图上传、富文本等特殊表单的支持 
- 优化：日志样式
- 优化：添加版权信息
- 优化：接口文档更智能的解析算法
- 优化：优化在线文档


### 2020-4-25 @v1.2.0
- 修复：idea启动报错
- 优化：接口文档自动计算项目名


### 2020-4-24 @v1.1.0
- 优化：优化在线文档
- 优化：优化分页代码
- 增加：增加实体类下划线转小驼峰示例
- 增加：集成`sa-doc`作为api接口文档书写工具，传送门：[https://github.com/click33/sa-doc](https://github.com/click33/sa-doc)
- 修复：修复部分bug


### 2020-4-20 @v1.0.0
- 第一个版本出炉 
- 包含：项目基架、java代码生成、admin后台管理生成 
- GitHub：[https://github.com/click33/sa-plus](https://github.com/click33/sa-plus)
- gitee：[https://gitee.com/click33/sa-plus](https://gitee.com/click33/sa-plus)
