如何使用 Exception异常插件 接管 webman-admin 异常

Tinywan

插件

配置

全局配置

修改 webman-admin /plugin/admin/config/exception.php 异常配置文件为异常插件接管

return [
    '' => \Tinywan\ExceptionHandler\Handler::class,
];

接口路由不存在

修改 webman-admin /plugin/admin/config/route.php 路由不存在回调

Route::fallback(function (Request $request) {
    return response($request->uri() . ' not found' , 404);
}, 'admin');

修改为一下配置

Route::fallback(function () {
    throw new \Tinywan\ExceptionHandler\Exception\RouteNotFoundException();
}, 'admin');

结果

测试获取账号信息接口 http://127.0.0.1:8787/app/admin/account/info

{
    "code": 0,
    "data": {
        "id": 1,
        "username": "admin",
        "nickname": "超级管理员",
        "avatar": "/app/admin/avatar.png",
        "email": null,
        "mobile": null,
        "isSupperAdmin": true,
        "token": "5a814e071702d9415c776f240d5645fc"
    },
    "msg": "ok"
}

尝试修改接口地址 http://127.0.0.1:8787/app/admin/account/info-2023

未接管之前响应

截图

接管之后响应

{
    "code": 0,
    "msg": "路由地址不存在",
    "data": {
        "request_url": "GET //127.0.0.1:8787/app/admin/account/info-2023",
        "timestamp": "2023-03-12 14:14:48",
        "client_ip": "172.18.0.1",
        "request_param": []
    }
}
1209 2 0
2个评论

Junway

Webman\Exception\NotFoundException: Class 'Tinywan\ExceptionHandler\Handler' not found
安装报错呢

  • Tinywan 2023-04-02

    你这是安装问题

  • Junway 2023-04-02

    什么的安装问题?webman还是插件? 不管是自己接管Exception还是用你的插件. 都会报Webman\Exception\NotFoundException, 应该是官方的什么bug

  • Tinywan 2023-04-02

    这个就不清楚了

jetlong

大佬,这里有个推送钉钉的消息,没有根据 app.php 里的配置来,一旦系统又 error错误,将会推送到dingding接口,其实我是自定义了一个推送到企业微信的,不需要dingding

截图

截图

  • Tinywan 2024-03-08

    你可以提交一个PR。把推送到企业微信的合并上去

  • jetlong 2024-03-13

    我是用另外类写了推送的方法,没有在原有的那个扩展里加,根据大佬的文档自定义了一个异常类,在 triggerNotifyEvent 里增加了调用这个类的方法

Tinywan

11230
积分
0
获赞数
0
粉丝数
2020-01-14 加入
🔝