...
|
...
|
@@ -11,25 +11,34 @@ namespace Guang; |
|
|
use Plugin\Helpers;
|
|
|
use LibModels\Wap\Guang\StarClassData;
|
|
|
use Api\Yohobuy;
|
|
|
use Plugin\Images;
|
|
|
|
|
|
/**
|
|
|
* Class TrendClassesroom
|
|
|
* 星潮教室
|
|
|
* 星潮教室相关的模板数据模型
|
|
|
* Class StarClassModel
|
|
|
* @package Guang
|
|
|
*/
|
|
|
class StarClassModel
|
|
|
{
|
|
|
|
|
|
//星潮教室首页
|
|
|
/* 星潮教室首页楼层资源的位置码 */
|
|
|
const CODE_FLOOR_STARCLASS_INDEX = '8adc27fcf5676f356602889afcfd2a8e';
|
|
|
|
|
|
/* 星专题楼层资源的位置码 */
|
|
|
const CODE_FLOOR_STARCLASS_SPECIAL = '89cc20483ee2cbc8a716dcfe2b6c7603';
|
|
|
|
|
|
/**
|
|
|
* 星潮教室首页(全部)
|
|
|
* @param $uid
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function getStarClass($uid)
|
|
|
{
|
|
|
$result = array();
|
|
|
//头部导航
|
|
|
$result['headTab'] = self::getHeadTab('index');
|
|
|
|
|
|
//组装资源位获取星潮教室首页数据URL
|
|
|
$contentCode = '8adc27fcf5676f356602889afcfd2a8e';
|
|
|
$res['starClassIndex'] = StarClassData::getResourceDataUrl($contentCode);
|
|
|
//组装调资源位URL(获取星潮教室首页数据)
|
|
|
$res['starClassIndex'] = StarClassData::getResourceDataUrl(self::CODE_FLOOR_STARCLASS_INDEX);
|
|
|
|
|
|
//组装获得每日签到数据接口URL
|
|
|
$res['rankInfo'] = StarClassData::rankInfoDataUrl($uid);
|
...
|
...
|
@@ -37,10 +46,10 @@ class StarClassModel |
|
|
//批量调接口
|
|
|
$data = Yohobuy::getMulti($res);
|
|
|
|
|
|
|
|
|
//调用成功封装数据
|
|
|
if (isset($data['starClassIndex']) && !empty($data['starClassIndex'])) {
|
|
|
$starClassIndex = $data['starClassIndex'];
|
|
|
//初始化$build参数
|
|
|
$build = array();
|
|
|
foreach ($starClassIndex as $value) {
|
|
|
if (empty($value)) {
|
...
|
...
|
@@ -50,23 +59,26 @@ class StarClassModel |
|
|
if (empty($value['data']) || !is_callable("self::$fun")) {
|
|
|
continue;
|
|
|
}
|
|
|
//调用各模块处理函数处理数据
|
|
|
$build = self::$fun($value['data']);
|
|
|
if (empty($build)) {
|
|
|
continue;
|
|
|
}
|
|
|
$result['resources'][] = $build;
|
|
|
}
|
|
|
//释放$build参数
|
|
|
$build = array();
|
|
|
|
|
|
}
|
|
|
|
|
|
//签到信息封装
|
|
|
if (isset($data['rankInfo'])) {
|
|
|
$rankInfo = array(
|
|
|
array(
|
|
|
'portraitUrl' => isset($data['rankInfo']['avatar']) ? Helpers::getOriginalImg($data['rankInfo']['avatar']) : '',
|
|
|
'username' => isset($data['rankInfo']['username']) ? $data['rankInfo']['username'] : '',
|
|
|
'rank' => isset($data['rankInfo']['userNum']) ? $data['rankInfo']['userNum'] : '0',
|
|
|
'intimacy' => isset($data['rankInfo']['userRank']) ? $data['rankInfo']['userRank'] : '0',
|
|
|
'rank' => isset($data['rankInfo']['userRank']) ? $data['rankInfo']['userRank'] : '0',
|
|
|
'intimacy' => isset($data['rankInfo']['userNum']) ? $data['rankInfo']['userNum'] : '0',
|
|
|
'week' => array(
|
|
|
'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fn', 'Sat'
|
|
|
),
|
...
|
...
|
@@ -75,24 +87,29 @@ class StarClassModel |
|
|
);
|
|
|
}
|
|
|
|
|
|
//将签到数据插入资源位第二位置
|
|
|
//将签到数据插入资源位第二位置(签到信息不属于资源位,并且位置不可配置)
|
|
|
array_splice($result['resources'], 1, 0 ,$rankInfo);
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
|
|
|
//星专题
|
|
|
/**
|
|
|
* 星专题
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function getspecial()
|
|
|
{
|
|
|
$result = array();
|
|
|
//头部导航
|
|
|
$result['headTab'] = self::getHeadTab('special');
|
|
|
|
|
|
//组装资源位获取星潮教室首页数据URL
|
|
|
$contentCode = '89cc20483ee2cbc8a716dcfe2b6c7603';
|
|
|
$data = StarClassData::getResourceData($contentCode);
|
|
|
$data = StarClassData::getResourceData(self::CODE_FLOOR_STARCLASS_SPECIAL);
|
|
|
|
|
|
//资源位数据处理
|
|
|
if (isset($data['code']) && $data['code'] == 200) {
|
|
|
//初始化$build参数
|
|
|
$build = array();
|
|
|
foreach ($data['data'] as $value) {
|
|
|
if (empty($value)) {
|
...
|
...
|
@@ -102,12 +119,14 @@ class StarClassModel |
|
|
if (empty($value['data']) || !is_callable("self::$fun")) {
|
|
|
continue;
|
|
|
}
|
|
|
//循环调用模块处理函数
|
|
|
$build = self::$fun($value['data']);
|
|
|
if (empty($build)) {
|
|
|
continue;
|
|
|
}
|
|
|
$result['resources'][] = $build;
|
|
|
}
|
|
|
//释放$build参数
|
|
|
$build = array();
|
|
|
}
|
|
|
|
...
|
...
|
@@ -121,6 +140,7 @@ class StarClassModel |
|
|
public static function getCollocation()
|
|
|
{
|
|
|
$result = array();
|
|
|
//头部导航
|
|
|
$result['headTab'] = self::getHeadTab('collocation');
|
|
|
|
|
|
return $result;
|
...
|
...
|
@@ -129,14 +149,17 @@ class StarClassModel |
|
|
/**
|
|
|
* 星搭配文章请求
|
|
|
*/
|
|
|
public static function ajaxCollocation($page, $isApp, $limit)
|
|
|
public static function ajaxCollocation($page, $uid, $isApp, $limit)
|
|
|
{
|
|
|
$data = StarClassData::collocationData($page, $limit);
|
|
|
//调取接口获得星搭配文章数据
|
|
|
$data = StarClassData::collocationData($page, $uid, $limit);
|
|
|
|
|
|
$result = array();
|
|
|
$collocationList = array();
|
|
|
//处理星搭配文章数据
|
|
|
if (isset($data['code']) && $data['code'] == 200 && !empty($data['data'])) {
|
|
|
foreach ($data['data']['list']['artList'] as $key => $value) {
|
|
|
//获得原尺寸图片
|
|
|
$collocationList[$key]['img'] = Helpers::getOriginalImg($value['src']);
|
|
|
$collocationList[$key]['url'] = $value['url'];
|
|
|
$collocationList[$key]['title'] = $value['title'];
|
...
|
...
|
@@ -145,8 +168,10 @@ class StarClassModel |
|
|
$collocationList[$key]['seeNum'] = $value['views_num'];
|
|
|
$collocationList[$key]['zanNum'] = $value['praise_num'];
|
|
|
$collocationList[$key]['articleId'] = $value['id'];
|
|
|
//string转bool值
|
|
|
$collocationList[$key]['isLiked'] = $value['isPraise'] == 'Y' ? true : false;
|
|
|
$collocationList[$key]['isCollected'] = $value['isFavor'] == 'Y' ? true : false;
|
|
|
//判断客户端是APP时给分享链接
|
|
|
$isApp ? $collocationList[$key]['share'] = $value['share']['url'] : '';
|
|
|
}
|
|
|
$result['collocationList'] = $collocationList;
|
...
|
...
|
@@ -156,51 +181,66 @@ class StarClassModel |
|
|
}
|
|
|
|
|
|
|
|
|
//top100
|
|
|
/**
|
|
|
* 签到Top100排行榜数据
|
|
|
* @param $uid
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function getTop($uid)
|
|
|
{
|
|
|
//调取接口获得签到TOP100数据
|
|
|
$data = StarClassData::topData($uid);
|
|
|
|
|
|
$result = array();
|
|
|
//处理签到TOP100数据
|
|
|
if (isset($data['code']) && $data['code'] == 200) {
|
|
|
foreach ($data['data']['top'] as $key=>$value) {
|
|
|
$result['rankingList'][$key]['num'] = intval($key) + 1;
|
|
|
$result['rankingList'][$key]['img'] = Helpers::getImageUrl($value['avatar'], 640, 240);
|
|
|
$result['rankingList'][$key]['name'] = $value['username'];
|
|
|
$result['rankingList'][$key]['intimacyNum'] = $value['num'];
|
|
|
//前三名给一个高亮参数
|
|
|
if ($key <= 2) {
|
|
|
$result['rankingList'][$key]['highLigth'] = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//用户基本信息数据
|
|
|
$result['userImg'] = $data['data']['userStarInfo']['userImg'] = Helpers::getOriginalImg($value['avatar']);
|
|
|
$result['userName'] = $data['data']['userStarInfo']['username'];
|
|
|
$result['rankNum'] = $data['data']['userStarInfo']['userRank'];
|
|
|
$result['intimacy'] = $data['data']['userStarInfo']['userNum'];
|
|
|
|
|
|
}
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
|
|
|
//签到操作
|
|
|
/**
|
|
|
* 签到
|
|
|
* @param $uid
|
|
|
* @return array|void
|
|
|
*/
|
|
|
public static function sign($uid)
|
|
|
{
|
|
|
//调用接口签到,并返回签到信息数据
|
|
|
$data = StarClassData::sign($uid);
|
|
|
|
|
|
$result = array();
|
|
|
$result['signDay'] = '';
|
|
|
//处理签到数据
|
|
|
if (isset($data['code']) && $data['code'] == 200) {
|
|
|
$result['todayIntimacy'] = isset($data['data']['logs'][0]['addNum']) ? $data['data']['logs'][0]['addNum'] : '0';
|
|
|
foreach ($data['data']['logs'] as $key => $value) {
|
|
|
$result['signDay'] .= !empty($value['createTime']) ? date('d', $value['createTime']) . ',' : '';
|
|
|
$result['todayIntimacy'] = $value['addNum'];
|
|
|
}
|
|
|
$result['intimacyNum'] = isset($data['data']['addNum']) ? $data['data']['addNum'] : '0';
|
|
|
foreach ($data['data']['rankList'] as $key => $value) {
|
|
|
//排名数据按数组顺序排列
|
|
|
$result['fanCharts'][$key]['num'] = intval($key) + 1;
|
|
|
$result['fanCharts'][$key]['img'] = Helpers::getImageUrl($value['avatar'], 640, 240);
|
|
|
$result['fanCharts'][$key]['img'] = Helpers::getOriginalImg($value['avatar']);
|
|
|
$result['fanCharts'][$key]['name'] = $value['username'];
|
|
|
$result['fanCharts'][$key]['intimacyNum'] = $value['num'];
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!empty($result)) {
|
...
|
...
|
@@ -255,7 +295,11 @@ class StarClassModel |
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//single_name_image星专题 一个图片一个连接,一个title
|
|
|
/**
|
|
|
* single_name_image星专题 一个图片一个连接,一个title
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function single_name_image($data)
|
|
|
{
|
|
|
$result = array();
|
...
|
...
|
@@ -269,7 +313,11 @@ class StarClassModel |
|
|
}
|
|
|
|
|
|
|
|
|
//星潮教室首页banner
|
|
|
/**
|
|
|
* 星潮教室首页焦点图
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function focus($data)
|
|
|
{
|
|
|
$result = array();
|
...
|
...
|
@@ -286,7 +334,11 @@ class StarClassModel |
|
|
}
|
|
|
|
|
|
|
|
|
//一个图片一个链接资源位
|
|
|
/**
|
|
|
* 一个图片一个链接资源位
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function title_image($data)
|
|
|
{
|
|
|
$result = array();
|
...
|
...
|
@@ -301,7 +353,11 @@ class StarClassModel |
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//一个视频资源位
|
|
|
/**
|
|
|
* 一个视频资源位
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function single_image($data)
|
|
|
{
|
|
|
$result = array();
|
...
|
...
|
@@ -314,7 +370,12 @@ class StarClassModel |
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//星搭配资源位
|
|
|
|
|
|
/**
|
|
|
* 星搭配资源位
|
|
|
* @param $data
|
|
|
* @return array
|
|
|
*/
|
|
|
public static function match_image($data)
|
|
|
{
|
|
|
$result = array();
|
...
|
...
|
|