<?php use Action\WebAction; use Index\HomeModel; use LibModels\Web\Home\IndexData; use Plugin\Cache; use Configs\CacheConfig; use Api\Yohobuy; class CommonController extends WebAction { /** * 获取首页资源品牌 */ public function getIndexResourceBrandAction() { // 首页资源品牌,采用内存存储 $type = $this->get('type'); $data = array(); if (! empty($type)) { $key = CacheConfig::KEY_INDEX_BRANDS_LIST_DATA . '_' . $type; // array('logoBrand'=>'','moreBrand'=>'') $data = Cache::get($key); } echo $this->echoJson($data); } /** * 新品上架 接口数据 * * @param string channel 当前频道 * @param int pageIndex 当前页数 * @param int pageCount 一页显示个数 */ public function getNewArrivalAction() { $result = $data = array(); do { /* 判断是不是AJAX请求 */ if (! $this->isAjax()) { break; } $channels = array( HomeModel::COOKIE_NAME_BOYS, HomeModel::COOKIE_NAME_GIRLS, HomeModel::COOKIE_NAME_KIDS, HomeModel::COOKIE_NAME_LIFESTYLE ); $channel = $this->post('type', ''); $pageIndex = intval($this->post('pageIndex', 0)); $pageCount = intval($this->post('pageCount', 8)); if (! in_array($channel, $channels)) { break; } else { $data = HomeModel::getNewArrival($channel); } if($pageIndex < 0) { $pageIndex = 0; } if($pageCount < 0 || $pageCount > 50) { $pageCount = 20; } $result = array_slice($data, $pageIndex, $pageCount); if (empty($result)) { break; } $result = array( 'code' => 200, 'goods' => $result ); } while (false); $this->echoJson($result); } /** * 获取资源位banner * * @return jsonp */ public function getbannerAction() { $url = 'http://service.api.yohobuy.com/operations/api/v4/resource/get?'; $content_code = $this->get('content_code', ''); $client_type = $this->get('client_type', 'web'); $callback = $this->get('callback', ''); $params = array( 'content_code' => $content_code, 'client_type' => $client_type ); $data = IndexData::getResourceData($content_code);//Yohobuy::get($url.http_build_query($params)); if(empty($data['data'])) { return $this->helpJsonCallbackResult($callback, 200, '没有数据', ''); } else { $data = json_decode($data, true); $banner = ''; if(isset($data['data'][0]['data'])) { $banner = current($data['data'][0]['data']); if(!empty($banner)) { $banner['src'] = Images::getImageUrl($banner['src'], 2600, 60 ,2); //str_replace('?imageView/{mode}/w/{width}/h/{height}', '', $banner['src']); } } } return $this->helpJsonCallbackResult($callback, $data['code'], $data['message'], $banner); } }