|
|
<?php
|
|
|
|
|
|
namespace Index;
|
|
|
|
|
|
use LibModels\Wap\Home\IndexData;
|
|
|
use Plugin\Helpers;
|
|
|
use Plugin\Cache;
|
|
|
use Plugin\DataProcess\FloorProcess;
|
|
|
use Configs\CacheConfig;
|
|
|
|
|
|
/**
|
|
|
* 首页相关的模板数据模型
|
|
|
*
|
|
|
* @name HomeModel
|
|
|
* @package models
|
|
|
* @copyright yoho.inc
|
|
|
* @version 1.0 (2015-10-21 11:08:21)
|
|
|
* @author fei.hong <fei.hong@yoho.cn>
|
|
|
*/
|
|
|
class HomeModel
|
|
|
{
|
|
|
|
|
|
/* 频道选择页取背景图片的位置码 */
|
|
|
const CODE_BG = '7ba9118028f9b22090b57341487567eb';
|
|
|
|
|
|
/* 男生楼层资源的位置码 */
|
|
|
const CODE_FLOOR_BOYS = '8512bf0755cc549ac323f852c9fd945d';
|
|
|
/* 女生楼层资源的位置码 */
|
|
|
const CODE_FLOOR_GIRLS = '189b6686065dbd6755dd6906cf03c002';
|
|
|
/* 潮童楼层资源的位置码 */
|
|
|
const CODE_FLOOR_KIDS = '66cad79d93e055ad6fc5c8744086066d'; // 'b8c1bff53d4ea60f978926d538620636';
|
|
|
/* 创意生活楼层资源的位置码 */
|
|
|
const CODE_FLOOR_LIFESTYLE = '61cd852c6afcf60660196154f66a3a62';
|
|
|
|
|
|
/* 男生底部广告的位置码 */
|
|
|
const CODE_BANNER_BOTTOM_BOYS = 'a2ec977c027d0cd9cdccb356ddf16b08';
|
|
|
/* 女生底部广告的位置码 */
|
|
|
const CODE_BANNER_BOTTOM_GIRLS = '8c8bd1b89a22e5895f05882e0825b493';
|
|
|
|
|
|
/**
|
|
|
* 获取频道选择页的背景图片
|
|
|
*
|
|
|
* @return string | false
|
|
|
*/
|
|
|
public static function getBgImage()
|
|
|
{
|
|
|
if (USE_CACHE) {
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_INDEX_INDEX, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 调用接口获取数据
|
|
|
$banner = IndexData::getBannerStart(self::CODE_BG);
|
|
|
if (isset($banner['data'][0]['data']['list'][0]['src'])) {
|
|
|
$result = Helpers::getImageUrl($banner['data'][0]['data']['list'][0]['src'], 640, 800, 1);
|
|
|
} else {
|
|
|
$result = false;
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_INDEX_INDEX, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set(CacheConfig::KEY_ACTION_INDEX_INDEX, $result);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取男生首页的楼层数据
|
|
|
*/
|
|
|
public static function getBoysFloor()
|
|
|
{
|
|
|
if (USE_CACHE) {
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_BOYS_INDEX, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 调用接口获取楼层数据, 并封装成模板渲染需要的数据格式
|
|
|
$channelData = IndexData::getResourceData('1,3', self::CODE_FLOOR_BOYS);
|
|
|
if (isset($channelData['code']) && $channelData['code'] == 200) {
|
|
|
$result = FloorProcess::getContent($channelData['data']);
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_BOYS_INDEX, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set(CacheConfig::KEY_ACTION_BOYS_INDEX, $result);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取女生首页的楼层数据
|
|
|
*/
|
|
|
public static function getGirlsFloor()
|
|
|
{
|
|
|
if (USE_CACHE) {
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_GIRLS_INDEX, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 调用接口获取楼层数据, 并封装成模板渲染需要的数据格式
|
|
|
$channelData = IndexData::getResourceData('2,3', self::CODE_FLOOR_GIRLS);
|
|
|
if (isset($channelData['code']) && $channelData['code'] == 200) {
|
|
|
$result = FloorProcess::getContent($channelData['data']);
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_GIRLS_INDEX, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set(CacheConfig::KEY_ACTION_GIRLS_INDEX, $result);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取潮童首页的楼层数据
|
|
|
*/
|
|
|
public static function getKidsFloor()
|
|
|
{
|
|
|
if (USE_CACHE) {
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_KIDS_INDEX, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 调用接口获取楼层数据, 并封装成模板渲染需要的数据格式
|
|
|
$channelData = IndexData::getResourceData('', self::CODE_FLOOR_KIDS);
|
|
|
if (isset($channelData['code']) && $channelData['code'] == 200) {
|
|
|
$result = FloorProcess::getContent($channelData['data'], 3);
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_KIDS_INDEX, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set(CacheConfig::KEY_ACTION_KIDS_INDEX, $result);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取创意生活首页的楼层数据
|
|
|
*/
|
|
|
public static function getLifestyleFloor()
|
|
|
{
|
|
|
if (USE_CACHE) {
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_LIFESTYLE_INDEX, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 调用接口获取楼层数据, 并封装成模板渲染需要的数据格式
|
|
|
$channelData = IndexData::getResourceData('', self::CODE_FLOOR_LIFESTYLE);
|
|
|
if (isset($channelData['code']) && $channelData['code'] == 200) {
|
|
|
$result = FloorProcess::getContent($channelData['data'], 4);
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get(CacheConfig::KEY_ACTION_LIFESTYLE_INDEX, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set(CacheConfig::KEY_ACTION_LIFESTYLE_INDEX, $result);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|