zhaojs
2023-06-05 ea08124776f2d39489119096529f2022abc6d71b
application/api/logic/taoke/device/Dataoke.php
@@ -28,7 +28,11 @@
        'goods_list' => 'https://openapi.dataoke.com/api/goods/get-goods-list',
        'price_trend_url'=>'https://openapi.dataoke.com/api/goods/price-trend',
        'album_url' => 'https://openapi.dataoke.com/api/album/album-list',
        'album_goods_url'=>'https://openapi.dataoke.com/api/album/goods-list'
        'album_goods_url'=>'https://openapi.dataoke.com/api/album/goods-list',
        'fqb_url'=>'https://dtkapi.ffquan.cn/dtk_go_app_api/v1/page-goods-ranking',
        'friends-circle-list'=>'https://openapi.dataoke.com/api/goods/friends-circle-list',
        'parse_url'=>'https://openapi.dataoke.com/api/dels/kit/contentParse',
        'similer_url'=>'https://openapi.dataoke.com/api/goods/list-similer-goods-by-open',
    ];
    const shop_type = ["0"=>"淘宝","1"=>"天猫","2"=>"天猫超市","3"=>"天猫国际"];
@@ -94,6 +98,26 @@
        return $data;
        
    }
      /**
     * 大淘客疯抢榜
     *
     */
     public function fqbGoodsList($cid,$type,$pid)
     {
        $params = $this->setParams(['cId'=>$cid,'type'=>$type,'app_key'=>$pid]);
        $result = send_get(self::request_url['fqb_url'],$params);
        if(empty($result) || $result['code'] != 1) return [];
        $list = $result['data']['data'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::GetGoodsFy($goods,$goods["jiage"],$goods["yongjin"]/100);
            }
        }
        $result['data']['data']=$list;
        return $result;
     }
    /**
     * 获取专辑列表
@@ -184,9 +208,9 @@
     * @param mixed 大淘客的二级类目id,通过超级分类API获取。仅允许传一个二级id,当一级类目id和二级类目id同时传入时,会自动忽略二级类目id
     * @return void
     */
    public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size)
     public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size,$tchaoshi=0)
    {
        $params = $this->setParams(['cids'=>$cids,'subcid'=>$subcid,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$page_size]);
        $params = $this->setParams(['cids'=>$cids,'tchaoshi'=>$tchaoshi,'subcid'=>$subcid,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$page_size]);
        $result = send_get(self::request_url['goods_list'],$params);
@@ -337,7 +361,8 @@
        if(empty($result) || $result['code'] != 0) fault('券链接获取失败');
        $info = $result['data'];
        $info["tpwd"]= $info['longTpwd'];
       //  $info["link"]= $info['shortUrl'];
        $info['kuaiZhanUrl'] = isset($info['kuaiZhanUrl']) ? $info['kuaiZhanUrl'] : '';
        return $info;
@@ -549,6 +574,99 @@
        return $list;
    }
      /**
     * 获取商品分佣信息
     *
     */
     private static function GetGoodsFy($goods,$actprice,$rate)
     {
        //计算返利金额
        $goods['fanli'] = self::rebate($actprice,$rate);
        $goods['topFanli'] = self::rebate($actprice,$rate,self::$topFanliRate);
        return  $goods;
     }
      /**
     * 朋友圈文案 https://www.dataoke.com/kfpt/api-d.html?id=62
     *
     * @param integer $page
     * @param [type] $page_size
     * @return void
     */
     public function getFriendscircles($page = 1,$page_size = 10,$cid,$sort){
        $params = $this->setParams(['pageId'=>$page,'pageSize'=>$page_size,'cid'=>$cid,'sort'=>$sort]);
        $result = send_get(self::request_url['friends-circle-list'],$params);
        if(empty($result) || $result['code'] != 0) fault($result['msg']);
        $list = $result['data'];
        if(empty($list)) return [];
        if(!empty($list)){
            foreach($list['list'] as &$goods){
                $goods = self::GetGoodsFy($goods,$goods["actualPrice"],$goods["commissionRate"]/100);
            }
        }
        return $list;
    }
    /**
     * 剪切板识别 https://www.dataoke.com/kfpt/api-d.html?id=80
     *
     * @param [type] $url
     * @return void
     */
    public function zhuanlian($url)
    {
        $params = $this->setParams(['content'=>$url]);
        $result = send_get(self::request_url['parse_url'],$params);
        if(empty($result) || $result['code'] != 0) return [];
        $list = $result['data'];
        $goods_id=$list["itemId"];
        $params = $this->setParams(['goodsId'=>$goods_id]);
        $result2 = send_get(self::request_url['goods_detail_url'],$params);
        if(empty($result2) || $result2['code'] != 0) fault('商品信息获取失败');
        $goods = $result2['data'];
        $goods = self::initGoods($goods);
        return $goods;
    }
    /**
     * 猜你喜欢商品 https://www.dataoke.com/pmc/api-d.html?id=16
     *
     * @param [type] $goodsId
     * @param [type] $page_size 每页数据
     * @return void
     */
    public function getSimilarInfo($goods_id,$page_size)
    {
        $params = $this->setParams(['id'=>$goods_id,'size'=>$page_size]);
        $result = send_get(self::request_url['similer_url'],$params);
        if(empty($result) || $result['code'] != 0) return [];
        $list = $result['data'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::initGoods($goods);
            }
        }
        return $list;
    }
    /**
@@ -606,6 +724,7 @@
        }
        $init_goods['desc'] = isset($goods['desc']) ? $goods['desc'] : '';  //推广文案
        !empty($goods['imgs']) && $init_goods['imgs'] = explode(",",$goods['imgs']);
        empty($goods['imgs'])&& $init_goods['imgs'] =explode(",",$goods['mainPic']);
        !empty($goods['reimgs']) && $init_goods['reimgs'] = explode(",",$goods['reimgs']);
        if(!empty($goods['detailPics'])){
            $detailPics = json_decode($goods['detailPics'],true);
@@ -625,8 +744,8 @@
        $init_goods['subdivisionRank'] = isset($goods['subdivisionRank']) ? $goods['subdivisionRank'] : ''; //该商品所属细分类目排名
        $init_goods['labelImg'] = self::initSourse($init_goods['sourceType']);
        //计算返利金额
        $init_goods['fanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']);
        $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate'],self::$topFanliRate);
        $init_goods['fanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']/100);
        $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']/100,self::$topFanliRate);
        $init_goods['isCollect'] = self::isCollect($init_goods);
        return $init_goods;
    }