1.缺失信息提交
This commit is contained in:
60
app/api/controller/AdContentController.php
Normal file
60
app/api/controller/AdContentController.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeshop开源商城系统
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||||
|
// | github下载:https://github.com/likeshop-github
|
||||||
|
// | 访问官网:https://www.likeshop.cn
|
||||||
|
// | 访问社区:https://home.likeshop.cn
|
||||||
|
// | 访问手册:http://doc.likeshop.cn
|
||||||
|
// | 微信公众号:likeshop技术社区
|
||||||
|
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||||
|
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||||
|
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||||
|
// | likeshop团队版权所有并拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeshop.cn.team
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
namespace app\api\controller;
|
||||||
|
|
||||||
|
|
||||||
|
use app\api\logic\AdLogic;
|
||||||
|
|
||||||
|
class AdContentController extends BaseApiController
|
||||||
|
{
|
||||||
|
public array $notNeedLogin = ['lists'];
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* showdoc
|
||||||
|
* @catalog 接口/广告
|
||||||
|
* @title 获取广告列表
|
||||||
|
* @description 获取广告列表
|
||||||
|
* @method get
|
||||||
|
* @url ad/lists
|
||||||
|
* @param pid 必填 int 广告位id
|
||||||
|
* @param client 必填 int 终端,1-移动端商城;2-PC端商城
|
||||||
|
* @return_param image string 广告图片
|
||||||
|
* @return_param link_type int 广告类型:1-商场页面;2-商品页面;3-自定义类型
|
||||||
|
* @return_param link string 广告链接
|
||||||
|
* @return_param params string 参数
|
||||||
|
* @return_param is_tab int 是否tab页:1-是;0-否
|
||||||
|
* @remark
|
||||||
|
* @number 0
|
||||||
|
* @return {"code":1,"msg":"获取成功","data":{"lists":["http:\/\/www.likeb2b2c.com:20002\/uploads\/images\/20200706\/e4bdb.jpg","http:\/\/www.likeb2b2c.com:20002\/uploads\/images\/20200708\/893ae.jpg"]},"show":0,"time":"0.686155","debug":{"request":{"get":{"pid":"1"},"post":[],"header":{"connection":"keep-alive","accept-encoding":"gzip, deflate, br","host":"www.likeb2b2c.com:20002","postman-token":"f804bef0-b397-4590-a67f-b489830cd37b","accept":"*\/*","user-agent":"PostmanRuntime\/7.26.1","token":"ff0c66fe0c89fe1e9be591d82d551521","content-type":"","content-length":""}}}}
|
||||||
|
*/
|
||||||
|
public function lists()
|
||||||
|
{
|
||||||
|
$pid = $this->request->get('pid');
|
||||||
|
$client = $this->request->get('client', 1);
|
||||||
|
if ($pid) {
|
||||||
|
$list = AdLogic::lists($pid, $client);
|
||||||
|
} else {
|
||||||
|
$list = [];
|
||||||
|
}
|
||||||
|
$this->_success('获取成功', $list);
|
||||||
|
}
|
||||||
|
}
|
||||||
69
app/api/logic/AdLogic.php
Normal file
69
app/api/logic/AdLogic.php
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeshop开源商城系统
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||||
|
// | github下载:https://github.com/likeshop-github
|
||||||
|
// | 访问官网:https://www.likeshop.cn
|
||||||
|
// | 访问社区:https://home.likeshop.cn
|
||||||
|
// | 访问手册:http://doc.likeshop.cn
|
||||||
|
// | 微信公众号:likeshop技术社区
|
||||||
|
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||||
|
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||||
|
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||||
|
// | likeshop团队版权所有并拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeshop.cn.team
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
namespace app\api\logic;
|
||||||
|
|
||||||
|
use app\common\model\ad\Ad;
|
||||||
|
use app\common\service\UrlServer;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
|
class AdLogic
|
||||||
|
{
|
||||||
|
public static function lists($pid, $client)
|
||||||
|
{
|
||||||
|
$ad_list = Db::name('ad a')
|
||||||
|
->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;
|
||||||
|
}
|
||||||
|
}
|
||||||
173
app/common/model/ad/Ad.php
Normal file
173
app/common/model/ad/Ad.php
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | likeshop开源商城系统
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||||
|
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||||
|
// | github下载:https://github.com/likeshop-github
|
||||||
|
// | 访问官网:https://www.likeshop.cn
|
||||||
|
// | 访问社区:https://home.likeshop.cn
|
||||||
|
// | 访问手册:http://doc.likeshop.cn
|
||||||
|
// | 微信公众号:likeshop技术社区
|
||||||
|
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||||||
|
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||||||
|
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||||
|
// | likeshop团队版权所有并拥有最终解释权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | author: likeshop.cn.team
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
namespace app\common\model\ad;
|
||||||
|
use think\Model;
|
||||||
|
|
||||||
|
class Ad extends Model{
|
||||||
|
const mobile = 1;
|
||||||
|
const pc = 2;
|
||||||
|
|
||||||
|
|
||||||
|
public static function getAdTypeDesc($from = true){
|
||||||
|
$desc = [
|
||||||
|
self::mobile => '移动端商城',
|
||||||
|
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] ?? '';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user