diff --git a/app/api/controller/AdContentController.php b/app/api/controller/AdContentController.php new file mode 100644 index 0000000..0ab2d82 --- /dev/null +++ b/app/api/controller/AdContentController.php @@ -0,0 +1,60 @@ +request->get('pid'); + $client = $this->request->get('client', 1); + if ($pid) { + $list = AdLogic::lists($pid, $client); + } else { + $list = []; + } + $this->_success('获取成功', $list); + } +} \ No newline at end of file diff --git a/app/api/logic/AdLogic.php b/app/api/logic/AdLogic.php new file mode 100644 index 0000000..cde4990 --- /dev/null +++ b/app/api/logic/AdLogic.php @@ -0,0 +1,69 @@ +join('ad_position ap', 'a.pid = ap.id') + ->where(['pid' => $pid, 'ap.client' => $client, 'a.status' => 1, 'a.del' => 0, 'ap.status' => 1, 'ap.del' => 0]) + ->field('a.*') + ->order(['sort' => 'desc', 'id' => 'desc']) + ->select(); + + $list = []; + foreach ($ad_list as $key => $ad) { + $url = $ad['link']; + $is_tab = 0; + $params = []; + switch ($ad['link_type']) { + case 1: + + $page = Ad::getLinkPage($ad['client'], $ad['link']); + $url = $page['path']; + $is_tab = $page['is_tab'] ?? 0; + break; + case 2: + $goods_path = Ad::getGoodsPath($ad['client']); + $url = $goods_path; + $params = [ + 'id' => $ad['link'], + ]; + break; + } + $list[] = [ + 'image' => UrlServer::getFileUrl($ad['image']), + 'link' => $url, + 'link_type' => $ad['link_type'], + 'params' => $params, + 'is_tab' => $is_tab, + 'sort' => $ad['sort'], + ]; + } + return $list; + } +} \ No newline at end of file diff --git a/app/common/model/ad/Ad.php b/app/common/model/ad/Ad.php new file mode 100644 index 0000000..dc1fc80 --- /dev/null +++ b/app/common/model/ad/Ad.php @@ -0,0 +1,173 @@ + '移动端商城', + self::pc => 'pc端商城', + ]; + if($from === true){ + return $desc; + } + return $desc[$from] ?? ''; + } + + public static function getLinkPage($type = true,$from = true){ + $page = [ + self::mobile => [ + [ + 'name' => '商品分类', + 'path' => '/pages/sort/sort', + 'is_tab' => 1, + ], + [ + 'name' => '领券中心', + 'path' => '/pages/user_getcoupon/user_getcoupon', + 'is_tab' => 0, + ], + [ + 'name' => '个人中心', + 'path' => '/pages/user/user', + 'is_tab' => 1, + ], + [ + 'name' => '积分签到', + 'path' => '/bundle/pages/user_sign/user_sign', + 'is_tab' => 0, + ], + [ + 'name' => '会员中心', + 'path' => '/pages/user_vip/user_vip', + 'is_tab' => 0, + ], + [ + 'name' => '积分抽奖', + 'path' => '/bundle/pages/luckly_wheel/luckly_wheel', + 'is_tab' => 0, + ], + [ + 'name' => '限时秒杀', + 'path' => '/bundle/pages/goods_seckill/goods_seckill', + 'is_tab' => 0, + ], + [ + 'name' => '拼团活动', + 'path' => '/bundle/pages/goods_combination/goods_combination', + 'is_tab' => 0, + ], + [ + 'name' => '砍价活动', + 'path' => '/bundle/pages/bargain/bargain', + 'is_tab' => 0, + ], + [ + 'name' => '热销榜单', + 'path' => '/bundle/pages/hot_list/hot_list', + 'is_tab' => 0, + ], + [ + 'name' => '商城资讯', + 'path' => '/pages/news_list/news_list', + 'is_tab' => 0, + ], + [ + 'name' => '帮助中心', + 'path' => '/pages/news_list/news_list?type=1', + 'is_tab' => 0, + ], + ], + self::pc => [ + [ + 'name' => '商品分类', + 'path' => '/category', + 'is_tab' => 0, + ], + [ + 'name' => '领券中心', + 'path' => '/get_coupons', + 'is_tab' => 0, + ], + [ + 'name' => '个人中心', + 'path' => '/user/profile', + 'is_tab' => 0, + ], + [ + 'name' => '热销榜单', + 'path' => '/goods_list/1', + 'is_tab' => 0, + ], + [ + 'name' => '新品推荐', + 'path' => '/goods_list/2', + 'is_tab' => 0, + ], + [ + 'name' => '好物优选', + 'path' => '/goods_list/3', + 'is_tab' => 0, + ], + [ + 'name' => '限时秒杀', + 'path' => '/seckill', + 'is_tab' => 0, + ], + [ + 'name' => '商城资讯', + 'path' => '/news_list', + 'is_tab' => 0, + ], + [ + 'name' => '帮助中心', + 'path' => '/help_center', + 'is_tab' => 0, + ], + ], + ]; + if(true !== $type){ + $page = $page[$type] ?? []; + } + if(true === $from){ + return $page; + } + return $page[$from] ?? []; + } + + + public static function getGoodsPath($from = true){ + $desc = [ + self::mobile => '/pages/goods_details/goods_details', + self::pc => '/goods_details', + ]; + if(true === $from){ + return $desc; + } + return $desc[$from] ?? ''; + + } + + +} \ No newline at end of file