Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 1.58 KB

错误处理.md

File metadata and controls

80 lines (63 loc) · 1.58 KB

一、apiBase文档

  1. 接口规范
  2. 代码生成
  3. 错误处理
  4. 更新

概述

当前提供两种种错误返回形式,可以通过小部件自行配置。也可以直接在页面中配置。

block:只返回错误信息,通常用于比较严重的错误,需要block用户操作的场景 noBlock:返回数据的同时将错误封装在error字段内,通常是一些提示性的信息,如toast

block:
{
    code: 1,
    message: "示例错误",
    data: [ ]
}

详情页noBlock:

{
    code: 0,
    message: "操作成功",
    data: {
        errors: {
            tittle: "示例错误",
            id: "示例错误"
        }
    }
}

列表页noBlock:点击查看

配置TPL

  • 在页面小部件中指定:
$res->field('params')->widget(DetailApi::class, [
    'useModelResponse' => true,
    'resTpl' => Yii::$app->request->get('tpl'),//指定使用的消息模板
    'model' => $searchModel,
    'columns' => require 'search_columns.php'
]);
  • 通过resBuilder对象指定:
$resBuilder->use($tplName);
  • 全局指定:
为resBuilder配置全局autoChoose方法。
当不指定tpl时默认通过autoChoose方法选择返回模板。
autochoos默认值为:
function () {
    if(Yii::$app->request->isPost) {
        return 'block';
    }
    return 'noBlock';
};

添加自定义模板

  • 通过resBuilder对象按需添加
$resBuilder->tm->setSingleton($tplName, $tplConfig);
  • 配置resBuilder的templates属性