Face.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // |ZBPHP[基于ThinkPHP5.1开发]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016-2019 http://www.benbenwangluo.com
  6. // +----------------------------------------------------------------------
  7. // | Author 似水星辰 [ 2630481389@qq.com ]
  8. // +----------------------------------------------------------------------
  9. // | 中犇软件 技术六部 出品
  10. // +----------------------------------------------------------------------
  11. namespace addons\BaiduAi\controller;
  12. use app\common\controller\Common;
  13. require_once(dirname(dirname(__FILE__))."/sdk/AipFace.php");
  14. /**
  15. * 图像识别控制器
  16. * @author 晓风<215628355@qq.com>
  17. * @package plugins\Sms\controller
  18. */
  19. class Face extends Common
  20. {
  21. public $client;
  22. public function __construct(){
  23. $config = addons_config('BaiduAi');
  24. $this->client = new \AipOcr($config['app_id'], $config['api_key'], $config['secret_key']);
  25. }
  26. public function setConnectionTimeoutInMillis($ms){
  27. $this->client->setConnectionTimeoutInMillis($ms);
  28. }
  29. public function setSocketTimeoutInMillis($ms){
  30. $this->client->setSocketTimeoutInMillis($ms);
  31. }
  32. public function __call($method, $args){
  33. $ret = call_user_func_array([$this->client, $method], $args);
  34. if(isset($ret['error_code']) && $ret['error_code'] != 0){
  35. $error_msg = $this->getErrorMsg($ret['error_code'])?:$ret['error_msg'];
  36. exception($error_msg);
  37. }else{
  38. return $ret;
  39. }
  40. }
  41. public function getErrorMsg($errorCode){
  42. $errors = [
  43. '4' => '集群超限额',
  44. '14' => 'IAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak sk的方式调用',
  45. '17' => '每天流量超限额',
  46. '18' => 'QPS超限额',
  47. '19' => '请求总量超限额',
  48. '100' => '无效参数',
  49. '110' => 'Access Token失效',
  50. '111' => 'Access token过期',
  51. '216015' => '模块关闭',
  52. '216100' => '请求中包含非法参数,请检查后重新尝试',
  53. '216101' => '缺少必须的参数,请检查参数是否有遗漏',
  54. '216102' => '请求了不支持的服务,请检查调用的url',
  55. '216103' => '请求中某些参数过长,请检查后重新尝试',
  56. '216110' => 'appid不存在,请重新核对信息是否为后台应用列表中的appid',
  57. '216111' => 'userid信息非法,请检查对应的参数',
  58. '216200' => '图片为空或者base64解码错误',
  59. '216201' => '上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片',
  60. '216202' => '上传的图片大小错误,现阶段我们支持的图片大小为:base64编码后小于4M,分辨率不高于4096*4096,请重新上传图片',
  61. '216300' => '数据库异常,少量发生时重试即可',
  62. '216400' => '后端识别服务异常,可以根据具体msg查看错误原因',
  63. '216401' => '内部错误',
  64. '216402' => '未找到人脸,请检查图片是否含有人脸',
  65. '216500' => '未知错误',
  66. '216611' => '用户不存在,请确认该用户是否注册或注册已经生效(需要已经注册超过5s)',
  67. '216613' => '删除用户图片记录失败,重试即可',
  68. '216614' => '两两比对中图片数少于2张,无法比较',
  69. '216615' => '服务处理该图片失败,发生后重试即可',
  70. '216616' => '图片已存在',
  71. '216617' => '新增用户图片失败',
  72. '216618' => '组内用户为空,确认该group是否存在或已经生效(需要已经注册超过5s)',
  73. '216631' => '本次请求添加的用户数量超限',
  74. ];
  75. return $errors[$errorCode]?: '';
  76. }
  77. }