| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 | 
							- <?php
 - 
 - namespace App\Http\Services\Web;
 - 
 - use App\Models\Web\FaceMergeToken;
 - use App\Models\Web\ShareData;
 - 
 - use DB;
 - use GuzzleHttp\Client;
 - 
 - class AiFaceService
 - {
 -     protected $faceMergeTokenDb;
 -     protected $shareDataDb;
 -     
 -     public function __construct()
 -     {
 -         $this->faceMergeTokenDb = new FaceMergeToken();
 -         $this->shareDataDb = new ShareData();
 -         
 -     }
 -     
 -     public function getTokenData()
 -     {
 - 
 -         $res = $this->faceMergeTokenDb
 -             ->select([
 -                 '*'
 -             ])
 -             ->first();
 - 
 -         // \Log::info($res);
 - 
 -         // 整理返回值並返回
 -         return $res;
 -     }
 - 
 -     public function getAccessToken()
 -     {
 -         // \Log::info('service start!');
 -         
 -         $param = [
 -             'grant_type'    => 'client_credentials',
 -             'client_id'     => config('services.ai_face.client_id'),
 -             'client_secret' => config('services.ai_face.client_secret'),
 -         ];
 -         
 -         $url = config('services.ai_face.token_url') . '?' . http_build_query($param);
 - 
 -         $client = new Client();
 -         
 -         $response = $client->request('POST', $url);
 -         
 -         // \Log::info('url: '.$url);
 -         // \Log::info('client_id: '.config('services.ai_face.client_id'));
 -         // \Log::info('client_secret: '.config('services.ai_face.client_secret'));
 -         
 -         return json_decode($response->getBody());
 -         
 -     }
 -     
 -     public function setTokenByDay($accessToken, $type)
 -     {
 -         // DB::enableQueryLog();
 -         if ($type=='insert') {
 -             $this->faceMergeTokenDb
 -                 ->insert([
 -                     'accessToken' => $accessToken,
 -                     'updateDate' => date("Y-m-d"),
 -                     'updateTime' => date("H:i:s"),
 -                 ]);
 -         } else if ($type=='update') {
 -             $this->faceMergeTokenDb
 -                 ->where('id', '1')
 -                 ->update([
 -                     'accessToken' => $accessToken,
 -                     'updateDate' => date("Y-m-d"),
 -                     'updateTime' => date("H:i:s"),
 -                 ]);
 -         }
 -             
 -         
 -         // \Log::debug(DB::getQueryLog());
 -     }
 -     
 -     public function getMergeData($accessToken, $preData)
 -     {
 - 
 -         $param = [
 -             'access_token'    => $accessToken,
 -         ];
 - 
 -         $headers = [
 -             'Content-Type'    => 'application/json',
 -         ];
 - 
 -         $url = config('services.ai_face.merge_url') . '?' . http_build_query($param);
 - 
 -         $client = new Client();
 -         
 -         $response = $client->request('POST', $url , [
 -                 'headers' => $headers,
 -                 'body'    => json_encode($preData),
 -             ]);
 -             
 -         if ($response->getStatusCode()==200) {
 -             $res=json_decode($response->getBody(),true);
 -         }
 -         else
 -             Log::error('error: '.$response->getStatusCode());
 - 
 -         
 -         return json_decode($response->getBody());
 -         
 -     }
 -     
 -     public function getShareId()
 -     {
 - 
 -         $id = $this->shareDataDb
 -                 ->select([
 -                     'id'
 -                 ])
 -                 ->orderBy('id', 'desc')
 -                 ->first();
 -                 // ->toArray()
 -         if (!$id) {
 -             $id['id'] = '0';
 -         }
 -         // \Log::debug(print_r($id,true));
 -         return $id['id'];
 -     }
 - 
 -     public function saveShareData($shareId, $title, $desc, $imageName)
 -     {
 -         
 -         $this->shareDataDb
 -             ->insert([
 -                 'id' => $shareId,
 -                 'title' => $title,
 -                 'desc' => $desc,
 -                 'imageName' => $imageName,
 -                 'createDate' => date("Y-m-d H:i:s"),
 -             ]);
 -         
 -     }
 -     
 -     public function getShareData($shareId)
 -     {
 -         $res = $this->shareDataDb
 -         ->select([
 -             '*'
 -         ])
 -         ->where('id', '=', $shareId)
 -         ->first();
 -         // ->toArray()
 -         
 -         // 整理返回值並返回
 -         return $res;
 - 
 -     }
 - 
 - }
 
 
  |