🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 1.3.8 1. 废弃了 updateFields, addFields 中使用 nofetch 参数来使某字段的表单不渲染的功能 2. indexFields 中当字段对应的值为 `@hidden` 时该字段不展示在表格中 #### 1.3.7 1. 视图模型中 updateFields, addFields, indexFields, search 属性中, 允许使用模板来代替组件名, 这样可以直接渲染一个模板作为当前的字段的 Form 组件, 模板中允许使用和组件相同的变量 2. 修复 SearchComponent 中 search 方法不生效的 bug #### 1.3.6 1. 修复了Input表单组件继承错误的问题 2. 现在支持在视图模型中使用 `fetchForm` 方法接管表单构建流程, 具体请参考 application\\common\\ViewModel.php 中的 fetchForm 方法注释 #### 1.3.5 支持通过插件拓展原有功能, 新增一个插件相关的命令行工具(application\\plugins\\plugin-cli.php), 查看 **[插件说明](application/plugins/readme.md)** #### 1.3.3 1. 涉及权限的操作后, 会自动刷新当前登录用户的权限, 不再需要重新登陆 2. 优化控制器 update 方法, add 方法, 使用自定义的 更新 或 添加流程时 更加方便 3. ViewModel update 方法和 add 方法传入的第二个参数(匿名函数)得到的参数为 当前视图模型实例, update 方法中的查询条件变更为第三个参数 自定义更新和添加方法(Controller中) ~~~ class Product extends Controller { public $model = 'Product'; // 更新数据 public function update($todo = null) { /** * @var $params array 表单获取的内容 * @var $vm ViewModel 当前操作的视图模型实例 * @var $where array update 查询条件 */ return parent::update(function (array $params, ViewModel $vm, array $where) { // todo: 自定义更新数据的流程 }); } // 新增数据 public function add($todo = null) { /** * @var $params array 表单获取的内容 * @var $vm ViewModel 当前操作的视图模型实例 */ return parent::add(function (array $params, ViewModel $vm) { // todo: 自定义添加数据的流程 }); } } ~~~ #### 1.3.1 1. 新增一个 `TableConvert` 表格组件, 用于转换数据 2. 视图模型的 `IndexFields` 属性中, 现在支持使用 `not_field` 参数, 将其不视为一个字段去获取 3. 引入 `phpseclib` 库 4. JWT token 可以配置使用 RSA 加密, 加密后允许在客户端存用户的隐私信息 5. 可以通过 `api\secure\resetRsaKey` 接口重置 RSA 密钥 #### 1.3.0 1. 删除部分测试代码 2. 新增一个地区选择表单组件 `FormArea` 用于选择城市地区 #### 1.2.9 **安全更新**: 修复在没有开启强制路由的情况下可能的 getshell 漏洞 #### 1.2.8 1. Index 视图允许通过 配置 ViewModel 中的 tree 属性来生成树状的结构 ~~~ class Menu extends ViewModel { ... // parent 是记录父级标识的字段, self 是自身的标识 public $tree = [ 'parent' => 'pid', 'self' => 'id' ]; ... ~~~ #### 1.2.6 1. ViewModel 中允许通过 fetchButtons 方法注入按钮. 2. VIewModel 中的 buttons 属性添加了一个参数 params 用于携带跟多自定义参数 **fetchButtons 示例 :** ~~~ ... /** * 注入按钮, 在原有按钮的基础上 新增一个 测试按钮 * @param $row array 表格当前行的数据 * @return array 返回一个 buttons 数组, 规则同 buttons 属性 */ public function fetchButtons ($row) { return array_merge($this->buttons, [[ 'url' => 'test', 'params' => [ 'arg1' => 1 ], 'type' => 'danger', 'name' => '测试按钮' ]]); } ... ~~~ #### 1.2.1 集成了 jwt 相关功能, api 控制器 `app\ApiController` 中加入了自动解析客户端传来的 `token`, 客户端在调用接口时需要在 header 中携带 `token` 放到 `Authorization` 中, 所有继承 `app\ApiController` 的控制器可以通过访问自身的 `token` 属性来获取 `\Lcobucci\JWT\Token` 实例, 如