thinkphp-vue-admin后台界面| 前端分离方案自带一套thinkphp开发集成后台界面,内置权限管理,API响应,psysh等多功能工具推荐一个thinkphp权限管理包:https://github.com/surest-sky/thinkphp-permission功能自带登录验证,快速完成数据格式校验,自带权限管理机制支持权限管理自动生成节点,内置响应格式处理,支持后台菜单控制。使用它可以快速搭建一个基本的 前后端分离场景。后台在线地址:http://v-web.surest.cn/账号:admin密码:admin123vue地址 :https://github.com/surest-sky/thinkphp-vue-admin安装gitclonehttps://github.com/surest-sky/think-vue-admin-api.gitcdthink-vue-admin-apicomposer安装目录下导入`permission.sql`,初始化权限节点phpthinkinit_permission--actionreset关于应用psysh什么是psysh:http://vergil.cn/archives/psysh>phpthinkpsysh\app\common\例子::精神();输出:2->phpthinkpsysh\app\common\Example::init_permission();输出:更新节点以完成自定义验证器|validate具体用法不详,大概定义一个validator如下,继承app\common\validate\BaseValidate验证数据$validate=(newCircleValidate())->goCheck();$data=$validate->validatedData();#获取验证后的数据然后常用的正则和一些方法可以写到BaseValidate中比如可以通过这种方式获取1,2,3,4等常用验证ids格式的数据#验证ids$validate=(newIdsValidate())->goCheck();$ids=$validate->getIds();响应方法$this->successed();{"msg":"成功","code":200,"data":{}}$this->internalError();{"msg":"服务器错误","code":500,"data":{}}$this->notFond();{"msg":"NotFound","code":404,"data":{}}$this->frobidden();{"msg":"未经授权","code":401,"data":{}}$this->failed();{"msg":"Authorizationfailed","code":403,"data":{}}在BaseController中使用ApiResponse;继承BaseController使用response时,直接$this->successed($list);具体可见方法:appcommonTraitsApiResponse异常处理控件为在app.php中,我们接管异常,将响应格式替换为我们的ApiResponse,具体见方法,app\common\exception\Handler异常处理控制后,自定义异常处理见:http://surest.cn/archives/85/简单说明一下:在handler.php中,将当前抛出的异常和我们需要处理的异常传入进行校验,使用instanceof判断是哪个异常来的,这样做的好处是对于Monitor不用异常,并抛出指定的异常错误信息或日志。自定义异常处理必须继承CustomExceptionInterface接口。在通过showMsg抛出异常的代码,我们会发现一个问题。handler.php中的异常信息是Returned,官方文档中有介绍,**使用异常处理接管的函数必须返回response响应,所以可以看到在BaseException中设置is_anomaly_andling_takeover就是告诉ApiResponse它需要返回回复回复交流群QQ交流群
