### [BuildAdmin 更新日志](https://gitee.com/wonderful-code/buildadmin)

🔥🔥基于 Vue3.x setup + ThinkPHP6 + TypeScript + Vite + Pinia + Element Plus等流行技术栈的后台管理系统，自适应多端、支持CRUD代码生成、自带WEB终端、同时提供Web和Server端、内置全局数据回收站和字段级数据修改保护、自动注册路由、无限子级权限管理等，无需授权即可免费商用，希望能帮助大家实现快速开发。

## v1.1.4-Release
### 新增
- 模块安装增加依赖模块检测
- 新的依赖管理类
- 通过模块市场为`WebNuxt工程`安装模块的实现

## v1.1.3-Release
### 新增
- `WebNuxt`工程发布，可通过模块市场安装，亦可直接访问[代码仓库](https://gitee.com/wonderful-code/build-admin-nuxt)
- 增加可选的管理员和会员单点登录功能
- 增加直接登录会员账号的方法
- 新增双栏布局效果，顶部栏加左侧栏同时存在
- 确保无需登录的接口不会抛出token过期的异常
- 增加表格普通侧边按钮类型
- 增加根据当前路由路径快捷获取语言翻译的函数
- 后台模块管理增加我的模块按钮

### 修复/重构
- 远程下拉增加信息提示框
- 文件上传失败则不在上传列表显示
- 调整composer依赖
- 可视化CRUD生成的语言包代码按需加载实现
- 优化数据行拖拽排序的逻辑
- 优化数据行侧边按钮的类型定义
- 模块封面图片开启懒加载
- 修改管理员日志的data字段类型为longtext
- 修复添加窗口中存在富文本字段时可能无法关闭的问题
- 修复管理员无权限时跳回首页或被注销的问题
- 修复表格行侧边 confirmButton 按钮 disabled 无效的问题
- 修复从历史记录开始时，远程下拉参数无法选择的问题
- 修复菜单规则只添加为菜单时无法打开的问题
- 修复从数据表开始时字段分析可能出错的问题
- 修复行侧边按钮 disabledTip 属性无效的问题
- 修复前台iframe菜单无法打开的问题
- 修复远程下拉监听值为`null、undefined`时报错的问题
- 修复后台因为管理员模型登录时间获取器导致登录判断报错问题

## v1.1.2-Release
- 此版本有一些不兼容更新，建议在更新前参考：[v1.1.2不兼容更新](https://wonderful-code.gitee.io/guide/other/incompatibleUpdate/v112.html)
- 页面组件与页面语言包全部**按需加载**，大幅减少首屏加载大小
- 更新系统前端的所有可更新依赖到最新稳定版本
- 可视化CRUD增加字段名称检查
- 禁止管理员自己删除自己
- `isAdminApp`方法支持传递`path`进行判断
- `mixins`代码移入到新建的组件内统一管理
- 修复可视化CRUD生成的代码中`-1`没有加引号的问题
- 修复后台单栏布局只有一个菜单时菜单不显示的问题
- 修复模块发布新版本不能减少旧版本模块文件的问题
- 修复模块更新脚本因未加载而不能执行的问题

## v1.1.1-Release
### 新增
- 增加前台会员中心埋点（配合模块为会员中心增加功能）
- 编程式添加会员菜单规则支持

### 优化
- 默认关闭监听SQL
- 服务端返回302时自动删除前端的用户token
- 系统配置保存时只效验和提交当前页的表单数据
- 优化用户信息显示
- 优化`getTableFieldList`接口
- 统一接口响应数据`key`的命名规范
- 默认不再允许上传pdf格式的文件
- `Token::check`方法增加过期不抛出异常时的逻辑

### 修复/重构
- 修复模块下载安装时解压目录名可能错误的问题
- 文件后缀名大写时无法上传的问题
- 修复关联表名带下划线生成的代码出错
- 修复上传组件一处类型检查错误
- 会员中心的用户名默认不再禁止修改
- 会员修改绑定信息时账户验证通过的token在使用后立即删除
- 自定义排序字段，模型onAfterInsert方法生成错误
- 修复生成三级以上的菜单规则时，无法为非超管分配权限的问题
- 修复可视化CRUD删除字段时可能出现报错的问题
- 去除多余的会员菜单规则
- 模块市场中与官网相关的URL修改
- 修复预览图片宽高较大时超出对话框的问题
- 修复公共搜索只有一个输入框时会触发表单的默认行为的问题
- 其他细节

## v1.1.0-Release
### 新增
- **可视化CRUD新增多种快捷组件，并修复已知问题**
- 模块可以在启用和禁用脚本内备份配置数据和运行文件
- 模块支持向main.ts和App.vue添加代码
- 新增会员修改绑定信息（手机号、邮箱）支持
- 文件图片上传增加隐藏附件选择器的选项
- 远程下拉组件增加 label 格式化函数的属性
- 增加颜色选择器（baInput）
- 完善上传组件的onChange等事件

### 优化
- 优化后台登录页面自适应效果
- 优化首页和会员中心菜单样式
- 优化终端警告信息显示效果
- 优化账户名验证错误时的提示消息
- 详情弹窗可以点击弹窗外部进行关闭
- 禁止管理员向自己的角色组添加其他管理员
- 其他细节...

### 修复/重构
- 修复后台编辑弹窗缩放后显示异常的问题
- 修复在第一个tab右击菜单中关闭全部tab时报错的问题 #10
- 修复远程下拉可能出现已聚焦却无选项的问题
- 修复添加管理员和会员时可能出现表单验证信息的问题
- 修复模块管理中会员登录态过期后不自动注销的问题
- 修复系统配置中的数字输入框编辑可能无法保存的问题
- 修复系统配置中的上传组件从附件选择器中选择附件保存无效的问题
- 增加vue-qr依赖
- 增加忽略Desktop.ini

## v1.0.9-Release
- **新增可视化CRUD**
- 去除原命令行CRUD代码生成功能（已打包为模块，按需下载）
- 添加表单颜色选择器和表格内的颜色渲染方式
- 侧边按钮增加 disabled 判定方法和按钮额外属性
- 增加获取数据表字段的辅助函数
- 增加获取一个目录所有文件的辅助函数
- 后台手机端自适应优化
- 公共搜索输入框可一键清空
- 远程下拉默认值优化
- 优化版本类/扩展类
- 优化树状表格
- `DELETE`请求的body改为query以兼容域名CNAME解析
- 在main.ts导入display.css而不是分散导入
- 修复url带参跳转时表格可能报错的问题
- 修复只添加为路由的菜单规则不能刷新的问题
- 修复验权时可能出现错误的问题
- 修复Linux下删除空文件夹可能失败的问题
- 修复自建模块处于未安装状态时显示异常的问题
- 会员切换登录注册时重置表单项 !70
- 会员切换到注册表单时清理用户名
- 管理员分组的上级分组禁止为自身
- 模块管理用户信息弹窗数据更新
- 本地模块更新日志显示异常的问题

## v1.0.8-Release
- **ThinkPHP发布6.1.0版本安全更新**，修正了序列化漏洞问题和优化多语言判断机制。
- 去除`lodash`依赖改用`lodash-es`（后者同时为`Element plus`的依赖，与框架更契合，包体积更小）
- 修复跨域代理示例的规则错误的问题
- 合并打包css文件、增加分包配置示例
- 完善工具函数注释、优化相关代码
- 模块详情展示效果优化

PS: 框架对`TP`的版本限定为`^6.0.0`，针对tp本次安全更新，git包的开发者可以直接`composer update`，若没更新到`v6.1.0`请更换`composer`源，`BuildAdmin`发新版本主要是为了更新完整包和资源包。

## v1.0.7-Release
- 富文本编辑器通过模块市场按需安装（框架不再内置），以方便选择不同的编辑器
- **增加附件资源库**
- 前台用户登录状态检测优化
- 事件监听优化
- 附件管理优化
- 单元格图片预览弹窗可以通过点击遮罩层关闭
- 自定义表格页码相关优化
- 搜索事件Data的类型定义优化
- 修复特殊类型文件上传时可能被限制的问题
- 优化敏感数据修改监听的逻辑
- 修复 typescript-eslint 依赖可能安装失败的问题
- 优化表单密码验证规则

## v1.0.6-Release
- Table组件增加多个插槽位，提供`el-table-column`支持
- 增加WEB端文件上传扩展文件
- 增加文件上传前的类型与大小检查
- 增加文件单位转字节的函数
- 增加系统配置管理类
- 新增以编程的方式删除依赖的功能
- 新增模块安装时对互斥模块的检测
- 增加多个系统预置事件定义
- 增加发送邮件接口
- 增加发送短信接口
- 增加手机验证账户验证方式
- 增加responseType json 以外类型的处理逻辑
- 增加编程式添加系统配置中的快捷配置入口的方法
- 增加清理浏览器缓存的快捷按钮
- 升级element-plus版本到2.2.17
- 优化表单验证
- 优化表格的单元格渲染
- 优化多处类型定义
- 优化后端数据库字段读取函数
- 优化数据管理中数据表和控制器列表的加载
- 优化控制台页面暗黑模式下的文字颜色
- 优化模块安装时对互斥模块的检测
- 优化上传组件
- WEB端语言包文件无限层级读取
- 表格顶部菜单按钮图标在暗黑模式时的样式优化
- 禁用模块时可以选择保留一些由模块添加的依赖项
- 模块状态不为已安装时不定义AppInit事件
- 资源完整路径处理时加入上传文件cdnurl的判断
- Table组件不再使用事件巴士监听相关事件
- 删除文件不存在的附件记录前额外检查是否是本地存储
- 附件管理删除记录时同时删除文件，并提供友好提示信息
- 去除Table组件的action事件
- 去除TableHeader组件的action事件
- 输入组件帮助信息显示效果优化
- 修复对表格第三次排序时(取消排序时)失效的问题
- 修复部分后台功能缓存设置不生效的问题
- 修复多选远程下拉选择一次面板就收缩和无右侧箭头的问题
- 修复菜单规则管理中图标选择器在窗口关闭后残留的问题
- 修复图标选择器选取图标后无法再次显示的问题
- 模块安装器去除等待热更新步骤
- 修复预设表格页码或单页加载数量无效的问题
- 修复主动添加的系统配置不能删除的问题、格式化代码
- 修复模块依赖冲突检测可能异常的问题
- 修复安装云存储模块后，本地上传模块时被上传到云存储的问题
- 修复用户修改头像时顶栏和侧栏的头像图片可能404的问题
- 修复模块依赖冲突时，模块的启用脚本不执行的问题
- 修复模块安装完成后异常的显示了`模块已安装`的错误弹窗
- 管理员管理和会员管理接口中的敏感信息剔除
- 移除多余的IE相关判断
- 其他优化...

## v1.0.5-Release Preview
- 新增**模块市场**，一键安装某个功能、单页或是纯前端技术栈的学习案例项目等等，随时随地为系统添砖加瓦，系统能够自动维护`package.json`和`composer.json`并通过内置终端自动完成模块所需依赖的安装。
- 新增前后台**暗黑模式**支持
- 安装器不再要求数据表前缀必填、安装验证逻辑优化
- 终端原`popen`实现改为`proc_open`
- 重新实现图片文件上传组件
- 单元格渲染为 tags 时支持effect、size等属性
- url的点击事件增加当前行数据的参数
- 为管理员管理功能开启数据限制
- 后台Iframe相关多个细节完善
- 生成代码文件中的缩进改为空格而不是tab
- 访问后端接口时，不再必须通过index.php入口文件
- 放行所有options请求
- 修复顶部菜单columnDisplay和comSearch同时不存在时，仍然会残留一个div边框的问题
- 修复菜单规则管理中无法直接开关规则的问题
- 修复单选远程下拉清理输入框值后无法再读取全部远程数据的问题
- 修复axios封装在showCodeMessage=false时请求无后续处理的问题
- 修复表字段名称为length时CRUD生成语言包报错
- 修复删除菜单规则时未同时删除子级菜单的问题
- 修复角色组的资料可被越权修改的问题
- 修复触发到API请求节流时报错为跨域的问题
- 修复表格顶部下拉菜单复选框和按钮组占位
- 修复已上传文件丢失后，无法再次上传的问题
- 修复有默认值的情况多文件同时上传时文件列表错乱的问题
- 修复隐藏菜单情况刷新页面再展开菜单会导致顶部tab异常的问题
- 修复后台菜单折叠状态刷新后丢失的问题
- 修复管理员昵称过长时首次登录昵称被换行的问题
- 修复登录页面管理员头像位置自适应异常的问题
- 其他细节...

## v1.0.3-Release
- 完善英文语言包
- 公共搜索增加远程下拉组件支持
- 增加数据权限控制支持：不同管理员只可以查看有权数据行 的权限控制功能
- 自动识别表主键并添加到生成的模型属性
- 后台终端按钮只为超级管理员显示
- 关联表指定远程select下拉字段
- 增加表格快速搜索字段是否存在的检测
- 增加以type为后缀的enum等类型字段可被生成为单选框
- 站点系统配置缓存支持
- 增加会员中心开关
- 会员注册时通过API获取可用的验证方式、会员注册验证邮件实现
- 完善会员规则管理
- 表格公共搜索->对开关组件状态的搜索优化
- 公共搜索显示状态可通过baTable实例控制
- 验证码类支持到php8.1
- 去除file_list后缀的字段生成为多文件上传组件(与下拉组件后缀存在冲突)
- 优化角色组权限分配
- 优化默认管理员分组拥有的权限节点
- 数据回收和敏感数据规则中，不再使用带前缀的表全名
- 安装器`npm install`失败自动重试一次
- 安装器增加检测当前端口是否是8000
- 安装器完成页面增加重新安装按钮 (只清理缓存,不会删除install.lock)
- 修复敏感数据规则管理中删除敏感字段时的显示异常问题
- 修复表格时间字段未提供值时显示为当前时间的问题
- 修复管理员个人资料表单中的签名无法被重置的问题
- 修复后端默认应用不存在的问题
- 修复字段类型为char(1)时，生成的单选框无字典数据
- 修复数据表主键不为ID时编辑表单无法保存、表格无法排序等问题
- 修复顶栏标签全屏时，取消全屏的按钮会遮挡表格顶部操作按钮的问题
- 修复前后台路由规则名称重复时可能导致错误跳转问题
- 修复手机号验证正则无法识别部分已知号码的问题
- 修复系统配置中的禁止访问IP和时区配置项无效的问题
- 修复系统配置中富文本编辑器层级过高和无法编辑的问题
- 修复系统配置中时间和城市类型的输入组件无法正常录入值的问题
- 修复数据表没有注释时不生成菜单规则的问题
- 修复表格右侧无buttons，且要初始化排序时会报错的问题
- 修复单元格渲染为tag时值为0等无法显示的问题
- 修复images字段名称后缀不能生成为图片上传组件的问题
- 修复管理员日志权限控制不完善的问题
- 修复管理员可通过后台使自己部分权限丢失的问题
- 修复管理员分组被禁用后还可以被远程select选择的问题
- 修复删除管理员时没有同时删除管理员的分组数据的问题
- 修复远程下拉搜索结果无法选中的问题、同时优化下拉选项面板显示逻辑
- 修复菜单规则和会员分组被禁用后在远程select中依然可以选择的问题
- 修复重复安装系统时.env-example被多次写入数据库资料的问题
- 修复数据安全监听中表不存在时的日志记录异常
- 其他细节优化

## v1.0.2-Release
- **增加前台会员中心**
- 安装器增加NPM源自动设置选项
- CRUD：增加tinyint(1)类型的字段在符合条件下自动生成为单选框
- baInput：单选/复选框/下拉框默认值传递数字支持
- baInput：优化年份选择器
- baInput：文件上传组件增加预览响应
- web端布局(layouts)内的目录结构调整
- 增加跨域代理配置示例，提供给有需要的小伙伴（感谢@ttdms）
- 增加邮件发送类、增加phpMailer依赖、系统邮件配置增加测试邮件发送功能
- 后台右侧菜单增加清理缓存按钮
- 会员余额以分为单位保存到数据库，并在模型层做转换处理
- 附件管理增加上传会员字段
- 优化富文本编辑器滚动条样式、通用弹窗表单增加圆角
- 更新wangeditor依赖版本到5.1.1
- 增加会员资料的状态商店、优化后台登录状态判断逻辑
- 表格开关类型字段的公共搜索使用下拉框渲染
- 重构了站点首页
- 更新font-awesome的资源地址到国内CDN
- 去除build:online命令，使用build代替
- 修复关闭管理员登录验证码后，登录任然报错验证码不存在的问题
- 修复富文本编辑器上传文件时提示未配置上传URL的问题
- 修复表格中的tag和url在无值时任然显示组件的问题
- 修复侧边菜单栏的非激活菜单项的图标颜色不符合直觉的问题
- 修复CRUD生成的代码在添加数据时权重字段无效的问题
- 修复部分日志记录没有标题的问题
- 修复已在后台或会员中心再跳转到模块首页时会卡在loading页面的问题
- 修复系统配置编辑时提示变量名不能为空的问题
- 修复后台表格右侧字段下拉没有高度限定的问题、修复一处样式缺失
- 修复管理员注销时偶尔需要权限的问题
- 修复默认的数据回收规则配置不完整的问题
- 修复表格顶部的批量操作按钮在未选择数据时依然可点击的问题
- 修复表格内tag在公共搜索中被渲染为下拉框的问题
- 修复管理员登录页面编译后可能存在的username未定义报错

## v1.0.1-Release
- 增加终端配置功能
- 终端增加是否运行于安装服务下的检测
- FormItem增加额外的块级输入提示选项
- 优化管理分组权限节点选择时的样式
- 语言包整理
- 额外暴露i18n实例，实现在非setup中使用语言翻译
- 新增站点配置状态store
- 修复bug、完善README

## v1.0.0-beta
**公共测试版本**
- 内置WEB终端
- 一键CRUD
- Pinia
- 可视化配置+动态加载路由
- 细粒度权限控制
- 数据修改保护、数据全局回收
- ...