This commit is contained in:
Your Name
2026-06-04 16:51:25 +08:00
parent 84eef45553
commit b566e60624
4 changed files with 127 additions and 21 deletions
+40
View File
@@ -41,6 +41,32 @@ $forceDisable = filter_var($forceDisableRaw, FILTER_VALIDATE_BOOLEAN);
// 已填 CUSTOMER+KEY 即启用;需临时关闭时设 LOGISTICS_KUAIDI100_DISABLE=trueLOGISTICS_KUAIDI100_ENABLE 已废弃,可删)
$kuaidiEnabled = ! $forceDisable && $hasCreds;
// 京东官方物流接口(JOS 开放平台 https://api.jd.com/routerjson
// 仅当填好 APP_KEY / APP_SECRET / ACCESS_TOKEN 时启用;作为快递100 对京东自营单(JDVE…)轨迹陈旧时的兜底数据源。
// 未配置时本段 enable=falseExpressTrackService 完全沿用现有快递100 逻辑,互不影响。
$envJd = static function (string $suffix, $default = '') use ($stripQuotes) {
$top = 'JD_LOGISTICS_' . $suffix;
$v = env($top, null);
if ($v !== null && $v !== '') {
return $stripQuotes((string) $v);
}
// 兼容误写进 [trtc] 等分区的情况
$nested = env('trtc.' . $top, $default);
return $stripQuotes((string) $nested);
};
$jdAppKey = $envJd('APP_KEY', '');
$jdAppSecret = $envJd('APP_SECRET', '');
$jdAccessToken = $envJd('ACCESS_TOKEN', '');
$jdHasCreds = $jdAppKey !== '' && $jdAppSecret !== '' && $jdAccessToken !== '';
$jdDisableRaw = env('JD_LOGISTICS_DISABLE', null);
if ($jdDisableRaw === null || $jdDisableRaw === '') {
$jdDisableRaw = env('trtc.JD_LOGISTICS_DISABLE', false);
}
$jdDisabled = filter_var($jdDisableRaw, FILTER_VALIDATE_BOOLEAN);
$jdEnabled = ! $jdDisabled && $jdHasCreds;
return [
'kuaidi100' => [
'enable' => $kuaidiEnabled,
@@ -48,4 +74,18 @@ return [
'key' => $key,
'query_url' => $envKuaidi('QUERY_URL', 'https://poll.kuaidi100.com/poll/query.do'),
],
'jd' => [
'enable' => $jdEnabled,
'app_key' => $jdAppKey,
'app_secret' => $jdAppSecret,
'access_token' => $jdAccessToken,
'gateway' => $envJd('GATEWAY', 'https://api.jd.com/routerjson'),
// 青龙运单轨迹查询;如改用 ECLP 等可在 .env 覆盖 method / param_key / waybill_field
'method' => $envJd('METHOD', 'jingdong.ldop.receive.trace.get'),
'param_key' => $envJd('PARAM_KEY', '360buy_param_json'),
'waybill_field' => $envJd('WAYBILL_FIELD', 'waybillCode'),
// 部分接口需商家编码 / 事业部编码,可选
'customer_code' => $envJd('CUSTOMER_CODE', ''),
'api_version' => $envJd('API_VERSION', '2.0'),
],
];