当前提供两种种错误返回形式,可以通过小部件自行配置。也可以直接在页面中配置。
block:只返回错误信息,通常用于比较严重的错误,需要block用户操作的场景 noBlock:返回数据的同时将错误封装在error字段内,通常是一些提示性的信息,如toast
block:
{
code: 1,
message: "示例错误",
data: [ ]
}
详情页noBlock:
{
code: 0,
message: "操作成功",
data: {
errors: {
tittle: "示例错误",
id: "示例错误"
}
}
}
列表页noBlock:点击查看
- 在页面小部件中指定:
$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属性