RDS系统中有很多内置的方法,可以实现很多的功能!
image.png
如果这些方法还是不能满足业务需求的需要,就需要进行二次开发。
推荐的方法:利用内置方法,进行修改定制。
优势:默认就可以纳入到权限管理中,在生成的代码基础上修改,比较简单
缺点:需要设置注释和配置代码生成开关,如果忘记则会丢失定制的代码

定制内置方法

定制内置方法非常简单:

  1. 选中内置方法,以创建新的方法
  2. 修改方法名称,英文名,图标,按钮颜色
  3. 点击生成代码
  4. 在控制器对应的方法添加代码保护标记:/start/ … /end/
  5. 修改方法的“后端生成”选项为关闭状态

    如何选择合适的内置方法

    我们对方法进行了分类,大家可以根据这些分类的标准,对照自己的需求,合理选择内置方法
与行有无关系 是否有表单录入 是否有初始化数据 是否传参 方法名称
有关(一行) 默认有 修改/数值加/数值减
有关(一行或多行) 删除/设置指定值
无关 默认无 添加
无关 默认无 无关联按钮

案例

比如:我们对指定的学员的成绩进行统计分析:
这个操作我们希望是通过手工的方式启动,那么,我们就定制方法实现:
分析:

  1. 行的相关性:针对指定学生,那么学生可以选择一个或者多个,与行有关,传递指定学员的id
  2. 是否输入,执行数据统计,不需要输入信息,无表单,无初始化

可选的方法:删除和设置指定值,因为不需要设置,而是执行数据统计这个方法,则选“删除”这个类型

操作步骤

  1. 创建方法:方法名称为“执行统计”,方法英文名:doStatisical,其余默认

image.png

  1. 生成代码

image.png

  1. 修改控制中的doStatisical方法,添加注释标记

    1. /*start*/
    2. /*
    3. * @Description 执行统计
    4. */
    5. function doStatisical(){
    6. $idx = $this->request->post('learner_id', '', 'serach_in');
    7. if(!$idx) throw new ValidateException ('参数错误');
    8. LearnerModel::destroy(['learner_id'=>explode(',',$idx)],true);
    9. return json(['status'=>200,'msg'=>'操作成功']);
    10. }
    11. /*end*/
  2. 修改方法“后端生成”为关闭状态

image.png