...
|
...
|
@@ -19,6 +19,49 @@ class ShopProcess |
|
|
private static $single = false;
|
|
|
|
|
|
/**
|
|
|
* 修改资源位的链接
|
|
|
* @param $val
|
|
|
* @param $shopId
|
|
|
* @return string
|
|
|
*/
|
|
|
private static function modifyWapUrl($val, $shopId)
|
|
|
{
|
|
|
if (isset($val['linkType']) && $val['linkType'] == 1) {
|
|
|
return Helpers::url('', array('filter_poolId' => $val['categoryId'],
|
|
|
'title' => $val['categoryName']), 'search');
|
|
|
} else {
|
|
|
|
|
|
if (isset($val['url'])) {
|
|
|
return $val['url'];
|
|
|
} else {
|
|
|
return '';
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 修改资源位的链接
|
|
|
* @param $val
|
|
|
* @param $shopId
|
|
|
* @return string
|
|
|
*/
|
|
|
private static function modifyAppUrl($val, $shopId)
|
|
|
{
|
|
|
if (isset($val['linkType']) && $val['linkType'] == 1) {
|
|
|
return Helpers::url('/search/list') . sprintf('?openby:yohobuy={"action":"go.poollist","params":{"shop_id":"%s","title":"%s","productPool":"%s"}}',
|
|
|
$shopId . '', $val['categoryName'] . '', $val['categoryId'] . '', '');
|
|
|
} else {
|
|
|
|
|
|
if (isset($val['url'])) {
|
|
|
return $val['url'];
|
|
|
} else {
|
|
|
return '';
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 组织店铺页面数据
|
|
|
* @param array $data 接口返回的店铺页所需数据
|
|
|
* @param int $shopId 店铺id
|
...
|
...
|
@@ -34,7 +77,7 @@ class ShopProcess |
|
|
if (empty($val) || !is_callable("self::$key")) {
|
|
|
continue;
|
|
|
}
|
|
|
self::$key($val);
|
|
|
self::$key($val, $shopId, $appVersion);
|
|
|
}
|
|
|
if (self::$single) {
|
|
|
self::$shopData['favId'] = self::$shopData['shopId'];
|
...
|
...
|
@@ -87,16 +130,56 @@ class ShopProcess |
|
|
* @param array $data
|
|
|
* @author sefon 2016-4-26 22:04:04
|
|
|
*/
|
|
|
private static function decorator($data)
|
|
|
private static function decorator($data, $shopId, $appVersion)
|
|
|
{
|
|
|
if (!isset($data['code']) || $data['code'] != 200 || !isset($data['data']['list']) || empty($data['data']['list'])) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (empty($appVersion)) {
|
|
|
$modifyUrl = function ($item, $shopid) {
|
|
|
return self::modifyWapUrl($item, $shopid);
|
|
|
};
|
|
|
} else {
|
|
|
$modifyUrl = function ($item, $shopid) {
|
|
|
return self::modifyAppUrl($item, $shopid);
|
|
|
};
|
|
|
}
|
|
|
|
|
|
foreach ($data['data']['list'] as $val) {
|
|
|
if (empty($val['resource_data']) || !is_callable("self::$val[resource_name]")) {
|
|
|
continue;
|
|
|
}
|
|
|
self::$val['resource_name'](json_decode($val['resource_data'], true));
|
|
|
|
|
|
$json = json_decode($val['resource_data'], true);
|
|
|
|
|
|
foreach ($json as &$val2) {
|
|
|
$url = $modifyUrl($val2, $shopId);
|
|
|
|
|
|
if (!empty($url)) {
|
|
|
$val2['url'] = $url;
|
|
|
}
|
|
|
|
|
|
if (isset($val2['data']) && is_array($val2['data'])) {
|
|
|
foreach ($val2['data'] as &$v) {
|
|
|
$url2 = $modifyUrl($v, $shopId);
|
|
|
if (!empty($url2)) {
|
|
|
$v['url'] = $url2;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (!isset($val2['data']) && is_array($val2)) {
|
|
|
foreach ($val2 as $k1 => &$v1) {
|
|
|
$url3 = $modifyUrl($v1, $shopId);
|
|
|
if (!empty($url3)) {
|
|
|
$v1['url'] = $url3;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
self::$val['resource_name']($json);
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
|