2.0 好用,👍

Ocr 2.0 Release(拖延症)
三年前在 Github 发布了一个图片识别的 PHP 扩展包 godruoyi/ocr,主要功能是整合几大厂商的图片识别接口,方便统一调用。
当初设计都比较简单,基本是能用就行;
一年后觉得自己技术牛逼了,知识过硬了 ,打算重新发布个版本,已更新下那难看的 last commit,随便慰藉自己当初开源的初衷 吗 。
然后大刀阔斧的开整,结果婚结完了,朋友朋友的婚都结完了、两年过去了,我才重构了 20%。
趁着现在大家都去旅游去了而我还在公司上班的打工命,噼里啪啦完成了 2.0 的改造,算是完成了今年的一番壮举吧。
其实当初还规划了在 2.0 添加响应过滤的功能,原型都写好了:
use Godruoyi\OCR\Support\Response;
$application->aliyun->filters(function (Response $response) {
$body = $response->toArray();
return $body['Response']['IdNum'] ?? null;
})->idcard('...'); // will return string|null
然鹅没想到完美的错误处理方式,那还不如不做,交给开发者自己来魔改吧。阿宝就经跟常我说:「你的拖延症啥时候改改啊」。
就连这篇文章都是几天前写的,然后写了一半,还得现在来补齐。啥时候能一鼓作气,再而兴,三而旺呢。
-
嘿嘿嘿
-
1.0 正常使用, 2.0 提示 {"error_code":14,"error_msg":"IAM Certification failed"}", 是账号发生了改变吗
-
$aOption = [ 'probability' => false, 'detect_direction' => false, ]; $aResult = $oOCR->baidu->generalBasic($sPhoto, $aOption);
-
我在本地尝试下面两种调用都能正常返回,不然你检查下你百度云 access_key/secret_key 配置呢,还有其他问题的话,欢迎到提个 Issue
public function testGeneralBasic() { $response = $this->application->baidu->generalBasic(__DIR__.'/stubs/common.png', [ 'probability' => false, 'detect_direction' => false, ]); $this->assertInstanceOf(Response::class, $response); $this->assertTrue($response->getStatusCode() == 200); } public function testGeneralBasicOnline() { $response = $this->application->baidu->generalBasic('https://img.alicdn.com/tfs/TB1de9cvHuWBuNjSszgXXb8jVXa-900-2767.jpg', [ 'probability' => false, 'detect_direction' => false, ]); $this->assertInstanceOf(Response::class, $response); $this->assertTrue($response->getStatusCode() == 200); }
测试
Time: 3.34 seconds, Memory: 6.00MB OK (3 tests, 5 assertions)
Godruoyi