海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
1.5 KiB

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Advertising;
use App\Models\Channel;
use App\Models\Notice;
use App\Models\Product;
use App\Models\Slide;
use App\Models\UserChannel;
/**
* 小程序首页
* Class IndexController
* @package App\Http\Controllers\Api
*/
class IndexController extends Controller
{
// 首页数据大杂烩
public function index()
{
# 轮播图
$slide = Slide::where('agent_id', $this->agent_id)->where('status', 1)
->orderBy('sort')->orderBy('id', 'DESC')->limit(2)->get(['title','url']);
# 公告
$notice = Notice::where('agent_id', $this->agent_id)->limit(10)->get(['title', 'updated_at']);
# 我的频道
$channel_ids = UserChannel::where('user_id', $this->user_id)->value('channels');
$my_channels = Channel::whereIn('id', $channel_ids)->get(['id', 'pid', 'name', 'icon']);
# 广告图
$home_ad1 = Advertising::where('agent_id', $this->agent_id)->value('picture');
# 人气爆款
$hots = Product::get(['title', 'price', 'original_price', 'pictures', 'sale']);
# 猜你喜欢
// $guess = Product::get(['title', 'price', 'original_price', 'pictures', 'sale']);
return $this->success([
'slide' => $slide,
'notice' => $notice,
'my_channels' => $my_channels,
'home_ad1' => $home_ad1,
'hots' => $hots,
// 'guess' => $guess,
]);
}
}