文中的LayUIAdminPro版本为v2020.4.1。使用的软件是IDEA,你问我为什么不用vsCode?为了偷懒,就使用IDEA。
这次直接正片。
我们在使用LayUI时,如果请求错误,提示的内容不够详细,如下图。
下图是LayUIAdminPro项目的目录结构,如果想修改提示的错误信息,需要修改src/lib/view.js文件。
进入view.js后,复制搜索下面的内容,就到了错误信息相关的代码了。
if(res[response.statusName] == statusCode.ok) {
我们只需要修改“其它异常”这部分代码即可,如下图。
var errorText = [
'<cite>Error:</cite> ' + (res.message) + '<br/>' +
'<cite>Code:</cite> ' + (res[response.statusName])
,debug()
].join('');
view.error(errorText);
如果需要根据状态码提示不同的错误,可以在if后添加下面的内容:
elseif (res[response.statusName] === 407) {
view.exit();
} else if (res[response.statusName] === 401) {
view.exit();
} else if (res[response.statusName] === 403) {
view.error("没有权限访问")
} else if (res[response.statusName] === 404) {
view.error("请求的接口或者地址不存在")
} else if (res[response.statusName] === 405) {
view.error("不支持请求的http method")
} else if (res[response.statusName] === 406) {
view.error("操作的数据不存在")
} else if (res[response.statusName] === 410) {
view.error("提交的参数违反约束")
} else if (res[response.statusName] === 411) {
view.error("提交的参数类型错误")
} else if (res[response.statusName] === 400) {
view.error("业务错误,请联系开发人员处理")
} else if (res[response.statusName] === 500) {
view.error(res.message + '(code:' + res[response.statusName] + ')' )
} else if (res[response.statusName] === 600) {
view.error("业务发生错误需要将错误信息转换并提示用户")
}
实用小知识:IDEA使用Shift+Ctrl+R键,可以全局搜索替换。