Authored by 于良

逛接口升级

... ... @@ -23,11 +23,11 @@ class Yohobuy
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
//java API
const API_URL = 'http://apih5.yoho.cn/';
const API_URL2 = 'http://apih5.yoho.cn/';
const SERVICE_URL = 'http://serviceh5.yoho.cn/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://api2.open.yohobuy.com/';
// const API_URL = 'http://apih5.yoho.cn/';
// const API_URL2 = 'http://apih5.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://api2.open.yohobuy.com/';
// const API_URL = 'http://api.yoho.cn/';
// const API_URL2 = 'http://api.yoho.cn/';
... ... @@ -44,10 +44,13 @@ class Yohobuy
/* 测试环境 java API*/
// const API_URL = 'http://testapi.yoho.cn:28078/'; // 'http://devapi.yoho.cn:58078/';
// const DEV_API_URL = 'http://devapi.yoho.cn:58078/';
// const SERVICE_URL = 'http://testservice.yoho.cn:28077/'; // 'http://devservice.yoho.cn:58077/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://test2.open.yohobuy.com/';
const API_URL = 'http://devapi.yoho.cn:58078/';
const DEV_API_URL = 'http://devapi.yoho.cn:58078/';
const SERVICE_URL = 'http://testservice.yoho.cn:28077/'; // 'http://devservice.yoho.cn:58077/';
const DEV_SERVICE_URL = 'http://devservice.yoho.cn:58077/';
const PRD_SERVICE_URL = 'http://serviceh5.yoho.cn/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://test2.open.yohobuy.com/';
/* 测试环境 php API*/
// const API_URL = 'http://test2.open.yohobuy.com/';
... ... @@ -71,6 +74,7 @@ class Yohobuy
'iphone' => 'a85bb0674e08986c6b115d5e3a4884fa',
'ipad' => 'ad9fcda2e679cf9229e37feae2cdcf80',
'web' => '0ed29744ed318fd28d2c07985d3ba633',
'h5' => 'fd4ad5fcfa0de589ef238c0e7331b585',
);
/**
... ...
... ... @@ -5,6 +5,7 @@ namespace LibModels\Wap\Guang;
use Api\Yohobuy;
use Configs\CacheConfig;
use Plugin\Cache;
use Api\Sign;
/**
* 逛资讯详情相关的数据模型
... ... @@ -45,7 +46,17 @@ class DetailData
// 先尝试获取一级缓存(master), 有数据则直接返回.
$cached = Cache::get($key, 'master');
if (!empty($cached)) {
$article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1000);
// $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1000);
// 获取资讯
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = $clientType;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
$article = $result['data'];
if (isset($article['pageViews'])) {
$cached['getArticle']['pageViews'] = $article['pageViews'];
}
... ... @@ -54,7 +65,20 @@ class DetailData
}
// 获取资讯
$article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1500);
// $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1500);
// ksort($article);
// file_put_contents('../../../../../../Desktop/app/o/getArticle.txt', var_export($article, true));
// 获取资讯
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = $clientType;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
$article = $result['data'];
// file_put_contents('../../../../../../Desktop/app/n/getArticle3.txt', var_export($article, true));
if (!isset($article['author_id'])) {
// 再尝试获取二级缓存(slave), 有数据则直接返回.
$cached = Cache::get($key, 'slave');
... ... @@ -65,31 +89,89 @@ class DetailData
}
$result['getArticle'] = $article;
// 获取作者信息
$param = Yohobuy::param();
$param['author_id'] = $article['author_id'];
$param['client_secret'] = Sign::getSign($param);
$urlList['getAuthor'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_AUTHOR . 'getAuthor', $param);
// 获取资讯内容
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = $clientType;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$urlList['getArticleContent'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
// 获取资讯相关的品牌
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = $clientType;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$urlList['getBrand'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getBrand', $param);
// 获取资讯相关的其它资讯
if (isset($article['tag'])) {
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = $clientType;
$param['tags'] = $article['tag'];
$param['offset'] = 0;
$param['limit'] = 3;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$urlList['getOtherArticle'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getOtherArticle', $param);
}
$multiResult = Yohobuy::getMulti($urlList, array());
$result['getAuthor'] = $multiResult['getAuthor'];
$result['getArticleContent'] = $multiResult['getArticleContent'];
$result['getBrand'] = $multiResult['getBrand'];
$result['getOtherArticle'] = $multiResult['getOtherArticle'];
// var_dump($urlList);
// file_put_contents('../../../../../../Desktop/app/n/getAuthor.txt', var_export($result['getAuthor'], true));
// file_put_contents('../../../../../../Desktop/app/n/getArticleContent.txt', var_export($result['getArticleContent'], true));
// file_put_contents('../../../../../../Desktop/app/n/getBrand.txt', var_export($result['getBrand'], true));
// file_put_contents('../../../../../../Desktop/app/n/getOtherArticle.txt', var_export($result['getOtherArticle'], true));
/*
// 获取作者信息
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_AUTHOR, 'getAuthor', array($article['author_id'], $clientType), function ($retval) use (&$result) {
$result['getAuthor'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getAuthor.txt', var_export($retval, true));
});
// 获取资讯内容
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
$result['getArticleContent'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getArticleContent.txt', var_export($retval, true));
});
// 获取资讯相关的品牌
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
$result['getBrand'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getBrand.txt', var_export($retval, true));
});
// 获取资讯相关的其它资讯
if (isset($article['tag'])) {
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getOtherArticle', array($article['tag'], $id, 0, 3, $clientType), function ($retval) use (&$result) {
$result['getOtherArticle'] = empty($retval) ? array() : $retval;
ksort($retval);
file_put_contents('../../../../../../Desktop/app/o/getOtherArticle.txt', var_export($retval, true));
});
}
// 调用发起请求
Yohobuy::yarConcurrentLoop();
*/
if (USE_CACHE) {
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
if (empty($result)) {
... ... @@ -181,7 +263,15 @@ class DetailData
*/
public static function intro($id)
{
return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, 'h5'));
$param = Yohobuy::param();
$param['article_id'] = $id;
$param['client_type'] = 'h5';
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
return $result['data'];
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, 'h5'));
}
}
... ...
... ... @@ -118,7 +118,13 @@ class ListData
$result = array();
if (is_numeric($id)) {
$result = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
// $result = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
$param = Yohobuy::param();
$param['author_id'] = $id;
$param['client_secret'] = Sign::getSign($param);
$article = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_AUTHOR . 'getAuthor', $param, 3600);
$result = $article['data'];
}
return $result;
... ...
... ... @@ -3,6 +3,7 @@
namespace LibModels\Wap\Guang;
use Api\Yohobuy;
use Api\Sign;
/**
* 逛操作相关的数据模型
... ... @@ -26,11 +27,17 @@ class OptData
*/
public static function favoriteBrand($uid, $id, $opt = 'ok')
{
if ($opt == 'ok') {
return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
} else {
return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
}
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['id'] = $id;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/service/v2/favorite/toggleBrand', $param);
// if ($opt == 'ok') {
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
// } else {
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
// }
}
/**
... ... @@ -43,10 +50,19 @@ class OptData
*/
public static function favoriteProduct($uid, $skn, $opt = 'ok')
{
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['productSkn'] = $skn;
$param['client_secret'] = Sign::getSign($param);
if ($opt === 'cancel') {
return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'addUidProductFav', array($uid, $skn));
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'addUidProductFav', array($uid, $skn));
return Yohobuy::get(Yohobuy::SERVICE_URL.'shops/service/v1/favorite/addUidProductFav', $param);
} else {
return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'delUidProductFav', array($uid, $skn));
// return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'delUidProductFav', array($uid, $skn));
return Yohobuy::get(Yohobuy::SERVICE_URL.'shops/service/v1/favorite/delUidProductFav', $param);
}
}
... ...
... ... @@ -23,6 +23,7 @@ class PlusstarData
const URI_BRANDLIST = 'guang/api/v3/plustar/getlist';
const URI_BRANDINFO_PLUSSTAR = 'guang/service/v3/plustar/'; // 'guang/service/v3/plustar/'
const URI_BRANDINFO_PLUSSTAR_NEW = 'guang/api/v1/plustar/';
const URI_BRANDINFO_FAVORITE = 'shops/service/v1/favorite/';
const URI_BRANDINFO_ARTICLE = 'guang/service/v1/article/';
... ... @@ -139,17 +140,35 @@ class PlusstarData
if (!empty($cached)) {
// 判断用户是否已收藏
if ($isUidOk) {
$getUidBrandFav = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $cached['getBrandInfo']['data']['brand_id']), false, 1000);
// $getUidBrandFav = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $cached['getBrandInfo']['data']['brand_id']), false, 1000);
$param = Yohobuy::param();
$param['uid'] = $uid;
$param['brandId'] = $cached['getBrandInfo']['data']['brand_id'];
$param['client_secret'] = Sign::getSign($param);
$getUidBrandFav = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE . 'getUidBrandFav', $param);
// file_put_contents('../../../../../../Desktop/app/n/getUidBrandFav.txt', var_export($getUidBrandFav, true));
if (isset($getUidBrandFav['code']) && $getUidBrandFav['code'] == 200) {
$cached['getUidBrandFav'] = true;
}
}
return $cached;
}
}
// 品牌详情信息
$brandInfo = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR, 'getBrandInfo', array(array('id' => $id)), 3600); // 缓存1小时
// $brandInfo = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR, 'getBrandInfo', array(array('id' => $id)), 3600); // 缓存1小时
// file_put_contents('../../../../../../Desktop/app/o/getbrandinfo.txt', var_export($brandInfo, true));
// 品牌详情信息
$param = Yohobuy::param();
$param['id'] = $id;
$param['client_secret'] = Sign::getSign($param);
$brandInfo = Yohobuy::get(Yohobuy::DEV_SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR_NEW . 'getbrandinfo', $param, 3600);
// file_put_contents('../../../../../../Desktop/app/n/getbrandinfo.txt', var_export($brandInfo, true));
if (!isset($brandInfo['data']['brand_id'])) {
// 再尝试获取二级缓存(master), 有数据则直接返回.
$cached = Cache::get($key, 'slave');
... ... @@ -161,6 +180,20 @@ class PlusstarData
$result['getBrandInfo'] = $brandInfo;
}
// 相关资讯列表 (3篇)
$result['getArticleByBrand'] = array();
$param = Yohobuy::param();
$param['brand_id'] = $brandInfo['data']['brand_id'];
$param['udid'] = $udid;
$param['limit'] = 3;
$param['client_type'] = $clientType;
$param['private_key'] = Yohobuy::$privateKeyList['h5'];
$param['client_secret'] = Sign::getSign($param);
$article = Yohobuy::get(Yohobuy::SERVICE_URL.self::URI_BRANDINFO_ARTICLE.'getArticleByBrand', $param);
$result['getArticleByBrand'] = empty($article['data']) ? array() : $article['data'];
// file_put_contents('../../../../../../Desktop/app/n/getArticleByBrand.txt', var_export($result['getArticleByBrand'], true));
// // 是否收藏店铺
// if ($isUidOk) {
// Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $brandInfo['data']['brand_id']), function($retval) use(&$result) {
... ... @@ -168,10 +201,11 @@ class PlusstarData
// });
// }
// 相关资讯列表 (3篇)
$result['getArticleByBrand'] = array();
Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_ARTICLE, 'getArticleByBrand', array($brandInfo['data']['brand_id'], 3, $udid), function($retval) use(&$result) {
$result['getArticleByBrand'] = empty($retval) ? array() : $retval;
});
// $result['getArticleByBrand'] = array();
// Yohobuy::yarConcurrentCall(Yohobuy::PRD_SERVICE_URL . self::URI_BRANDINFO_ARTICLE, 'getArticleByBrand', array($brandInfo['data']['brand_id'], 3, $udid), function($retval) use(&$result) {
// $result['getArticleByBrand'] = empty($retval) ? array() : $retval;
// file_put_contents('../../../../../../Desktop/app/o/getArticleByBrand.txt', var_export($retval, true));
// });
// 新品到着列表 (6篇)
$result['getNewProduct'] = array();
... ... @@ -229,7 +263,7 @@ class PlusstarData
} while (false);
// 调用发起请求
Yohobuy::yarConcurrentLoop();
// Yohobuy::yarConcurrentLoop();
if (USE_CACHE) {
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
... ...