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;
-
- }
-
- }
|