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