...
|
...
|
@@ -34,18 +34,6 @@ class Yohobuy |
|
|
'h5' => 'fd4ad5fcfa0de589ef238c0e7331b585',
|
|
|
);
|
|
|
|
|
|
//分流服务器接口
|
|
|
public static $interfaceShunt = array(
|
|
|
'tencentServers' => array(
|
|
|
'api' => array('123.206.1.98', '123.206.2.80'),
|
|
|
'service' => array('123.206.1.98', '123.206.2.80')
|
|
|
),
|
|
|
'awsServers' => array(
|
|
|
'api' => 'app-java-168863769.cn-north-1.elb.amazonaws.com.cn',
|
|
|
'service' => 'service-yoho-579825100.cn-north-1.elb.amazonaws.com.cn'
|
|
|
)
|
|
|
);
|
|
|
|
|
|
/**
|
|
|
* 取得当前的客户端类型
|
|
|
*/
|
...
|
...
|
@@ -159,6 +147,13 @@ class Yohobuy |
|
|
$isService = true;
|
|
|
$url = self::_getUrl($url, $data);
|
|
|
}
|
|
|
|
|
|
//$url 返回为空,走原先的url
|
|
|
if (empty($url)) {
|
|
|
$isApi = false;
|
|
|
$isService = false;
|
|
|
$url = $urlBack;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 销毁私钥参数
|
...
|
...
|
@@ -306,6 +301,13 @@ class Yohobuy |
|
|
$isService = true;
|
|
|
$url = self::_getUrl($url, $data);
|
|
|
}
|
|
|
|
|
|
//$url 返回为空,走原先的url
|
|
|
if (empty($url)) {
|
|
|
$isApi = false;
|
|
|
$isService = false;
|
|
|
$url = $urlBack;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$ch = curl_init($url);
|
...
|
...
|
@@ -667,10 +669,18 @@ class Yohobuy |
|
|
*/
|
|
|
private static function _getUrl($url, $param)
|
|
|
{
|
|
|
if (USE_INTER_FACE_SHUNT === false) {
|
|
|
return $url;
|
|
|
if (USE_CACHE === fasle || USE_INTER_FACE_SHUNT === false) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$interfaceShunt = Cache::get('INTERFACE_SHUT_KEY', 'master');
|
|
|
|
|
|
if (empty($interfaceShunt)) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$interfaceShunt = json_decode($interfaceShunt, true);
|
|
|
|
|
|
$uid = 0;
|
|
|
$mod = 0;
|
|
|
|
...
|
...
|
@@ -680,20 +690,67 @@ class Yohobuy |
|
|
}
|
|
|
|
|
|
if ($mod > 128 || $uid === 0) {
|
|
|
|
|
|
$paseUrl = parse_url($url);
|
|
|
|
|
|
if (strpos($url, 'api.')) {
|
|
|
$url = 'http://' . self::$interfaceShunt['awsServers']['api'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
|
|
|
if (empty($interfaceShunt['aws']) || empty($interfaceShunt['aws']['api.yoho.cn'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$num = array_rand($interfaceShunt['aws']['api.yoho.cn']);
|
|
|
|
|
|
if (empty($interfaceShunt['aws']['api.yoho.cn'][$num]['ip'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$url = 'http://' . $interfaceShunt['aws']['api.yoho.cn'][$num]['ip'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
|
|
|
} else if (strpos($url, 'service.')) {
|
|
|
$url = 'http://' . self::$interfaceShunt['awsServers']['service'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
|
|
|
if (empty($interfaceShunt['aws']) || empty($interfaceShunt['aws']['service.yoho.cn'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$num = array_rand($interfaceShunt['aws']['service.yoho.cn']);
|
|
|
|
|
|
if (empty($interfaceShunt['aws']['service.yoho.cn'][$num]['ip'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$url = 'http://' . $interfaceShunt['aws']['service.yoho.cn'][$num]['ip'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
}
|
|
|
} else {
|
|
|
|
|
|
$paseUrl = parse_url($url);
|
|
|
|
|
|
if (strpos($url, 'api.')) {
|
|
|
$num = array_rand(self::$interfaceShunt['tencentServers']['api']);
|
|
|
$url = 'http://' . self::$interfaceShunt['tencentServers']['api'][$num] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
|
|
|
if (empty($interfaceShunt['tencent']) || empty($interfaceShunt['tencent']['api.yoho.cn'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$num = array_rand($interfaceShunt['tencent']['api.yoho.cn']);
|
|
|
|
|
|
if (empty($interfaceShunt['tencent']['api.yoho.cn'][$num]['ip'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$url = 'http://' . $interfaceShunt['tencent']['api.yoho.cn'][$num]['ip'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
} else if (strpos($url, 'service.')) {
|
|
|
$num = array_rand(self::$interfaceShunt['tencentServers']['service']);
|
|
|
$url = 'http://' . self::$interfaceShunt['tencentServers']['service'][$num] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
|
|
|
if (empty($interfaceShunt['tencent']) || empty($interfaceShunt['tencent']['service.yoho.cn'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$num = array_rand($interfaceShunt['tencent']['service.yoho.cn']);
|
|
|
|
|
|
if (empty($interfaceShunt['tencent']['service.yoho.cn'][$num]['ip'])) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
$url = 'http://' . $interfaceShunt['tencent']['service.yoho.cn'][$num]['ip'] . rtrim($paseUrl['path'], '/') . '/';
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
|