|
|
@@ -607,36 +607,31 @@ function GetMimeTypeOrExtension($str, $t = 0) { |
|
|
|
return "dedebiz"; |
|
|
|
} |
|
|
|
} |
|
|
|
// 用于实际请求接口并返回处理结果 |
|
|
|
//用于实际请求接口并返回处理结果 |
|
|
|
function DedeSearchDo($action, $parms=array()) { |
|
|
|
if ($action === 'update') { |
|
|
|
DedeSearchDo('delete', $parms); |
|
|
|
return DedeSearchDo('add', $parms); |
|
|
|
} |
|
|
|
// 生成完整请求 URL |
|
|
|
//生成完整请求URL |
|
|
|
$url = DedeSearchAPIURL($action, $parms); |
|
|
|
|
|
|
|
// 初始化 cURL |
|
|
|
//初始化cURL |
|
|
|
$ch = curl_init(); |
|
|
|
curl_setopt($ch, CURLOPT_URL, $url); // 设置请求 URL |
|
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回结果而不是直接输出 |
|
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间(秒) |
|
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // 设置连接超时(秒) |
|
|
|
curl_setopt($ch, CURLOPT_USERAGENT, 'DedeSearchAPI/1.0'); // 设置 User-Agent |
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 支持https连接 |
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 支持https连接 |
|
|
|
|
|
|
|
// 执行请求 |
|
|
|
curl_setopt($ch, CURLOPT_URL, $url); //设置请求URL |
|
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回结果而不是直接输出 |
|
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 10); //设置超时时间(秒) |
|
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //设置连接超时(秒) |
|
|
|
curl_setopt($ch, CURLOPT_USERAGENT, 'DedeSearchAPI/1.0'); //设置User-Agent |
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //支持https连接 |
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //支持https连接 |
|
|
|
//执行请求 |
|
|
|
$response = curl_exec($ch); |
|
|
|
|
|
|
|
// 获取 HTTP 状态码和错误信息 |
|
|
|
//获取HTTP状态码和错误信息 |
|
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); |
|
|
|
$curlError = curl_error($ch); |
|
|
|
|
|
|
|
// 关闭 cURL 资源 |
|
|
|
//关闭cURL资源 |
|
|
|
curl_close($ch); |
|
|
|
|
|
|
|
// 处理 HTTP 错误 |
|
|
|
//处理HTTP错误 |
|
|
|
if ($response === false || $httpCode !== 200) { |
|
|
|
return array( |
|
|
|
'code' => -1, |
|
|
@@ -644,8 +639,7 @@ function DedeSearchDo($action, $parms=array()) { |
|
|
|
'data' => null, |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 解析返回的 JSON 数据 |
|
|
|
//解析返回的JSON数据 |
|
|
|
$result = json_decode($response, true); |
|
|
|
if (json_last_error() !== JSON_ERROR_NONE) { |
|
|
|
return array( |
|
|
@@ -654,8 +648,7 @@ function DedeSearchDo($action, $parms=array()) { |
|
|
|
'data' => null, |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 检查返回的业务逻辑中的 code |
|
|
|
//检查返回的业务逻辑中的code |
|
|
|
if (!isset($result['code']) || $result['code'] !== 0) { |
|
|
|
return array( |
|
|
|
'code' => isset($result['code'])? $result['code'] : -3, |
|
|
@@ -663,21 +656,19 @@ function DedeSearchDo($action, $parms=array()) { |
|
|
|
'data' => null, |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 返回成功结果 |
|
|
|
//返回成功结果 |
|
|
|
return array( |
|
|
|
'code' => 0, |
|
|
|
'message' => 'Success', |
|
|
|
'data' => isset($result['data'])? $result['data'] : null, |
|
|
|
); |
|
|
|
} |
|
|
|
// 获取接口地址 |
|
|
|
//获取接口地址 |
|
|
|
function DedeSearchAPIURL($action, $parms=array()) |
|
|
|
{ |
|
|
|
$baseUrl = DEDEBIZSEARCHHOST."/api/$action"; // 替换为实际的 API 地址 |
|
|
|
|
|
|
|
// 添加公共参数 |
|
|
|
$timestamp = time(); // 当前时间戳 |
|
|
|
$baseUrl = DEDEBIZSEARCHHOST."/api/$action"; //替换为实际的API地址 |
|
|
|
//添加公共参数 |
|
|
|
$timestamp = time(); //当前时间戳 |
|
|
|
$parms['timestamp'] = $timestamp; |
|
|
|
$parms['pageSize'] = isset($parms['pageSize'])? $parms['pageSize']:10; |
|
|
|
$parms['page'] = isset($parms['page'])? $parms['page']:1; |
|
|
@@ -687,16 +678,15 @@ function DedeSearchAPIURL($action, $parms=array()) |
|
|
|
$parms['page'] = 0; |
|
|
|
$parms['q'] = isset($parms['id'])? $parms['id']:""; |
|
|
|
} |
|
|
|
|
|
|
|
// 生成签名字符串 |
|
|
|
//生成签名字符串 |
|
|
|
$signBaseString = "key=" . DEDEBIZSEARCHKEY . "&q=".$parms['q']. "&pageSize=".$parms['pageSize']. "&page=".$parms['page']. "×tamp=".$parms['timestamp']; |
|
|
|
$parms['sign'] = md5($signBaseString); // 使用 MD5 生成签名 |
|
|
|
$parms['sign'] = md5($signBaseString); //使用MD5生成签名 |
|
|
|
if ($action == "delete" || $action == "add") { |
|
|
|
unset($parms['q']); |
|
|
|
unset($parms['pageSize']); |
|
|
|
unset($parms['page']); |
|
|
|
} |
|
|
|
// 拼接完整 URL |
|
|
|
//拼接完整URL |
|
|
|
$finalQueryString = http_build_query($parms); |
|
|
|
$finalUrl = $baseUrl . '?' . $finalQueryString; |
|
|
|
|
|
|
|