12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- namespace app\admin\common;
- use think\facade\Cache;
- class Ocr
- {
- private $name="hw98795781";
- private $id="0b5f3e336280f3c91f09c01ad29e253e";
- private $password="wyhtQazwsx12";
- public $region="cn-north-4";
- public $project_id ="0b5f50097c80f2722fd7c01af96659ce";
- private $auth_api="https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens?nocatalog=1";
- public $token="";
- public function GetToken(){
- $params=[
- "auth"=>[
- "identity"=>[
- "methods"=>["password"],
- "password"=>[
- "user"=>[
- "domain"=>["name"=>$this->name],
- "name"=>$this->name,
- "password"=>$this->password
- ]
- ]
- ],
- "scope"=>[
- "project"=>["name"=>$this->region,"id"=>$this->project_id]
- ]
- ]
- ];
- $this->token=Cache::get("x-auth-token");
- if($this->token==""){
- $result = post($this->auth_api,json_encode($params));
- $data =explode("\r\n",$result);
- array_walk($data,function (&$val,$key){
- $temp = explode(":",$val);
- if(count($temp)>1){
- $val=[$temp[0]=>$temp[1]];
- }
- });
- $token=array_column($data,"X-Subject-Token");
- $this->token= $token[0];
- Cache::set("x-auth-token",$token[0],23*3600);
- }
- }
- public function query($img="",$url=""){
- if($img==""&&$url==""){
- return ["code"=>1003,"msg"=>"图片识别失败"];
- }
- $this->GetToken();
- $header=["x-auth-token:" .$this->token,"Content-Type:application/json;charset=UTF-8"];
- $urlc ="https://ocr.cn-north-4.myhuaweicloud.com/v2/".$this->project_id."/ocr/business-license";
- $param=["url"=>$url,"image"=>$img];
- $key = post2($urlc,json_encode($param),$header);
- if($key==false){
- $return = ["code"=>1003,"msg"=>"图片识别失败"];
- }else{
- $return = ["code"=>0,"msg"=>"图片识别成功","data"=>json_decode($key,true)];
- }
- return $return;
- }
- }
|