| | |
| | | use app\api\logic\taoke\Parser; |
| | | use fast\Http; |
| | | use think\Cache; |
| | | |
| | | use think\log; |
| | | |
| | | class Haodanku extends Parser |
| | | { |
| | |
| | | 'dy_goods_detail_url' => 'https://v2.api.haodanku.com/dy_detail', |
| | | 'get_dyitem_link_url'=>'https://v2.api.haodanku.com/get_dyitem_link', |
| | | 'dy_analyze_code_url'=>'https://v2.api.haodanku.com/dy_analyze_code', |
| | | 'tk_rest_url'=>'https://v3.api.haodanku.com/rest' |
| | | 'tk_rest_url'=>'https://v3.api.haodanku.com/rest', |
| | | 'jd_hot_rank_url'=>'http://v2.api.haodanku.com/jd_hot_rank', |
| | | 'dy_hot_rank_url'=>'https://v3.api.haodanku.com/dy_rankitem_list', |
| | | 'pdd_hot_rank_url'=>'http://v2.api.haodanku.com/pdd_hot_rank', |
| | | ]; |
| | | |
| | | /** |
| | |
| | | if(empty($result) || $result['code'] != 200) fault('转链失败'); |
| | | return $result['data']['url']; |
| | | } |
| | | |
| | | |
| | | |
| | | public function getShareLink($goods_id,$common_relation_id,$relation_id) |
| | |
| | | } |
| | | |
| | | /** |
| | | * 京东榜单(实时热榜) https://www.haodanku.com/Openapi/api_detail?id=52 |
| | | * |
| | | */ |
| | | public function getJdHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort'=>3, |
| | | 'min_id'=>$mainid, |
| | | 'cid'=>$cid |
| | | ]; |
| | | $result = send_get(self::request_url['jd_hot_rank_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) return []; |
| | | |
| | | $goodsList = isset($result['data']) ? $result['data'] : []; |
| | | foreach($goodsList as &$goods){ |
| | | $goods = self::initJdGoodsFy($goods); |
| | | } |
| | | return $goodsList; |
| | | } |
| | | /** |
| | | * 抖音榜单 https://www.haodanku.com/Openapi/api_detail?id=135 |
| | | * |
| | | */ |
| | | public function getDyHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort_id'=>1, |
| | | 'min_id'=>$mainid, |
| | | 'cate_id'=>$cid, |
| | | 'back'=>50 |
| | | ]; |
| | | $result = send_get(self::request_url['dy_hot_rank_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) return []; |
| | | |
| | | $goodsList = isset($result['data']) ? $result['data'] : []; |
| | | foreach($goodsList as &$goods){ |
| | | $goods = self::initDyGoodsFy($goods); |
| | | } |
| | | return $goodsList; |
| | | } |
| | | |
| | | /** |
| | | * 拼多多榜单 https://www.haodanku.com/Openapi/api_detail?id=53 |
| | | */ |
| | | |
| | | public function getPddHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort'=>1, |
| | | 'min_id'=>$mainid, |
| | | 'cid'=>$cid |
| | | ]; |
| | | $result = send_get(self::request_url['pdd_hot_rank_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) return []; |
| | | |
| | | $goodsList = isset($result['data']) ? $result['data'] : []; |
| | | foreach($goodsList as &$goods){ |
| | | $goods = self::initPddGoodsFy($goods); |
| | | } |
| | | return $goodsList; |
| | | } |
| | | |
| | | public function initJdGoodsFy($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::FqgoodsField(); |
| | | $init_goods['dtitle'] = isset($goods['goodsname']) ? $goods['goodsname'] : ''; |
| | | $init_goods['goodsid'] = isset($goods['skuid']) ? $goods['skuid'] : ''; |
| | | $init_goods['jiage'] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; |
| | | $init_goods['mallDesc'] = isset($goods['shopname']) ? $goods['shopname'] : ''; |
| | | $init_goods['pic'] = isset($goods['itempic']) ? $goods['itempic'] : ''; |
| | | $init_goods['quanJine'] = isset($goods['couponmoney']) ? $goods['couponmoney'] : ''; |
| | | $init_goods['quanNum'] = isset($goods['couponnum']) ? $goods['couponnum'] : ''; |
| | | $init_goods['salesNum'] = isset($goods['itemsale']) ? $goods['itemsale'] : ''; |
| | | $init_goods['yuanjia'] = isset($goods['itemprice']) ? $goods['itemprice'] : ''; |
| | | $init_goods['fanli'] = self::rebate($goods["itemendprice"],$goods['commissionshare']/100); |
| | | $init_goods['topFanli'] = self::rebate($goods['itemendprice'],$goods['commissionshare']/100,self::$topFanliRate); |
| | | $init_goods['sourceType']='jd'; |
| | | return $init_goods; |
| | | } |
| | | |
| | | public function initDyGoodsFy($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::FqgoodsField(); |
| | | $init_goods['dtitle'] = isset($goods['itemtitle']) ? $goods['itemtitle'] : ''; |
| | | $init_goods['goodsid'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['goodsId'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['jiage'] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; |
| | | $init_goods['mallDesc'] = isset($goods['shop_name']) ? $goods['shop_name'] : ''; |
| | | $init_goods['pic'] = isset($goods['itempic']) ? $goods['itempic'] : ''; |
| | | $init_goods['quanJine'] = 0; |
| | | $init_goods['salesNum'] = isset($goods['sales']) ? $goods['sales'] : ''; |
| | | $init_goods['yuanjia'] = isset($goods['itemprice']) ? $goods['itemprice'] : ''; |
| | | $init_goods['fanli'] = self::rebate($goods["itemendprice"],$goods['dyrates']/100); |
| | | $init_goods['topFanli'] = self::rebate($goods['itemendprice'],$goods['dyrates']/100,self::$topFanliRate); |
| | | $init_goods['sourceType']='dy'; |
| | | return $init_goods; |
| | | } |
| | | |
| | | public function initPddGoodsFy($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::FqgoodsField(); |
| | | $init_goods['dtitle'] = isset($goods['goodsname']) ? $goods['goodsname'] : ''; |
| | | $init_goods['goodsid'] = isset($goods['goods_id']) ? $goods['goods_id'] : ''; |
| | | $init_goods['goods_sign'] = isset($goods['goods_sign']) ? $goods['goods_sign'] : ''; |
| | | $init_goods['jiage'] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; |
| | | $init_goods['mallDesc'] = '拼多多'; |
| | | $init_goods['pic'] = isset($goods['itempic']) ? $goods['itempic'] : ''; |
| | | $init_goods['quanJine'] = isset($goods['couponmoney']) ? $goods['couponmoney'] : ''; |
| | | $init_goods['quanNum'] = isset($goods['couponnum']) ? $goods['couponnum'] : ''; |
| | | $init_goods['salesNum'] = isset($goods['itemsale']) ? $goods['itemsale'] : ''; |
| | | $init_goods['yuanjia'] = isset($goods['itemprice']) ? $goods['itemprice'] : ''; |
| | | $init_goods['fanli'] = self::rebate($goods["itemendprice"],$goods['promotion_rate']/100); |
| | | $init_goods['topFanli'] = self::rebate($goods['itemendprice'],$goods['promotion_rate']/100,self::$topFanliRate); |
| | | $init_goods['sourceType']='pdd'; |
| | | |
| | | return $init_goods; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取抖音商品详情https://www.haodanku.com/Openapi/api_detail?id=112 |
| | | * |
| | | * @param [type] $itemid |
| | |
| | | 'apikey' => $this->apikey, |
| | | ]; |
| | | $result = send_get(self::request_url['dy_goods_detail_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) fault('数据获取失败'); |
| | | if(empty($result) || $result['code'] != 200) return []; |
| | | |
| | | $goods = isset($result['data'][0]) ? $result['data'][0] : []; |
| | | |
| | | if(empty($goods['product_id'])) return []; |
| | | |
| | | $goods = self::initDyDetailGoods($goods); |
| | | |
| | |
| | | 'back' => $pageSize |
| | | ]; |
| | | $result = send_get(self::request_url['dy_goods_url'],$send_data); |
| | | |
| | | if(empty($result) || $result['code'] != 200) fault('数据获取失败'); |
| | | |
| | | $list = $result['data']; |