作者 lyh
... ... @@ -120,6 +120,7 @@ class QuanqiusouApi
/**
* 获取每周谷歌排名数据
* fixme https://quanqiusou.cn/extend_api/api/data/2024-09-02.json
* @return array|false|mixed
* @author zbj
* @date 2023/5/11
... ...
... ... @@ -215,7 +215,7 @@ class PrivateController extends BaseController
if (empty($project)) {
return $this->error('未找到当前域名对应的项目!');
}
$optimize = $project->optimize;
$optimize = $project->deploy_optimize;
$keyword = $project->project_keyword;
$keywords = explode("\r\n", $keyword ? $keyword->main_keyword : []);
$result = [
... ... @@ -245,7 +245,7 @@ class PrivateController extends BaseController
return $this->error('未找到当前域名对应的项目!');
}
ProjectServer::useProject($project->id);
$products = Product::with('category')->where(['status' => Product::STATUS_ON])->paginate($page_size);
$products = Product::select(['id', 'title', 'thumb', 'gallery', 'intro', 'content', 'keyword_id', 'route'])->with('category')->where(['status' => Product::STATUS_ON])->paginate($page_size);
// $products_ids = $products->pluck('id')->toArray();
// $category_ids = CategoryRelated::whereIn('product_id', $products_ids)->pluck('cate_id')->toArray();
... ... @@ -255,25 +255,18 @@ class PrivateController extends BaseController
$keyword_ids = array_reduce($keyword_id, 'array_merge', array());
$keyword = Keyword::whereIn('id', $keyword_ids)->pluck('title', 'id')->toArray();
$result = [];
foreach ($products as $product) {
$product_keyword = [];
foreach ($product->keyword_id as $k_id) {
array_push($product_keyword, $keyword[$k_id]);
}
$product_category = $product->category->pluck('title')->toArray();
$result[] = [
'title' => $product->title,
'thumb' => $product->thumb,
'gallery' => $product->gallery,
'intro' => $product->intro,
'content' => $product->content,
'category' => $product_category,
'keyword' => $product_keyword,
'route' => $product->route
];
unset($product->category);
unset($product->keyword_id);
$product->category = $product_category;
$product->keyword = $product_keyword;
}
return $this->success($result);
return $this->success($products);
}
/**
... ...
... ... @@ -86,7 +86,12 @@ class ProjectAssociationController extends BaseController
$this->response('success', Code::SERVER_ERROR);
}
$cache = isset($cache);
$result = ProjectAssociationServices::getInstance()->getAiccWechatLists($isRes, $app, $cache);
$search = request()->input('search');
// $result = ProjectAssociationServices::getInstance()->getAiccWechatLists($isRes, $app, $cache);
$result = ProjectAssociationServices::getInstance()->getWorkChatRoomList($search, $isRes->friend_id);
$result['info'] = [
'friend_id' => $isRes->friend_id ?? 0
];
$this->response('success', Code::SUCCESS, $result);
}
}
... ...
... ... @@ -9,6 +9,7 @@ use App\Services\BaseService;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
class ProjectAssociationServices extends BaseService
{
... ... @@ -151,4 +152,48 @@ class ProjectAssociationServices extends BaseService
];
return $result;
}
/**
* 获取AI客服列表
* @author zbj
* @date 2024/9/7
*/
public function getWorkChatRoomList($search = '', $friend_id = 0){
$param = [
'search' => $search,
'time' => time(),
];
if(!$search && $friend_id){
$param['friend_id'] = $friend_id;
}
$param['sign'] = $this->getSign($param);
$url = 'https://hub.ai.cc/api/globalso_ai_customer_service/chatroom_list';
$result = Http::withoutVerifying()->post($url, $param)->json();
if(empty($result) || $result['status'] != 200){
return [];
}
return $result;
}
/**
* @param $data
* @return string
*/
public function getSign($data)
{
if (empty($data) || FALSE == is_array($data))
return '';
unset($data['sign']);
ksort($data);
// 放弃http_build_query 会将空数据字段抛弃
// $string = http_build_query($data);
$tem = [];
foreach ($data as $key => $val) {
$tem[] = $key . '=' . urlencode($val);
}
$string = implode('&', $tem);
$key = md5('quanqiusou.com');
$sign = md5($string . $key);
return $sign;
}
}
... ...