vr-shopxo-source/app/api/controller/Index.php

113 lines
4.0 KiB
PHP
Raw Normal View History

2018-12-28 10:58:37 +00:00
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
2021-03-16 02:34:52 +00:00
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
2018-12-28 10:58:37 +00:00
// +----------------------------------------------------------------------
2021-03-16 02:34:52 +00:00
// | Licensed ( https://opensource.org/licenses/mit-license.php )
2018-12-28 10:58:37 +00:00
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\api\controller;
2021-07-20 15:45:54 +00:00
use app\service\ApiService;
2021-04-11 07:51:06 +00:00
use app\service\SystemBaseService;
use app\service\GoodsService;
2024-04-25 06:47:59 +00:00
use app\service\SlideService;
2019-07-03 13:03:28 +00:00
use app\service\AppHomeNavService;
2020-01-06 10:53:24 +00:00
use app\service\BuyService;
2021-07-02 16:05:00 +00:00
use app\service\LayoutService;
2021-11-10 09:35:52 +00:00
use app\service\ArticleService;
2021-11-28 03:42:51 +00:00
use app\service\MessageService;
use app\service\AppService;
2022-07-06 08:07:29 +00:00
use app\service\PluginsService;
use app\service\GoodsCartService;
2024-10-21 02:51:14 +00:00
use app\service\DiyService;
2018-12-28 10:58:37 +00:00
/**
* 首页
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Index extends Common
{
2024-04-15 02:25:01 +00:00
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
2018-12-28 10:58:37 +00:00
{
2024-04-15 02:25:01 +00:00
// 调用父类前置方法
parent::__construct();
}
2018-12-28 10:58:37 +00:00
2024-04-15 02:25:01 +00:00
/**
* 首页
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-05-25T11:03:59+0800
*/
public function Index()
{
$key = 'api_index_data_'.APPLICATION_CLIENT_TYPE;
$result = MyCache($key);
2025-03-03 09:49:22 +00:00
$result = '';
2024-04-15 02:25:01 +00:00
if(empty($result) || (isset($this->data_request['is_cache']) && $this->data_request['is_cache'] == 0))
2021-07-02 16:05:00 +00:00
{
2024-04-15 02:25:01 +00:00
// 购物车汇总
$cart_total = GoodsCartService::UserGoodsCartTotal(['user'=>$this->user]);
2021-11-28 03:42:51 +00:00
2024-10-21 02:51:14 +00:00
// 数据模式0自动模式, 1手动模式, 2拖拽模式, 3DIY模式
// 手机端是否DIY模式
2024-12-25 09:35:54 +00:00
$data_list = DiyService::AppClientHomeDiyData();
if(!empty($data_list))
2024-10-21 02:51:14 +00:00
{
$result = DataReturn('success', 0, [
2024-12-25 09:35:54 +00:00
'data_mode' => 3,
2024-10-21 02:51:14 +00:00
'data_list' => $data_list,
'cart_total' => $cart_total,
]);
} else {
$data_mode = MyC('home_index_floor_data_type', 0, true);
if($data_mode == 2)
{
$data_list = LayoutService::LayoutConfigData('home');
} else {
$data_list = GoodsService::HomeFloorList();
}
// 未读消息总数
$message_total = MessageService::UserMessageTotal(['user'=>$this->user, 'is_more'=>1, 'is_read'=>0]);
// 返回数据
$result = SystemBaseService::DataReturn([
'data_mode' => $data_mode,
'navigation' => AppHomeNavService::AppHomeNav(),
'banner_list' => SlideService::SlideList(),
'data_list' => $data_list,
'article_list' => ArticleService::RecommendedArticleList(),
'right_icon_list' => AppService::HomeRightIconList(['message_total'=>$message_total]),
'cart_total' => $cart_total,
'message_total' => $message_total,
'plugins_sort_list' => PluginsService::PluginsSortList(),
]);
}
2024-04-15 02:25:01 +00:00
2024-10-21 02:51:14 +00:00
// 缓存数据、没有用户登录信息则存储缓存
if(empty($this->user))
{
MyCache($key, $result, 3600);
}
2024-04-15 02:25:01 +00:00
} else {
$result['data']['is_result_data_cache'] = 1;
}
return ApiService::ApiDataReturn($result);
}
2018-12-28 10:58:37 +00:00
}
?>