Procházet zdrojové kódy

Update common.func.php

tags/6.3.2
叙述、别离 před 2 měsíci
rodič
revize
b7ccbf3692
1 změnil soubory, kde provedl 24 přidání a 34 odebrání
  1. +24
    -34
      src/system/common.func.php

+ 24
- 34
src/system/common.func.php Zobrazit soubor

@@ -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']. "&timestamp=".$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;



Načítá se…
Zrušit
Uložit