Merge branch 'release/v1.1.4发布'
| | |
| | | 'Url_type 12' => 'æå®å°ç¨åº', |
| | | 'Url_type 13' => 'èæ¨å®¢æ´»å¨è½¬é¾-å°ç¨åº', |
| | | 'Url_type 14' => 'åé¡µè½¬é¾æ¥', |
| | | 'Url_type 15' => 'æ·å®é¡µé¢', |
| | | 'Parameter_json' => 'æºå¸¦åæ°', |
| | | 'Sort' => 'æåº', |
| | | 'Start_time' => 'å¼å§æ¶é´', |
| | |
| | | 'Url_type 11' => 'èæ¨å®¢æ´»å¨è½¬é¾-å¤é¾', |
| | | 'Url_type 12' => 'æå®å°ç¨åº', |
| | | 'Url_type 13' => 'èæ¨å®¢æ´»å¨è½¬é¾-å°ç¨åº', |
| | | 'Url_type 15' => 'æ·å®é¡µé¢', |
| | | 'Status' => 'ç¶æ', |
| | | 'Status 0' => 'éè', |
| | | 'Status 1' => 'æ£å¸¸', |
| | |
| | | |
| | | public function getUrlTypeList() |
| | | { |
| | | return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14' => __('Url_type 14'),'999' => 'ä¸è·³è½¬']; |
| | | return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14' => __('Url_type 14'),'15' => __('Url_type 15'),'999' => 'ä¸è·³è½¬']; |
| | | } |
| | | |
| | | public function getParameterJsonAttr($value, $data) |
| | |
| | | |
| | | public function getUrlTypeList() |
| | | { |
| | | return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14'=>'åé¡µè½¬é¾æ¥','999'=>'ä¸è·³è½¬']; |
| | | return ['0' => __('Url_type 0'), '1' => __('Url_type 1'), '2' => __('Url_type 2'), '3' => __('Url_type 3'), '7' => __('Url_type 7'), '11' => __('Url_type 11'), '12' => __('Url_type 12'), '13' => __('Url_type 13'),'14'=>'åé¡µè½¬é¾æ¥','15' => __('Url_type 15'),'999'=>'ä¸è·³è½¬']; |
| | | } |
| | | |
| | | public function getStatusList() |
| | |
| | | use app\common\model\FqbCate; |
| | | use app\api\logic\taoke\device\Jd as LogicJd; |
| | | |
| | | use app\api\logic\ActivityInfo as ActInfo; |
| | | |
| | | header("Access-Control-Allow-Origin:*"); |
| | | class Activity extends Api |
| | | { |
| | | protected $noNeedLogin = ['fqb_plat_cate']; |
| | | protected $noNeedLogin = ['fqb_plat_cate','run_countRecruitAct','test']; |
| | | protected $noNeedRight = '*'; |
| | | /** |
| | | * è·åç¯æ¢æ¦ |
| | |
| | | $this->success('è·åæå',$list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åæ´»å¨ä¿¡æ¯ |
| | | * |
| | | */ |
| | | public function getActInfo() |
| | | { |
| | | $actid=request()->param('actid'); |
| | | if(empty($actid)) $this->error('åæ°é误'); |
| | | $actInfo=new ActInfo(); |
| | | $user = $this->auth->getUser(); |
| | | $res=$actInfo->getActInfo($actid,$user->id); |
| | | |
| | | $this->success('è·åæå',$res); |
| | | } |
| | | |
| | | /** |
| | | * åå æ´»å¨ |
| | | */ |
| | | public function attendAct() |
| | | { |
| | | $actid=request()->param('actid'); |
| | | if(empty($actid)) $this->error('åæ°é误'); |
| | | $actInfo=new ActInfo(); |
| | | $user = $this->auth->getUser(); |
| | | $res=$actInfo->attendAct($actid,$user->id); |
| | | |
| | | $res?$this->success('æå',$res): $this->error('æ´»å¨å¼å¸¸');; |
| | | } |
| | | |
| | | /** |
| | | * è·åæ´»å¨å·²éè¯·äººæ° |
| | | * |
| | | */ |
| | | public function getActRecruitCount() |
| | | { |
| | | $actid=request()->param('actid'); |
| | | if(empty($actid)) $this->error('åæ°é误'); |
| | | $actInfo=new ActInfo(); |
| | | $user = $this->auth->getUser(); |
| | | $res=$actInfo->getActRecruitCount($actid,$user->id); |
| | | $this->success('è·åæå',$res); |
| | | } |
| | | |
| | | /** |
| | | * è·åæå |
| | | */ |
| | | public function getRankingList() |
| | | { |
| | | $actid=request()->param('actid'); |
| | | if(empty($actid)) $this->error('åæ°é误'); |
| | | $actInfo=new ActInfo(); |
| | | $user = $this->auth->getUser(); |
| | | $res=$actInfo->getRankingList($actid,$user->id); |
| | | $this->success('è·åæå',$res); |
| | | } |
| | | |
| | | public function test() |
| | | { |
| | | $actInfo=new ActInfo(); |
| | | $res=$actInfo->updateRecruitCount(2); |
| | | } |
| | | |
| | | /** |
| | | * æåæ´»å¨è®¡ç® |
| | | */ |
| | | public function run_countRecruitAct() |
| | | { |
| | | $actInfo=new ActInfo(); |
| | | $res=$actInfo->run_countRecruitAct(); |
| | | $this->success('æ§è¡å®æ',$res); |
| | | } |
| | | /** |
| | | * è·åé请ç |
| | | */ |
| | | public function getInviteUrl() |
| | | { |
| | | $user = $this->auth->getUser(); |
| | | $this->success('è·åæå',$user->invitation_code); |
| | | } |
| | | } |
| | |
| | | if(empty($goods_sign)) $this->error('ååsignä¸è½ä¸ºç©º'); |
| | | |
| | | $LogicPdd = new LogicPdd(); |
| | | |
| | | $info = $LogicPdd->getGoodsDetail($goods_sign); |
| | | $ModelUser = new ModelUser(); |
| | | $user = $ModelUser->get(USERID); |
| | | $info = $LogicPdd->getGoodsDetail($goods_sign,true,$user['common_relation_id']); |
| | | |
| | | if($info === false) $this->error($LogicPdd->getError()); |
| | | |
| | |
| | | |
| | | $page_size = request()->param('pageSize',10); |
| | | |
| | | if(empty($nineCid)) $this->error('ç±»ç®idä¸è½ä¸ºç©º'); |
| | | $plat=request()->param('plat','tb'); |
| | | |
| | | if($plat=='tb'&&empty($nineCid)) $this->error('ç±»ç®idä¸è½ä¸ºç©º'); |
| | | |
| | | $LogicDataoke = new LogicDataoke(); |
| | | |
| | | $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size); |
| | | |
| | | $list=null; |
| | | switch($plat) |
| | | { |
| | | case 'tb': |
| | | $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size); |
| | | break; |
| | | case 'jd': |
| | | $list = $LogicDataoke->jdNine($page,$page_size); |
| | | break; |
| | | default: |
| | | $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size); |
| | | break; |
| | | } |
| | | if($list === false) $this->error($LogicDataoke->getError()); |
| | | |
| | | $this->success('è·åæå',['list'=>$list]); |
| | |
| | | $page_size = request()->param('pageSize',100); |
| | | $LogicDataoke = new LogicDataoke(); |
| | | |
| | | $list = $LogicDataoke->getOpGoodsList(1,$page,100,['6','7','11','12','13']); |
| | | $list = $LogicDataoke->getOpGoodsList(1,$page,$page_size,['6','7','11','12','13']); |
| | | //妿䏿»¡è¶³40个ï¼åååä¸é¡µ |
| | | if(count($list)<40){ |
| | | $list2 = $LogicDataoke->getOpGoodsList(1,$page+1,100,['6','7','11','12','13']); |
| | | $list2 = $LogicDataoke->getOpGoodsList(1,$page+1,$page_size,['6','7','11','12','13']); |
| | | $list = array_merge($list,$list2); |
| | | } |
| | | |
| | |
| | | $this->success('è·åæå',['list'=>$list]); |
| | | } |
| | | |
| | | /** |
| | | * æé³0å
è´ååå表 |
| | | * |
| | | * @return void |
| | | */ |
| | | public function get_first_free_dy_goods(){ |
| | | |
| | | $page = request()->param('page',1); |
| | | $page_size = request()->param('pageSize',40); |
| | | $LogicHaodanku = new LogicHaodanku(); |
| | | |
| | | $list = $LogicHaodanku->getDyOnebyGood($page,$page_size); |
| | | |
| | | |
| | | if($list === false) $this->error($LogicHaodanku->getError()); |
| | | $this->success('è·åæå',['list'=>$list]); |
| | | } |
| | | |
| | | /** |
| | | * 京ä¸0å
è´ååå表 |
| | | * |
| | | * @return void |
| | | */ |
| | | public function get_first_free_jd_goods() |
| | | { |
| | | |
| | | $page = request()->param('page',1); |
| | | |
| | | $page_size = request()->param('pageSize',40); |
| | | |
| | | $LogicJd = new LogicJd(); |
| | | |
| | | $list = $LogicJd->getNineSift($page,$page_size); |
| | | |
| | | $this->success('è·åæå',['list'=>$list]); |
| | | } |
| | | |
| | | /** |
| | | * çä½ åæ¬¢ |
| | | * |
| | | * @return void |
| | | */ |
| | | public function gussess_like_goods() |
| | | { |
| | | $platefrom = request()->param('platefrom',''); |
| | | $page = request()->param('pageId',1); |
| | | $page_size = request()->param('pageSize',10); |
| | | $cids= request()->param('cids',''); |
| | | $user = $this->auth->getUser(); |
| | | $common_relation_id = $user['common_relation_id']; |
| | | $list = []; |
| | | if($page<3&&!empty($cids)){ |
| | | switch($platefrom){ |
| | | case 'tb': //æ·å®èç |
| | | $LogicDataoke = new LogicDataoke(); |
| | | $list = $LogicDataoke->getGoodsList($cids,'',0,$page,$page_size,1,0); |
| | | break; |
| | | case 'jd': //äº¬ä¸ |
| | | $LogicJd = new LogicJd(); |
| | | //å°ä»¥éå·åécidsåç¬¦ä¸²è½¬ææ°ç» |
| | | $cids = explode(',',$cids); |
| | | $new_page=1; |
| | | while(count($list)<20){ |
| | | foreach($cids as $key=>$value){ |
| | | $jd_id_list = $LogicJd->search_cid_Goods('','desc','','','inOrderCount30Days',$new_page,5,$cids[$key]); |
| | | //å°å¤ä¸ªjd_id_listæ°ç»åå¹¶æä¸ä¸ªæ°ç» |
| | | $list = array_merge($list,$jd_id_list); |
| | | } |
| | | $new_page=$new_page+1; |
| | | } |
| | | //妿page=1ï¼åå$listæ°ç»çå10个 |
| | | if($page==1){ |
| | | $list= array_slice($list, 0, 10); |
| | | } |
| | | log::write('çä½ åæ¬¢æ¥å¿è°è¯:'.count($list)); |
| | | //妿page=2ï¼åå$listæ°ç»ç第11个å°ç¬¬20个 |
| | | if($page==2){ |
| | | $list= array_slice($list, 10, 10); |
| | | } |
| | | break; |
| | | case 'pdd': //æ¼å¤å¤ |
| | | $LogicPdd = new LogicPdd(); |
| | | //å°ä»¥éå·åécidsåç¬¦ä¸²è½¬ææ°ç» |
| | | $cids = explode(',',$cids); |
| | | $new_page=1; |
| | | while(count($list)<20){ |
| | | foreach($cids as $key=>$value){ |
| | | $jd_id_list = $LogicPdd->searchGoods('','',$common_relation_id,'',1,10,0,$cids[$key]); |
| | | //å°å¤ä¸ªjd_id_listæ°ç»åå¹¶æä¸ä¸ªæ°ç» |
| | | $list = array_merge($list,array_slice($jd_id_list, 0, 5)); |
| | | } |
| | | $new_page=$new_page+1; |
| | | } |
| | | //妿page=1ï¼åå$listæ°ç»çå10个 |
| | | if($page==1){ |
| | | $list= array_slice($list, 0, 10); |
| | | } |
| | | //妿page=2ï¼åå$listæ°ç»ç第11个å°ç¬¬20个 |
| | | if($page==2){ |
| | | $list= array_slice($list, 10, 10); |
| | | } |
| | | break; |
| | | case'dy'://æé³ |
| | | $LogicHaodanku = new LogicHaodanku(); |
| | | //å°ä»¥éå·åécidsåç¬¦ä¸²è½¬ææ°ç» |
| | | $cids = explode(',',$cids); |
| | | $new_page=1; |
| | | while(count($list)<20){ |
| | | foreach($cids as $key=>$value){ |
| | | $jd_id_list = $LogicHaodanku->getDygoodsList($cids[$key],'',0,1,5); |
| | | //å°å¤ä¸ªjd_id_listæ°ç»åå¹¶æä¸ä¸ªæ°ç» |
| | | $list = array_merge($list,$jd_id_list); |
| | | } |
| | | $new_page=$new_page+1; |
| | | } |
| | | //妿page=1ï¼åå$listæ°ç»çå10个 |
| | | if($page==1){ |
| | | $list= array_slice($list, 0, 10); |
| | | } |
| | | //妿page=2ï¼åå$listæ°ç»ç第11个å°ç¬¬20个 |
| | | if($page==2){ |
| | | $list= array_slice($list, 10, 10); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | else{ |
| | | if(empty($platefrom)){ |
| | | $platefrom='tb'; |
| | | } |
| | | else{ |
| | | $page=$page-2; |
| | | } |
| | | switch($platefrom){ |
| | | case "tb": //æ·å®èç |
| | | $LogicTaobaolianmeng = new LogicTaobaolianmeng(); |
| | | $list = $LogicTaobaolianmeng->material('6708','','',$page,$page_size); |
| | | break; |
| | | case "jd": //äº¬ä¸ |
| | | $LogicJd = new LogicJd(); |
| | | $list = $LogicJd->getTodayTop('discountReal',$page,$page_size); |
| | | break; |
| | | case "pdd": //æ¼å¤å¤ |
| | | $LogicPdd = new LogicPdd(); |
| | | $list = $LogicPdd->dailyExplosion('','[7,10851]',4,$page,$page_size); |
| | | $list = isset($list['list']) ? $list['list'] : []; |
| | | break; |
| | | case "wph": //å¯åä¼ |
| | | $LogicDingdanxia = new LogicDingdanxia(); |
| | | $list = $LogicDingdanxia->wphGoodsList('',1,$page,$page_size,0); |
| | | break; |
| | | case "dy": //æé³ |
| | | $LogicHaodanku = new LogicHaodanku(); |
| | | $list = $LogicHaodanku->getDygoodsList('','','',$page,$page_size); |
| | | break; |
| | | } |
| | | } |
| | | $this->success('è·åæå',['list'=>$list]); |
| | | } |
| | | |
| | | /** |
| | | * å忝价 |
| | | * |
| | | * @return void |
| | | */ |
| | | |
| | | public function compare_good(){ |
| | | $content = request()->param('content',''); |
| | | if (empty($content)) $this->error('å
容ä¸è½ä¸ºç©º'); |
| | | $exclude_tb = request()->param('exclude_tb',0); |
| | | $exclude_jd = request()->param('exclude_jd',0); |
| | | $exclude_pdd = request()->param('exclude_pdd',0); |
| | | $exclude_dy = request()->param('exclude_dy',0); |
| | | $content = request()->param('content',''); |
| | | $content = request()->param('content',''); |
| | | $LogicSearch = new LogicSearch(); |
| | | $user = $this->auth->getUser(); |
| | | $common_relation_id = $user['common_relation_id']; |
| | | $info = $LogicSearch->compare_good($content,$common_relation_id,$exclude_tb,$exclude_jd,$exclude_pdd,$exclude_dy); |
| | | $this->success('è·åæå',['list'=>$info]); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | use app\api\logic\SettlementRecord as LogicSettlementRecord; |
| | | use app\api\logic\UserMoneyLog as LogicUserMoneyLog; |
| | | use think\log; |
| | | use app\api\logic\ActivityInfo as InfoActivityInfo; |
| | | use app\common\model\UserExtend as ModelUserExtend; |
| | | use think\Db; |
| | | |
| | | /** |
| | | * ä¼åæ¥å£ |
| | |
| | | $userInfo['token'] = $this->auth->getToken(); |
| | | $data = ['userinfo' => $userInfo]; |
| | | $this->success('è·åæå', $data); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ´æ°appclientid |
| | | */ |
| | | public function UpdateClientId() |
| | | { |
| | | $pushCid=$this->request->post('pushcid'); |
| | | $ModelUser = new ModelUser(); |
| | | $userInfo = $ModelUser->where(['id'=>USERID]); |
| | | if(empty($userInfo)) $this->success('æå',true); |
| | | $userInfo->update(['push_cid'=>$pushCid]); |
| | | $this->success('æå', true); |
| | | } |
| | | |
| | | /** |
| | |
| | | $mobile = $this->request->post('mobile'); |
| | | $captcha = $this->request->post('captcha'); |
| | | $ismobouth=$this->request->post('ismobouth',false); |
| | | $push_cid=$this->request->post('push_cid',false); |
| | | $pushCid=$this->request->post('pushCid',false); |
| | | if (!$mobile || !$captcha) { |
| | | $this->error(__('Invalid parameters')); |
| | | } |
| | |
| | | //å¦æå·²ç»æè´¦å·åç´æ¥ç»å½ |
| | | $ret = $this->auth->direct($user->id); |
| | | } else { |
| | | $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, []); |
| | | $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, [],'',[],$pushCid); |
| | | } |
| | | if ($ret) { |
| | | Sms::flush($mobile, 'login'); |
| | |
| | | public function bind_mobile_login() |
| | | { |
| | | $wxUser = request()->param('wxUser','','urldecode'); |
| | | $pushCid= request()->param('pushCid',''); |
| | | $wxUser = json_decode($wxUser,true); |
| | | if(empty($wxUser)) $this->error('微信ææä¿¡æ¯è·å失败'); |
| | | $mobile = $this->request->post('mobile'); |
| | |
| | | $is_phone_bind = $ModelUser->where(['mobile'=> $mobile])->find(); |
| | | if(!empty($is_phone_bind)){ |
| | | $LogicUser->bindWechat($is_phone_bind['id'],$wxUser['headimgurl'],$wxUser['sex'],$wxUser['nickname'],$wxUser['openid']); |
| | | $ret = $this->auth->direct($is_phone_bind['id']); |
| | | $ret = $this->auth->direct($is_phone_bind['id'],$pushCid); |
| | | }else{ //å¤æå¾®ä¿¡æ¯å¦å·²ç»ç»å® |
| | | $find_third = $ModelThird->where(['openid'=>$wxUser['openid']])->find(); |
| | | if(!empty($find_third)) $this->error('å½å微信å·å·²ç»å®å
¶ä»è´¦å·'); |
| | | $ret = $this->auth->register('', Random::alnum(), '', $mobile, [],'wechat',$wxUser); |
| | | $ret = $this->auth->register('', Random::alnum(), '', $mobile, [],'wechat',$wxUser,$pushCid); |
| | | } |
| | | Sms::flush($mobile, 'changemobile'); |
| | | if ($ret) { |
| | |
| | | |
| | | $new_goodsId = request()->param('new_goodsId',''); |
| | | |
| | | $plateform= request()->param('plateform',''); |
| | | |
| | | $LogicUserBrowse = new LogicUserBrowse(); |
| | | |
| | | $res = $LogicUserBrowse->updatefirstfreelog(USERID,$ids,$new_goodsId); |
| | | $res = $LogicUserBrowse->updatefirstfreelog(USERID,$ids,$new_goodsId,$plateform); |
| | | |
| | | if($res === false) $this->error($LogicUserBrowse->getError()); |
| | | |
| | |
| | | public function bind_invitation() |
| | | { |
| | | $invite_code = request()->param('invite_code',''); |
| | | $deviceid=request()->param('deviceid',''); |
| | | if(empty($invite_code)) $this->error('é请ç ä¸è½ä¸ºç©º'); |
| | | $is_official = false; |
| | | $isOpenOfficialCode = config('site.isOpenOfficialCode'); |
| | |
| | | if($f_user['status'] != 'normal')$this->error('é请人å¸å·å·²è¢«éå®ï¼ææ¶æ æ³é请'); |
| | | if($user['invitation_id'] != 0)$this->error('å½åå·²ç»å®ä¸çº§ç¨æ·'); |
| | | $save_data['invitation_id'] = $f_user['id']; |
| | | if(!empty($deviceid)) |
| | | {//设å¤id |
| | | $save_data['login_deviceid'] = $deviceid; |
| | | } |
| | | else{ |
| | | $save_data['login_deviceid'] = 'cus'.self::guid(); |
| | | } |
| | | if($f_user['invitation_id'] != 0)$save_data['f_invitation_id'] = $f_user['invitation_id']; |
| | | $res2 = $ModelUser->where(['id'=>$f_user['id']])->setInc('fans',1); |
| | | if(!$res2){ |
| | |
| | | $this->error('ç»å®å¤±è´¥'); |
| | | } |
| | | $ModelUser->commit(); |
| | | //æ´æ°æåæ´»å¨ä¿¡æ¯ |
| | | $activityInfo=new InfoActivityInfo(); |
| | | $activityInfo->updateRecruitCount($save_data['invitation_id'] ); |
| | | $this->success('ç»å®æå',[]); |
| | | } |
| | | |
| | | public function guid() |
| | | { |
| | | |
| | | if (function_exists('com_create_guid')) { |
| | | |
| | | return com_create_guid(); |
| | | |
| | | } else { |
| | | |
| | | mt_srand((double)microtime() * 10000); |
| | | $charid = strtoupper(md5(uniqid(rand(), true))); |
| | | $uuid = substr($charid, 0, 8) |
| | | . substr($charid, 8, 4) |
| | | . substr($charid, 12, 4) |
| | | . substr($charid, 16, 4) |
| | | . substr($charid, 20, 12); |
| | | return $uuid; |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | $this->success('è·åæå',$user); |
| | | } |
| | | |
| | | /** |
| | | * æ£æµæ¯å¦æå好åå |
| | | * |
| | | * @return void |
| | | */ |
| | | |
| | | public function check_preference_goods() |
| | | { |
| | | //è·åå½åç»å½äººç¨æ·ä¿¡æ¯ |
| | | $user = $this->auth->getUser(); |
| | | $ModelUserExtend=new ModelUserExtend(); |
| | | $preference_goods=$ModelUserExtend->where(['id'=>$user['id']])->field('p_cids,p_platefrom')->find(); |
| | | if(empty($preference_goods)||empty($preference_goods['p_cids'])) $this->error('ææ å好åå'); |
| | | $this->success('è·åæå',$preference_goods); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?php |
| | | namespace app\api\logic; |
| | | |
| | | use app\common\logic\Basic as BasicLogic; |
| | | use think\console\output\descriptor\Console; |
| | | use think\Db; |
| | | use app\common\model\User as ModelUser; |
| | | use app\api\logic\SettlementRecord as LogicSettlementRecord; |
| | | class ActivityInfo extends BasicLogic |
| | | { |
| | | |
| | | |
| | | /** |
| | | * è·åæ´»å¨ä¿¡æ¯ |
| | | */ |
| | | public function getActInfo($actid,$userid) |
| | | { |
| | | $res=Db::query('SELECT * FROM t_activity_manage WHERE id=?',[$actid]); |
| | | $response=[ |
| | | 'actstatus'=>1, |
| | | 'joinstatus'=>0 |
| | | ]; |
| | | if(empty($res)){ |
| | | $response['actstatus']=0;//ä¸åå¨ |
| | | return $response; |
| | | } |
| | | if($res[0]['act_status']==0) |
| | | { |
| | | $response['actstatus']=-1;//å·²ç»æ |
| | | return $response; |
| | | } |
| | | if(time()<strtotime($res[0]['start_time'])) |
| | | { |
| | | $response['actstatus']= -2;//æªå¼å§ |
| | | return $response; |
| | | } |
| | | if(time()>strtotime($res[0]['end_time'])) |
| | | { |
| | | $response['actstatus']= -3;//å·²ç»æ |
| | | return $response; |
| | | } |
| | | //æ¯å¦å·²åå æ´»å¨ |
| | | $recruitid=$actid.'u'.$userid; |
| | | $canjia=Db::query('select id from t_recruit_act where id=?',[$recruitid]); |
| | | if(empty($canjia)) |
| | | { |
| | | $response['joinstatus']=0;//æªåå |
| | | } |
| | | else{ |
| | | $response['joinstatus']=1;//å·²åå |
| | | } |
| | | return $response; |
| | | } |
| | | |
| | | /** |
| | | * åå æ´»å¨ |
| | | * |
| | | */ |
| | | public function attendAct($actid,$userid) |
| | | { |
| | | //æ¥è¯¢æ´»å¨æ¯å¦åå¨ |
| | | $res=Db::query('SELECT * FROM t_activity_manage WHERE id=?',[$actid]); |
| | | if(empty($res)){ |
| | | return false; |
| | | } |
| | | if($res[0]['act_status']==0||time()>strtotime($res[0]['end_time'])||time()<strtotime($res[0]['start_time'])) |
| | | { |
| | | return false; |
| | | } |
| | | //æå
¥æ´»å¨è¡¨ |
| | | $recruitid=$actid.'u'.$userid; |
| | | $inser=Db::execute('insert ignore into t_recruit_act (id,user_id,act_id,create_time) values(?,?,?,?)',[$recruitid,$userid,$actid,time()]); |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * æ´æ°è·åå·²éè¯·äººæ° |
| | | */ |
| | | public function updateRecruitCount($userid) |
| | | { |
| | | try{ |
| | | //æ¥è¯¢è¿è¡ä¸çæåæ´»å¨ |
| | | $nowTime= date("Y-m-d H:i:s", time()); |
| | | $actList=Db::query('select id,end_time from t_activity_manage where act_status=1 and start_time<=? and end_time>=? and act_type=0 limit 1',[$nowTime,$nowTime]); |
| | | if(empty($actList)) |
| | | {//没æè¿è¡ä¸çæ´»å¨ï¼ä¸ç¨å¤ç |
| | | return true; |
| | | } |
| | | |
| | | //æ¥è¯¢æ¯å¦åå äºæåæ´»å¨ |
| | | $recruitid=$actList[0]['id'].'u'.$userid; |
| | | $actReinfo=Db::query('select id,create_time from t_recruit_act where id=? and user_t=0 and settlement_status=0',[$recruitid]); |
| | | if(empty($actReinfo)) |
| | | {//没æåå æ´»å¨ï¼ä¸ç¨å¤ç |
| | | return true; |
| | | } |
| | | //è·åå·²éè¯·äººæ° |
| | | $actEndTime=strtotime($actList[0]['end_time']);//æ´»å¨ç»ææ¶é´ |
| | | $yqCount=Db::query('select count(DISTINCT(login_deviceid)) as count from t_user where invitation_id=? and status=? and invite_bind_time>=? and invite_bind_time<=?',[$userid,'normal',$actReinfo[0]['create_time'],$actEndTime]); |
| | | $count=0; |
| | | if(!empty($yqCount)) |
| | | { |
| | | $count=$yqCount[0]['count']; |
| | | } |
| | | //å¢å count |
| | | $countres=Db::execute('update t_recruit_act set recruit_count=? where id=?',[$count,$recruitid]); |
| | | return $countres==1; |
| | | } |
| | | catch(\Exception $e) |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åå·²éè¯·äººæ° |
| | | */ |
| | | public function getActRecruitCount($actid,$userid) |
| | | { |
| | | $recruitid=$actid.'u'.$userid; |
| | | $count=Db::query('select recruit_count from t_recruit_act where id=?',[$recruitid]); |
| | | if(empty($count)) |
| | | { |
| | | return [ |
| | | 'membercount'=>0, |
| | | 'award'=>0 |
| | | ]; |
| | | } |
| | | //è·åéé¢ä¿¡æ¯ |
| | | $actList=Db::query('select * from t_activity_manage where id=? and count_status=0 and act_type=0 and act_status=1',[$actid]); |
| | | $rewardRule=json_decode($actList[0]['act_json']); |
| | | $award=$this->stepAllRule($rewardRule->rule,$count[0]['recruit_count']); |
| | | return [ |
| | | 'membercount'=>$count[0]['recruit_count'], |
| | | 'award'=>$award |
| | | ]; |
| | | } |
| | | |
| | | /** |
| | | * è·åæå |
| | | */ |
| | | public function getRankingList($actid,$userid) |
| | | { |
| | | $rList=Db::query('SELECT a.id,a.nickname,a.avatar,b.recruit_count from t_recruit_act b left join t_user a on a.id =b.user_id where b.act_id=? and b.recruit_count>0 order by b.recruit_count desc limit 7',[$actid]); |
| | | if(empty($rList)) |
| | | { |
| | | return []; |
| | | } |
| | | return $rList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è®¡ç®æåæ´»å¨éé¢ |
| | | * |
| | | */ |
| | | public function run_countRecruitAct() |
| | | { |
| | | //å
æ¥è¯¢æåæ´»å¨ |
| | | $actList=Db::query('select * from t_activity_manage where count_status=0 and act_type=0 and act_status=1'); |
| | | if(empty($actList)) |
| | | { |
| | | return '没æç¬¦åçæ´»å¨'; |
| | | } |
| | | |
| | | foreach($actList as $act) |
| | | {//å¾ªç¯æ´»å¨ï¼è®¡ç®éé¢ |
| | | //ä¿®æ¹æ´»å¨è®¡ç®ç¶æ |
| | | $this->run_UpdateActCount($act['id'],1); |
| | | $actEndTime=strtotime($act['end_time']);//æ´»å¨ç»ææ¶é´ |
| | | //æ¥è¯¢ææå䏿´»å¨çä¼å |
| | | $cusList=Db::query('select * from t_recruit_act where act_id=? and settlement_status=0 and user_t=0',[$act['id']]); |
| | | if(empty($cusList)) |
| | | { |
| | | $this->run_UpdateActCount($act['id'],2); |
| | | continue; |
| | | } |
| | | //æ´»å¨è§å |
| | | $rewardRule=json_decode($act['act_json']); |
| | | foreach($cusList as $cus) |
| | | {//循ç¯å䏿´»å¨çä¼å |
| | | $tradeId=$act['id'].'u'.$cus['user_id']; |
| | | $yqCount=Db::query('select count(DISTINCT(login_deviceid)) as count from t_user where invitation_id=? and status=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],'normal',$cus['create_time'],$actEndTime]); |
| | | if(empty($yqCount)) |
| | | { |
| | | Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=0,act_award=0 where id=?',[1, date("Y-m-d H:i:s", time()),$tradeId]); |
| | | continue; |
| | | } |
| | | //计ç®åºå¾éé¢ |
| | | $price=0; |
| | | switch($rewardRule->act_type) |
| | | { |
| | | case 'step_all'://é¶æ¢¯å®æåèµ é |
| | | $price=$this->stepAllRule($rewardRule->rule,$yqCount[0]['count']); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | if($price<=0) |
| | | { |
| | | Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=?,act_award=0 where id=?',[1, date("Y-m-d H:i:s", time()),$yqCount[0]['count'],$tradeId]); |
| | | continue; |
| | | } |
| | | //æå
¥èæ¨å®¢ç订å |
| | | $tradeHas=Db::query('select id from t_jtk_union_order_commission where trade_parent_id=?',[$tradeId]); |
| | | if(!empty($tradeHas)) |
| | | {//å·²ç»æè®¢å |
| | | continue; |
| | | } |
| | | //计ç®è®¢åæ¶ç |
| | | $title = $act['act_name'].'-æ´»å¨å¥å±ç»ç®'; |
| | | ModelUser::money('inc',$price,$cus['user_id'],$title); |
| | | LogicSettlementRecord::writeLog('jtk',$price,$cus['user_id'],$title); |
| | | $tradeRes=Db::execute('insert into t_jtk_union_order_commission (trade_parent_id,trade_id,member_id,buy_member_id,is_own,alipay_total_price,pub_share_pre_fee,item_title,item_id,is_settle,tb_paid_time,create_time,update_time,tk_status,tk_earning_time,pub_share_fee)values(?,?,?,?,1,?,?,?,?,?,?,?,?,?,?,?)',[$tradeId,$tradeId,$cus['user_id'],$cus['user_id'],$price,$price,$act['act_name'].'-æ´»å¨å¥å±',$act['id'],1,date("Y-m-d H:i:s", time()),time(),time(),3,time(),$price]); |
| | | if($tradeRes==1) |
| | | {//ä¿®æ¹è®¡ç®ç¶æ |
| | | Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=?,act_award=? where id=?',[1, date("Y-m-d H:i:s", time()),$yqCount[0]['count'],$price,$tradeId]); |
| | | } |
| | | } |
| | | $this->run_UpdateActCount($act['id'],2); |
| | | } |
| | | return 'æ§è¡-success'; |
| | | } |
| | | |
| | | public function run_UpdateActCount($actid,$countStatus) |
| | | { |
| | | if($countStatus==1) |
| | | { |
| | | Db::execute('update t_activity_manage set count_status=? where id=?',[$countStatus,$actid]); |
| | | } |
| | | else{ |
| | | Db::execute('update t_activity_manage set count_status=?,count_time=? where id=?',[$countStatus,time(),$actid]); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * step_allè§å |
| | | * |
| | | */ |
| | | public function stepAllRule($rule,$yqCount) |
| | | { |
| | | $maxReward=0; |
| | | foreach($rule as $r_item) |
| | | { |
| | | if($r_item->c_count>$yqCount) |
| | | { |
| | | continue; |
| | | } |
| | | if($maxReward<$r_item->reward) |
| | | { |
| | | $maxReward=$r_item->reward; |
| | | } |
| | | } |
| | | return $maxReward; |
| | | } |
| | | |
| | | } |
| | |
| | | * @param [type] $ids |
| | | * @return void |
| | | */ |
| | | public function updatefirstfreelog($user_id,$ids,$new_goodsId) |
| | | public function updatefirstfreelog($user_id,$ids,$new_goodsId,$plateform) |
| | | { |
| | | if(empty($ids)||empty($new_goodsId)){ |
| | | fault('å®è´IDä¸è½ä¸ºç©º'); |
| | |
| | | if(!empty($res)){ |
| | | return true; |
| | | } |
| | | $res=Db::execute('INSERT INTO t_user_first_free_browse(user_id,goodsId,new_goodsId) VALUES (?,?,?)',[$user_id,$ids,$new_goodsId]); |
| | | $res=Db::execute('INSERT INTO t_user_first_free_browse(user_id,goodsId,new_goodsId,plateform) VALUES (?,?,?,?)',[$user_id,$ids,$new_goodsId,$plateform]); |
| | | |
| | | return true; |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è¿å©å
¥åºåæ´æ°ï¼æ°ï¼ï¼å ä¸é¦åé»è¾ |
| | | * |
| | | * @return void |
| | | */ |
| | | public function fanliCommissionNew($order) |
| | | { |
| | | $trade_id = isset($order['trade_id']) ? $order['trade_id'] : ''; |
| | | if(empty($trade_id)) return ['status'=>false,'info'=>'订åå·ä¸ºç©º']; |
| | | //夿æ¯å®ä»é颿¯å¦å¤§äº4å
ï¼å¤§äº4å
ç´æ¥æ®éè¿å© |
| | | if(floatval($order['pay_price'])>4){ |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | //æ ¹æ®æ·å®ç»å®æ¸ éidæ¥è¯¢ç¨æ·ä¿¡æ¯ |
| | | $ModelUser = new ModelUser(); |
| | | $user = $ModelUser->where(['common_relation_id'=>$order['channel_code']])->find(); |
| | | if(!empty($user)) |
| | | { |
| | | $browse=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'is_order'=>1])->find(); |
| | | if(!empty($browse)){ |
| | | //æ¥è¯¢æ¯å¦æ¯é¦ååå |
| | | $first_browse=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'tid'=>$order['trade_id']])->find(); |
| | | if(!empty('first_browse')){ |
| | | //计ç®é¦åè¿å© |
| | | $res=self::fanliCommissionForFree($order); |
| | | return $res; |
| | | } |
| | | else{ |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | |
| | | } |
| | | else{ |
| | | $itemid=$order['product_id']; |
| | | $first_good=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'is_order'=>0,'new_goodsId'=>$itemid])->find(); |
| | | if(empty($first_good)){ |
| | | dump('没è¿å
¥é¦åè¿å©'); |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | else{ |
| | | //计ç®é¦åè¿å© |
| | | dump('è¿å
¥é¦åè¿å©'); |
| | | $res=self::fanliCommissionForFree($order); |
| | | return $res; |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | else{ |
| | | //æ 记订å为æ éåé |
| | | $ModelOrder = new ModelTaobaoOrder(); |
| | | $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>2,'update_time'=>time()]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æ éåé']; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * è¿å©å
¥åºåæ´æ° |
| | |
| | | return ['status'=>true,'info'=>'æåæå']; |
| | | } |
| | | |
| | | /** |
| | | * é¦åè¿å©å
¥åºåæ´æ° |
| | | * |
| | | * @return void |
| | | */ |
| | | public function fanliCommissionForFree($order) |
| | | { |
| | | $trade_id = isset($order['trade_id']) ? $order['trade_id'] : ''; |
| | | if(empty($trade_id)) return ['status'=>false,'info'=>'订åå·ä¸ºç©º']; |
| | | Db::startTrans(); |
| | | $ModelUser = new ModelUser(); |
| | | $user = $ModelUser->where(['common_relation_id'=>$order['channel_code']])->find(); |
| | | $ModelOrder = new ModelDyOrder(); |
| | | if(empty($user)){ |
| | | //æ 记订å为æ éåé |
| | | $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>2,'tk_z_status'=>1,'change_time'=>time()]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æ éåé']; |
| | | } |
| | | $userLevelInfo = $this->getLevelInfo($user['level']); //ç¨æ·ççº§ä¿¡æ¯ |
| | | $find_commission = $this->model->where(['trade_id'=>$trade_id])->select(); |
| | | $push_data = []; |
| | | if(empty($find_commission)){ //å¼å§åä½£å
¥åº |
| | | //èªè´åä½£ |
| | | $tmp_1 = [ |
| | | 'trade_parent_id' => $order['trade_parent_id'], |
| | | 'trade_id' => $trade_id, |
| | | 'member_id' => $user['id'], |
| | | 'buy_member_id' => $user['id'], |
| | | 'is_own' => 1, |
| | | 'alipay_total_price' => $order['pay_price'], |
| | | 'pub_share_pre_fee' => empty($order['pay_price']) ? "" : $order['pay_price'], |
| | | 'refund_tag' => 0, |
| | | 'item_img' => $order['item_img'], |
| | | 'item_title' => $order['item_title'], |
| | | 'tk_status' => $order['order_status'], |
| | | 'item_id' => $order['product_id'], |
| | | 'member_commission_rate' => $userLevelInfo['own_commission_rate'], |
| | | 'is_settle' => 0, |
| | | 'tb_paid_time' => empty($order['paid_time']) ? "" : (date("Y-m-d H:i:s",$order['paid_time'])), |
| | | 'tk_earning_time' =>empty($order['earning_time']) ? "" : $order['earning_time'], |
| | | 'create_time' => time() |
| | | ]; |
| | | if($order['settled_status'] == '1'){ |
| | | $tmp_1['pub_share_fee'] = $order['pay_price']; |
| | | $tmp_1['pay_price'] = $order['pay_price']; |
| | | // $push_data[] = [ |
| | | // 'user' => $user, |
| | | // 'title' => 'æåï¼æ¨æä¸ç¬æ°çè®¢åæ¶ç', |
| | | // 'body' => "æ¨æä¸ç¬æ°çèªè´è®¢åæ¶ç,ä½£é" + $tmp_1['pub_share_fee'] + "å
,ç»§ç»å æ²¹å¦", |
| | | // ]; |
| | | } |
| | | $save_data[] = $tmp_1; |
| | | $result = $this->model->saveAll($save_data); |
| | | if(!$result){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'åä½£å
¥åºå¤±è´¥']; |
| | | } |
| | | if($order['is_distribution'] == 0){ |
| | | $res_order = $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>1,'change_time'=>time()]); |
| | | if(!$res_order){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'订åç¶æä¿®æ¹å¤±è´¥']; |
| | | } |
| | | } |
| | | // if(!empty($push_data)){ |
| | | // $this->userPush($push_data); |
| | | // } |
| | | }else{ //å·²ç»æå订åï¼è¿è¡æ´æ° |
| | | foreach($find_commission as $item){ |
| | | $item_data = [ |
| | | 'alipay_total_price' => $order['pay_price'], |
| | | 'pub_share_pre_fee' => empty($order['pay_price']) ? "" : $order['pay_price'], |
| | | 'pub_share_fee' => $order['settled_status'] == '1' ? $order['pay_price'] : "", |
| | | 'refund_tag' => 0, |
| | | 'tk_status' => $order['order_status'], |
| | | 'pay_price' => $order['settled_status'] == '1' ? $order['pay_price'] : $item['pay_price'], |
| | | 'tk_earning_time' => empty($order['earning_time']) ? "" : $order['earning_time'], |
| | | 'update_time' => time() |
| | | ]; |
| | | $update_commission = $this->model->where(['id'=>$item['id']])->update($item_data); |
| | | if(!$update_commission){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'æ´æ°æåè®°å½é误,ID为:'.$item['id']]; |
| | | } |
| | | } |
| | | //æ´æ°è®¢å |
| | | $update_order = $ModelOrder->where(['id'=>$order['id']])->update(['tk_z_status'=>1,'update_time'=>time()]); |
| | | if(!$update_order){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'æ´æ°è®¢åtk_z_statusé误,订åID为:'.$order['id']]; |
| | | } |
| | | } |
| | | Db::name('user_first_free_browse')->where(['user_id'=>$user['id'],'new_goodsId'=>$order['product_id']])->update(['tid'=>$trade_id,'is_order'=>1]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æåæå']; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è¿å©å
¥åºåæ´æ°ï¼æ°ï¼ï¼å ä¸é¦åé»è¾ |
| | | * |
| | | * @return void |
| | | */ |
| | | public function fanliCommissionNew($order) |
| | | { |
| | | $trade_id = isset($order['order_row_id']) ? $order['order_row_id'] : ''; |
| | | if(empty($trade_id)) return ['status'=>false,'info'=>'订åå·ä¸ºç©º']; |
| | | //夿æ¯å®ä»é颿¯å¦å¤§äº4å
ï¼å¤§äº4å
ç´æ¥æ®éè¿å© |
| | | if(floatval($order['estimate_cos_price'])>5){ |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | //æ ¹æ®æ·å®ç»å®æ¸ éidæ¥è¯¢ç¨æ·ä¿¡æ¯ |
| | | $ModelUser = new ModelUser(); |
| | | $user = $ModelUser->where(['common_relation_id'=>$order['position_id']])->find(); |
| | | if(!empty($user)) |
| | | { |
| | | $browse=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'is_order'=>1])->find(); |
| | | if(!empty($browse)){ |
| | | //æ¥è¯¢æ¯å¦æ¯é¦ååå |
| | | $first_browse=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'tid'=>$order['order_row_id']])->find(); |
| | | if(!empty('first_browse')){ |
| | | //计ç®é¦åè¿å© |
| | | $res=self::fanliCommissionForFree($order); |
| | | return $res; |
| | | } |
| | | else{ |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | |
| | | } |
| | | else{ |
| | | $itemid=$order['sku_id']; |
| | | $first_good=DB::name('user_first_free_browse')->where(['user_id'=>$user['id'],'is_order'=>0,'new_goodsId'=>$itemid])->find(); |
| | | if(empty($first_good)){ |
| | | $res=self::fanliCommission($order); |
| | | return $res; |
| | | } |
| | | else{ |
| | | //计ç®é¦åè¿å© |
| | | $res=self::fanliCommissionForFree($order); |
| | | return $res; |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | else{ |
| | | //æ 记订å为æ éåé |
| | | $ModelOrder = new ModelTaobaoOrder(); |
| | | $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>2,'update_time'=>time()]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æ éåé']; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * è¿å©å
¥åºåæ´æ° |
| | |
| | | return ['status'=>true,'info'=>'æåæå']; |
| | | } |
| | | |
| | | /** |
| | | * é¦åè¿å©å
¥åºåæ´æ° |
| | | * |
| | | * @return void |
| | | */ |
| | | public function fanliCommissionForFree($order) |
| | | { |
| | | $trade_id = isset($order['order_row_id']) ? $order['order_row_id'] : ''; |
| | | if(empty($trade_id)) return ['status'=>false,'info'=>'订åå·ä¸ºç©º']; |
| | | Db::startTrans(); |
| | | $ModelUser = new ModelUser(); |
| | | $user = $ModelUser->where(['common_relation_id'=>$order['position_id']])->find(); |
| | | $ModelOrder = new ModelJdOrder(); |
| | | if(empty($user)){ |
| | | //æ 记订å为æ éåé |
| | | $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>2,'update_time'=>time()]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æ éåé']; |
| | | } |
| | | $userLevelInfo = $this->getLevelInfo($user['level']); //ç¨æ·ççº§ä¿¡æ¯ |
| | | $find_commission = $this->model->where(['trade_id'=>$trade_id])->select(); |
| | | $push_data = []; |
| | | if(empty($find_commission)){ //å¼å§åä½£å
¥åº |
| | | //èªè´åä½£ |
| | | $tmp_1 = [ |
| | | 'trade_parent_id' => $order['order_id'], |
| | | 'trade_id' => $trade_id, |
| | | 'member_id' => $user['id'], |
| | | 'buy_member_id' => $user['id'], |
| | | 'is_own' => 1, |
| | | 'alipay_total_price' => $order['estimate_cos_price'], |
| | | 'pub_share_pre_fee' => $order['estimate_cos_price'], |
| | | 'pub_share_fee' => $order['valid_code'] == 17 ? $order['estimate_cos_price']: "", |
| | | 'refund_tag' => 0, |
| | | 'item_img' => $order['image_url'], |
| | | 'item_title' => $order['sku_name'], |
| | | 'tk_status' => $order['valid_code'], |
| | | 'item_id' => $order['sku_id'], |
| | | 'member_commission_rate' => 100, |
| | | 'is_settle' => 0, |
| | | 'tb_paid_time' => $order['order_time'], |
| | | 'pay_price' => $order['actual_cos_price'], |
| | | 'tk_earning_time' =>!empty($order['finish_time']) ? strtotime($order['finish_time']) : 0, |
| | | 'pay_month' => $order['pay_month'], |
| | | 'create_time' => time() |
| | | ]; |
| | | $save_data[] = $tmp_1; |
| | | $result = $this->model->saveAll($save_data); |
| | | if(!$result){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'åä½£å
¥åºå¤±è´¥']; |
| | | } |
| | | if($order['is_distribution'] == 0){ |
| | | $res_order = $ModelOrder->where(['id'=>$order['id']])->update(['is_distribution'=>1,'update_time'=>time()]); |
| | | if(!$res_order){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'订åç¶æä¿®æ¹å¤±è´¥']; |
| | | } |
| | | } |
| | | // if(!empty($push_data)){ |
| | | // $this->userPush($push_data); |
| | | // } |
| | | }else{ //å·²ç»æå订åï¼è¿è¡æ´æ° |
| | | foreach($find_commission as $item){ |
| | | $item_data = [ |
| | | 'alipay_total_price' => $order['estimate_cos_price'], |
| | | 'pub_share_pre_fee' => $order['estimate_cos_price'], |
| | | 'pub_share_fee' => $order['valid_code'] == 17 ? $order['estimate_cos_price']: $item['pub_share_fee'], |
| | | 'refund_tag' => 0, |
| | | 'tk_status' => $order['valid_code'], |
| | | 'pay_price' => $order['actual_cos_price'], |
| | | 'tk_earning_time' =>!empty($order['finish_time']) ? strtotime($order['finish_time']) : 0, |
| | | 'pay_month' => $order['pay_month'], |
| | | 'update_time' => time() |
| | | ]; |
| | | $update_commission = $this->model->where(['id'=>$item['id']])->update($item_data); |
| | | if(!$update_commission){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'æ´æ°æåè®°å½é误,ID为:'.$item['id']]; |
| | | } |
| | | } |
| | | //æ´æ°è®¢å |
| | | $update_order = $ModelOrder->where(['id'=>$order['id']])->update(['tk_z_status'=>1,'update_time'=>time()]); |
| | | if(!$update_order){ |
| | | Db::rollback(); |
| | | return ['status'=>false,'info'=>'æ´æ°è®¢åtk_z_statusé误,订åID为:'.$order['id']]; |
| | | } |
| | | } |
| | | Db::name('user_first_free_browse')->where(['user_id'=>$user['id'],'new_goodsId'=>$order['sku_id']])->update(['tid'=>$trade_id,'is_order'=>1]); |
| | | Db::commit(); |
| | | return ['status'=>true,'info'=>'æåæå']; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | $list = $this->model->where(['is_distribution'=>0,'channel_code'=>['neq',''],'channel_code'=>['neq',0]])->whereOr("is_distribution = 1 And tk_z_status = 2 And channel_code !=''")->limit(20)->order('id desc')->select(); |
| | | if(!empty($list)){ |
| | | $LogicDyCommission = new LogicDyCommission(); |
| | | foreach($list as $order){ |
| | | $result = $LogicDyCommission->fanliCommission($order); |
| | | foreach($list as $order){ |
| | | $result = $LogicDyCommission->fanliCommissionNew($order); |
| | | // $result = $LogicDyCommission->fanliCommission($order); |
| | | if(!$result){ |
| | | mylog('订åæåé误',$result['info'],"errorInfo"); |
| | | } |
| | |
| | | if(!empty($list)){ |
| | | $LogicJdCommission = new LogicJdCommission(); |
| | | foreach($list as $order){ |
| | | $result = $LogicJdCommission->fanliCommission($order); |
| | | // $result = $LogicJdCommission->fanliCommission($order); |
| | | $result = $LogicJdCommission->fanliCommissionNew($order); |
| | | if(!$result){ |
| | | mylog('订åæåé误',$result['info'],"errorInfo"); |
| | | } |
| | |
| | | use app\api\logic\UserCollect; |
| | | use app\api\logic\User as LogicUser; |
| | | use app\common\model\UserLevel as ModelUserLevel; |
| | | |
| | | use \app\common\model\UserExtend as ModelUserExtend; |
| | | class Parser extends BasicLogic |
| | | { |
| | | //TODO æ£æ¥æææ¥å£æ¯ä¸æ¯æè°æ´çï¼éè¦ä¼ 代ççç¸åºå段 |
| | |
| | | |
| | | protected static $topLevelName = ""; //顶级ç级åç§° |
| | | |
| | | protected static $buyCount=-1;//è´ä¹°æ¬¡æ° |
| | | |
| | | protected static $returnLimit=1;//ä½£éå
¨è¿çè´ä¹°æ¬¡æ°éå¶ |
| | | |
| | | |
| | | public function __construct(){ |
| | | $level = 1; |
| | |
| | | self::$userRate = $leveInfo['own_commission_rate'] * 0.01; |
| | | $topLevelInfo = $ModelUserLevel->where(['level'=>3])->find(); |
| | | if(empty($topLevelInfo)) fault('代çé
置失败'); |
| | | //è·åè´ä¹°æ¬¡æ° |
| | | /* $ModelUserExtend=new ModelUserExtend(); |
| | | $userBuy= $ModelUserExtend->where(['id'=>USERID])->find(); |
| | | if(!empty($userBuy)) |
| | | { |
| | | self::$buyCount=$userBuy['tradecount']; |
| | | } |
| | | if(self::$buyCount>=0&&self::$buyCount<self::$returnLimit) |
| | | {//符åå
¨è¿è§å |
| | | self::$userRate =1; |
| | | } */ |
| | | self::$topFanliRate = $topLevelInfo['own_commission_rate'] * 0.01; |
| | | self::$topLevelName = $topLevelInfo['level_name']; |
| | | } |
| | |
| | | 'url_type' => "3", //åå详æ
, |
| | | 'isCollect' => 0, //æ¯å¦æ¶è |
| | | 'topLevelName' => self::$topLevelName, //顶级ç级åç§° |
| | | 'predictPromotionRate'=>0,//æ¯ä»·è¡ä¸ºé¢å¤å®ä½£éï¼éè¦ç¨æ·å¤æ¡-æ¼å¤å¤ä¸ç¨ |
| | | ]; |
| | | } |
| | | |
| | |
| | | /** |
| | | * 计ç®ååå±ç¤ºè¿å©éé¢ |
| | | * |
| | | * @param [type] $price |
| | | * @param [type] $commissionRate |
| | | * @param [type] $price å¸åä»· |
| | | * @param [type] $commissionRate åä½£æ¯ä¾ |
| | | * @return void |
| | | */ |
| | | public static function rebate($price,$commissionRate,$otherRate = "") |
| | |
| | | $user = $ModelUser->get(USERID); |
| | | $info = $LogicPdd->universal($user['common_relation_id'],$uri); |
| | | if($info){ |
| | | $goods = $LogicPdd->searchGoods($info,'',$user['common_relation_id'],true,1,1); |
| | | $goods = $LogicPdd->searchGoods($info,'',$user['common_relation_id'],true,1,10); |
| | | if($goods !== false && isset($goods[0]))$goods = $goods[0]; |
| | | } |
| | | } |
| | |
| | | } |
| | | return $goods; |
| | | } |
| | | |
| | | public function compare_good($content,$common_relation_id,$exclude_tb=0,$exclude_jd=0,$exclude_pdd=0,$exclude_dy=0){ |
| | | //æ ¹æ®ä¼ å
¥çå
容è°ç¨astæ¹æ³ |
| | | $goods = $this->ast($content); |
| | | $title = ''; |
| | | $ogoods=[]; |
| | | $newGoods = []; |
| | | //夿goodsæ¯å¦ä¸ºç©º |
| | | if(empty($goods)){ |
| | | $title = $content; |
| | | } |
| | | else{ |
| | | $title = $goods['title']; |
| | | $ogoods=array_merge($ogoods,$goods); |
| | | } |
| | | //æ ¹æ®$titleæç´¢å大平å°çåå天ç«ï¼æ·å®ï¼äº¬ä¸èªè¥ï¼äº¬ä¸POPï¼æ¼å¤å¤ï¼å¯åä¼ï¼æé³ |
| | | $LogicDingdanxia = new LogicDingdanxia(); |
| | | $LogicJd = new LogicJd(); |
| | | $LogicPdd = new LogicPdd(); |
| | | $LogicHaodanku = new LogicHaodanku(); |
| | | $LogicDataoke=new LogicDataoke(); |
| | | // $c=$exclude_tb+$exclude_jd+$exclude_pdd+$exclude_dy; |
| | | // $pagesize=bcdiv(40,(4-$c)==0?1:(4-$c),0)+1; |
| | | $pagesize=10; |
| | | //æ ¹æ®æ 颿¥è¯¢å¤©ç«åå |
| | | $taobaoGoods = $LogicDataoke->superSearch($title,1,40,0,1); |
| | | //å»é¤éé为0çååå¹¶æç
§ä»·æ ¼æåº |
| | | $tmGoods = array_filter($taobaoGoods,function($v){ |
| | | return $v['monthSales'] > 0&&strstr($v['shopName'],'æè°åº'); |
| | | unset($v); |
| | | }); |
| | | |
| | | $tmcsGoods=array_filter($taobaoGoods,function($v){ |
| | | return $v['monthSales'] > 0&&strstr($v['shopName'],'天ç«è¶
å¸'); |
| | | unset($v); |
| | | }); |
| | | |
| | | //æ ¹æ®æ 颿¥è¯¢äº¬ä¸èªè¥åå |
| | | $jdGoods=$LogicJd->searchGoods($title,'desc','g',0,'match',1,40); |
| | | //å»é¤éé为0çååå¹¶æç
§ä»·æ ¼æåº |
| | | $jdGoods = array_filter($jdGoods,function($v){ |
| | | return $v['monthSales'] > 0; |
| | | }); |
| | | |
| | | $ppdGoodes=[]; |
| | | $common_relation_id='168369887871568'; |
| | | //æ ¹æ®æ 颿¥è¯¢æ¼å¤å¤åå |
| | | if(!empty($common_relation_id)){ |
| | | $ppdGoodes=$LogicPdd->searchGoods($title,'',$common_relation_id,'',1,40,0,''); |
| | | //å»é¤éé为0çååå¹¶æç
§ä»·æ ¼æåº |
| | | $ppdGoodes = array_filter($ppdGoodes,function($v){ |
| | | return $v['monthSales'] > 0&&strstr($v['shopName'],'æè°åº'); |
| | | }); |
| | | } |
| | | |
| | | //æ ¹æ®æ 颿¥è¯¢æé³åå |
| | | $dyGoods =$LogicHaodanku->getDygoodsList('',$title,0,1,40); |
| | | //å»é¤éé为0çååå¹¶æç
§ä»·æ ¼æåº |
| | | $dyGoods = array_filter($dyGoods,function($v){ |
| | | return $v['monthSales'] > 0; |
| | | }); |
| | | $goodsList=[]; |
| | | $goodscount=count(array_slice($tmGoods,0,$pagesize))+count(array_slice($jdGoods,0,$pagesize))+count(array_slice($ppdGoodes,0,$pagesize))+count(array_slice($dyGoods,0,$pagesize))+count(array_slice($tmcsGoods,0,$pagesize)); |
| | | if($goodscount<40){ |
| | | //妿goodscount䏿»¡è¶³20åä»å¤©ç«ååé补足20 |
| | | $needcount=40-$goodscount+10; |
| | | if($exclude_tb==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($tmGoods,0,$pagesize)); |
| | | $goodsList =array_merge($goodsList,array_slice($tmcsGoods,0,$pagesize)); |
| | | } |
| | | if($exclude_jd==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($jdGoods,0,$pagesize)); |
| | | } |
| | | //æç
§ä»·æ ¼æåº |
| | | if(count($goodsList)>0){ |
| | | $sort1 = array_column($goodsList, 'actualPrice'); |
| | | array_multisort($sort1, SORT_ASC, $goodsList); |
| | | } |
| | | if($exclude_pdd==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($ppdGoodes,0,$pagesize)); |
| | | } |
| | | if($exclude_tb==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($taobaoGoods,0,$needcount)); |
| | | } |
| | | if($exclude_dy==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($dyGoods,0,$pagesize)); |
| | | } |
| | | } |
| | | else{ |
| | | if($exclude_tb==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($tmGoods,0,$pagesize)); |
| | | $goodsList =array_merge($goodsList,array_slice($tmcsGoods,0,$pagesize)); |
| | | } |
| | | if($exclude_jd==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($jdGoods,0,$pagesize)); |
| | | } |
| | | //æç
§ä»·æ ¼æåº |
| | | if(count($goodsList)>0){ |
| | | $sort1 = array_column($goodsList, 'actualPrice'); |
| | | array_multisort($sort1, SORT_ASC, $goodsList); |
| | | } |
| | | if($exclude_pdd==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($ppdGoodes,0,$pagesize)); |
| | | } |
| | | if($exclude_dy==0){ |
| | | $goodsList =array_merge($goodsList,array_slice($dyGoods,0,$pagesize)); |
| | | } |
| | | } |
| | | //å¦æè¿æ¯ä¸æ»¡è¶³20å仿·å®ååé补足20 |
| | | if(count($goodsList)<40){ |
| | | if($exclude_tb==0){ |
| | | $tbGoods = $LogicDataoke->superSearch($title,1,20,0,0); |
| | | //å»é¤éé为0çååå¹¶æç
§ä»·æ ¼æåº |
| | | $tbGoods = array_filter($tbGoods,function($v){ |
| | | return $v['monthSales'] > 0&&$v['shopType']=='æ·å®'; |
| | | }); |
| | | //æç
§ä»·æ ¼æåº |
| | | $sort1 = array_column($tbGoods, 'actualPrice'); |
| | | array_multisort($sort1, SORT_ASC, $tbGoods); |
| | | $goodsList =array_merge($goodsList,array_slice($tbGoods,0,20)); |
| | | } |
| | | } |
| | | //å°$ogoodsæå
¥å°$goodsList第ä¸è¡ |
| | | if(!empty($ogoods)){ |
| | | array_unshift($goodsList,$ogoods); |
| | | } |
| | | //ååºå20个åå |
| | | $goodsList = array_slice($goodsList,0,40); |
| | | return $goodsList; |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | use app\api\logic\taoke\Parser; |
| | | use app\api\logic\taoke\device\Haodanku as LogicHaodanku; |
| | | use think\log; |
| | | |
| | | class Dataoke extends Parser |
| | | { |
| | |
| | | 'similer_url'=>'https://openapi.dataoke.com/api/goods/list-similer-goods-by-open', |
| | | 'gift_money_url'=>'https://openapi.dataoke.com/api/goods/first-order-gift-money', |
| | | 'bottom_price_url'=>'https://openapi.dataoke.com/api/goods/get-history-low-price-list', |
| | | 'jdnines_url'=>'https://openapi.dataoke.com/api/dels/jd/column/list-nines' |
| | | ]; |
| | | |
| | | const shop_type = ["0"=>"æ·å®","1"=>"天ç«","2"=>"天ç«è¶
å¸","3"=>"天ç«å½é
"]; |
| | |
| | | |
| | | return $data; |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 京ä¸9.9å
é® https://www.dataoke.com/pmc/api-d.html?id=66 |
| | | * |
| | | */ |
| | | public function jdNine($pageId,$pageSize) |
| | | { |
| | | $params = $this->setParams(['pageId'=>$pageId,'pageSize' => $pageSize]); |
| | | $result = send_get(self::request_url['jdnines_url'],$params); |
| | | if(empty($result) || $result['code'] != 0) return []; |
| | | $list = $result['data']['list']; |
| | | $list_new=[]; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $goods = self::initJdGoods($goods); |
| | | array_push($list_new,$goods); |
| | | } |
| | | } |
| | | return $list_new; |
| | | } |
| | | |
| | | /** |
| | |
| | | * |
| | | * @return void |
| | | */ |
| | | public function superSearch($keyWords,$page = 1,$page_size,$sort) |
| | | public function superSearch($keyWords,$page = 1,$page_size,$sort,$tmall=0) |
| | | { |
| | | $params = $this->setParams(['type'=>"0",'keyWords'=>$keyWords,'type'=>0,'pageId'=>$page,'pageSize'=>$page_size,'sort'=>$sort]); |
| | | $params = $this->setParams(['type'=>"0",'keyWords'=>$keyWords,'type'=>0,'pageId'=>$page,'pageSize'=>$page_size,'sort'=>$sort,'tmall'=>$tmall]); |
| | | $result = send_get(self::request_url['super_search_url'],$params); |
| | | if(empty($result) || $result['code'] != 0) return []; |
| | | $list = $result['data']['list']; |
| | |
| | | return $list; |
| | | } |
| | | |
| | | /** |
| | | * äº¬ä¸æ°æ® |
| | | */ |
| | | private static function initJdGoods($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::goodsField(); |
| | | $init_goods['id'] = isset($goods['skuId']) ? $goods['skuId'] : ''; |
| | | $init_goods['goodsId'] =(isset($goods['skuId']) && !empty($goods['skuId']) ? $goods['skuId'] : (isset($goods['skuId']) ? $goods['skuId'] : '')); //ååid |
| | | $init_goods['itemLink'] = isset($goods['materialUrl']) ? $goods['materialUrl'] : ''; //åå龿¥ |
| | | $init_goods['title'] = isset($goods['skuName']) ? $goods['skuName'] : ''; //ååæ é¢ |
| | | $init_goods["dtitle"] = isset($goods['skuName']) ? $goods['skuName'] : ''; //çæ é¢ |
| | | if(empty($init_goods['dtitle'])) $init_goods['skuName'] = $init_goods['skuName']; |
| | | $init_goods["actualPrice"] = isset($goods['actualPrice']) ? $goods['actualPrice'] : ''; //å¸åä»· |
| | | $init_goods["originalPrice"] = isset($goods['originPrice']) ? $goods['originPrice'] : ''; //åååä»· |
| | | if(isset($goods['originPrice']))$init_goods["originPrice"] = $goods['originPrice']; |
| | | $init_goods["sellerId"] = isset($goods['shopId']) ? $goods['shopId'] : ''; //åºéºId |
| | | $init_goods["shopName"] = isset($goods['shopName']) ? $goods['shopName'] : ''; //åºéºåç§° |
| | | //$init_goods['shopLogo'] = isset($goods['shopLogo']) ? $goods['shopLogo'] : ''; |
| | | //$init_goods['shopLevel'] = isset($goods['shopLevel']) ? $goods['shopLevel'] : ''; //åºéºç级 |
| | | $init_goods['descScore'] = isset($goods['goodsCommentShare']) ? $goods['goodsCommentShare'] : ''; //æè¿°å |
| | | //$init_goods['dsrScore'] = isset($goods['dsrScore']) ? $goods['dsrScore'] : ''; //æè¿°ç¸ç¬¦ |
| | | //$init_goods['dsrPercent'] = isset($goods['dsrPercent']) ? $goods['dsrPercent'] : ''; //æè¿°åè¡æ¯ |
| | | //$init_goods['shipScore'] = isset($goods['shipScore']) ? $goods['shipScore'] : ''; //ç©æµæå¡ |
| | | //$init_goods['serviceScore'] = isset($goods['serviceScore']) ? $goods['serviceScore'] : ''; //æå¡æåº¦ |
| | | $init_goods["couponPrice"] = isset($goods['couponAmount']) ? $goods['couponAmount'] : ''; //伿 å¸éé¢ |
| | | $init_goods["monthSales"] = isset($goods['inOrderCount30Days']) ? format_number($goods['inOrderCount30Days']) : 0; //30天éé |
| | | $init_goods['twoHoursSales'] = isset($goods['inOrderCount30Days']) ? format_number($goods['inOrderCount30Days']) : 0; // |
| | | //$init_goods['specialText'] = isset($goods['specialText']) ? $goods['specialText'] : []; |
| | | $init_goods["mainPic"] = isset($goods['picMain']) ? $goods['picMain'] : ''; //ååä¸»å¾ |
| | | //$init_goods["video"] = isset($goods['video']) ? $goods['video'] : ''; //ååè§é¢ |
| | | $init_goods['couponLink'] = isset($goods['couponLink']) ? $goods['couponLink'] : ''; //伿 å¸é¾æ¥ |
| | | $init_goods['couponEndTime'] = isset($goods['couponEndTime']) && !empty($goods['couponEndTime']) ? date('Y-m-d',strtotime($goods['couponEndTime'])) : ''; //伿 å¸ç»ææ¶é´ |
| | | $init_goods['couponStartTime'] = isset($goods['couponStartTime']) && !empty($goods['couponStartTime']) ? date('Y-m-d',strtotime($goods['couponStartTime'])) : ''; //伿 å¸å¼å§æ¶é´ |
| | | //if(isset($goods['tchaoshi']) && $goods['tchaoshi'] == 1)$goods['shopType'] = 2; //天ç«è¶
å¸ |
| | | $init_goods['sourceType'] = "jd"; |
| | | /* if(isset($goods['shopType'])){ |
| | | $init_goods['shopType'] = isset(self::shop_type[$goods['shopType']]) ? self::shop_type[$goods['shopType']] : "æªç¥"; //åºéºç±»å |
| | | switch($goods['shopType']){ |
| | | case 1 : |
| | | $init_goods['sourceType'] = "tm"; |
| | | break; |
| | | case 2 : |
| | | $init_goods['sourceType'] = "tmshop"; |
| | | break; |
| | | case 3 : |
| | | $init_goods['sourceType'] = "tminte"; |
| | | break; |
| | | } |
| | | } */ |
| | | $init_goods['desc'] = isset($goods['extensionContent']) ? $goods['extensionContent'] : ''; //æ¨å¹¿ææ¡ |
| | | $init_goods['imgs'] = isset($goods['smallImages']) ? $goods['smallImages'] : []; |
| | | empty($goods['smallImages'])&& $init_goods['smallImages'] =explode(",",$goods['smallImages']); |
| | | //!empty($goods['reimgs']) && $init_goods['reimgs'] = explode(",",$goods['reimgs']); |
| | | if(!empty($goods['detailPics'])){ |
| | | $detailPics = json_decode($goods['detailPics'],true); |
| | | if($detailPics){ |
| | | $tmp = []; |
| | | foreach($detailPics as $key => $img){ |
| | | array_push($tmp,$img['img']); |
| | | } |
| | | $init_goods['detailPics'] = $tmp; |
| | | } |
| | | }else{ |
| | | $init_goods['detailPics'] = $init_goods['imgs']; |
| | | } |
| | | $init_goods['faction']='j'; |
| | | /* $init_goods['isSubdivision'] = isset($goods['isSubdivision']) ? $goods['isSubdivision'] : 0; // 该å忝妿ç»åç±»ç® |
| | | $init_goods['subdivisionId'] = isset($goods['subdivisionId']) ? $goods['subdivisionId'] : ''; //该ååæå±ç»åç±»ç®id |
| | | $init_goods['subdivisionName'] = isset($goods['subdivisionName']) ? $goods['subdivisionName'] : ''; //该ååæå±ç»åç±»ç®åç§° |
| | | $init_goods['subdivisionRank'] = isset($goods['subdivisionRank']) ? $goods['subdivisionRank'] : ''; //该ååæå±ç»åç±»ç®æå */ |
| | | $init_goods['labelImg'] = self::initSourse($init_goods['sourceType']); |
| | | //计ç®è¿å©éé¢ |
| | | $init_goods['fanli'] = self::rebate($goods['actualPrice'],$goods['commissionShare']/100); |
| | | $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionShare']/100,self::$topFanliRate); |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | return $init_goods; |
| | | } |
| | | |
| | | /** |
| | | * æ ¼å¼åååä¿¡æ¯ |
| | |
| | | $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); |
| | | //è¡¥å
è¿åå¼ååç±»ç® |
| | | $init_goods['cid'] = isset($goods['cid']) ? $goods['cid'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | 'dy_hot_rank_url'=>'https://v3.api.haodanku.com/dy_rankitem_list', |
| | | 'pdd_hot_rank_url'=>'http://v2.api.haodanku.com/pdd_hot_rank', |
| | | 'sign_red_url'=>'http://v2.api.haodanku.com/sign_red_pack_goods', |
| | | 'dy_onebuy_url'=>'https://v3.api.haodanku.com/dy_onebuy' |
| | | ]; |
| | | |
| | | /** |
| | |
| | | 'id' => $id |
| | | ]; |
| | | $result = send_get(self::request_url['talent_article_url'],$send_data); |
| | | |
| | | if(empty($result) || $result['code'] != 1) fault('æ°æ®è·å失败'); |
| | | |
| | | $info = $result['data']; |
| | | |
| | | return $info; |
| | | } |
| | | |
| | | /** |
| | | * æé³1.9å
/3.9å
ä½ä»·å
é®åå |
| | | */ |
| | | public function getDyOnebyGood($page,$pageSize){ |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'min_id' => $page, |
| | | 'back' => $pageSize |
| | | ]; |
| | | $result = send_get(self::request_url['dy_onebuy_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) fault('æ°æ®è·å失败'); |
| | | |
| | | $list = $result['data']; |
| | | $list_new=[]; |
| | | $title_list=[]; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $itemtitle=$goods['itemtitle']; |
| | | if(empty($title_list)){ |
| | | array_push($title_list,$itemtitle); |
| | | } |
| | | else{ |
| | | //夿ååæ é¢æ¯å¦ç¸ä¼¼ |
| | | $is_same=false; |
| | | foreach($title_list as &$title){ |
| | | similar_text($title,$itemtitle,$percent); |
| | | log::write($title.'----------'.$itemtitle.'--------------'.$percent); |
| | | if($percent>60){ |
| | | $is_same=true; |
| | | break; |
| | | } |
| | | } |
| | | if($is_same){ |
| | | continue; |
| | | } |
| | | array_push($title_list,$itemtitle); |
| | | } |
| | | $goods['shoptype']=''; |
| | | // $goods = self::initDyOneByGoods($goods); |
| | | array_push($list_new,self::initDyOneByGoods($goods)); |
| | | } |
| | | |
| | | } |
| | | |
| | | return $list_new; |
| | | } |
| | | |
| | | |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['dyrates']/100); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['dyrates']/100,self::$topFanliRate); |
| | | |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['dyrates']/100); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['dyrates']/100,self::$topFanliRate); |
| | | |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | return $init_goods; |
| | | } |
| | | |
| | | /** |
| | | * æ ¼å¼åæé³1.9å
/3.9å
ä½ä»·å
é®åå |
| | | * |
| | | * @param [type] $goods |
| | | * @return void |
| | | */ |
| | | private static function initDyOneByGoods($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::goodsField(); |
| | | $init_goods['id'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['goodsId'] = isset($goods['product_id']) ? $goods['product_id'] : ''; //ååid |
| | | $init_goods['itemLink'] = isset($goods['detail_url']) ? $goods['detail_url'] : ''; //åå龿¥ |
| | | $init_goods['dtitle'] = isset($goods['itemshorttitle']) ? $goods['itemshorttitle'] : ''; //ååæ é¢ |
| | | $init_goods['title'] = $init_goods['dtitle']; |
| | | $init_goods["actualPrice"] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; //å¸åä»· |
| | | $init_goods["originalPrice"] = isset($goods['itemprice']) ? $goods['itemprice'] : ''; //åååä»· |
| | | $init_goods["shopName"] = isset($goods['shop_name']) ? $goods['shop_name'] : ''; //åºéºåç§° |
| | | $init_goods["monthSales"] = isset($goods['itemsale']) ? format_number($goods['itemsale']) : 0; //30天éé |
| | | $init_goods["mainPic"] = isset($goods['itempic']) ? $goods['itempic'] : ''; //ååä¸»å¾ |
| | | $init_goods['shopType'] = 'æé³'; //åºéºç±»å |
| | | $init_goods['sourceType'] = "dy"; |
| | | $init_goods['desc'] = ""; |
| | | $init_goods['faction'] = 'd'; |
| | | $init_goods['labelImg'] = self::initSourse($init_goods['sourceType']); |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] =isset($goods['itemendprice']) ? $goods['itemendprice'] : 0; |
| | | $init_goods['topFanli'] =0; |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | /** |
| | | * å大æ¦å http://jingtuitui.com/api_item?id=9 |
| | | * |
| | | * @param [type] $eliteId é¢éID discountReal宿¶ç忦ï¼inOrderCount30Days 30天é鿦ï¼inOrderComm30Days 30天æ¶çæ¦ï¼discountCountæ»é¢å¸ |
| | | * @param [type] $eliteId é¢éID discountReal宿¶ç忦ï¼inOrderCount30Days 30天é鿦ï¼inOrderComm30Days 30天æ¶çæ¦ï¼discountCountæ»é¢å¸; |
| | | * @param integer $page |
| | | * @param [type] $page_size |
| | | * @return void |
| | |
| | | 'pageSize' => $pageSize, |
| | | 'keyword' => $keyword |
| | | ]; |
| | | |
| | | if($isCoupon == 1)$send_data['isCoupon'] = $isCoupon; |
| | | $result = send_get(self::request_url['search_url'],$send_data); |
| | | if(empty($result) || $result['return'] != 0) return []; |
| | | $list = $result['result']['goods']; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $goods = self::initSearchGoods($goods); |
| | | } |
| | | } |
| | | return $list; |
| | | } |
| | | |
| | | /** |
| | | * æç´¢ååï¼å¢å ç±»ç®id--hytï¼ http://jingtuitui.com/api_item?id=3 |
| | | * |
| | | * @param [type] $keyword å
³é®è¯ |
| | | * @param [type] $sort asc=åéåºï¼desc=é»è®¤éåº |
| | | * @param [type] $owner ååç±»å ï¼ï¼g:èªè¥ï¼p:POPï¼ |
| | | * @param [type] $isCoupon æ¯å¦æ¯ä¼æ å¸åå 1=æä¼æ å¸ |
| | | * @param [type] $sortName æåºå段 priceåä»·ï¼ commissionShare佣鿝ä¾ï¼ commissionä½£éï¼inOrderCount30Days 30天å¼åéï¼inOrderComm30Days 30天æ¯åºä½£é |
| | | * @param [type] $page |
| | | * @param [type] $pageSize |
| | | * @param [type] $cid1 ç±»ç®id |
| | | * @return void |
| | | */ |
| | | public function search_cid_Goods($keyword,$sort,$owner,$isCoupon,$sortName,$page,$pageSize,$cid1) |
| | | { |
| | | $send_data = [ |
| | | 'appkey' => $this->appkey, |
| | | 'appid' => $this->appid, |
| | | 'v' => $this->search_version, |
| | | 'sort' => $sort, |
| | | 'owner' => $owner, |
| | | 'sortName' => $sortName, |
| | | 'pageIndex' => $page, |
| | | 'pageSize' => $pageSize, |
| | | 'keyword' => $keyword, |
| | | 'cid1' => $cid1 |
| | | ]; |
| | | |
| | | if($isCoupon == 1)$send_data['isCoupon'] = $isCoupon; |
| | | $result = send_get(self::request_url['search_url'],$send_data); |
| | | if(empty($result) || $result['return'] != 0) return []; |
| | |
| | | }else{ |
| | | return []; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 京ä¸0å
è´ååå表 http://jingtuitui.com/api_item?id=1 |
| | | * |
| | | * @param [type] $page |
| | | * @param [type] $pageSize |
| | | * @return void |
| | | */ |
| | | public function getNineSift($page,$pageSize) |
| | | { |
| | | $send_data = [ |
| | | 'appkey' => $this->appkey, |
| | | 'appid' => $this->appid, |
| | | 'v' => $this->goods_version, |
| | | 'pageIndex' => $page, |
| | | 'pageSize' => $pageSize, |
| | | 'sortName'=>' OrderCount30Days ', |
| | | 'sort'=>'desc', |
| | | 'price_start'=>1, |
| | | 'price_end'=>5 |
| | | ]; |
| | | $result = send_get(self::request_url['goods_list_url'],$send_data); |
| | | |
| | | if(empty($result) || $result['return'] != 0) fault('æ°æ®è·å失败'); |
| | | $list = $result['result']['data']; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $goods = self::initGoods($goods); |
| | | } |
| | | } |
| | | return $list; |
| | | } |
| | | |
| | | |
| | |
| | | if($init_goods["originalPrice"])$init_goods["originalPrice"] = (string)$init_goods["originalPrice"]; |
| | | $init_goods['fanli'] = self::rebate($goods['final_price'],$goods['commissionShare']/100); |
| | | $init_goods['topFanli'] = self::rebate($goods['final_price'],$goods['commissionShare']/100,self::$topFanliRate); |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['categoryInfo']['cid1']) ? $goods['categoryInfo']['cid1'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['commissionInfo']['commissionShare']/100); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['commissionInfo']['commissionShare']/100,self::$topFanliRate); |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['categoryInfo']['cid1']) ? $goods['categoryInfo']['cid1'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | * @param [type] $goods_sign ååsign |
| | | * @return void |
| | | */ |
| | | public function getGoodsDetail($goods_sign,$is_browse = true) |
| | | public function getGoodsDetail($goods_sign,$is_browse = true,$relationid='') |
| | | { |
| | | $params = [ |
| | | 'goods_sign' => $goods_sign |
| | | ]; |
| | | if(!empty($relationid)) |
| | | { |
| | | $params['custom_parameters']='{"uid":"'.$relationid.'"}'; |
| | | if(!empty(MOBILE_INFO)){ |
| | | $params['pid'] = MOBILE_INFO == "IOS" ? $this->config['ios_pid'] : $this->config['android_pid']; |
| | | }else{ |
| | | return []; |
| | | } |
| | | } |
| | | $send_data = $this->makeSign($params,self::request_url['goods_detail_url']); |
| | | $result = send_get(self::base_url,$send_data); |
| | | if(empty($result)) fault('æ°æ®è·å失败'); |
| | | if(isset($result['error_response']) && !empty($result['error_response'])) fault('æ°æ®è·å失败(-1)'); |
| | | //if(isset($result['error_response']) && !empty($result['error_response'])) fault('æ°æ®è·å失败(-1)'); |
| | | if(isset($result['error_response']) && !empty($result['error_response'])) return []; |
| | | $goods = isset($result['goods_detail_response']['goods_details'][0]) ? $result['goods_detail_response']['goods_details'][0] : []; |
| | | $goods = $this->initGoods($goods); |
| | | if($is_browse)self::browseLog($goods); |
| | |
| | | * @param mixed $sort_type æåºæ¹å¼:0-综åæåº;1-æä½£éæ¯çååº;2-æä½£éæ¯ä¾éåº;3-æä»·æ ¼ååº;4-æä»·æ ¼éåº;5-æééååº;6-æéééåº;7-伿 å¸é颿åºååº;8-伿 å¸é颿åºéåº;9-å¸åä»·ååºæåº;10-å¸åä»·éåºæåº;11-æç
§å å
¥å¤å¤è¿å®æ¶é´ååº;12-æç
§å å
¥å¤å¤è¿å®æ¶é´éåº;13-æä½£ééé¢ååºæåº;14-æä½£ééé¢éåºæåº;15-åºéºæè¿°è¯åååº;16-åºéºæè¿°è¯åéåº;17-åºéºç©æµè¯åååº;18-åºéºç©æµè¯åéåº;19-åºéºæå¡è¯åååº;20-åºéºæå¡è¯åéåº;27-æè¿°è¯åå»è´¥åç±»åºéºç¾åæ¯ååºï¼28-æè¿°è¯åå»è´¥åç±»åºéºç¾åæ¯éåºï¼29-ç©æµè¯åå»è´¥åç±»åºéºç¾åæ¯ååºï¼30-ç©æµè¯åå»è´¥åç±»åºéºç¾åæ¯éåºï¼31-æå¡è¯åå»è´¥åç±»åºéºç¾åæ¯ååºï¼32-æå¡è¯åå»è´¥åç±»åºéºç¾åæ¯éåº |
| | | * @return void |
| | | */ |
| | | public function searchGoods($keyword='',$opt_id='',$common_relation_id,$with_coupon = '',$page,$pageSize,$sort_type = 0) |
| | | public function searchGoods($keyword='',$opt_id='',$common_relation_id,$with_coupon = '',$page,$pageSize,$sort_type = 0,$cat_id='') |
| | | { |
| | | $params = [ |
| | | 'keyword' => $keyword, |
| | | 'opt_id' => $opt_id, |
| | | 'limit' => $pageSize, |
| | | 'page_size' => $pageSize, |
| | | 'custom_parameters' => '{"uid":"'.$common_relation_id.'"}', |
| | | 'with_coupon' => empty($with_coupon) ? '' : ($with_coupon == 1 ? "true" : "false"), |
| | | 'page' => $page, |
| | | 'sort_type' => $sort_type, |
| | | 'cat_id' => $cat_id |
| | | |
| | | ]; |
| | | if(!empty(MOBILE_INFO)){ |
| | |
| | | } |
| | | $send_data = $this->makeSign($params,self::request_url['search_goods_url']); |
| | | $result = send_get(self::base_url,$send_data); |
| | | if(empty($result) || isset($result['error_response'])) fault('æ°æ®è·å失败'); |
| | | if(empty($result) || isset($result['error_response'])) return []; //fault('æ°æ®è·å失败'); |
| | | $list = $result['goods_search_response']['goods_list']; |
| | | if(!empty($list)){ |
| | | $tmp = []; |
| | |
| | | if(isset($goods['goods_id']) && isset($goods['goods_name'])){ |
| | | $goods = self::initGoods($goods); |
| | | array_push($tmp,$goods); |
| | | }else{ |
| | | } |
| | | else if (isset($goods['goods_id']) && isset($goods['goods_sign'])) |
| | | { |
| | | $goods= self::getGoodsDetail($goods['goods_sign'],false); |
| | | //array_push($tmp,$goods); |
| | | } |
| | | else{ |
| | | $list = []; |
| | | break; |
| | | } |
| | |
| | | $init_goods['shopLogo'] = isset($goods['mall_img_url']) ? $goods['mall_img_url'] : ''; |
| | | $init_goods['sourceType'] = "pdd"; |
| | | $init_goods['faction'] = "p"; |
| | | $init_goods['predictPromotionRate']= isset($goods['predict_promotion_rate']) ? $goods['predict_promotion_rate'] : 1; |
| | | $init_goods['desc'] = isset($goods['goods_desc']) ? $goods['goods_desc'] : ''; //æ¨å¹¿ææ¡ |
| | | $init_goods['imgs'] = $init_goods['detailPics'] = isset($goods['goods_gallery_urls']) ? $goods['goods_gallery_urls'] : ''; //è½®æå¾ |
| | | $init_goods['video'] = isset($goods['video_url']) ? $goods['video_url'] : ''; //è§é¢ |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['promotion_rate']/1000); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['promotion_rate']/1000,self::$topFanliRate); |
| | | //æ°å¢ååç±»ç®ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cat_ids'][0]) ? $goods['cat_ids'][0] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | 'user_id' => $event['user_id'], |
| | | 'goodsId' => $event['goodsId'], |
| | | 'goods_sign' => isset($event['goods_sign']) ? $event['goods_sign'] : '', |
| | | 'cid'=>isset($event['cid']) ? $event['cid'] : '', |
| | | 'sourceType' => isset($event['sourceType']) ? $event['sourceType'] : '', |
| | | 'faction' => isset($event['faction']) ? $event['faction'] : '', |
| | | 'title' => isset($event['title']) ? $event['title'] : '', |
| | |
| | | * @param string $third_info 䏿¹ç¨æ·ä¿¡æ¯ 注:éä¿æç»ä¸ç»æ |
| | | * @return boolean |
| | | */ |
| | | public function register($username = '', $password, $email = '', $mobile = '', $extend = [],$third_platform="",$third_info=[]) |
| | | public function register($username = '', $password, $email = '', $mobile = '', $extend = [],$third_platform="",$third_info=[],$pushCid="") |
| | | { |
| | | // æ£æµç¨æ·åãæµç§°ãé®ç®±ãææºå·æ¯å¦åå¨ |
| | | if(!empty($third_platform) && !empty($third_info)){ |
| | |
| | | 'logintime' => $time, |
| | | 'loginip' => $ip, |
| | | 'prevtime' => $time, |
| | | 'status' => 'normal' |
| | | 'status' => 'normal', |
| | | 'push_cid'=>$pushCid |
| | | ]); |
| | | //$params['password'] = $this->getEncryptPassword($password, $params['salt']); |
| | | $params = array_merge($params, $extend); |
| | |
| | | * @param int $user_id |
| | | * @return boolean |
| | | */ |
| | | public function direct($user_id) |
| | | public function direct($user_id,$pushCid='') |
| | | { |
| | | $user = User::get($user_id); |
| | | if ($user) { |
| | |
| | | //!empty(PUSH_CID) && $user->push_cid = PUSH_CID; |
| | | //éç½®ç»å½å¤±è´¥æ¬¡æ° |
| | | $user->loginfailure = 0; |
| | | if(!empty($pushCid)) |
| | | { |
| | | $user->push_cid=$pushCid; |
| | | } |
| | | $user->save(); |
| | | $this->_user = $user; |
| | | $this->_token = Random::uuid(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?php |
| | | |
| | | namespace app\common\model; |
| | | |
| | | use think\Model; |
| | | |
| | | |
| | | class UserExtend extends Model |
| | | { |
| | | // 表å |
| | | protected $name = 'user_extend'; |
| | | |
| | | |
| | | } |
| | |
| | | switch(type){ |
| | | case '0': |
| | | case '1': |
| | | case '15': |
| | | $(".link").css('display', 'block'); |
| | | break; |
| | | case '2': |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes"> |
| | | <meta content="yes" name="apple-mobile-web-app-capable"><meta content="yes" name="apple-touch-fullscreen"> |
| | | <meta content="telephone=no,email=no" name="format-detection"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> |
| | | <script type="text/javascript" src="../js/vue.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/jquery-1.12.4.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/vue-lazyload.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/swiper/js/swiper.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/taobaoCode/taobaoCode.js?v=1.2.1"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/clipboard.min.js"></script> |
| | | <script type="text/javascript" src="https://p1static.dataoke.com/web/js/layer/layer.js?t=202104191256"></script> |
| | | <script type="text/javascript" src="https://img.ushopvip.com/js/uni-webview-js.js"></script> |
| | | <title>éç²é¢ç°é</title> |
| | | |
| | | <style> |
| | | .com_img{ |
| | | width:100%; |
| | | } |
| | | .act_po |
| | | { |
| | | position: relative; |
| | | } |
| | | .top_time |
| | | { |
| | | position: absolute; |
| | | color: #91261E; |
| | | width: 100%; |
| | | height: 20px; |
| | | font-size: 0.1rem; |
| | | text-align: center; |
| | | bottom: 0.1rem; |
| | | } |
| | | .mid_count |
| | | { |
| | | position: absolute; |
| | | color: #91261E; |
| | | width: 100%; |
| | | height: 20px; |
| | | font-size: 0.3rem; |
| | | text-align: center; |
| | | bottom: 0.8rem; |
| | | font-weight: 600; |
| | | } |
| | | .top_txt{ |
| | | position: absolute; |
| | | color: #91261E; |
| | | width: 100%; |
| | | height: 20px; |
| | | font-size: 0.3rem; |
| | | text-align: center; |
| | | font-weight: 600; |
| | | } |
| | | .ph_cont |
| | | { |
| | | position: absolute; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 100%; |
| | | top: 1.4rem; |
| | | justify-content: center; |
| | | font-size: 12px; |
| | | align-items: center; |
| | | } |
| | | |
| | | |
| | | .tbl { |
| | | height: 0.7rem; |
| | | display: flex; |
| | | } |
| | | .cell { |
| | | color: #4D2F08; |
| | | font-weight: 700; |
| | | width: 1%; |
| | | height: 100%; |
| | | flex-grow: 1; |
| | | display: flex; |
| | | /*æ°´å¹³å±
ä¸ãåç´å±
ä¸*/ |
| | | justify-content: center; |
| | | align-items: center; |
| | | /*æ¢è¡*/ |
| | | word-break: break-all; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | .tbl div:last-child { |
| | | border-right: 0; |
| | | } |
| | | .gz_txt |
| | | { |
| | | position: absolute; |
| | | font-size: 12px; |
| | | top: 4.3rem; |
| | | width: 73%; |
| | | font-size: 0.2rem; |
| | | font-weight: 500; |
| | | } |
| | | .shadow { |
| | | position: fixed; |
| | | top: 0; |
| | | height: 100vh; |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background-color: rgba(0, 0, 255, 0.3) |
| | | } |
| | | .popup { |
| | | margin: 0 auto; |
| | | height: 6rem; |
| | | width: 6rem; |
| | | background: #FFFF; |
| | | border-radius: .3rem; |
| | | overflow: overlay; |
| | | } |
| | | |
| | | .popupCongratulate { |
| | | text-align: center; |
| | | font-size: .30rem; |
| | | font-weight: bold; |
| | | } |
| | | .popupSon { |
| | | margin: 0 auto; |
| | | font-size: .2rem; |
| | | text-align: center; |
| | | padding: 0.1rem; |
| | | text-align: left; |
| | | } |
| | | .popclose |
| | | { |
| | | width: 5.7rem; |
| | | text-align: right; |
| | | font-size: 12px; |
| | | padding-top: 0.1rem; |
| | | font-size: 0.3rem; |
| | | font-weight: 800; |
| | | position: fixed; |
| | | } |
| | | .gzbtn |
| | | { |
| | | position: absolute; |
| | | font-size: 0.25rem; |
| | | border-radius: 0.2rem; |
| | | top: 0.65rem; |
| | | right: 0.4rem; |
| | | width: 1.3rem; |
| | | text-align: center; |
| | | font-weight: 600; |
| | | background: #664b4ba6; |
| | | color: #fff; |
| | | padding: 0.04rem; |
| | | } |
| | | .btngo |
| | | { |
| | | position: fixed; |
| | | width: 100%; |
| | | bottom: 1px; |
| | | text-align: center; |
| | | } |
| | | .loading{ |
| | | display: flex; |
| | | position: fixed; |
| | | width: 100vw; |
| | | height: 100vh; |
| | | background: rgb(0 0 0 / 67%); |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 10; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: .35rem; |
| | | color: #fff; |
| | | } |
| | | .appback-img |
| | | { |
| | | position: absolute; |
| | | top: 0.6rem; |
| | | z-index: 999; |
| | | width: 0.6rem; |
| | | left: 0.3rem; |
| | | } |
| | | |
| | | .box |
| | | { |
| | | position:absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url(https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5loading.gif) no-repeat fixed top; |
| | | background-size: 70px 70px; |
| | | } |
| | | .list{ |
| | | position: relative; |
| | | top: 0; |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body style="background: #f5f5f9; margin: 0px;font-size: 0;"> |
| | | <div class="box"> |
| | | <div class="list"> |
| | | <div id="inviteact"> |
| | | <div v-if="loading" class="loading">{{loadingTxt}}</div> |
| | | <image v-on:click="topBack()" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image> |
| | | <div class="act_po"> |
| | | <div class="gzbtn" v-on:click="showgz()">æ´»å¨è§å</div> |
| | | <image class="com_img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/act_invite_230717_01.png"></image> |
| | | <div class="top_time"> |
| | | 2023å¹´8æ1æ¥9:00-2023å¹´8æ31æ¥23:59:59 |
| | | </div> |
| | | </div> |
| | | <div class="act_po"> |
| | | <div class="top_txt">å·²é请ç人æ°{{joinInfo.membercount}}</div> |
| | | <image class="com_img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/act_invite_230717_02.png"></image> |
| | | <div class="mid_count"> |
| | | å½å已解éç红å
éé¢ï¼{{joinInfo.award}} |
| | | </div> |
| | | </div> |
| | | <div class="act_po"> |
| | | <image class="com_img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/act_invite_230717_03.png"></image> |
| | | <!---æå--> |
| | | <div class="ph_cont"> |
| | | <div style="width: 70%;width: 65%;background: #FDECE2;padding: 0.2rem;border-radius: 0.3rem;"> |
| | | <div class="tbl" style="border-bottom: 1px dashed #4D2F08;"> |
| | | <div class="cell" style="justify-content:left;">æå</div> |
| | | <div class="cell" style="justify-content:left;">ç¨æ·id</div> |
| | | <div class="cell">é请人æ°</div> |
| | | </div> |
| | | <div class="tbl" v-for="(item,index) in ranklist"> |
| | | <div class="cell" style="justify-content:left;"> |
| | | <image v-if="index==0" style="width: 38%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/actno1.png"></image> |
| | | <image v-else-if="index==1" style="width: 38%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/actno2.png"></image> |
| | | <image v-else-if="index==2" style="width: 38%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/actno3.png"></image> |
| | | <span v-else>{{index+1}}</span> |
| | | </div> |
| | | <div class="cell" style="justify-content:left;"> |
| | | <image style="width: 24%; margin-right:0.1rem" :src="item.avatar"></image> |
| | | |
| | | {{"**"+((item.nickname&&item.nickname.length>0)?item.nickname.substr(item.nickname.length-1):'')}} |
| | | </div> |
| | | <div class="cell">{{item.recruit_count}}</div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="act_po" style=" display: flex;justify-content: center;"> |
| | | <image class="com_img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/act_invite_230717_04.png"></image> |
| | | |
| | | <div class="gz_txt"> |
| | | <p> |
| | | 1ãæ¬æ¬¡æ´»å¨å°å¨æ¬¡æ1å·è¿è¡ç»è®¡ç»ç®ï¼ç»ç®é请人æ°çæ¶é´èå´ä¸ºåå æ´»å¨çæ¶é´è³æ´»å¨ç»ææ¶é´ |
| | | </p> |
| | | <p>2ãæ´»å¨å¥å±ä¼å¨ç»ç®åç´æ¥åæ¾å°ç¨æ·ãæçã-ãä½é¢ãä¸</p> |
| | | <p>3ãææç²ä¸å®ä¹ï¼ææ´»å¨æé´ï¼æ¥å该活å¨åé请注å并填忍é请ç çç¨æ·</p> |
| | | <!-- <p class="share" v-on:click="copyBtn('.share')">é请好å</p> --> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="showType" class="shadow"> |
| | | <div class="popup"> |
| | | <div class="popclose" v-on:click="closegz()">X</div> |
| | | <div class="popupCongratulate"> æ´»å¨è§å </div> |
| | | <div class="popupSon"> |
| | | <p> |
| | | 1ãæ¬æ¬¡æ´»å¨å°å¨æ¬¡æ1å·è¿è¡ç»è®¡ç»ç®ï¼ç»ç®é请人æ°çæ¶é´èå´ä¸ºåå æ´»å¨çæ¶é´è³æ´»å¨ç»ææ¶é´ |
| | | </p> |
| | | <p>2ãæ´»å¨å¥å±ä¼å¨ç»ç®åç´æ¥åæ¾å°ç¨æ·ãæçã-ãä½é¢ãä¸</p> |
| | | <p>3ãææç²ä¸å®ä¹ï¼ææ´»å¨æé´ï¼æ¥å该活å¨åé请注å并填忍é请ç çç¨æ·</p> |
| | | <p>4ãåä¸è®¾å¤å·ãå䏿æºå·ãå䏿·å®ææå·çåè§ä¸ºåä¸ç¨æ·</p> |
| | | <p>5ãæ´»å¨è®¾ç½®åä½å¼æºå¶ï¼å¡åå æ¬æ¬¡æ´»å¨ï¼å¿
é¡»éµå®æ´»å¨çç¸å
³è§åï¼ä¸å¾ä½¿ç¨ä»»ä½å
æ¬ä½ä¸éäºèå¼ãæ°ä¹±ç³»ç»ãä¾µç¯ç¬¬ä¸æ¹åæ³æççææ®µä»¥è°æ±å¥å±ãä¸ç»è¯å®ç¨æ·å¨æ´»å¨ä¸ä½¿ç¨ä»»ä½ä¸æ£å½ä½å¼ææ®µæ¶æå·åå¥å±ï¼å¹³å°ææå é¤ç¨æ·æ´»å¨çç¸å
³è®°å½ï¼åæ¶æ¨åå æ´»å¨çèµæ ¼ï¼å¹³å°å°ç´æ¥åæ¶æ¬æ¬¡æ´»å¨æææçãåæ¶ï¼å¹³å°ä¿ç追究å
¶æ³å¾è´£ä»»çæå©ãå¹³å°ä¼å¨æ¬æ¬¡éç²ç»ç®åç»è®¡åææ°ç²ä¸è´¨éï¼å¦åºç°å¼å¸¸æ°æ®ï¼å¹³å°ä¼è¦æ±é请è
åºç¤ºçå®çéç²åè¯æäºä»¥ç»ç®ï¼å¼å¸¸å
æ¬ä½ä¸éäºåºç°å¤§è§æ¨¡çéå¸¸è§æ¶é´æ³¨åç¨æ·ãå䏿¶é´æ¹é注åãè¿å·ææºå·ç 注åãæ°ç²ä¸æ¬¡æ¥çåçæä½çæ
åµï¼ä¸ºä¿æ¤å¹¿å¤§é请è
çæçï¼è¯·åéè¯·ç¨æ·ä¿çä¸ä½äºæ´»å¨éç²æ°*30%ççå®çéç²åè¯ï¼è½è¯æçå®éç²çéç²è§é¢ãç
§ççåå¯ï¼ä»¥é²å¹³å°è¿è¡åä½å¼çæ¥ã</p> |
| | | <p> |
| | | 6ãæ¬æ¬¡æ´»å¨ä¸æç§°ä½å¼è¡ä¸ºï¼å
æ¬ä½ä¸éäºï¼ |
| | | ï¼1ï¼ç¨æ·éè¿ç¬¬ä¸æ¹å¹³å°åå¸ç²ä¸æ³¨åä»»å¡ãä»»ä½å½¢å¼çä»è´¹ä¹°ç²ãæºå¨å·ç²ãéè¿å¼éå
³èå°å·è¿è¡éç²ï¼ |
| | | ï¼2ï¼åä¸ç¨æ·æè
IPå°å注åå¤ä¸ªè´¦å·ï¼å©ç¨ä¸ä¸è½¯ä»¶æè
äººå·¥æ¹æ³è¿åæ´»å¨è§å以è·åæ´å¤å¥å±çè¡ä¸ºï¼ |
| | | ï¼3ï¼åä¸ç¨æ·çç¨ãåç¨ä»äººå·²æè´¦å·å䏿´»å¨æè
çç¨ãåç¨ä»äººä¿¡æ¯æ³¨åè´¦å·å䏿´»å¨ä»¥è·åæ´å¤å¥å±çè¡ä¸ºï¼ |
| | | ï¼4ï¼æ¶æå©ç¨æ´»å¨è§åæææ¯æ¼æ´å·å¥çè¡ä¸ºï¼ |
| | | ï¼5ï¼æ¹é注åç¨æ·ãç¨æºå¨æ³¨åè´¦æ·ãç¨æºå¨æ¨¡æå®¢å¹¿ç«¯çè¡ä¸ºï¼ |
| | | ï¼6ï¼å¹³å°æåççç±è®¤å®ç¨æ·å¨æ´»å¨ä¸çå
¶ä»ä½å¼è¡ä¸ºï¼ |
| | | ï¼7ï¼æ°ç²ä¸ä½¿ç¨èæè¿è¥åå·ç ã使ç¨åä¸è®¾å¤å·æ³¨åæåä¸æææ·å®å·ä¸åãå·åæä¸ååå为èæååï¼å
å¼ã代æãå·å¥½è¯ãçµåææ¡£ãå
¬çææ¬¾ï¼æä¸åååéå度â¥30%ã |
| | | </p> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <div v-if="isShowcj" class="btngo" v-on:click="joinAct()"> |
| | | <image style="width: 70%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/invite_btn.png"></image> |
| | | </div> |
| | | <div v-else class="btngo share" v-on:click="copyBtn('.share')"> |
| | | <image style="width: 70%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/invit_pic.png"></image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | |
| | | </html> |
| | | |
| | | <script> |
| | | |
| | | (function () { |
| | | var size1=document.body.clientWidth; |
| | | var size2=document.documentElement.clientWidth; |
| | | var size=size1<=0?size2:size1; |
| | | size=size<=0?400:size; |
| | | document.documentElement.style.fontSize = (size > 750 ? 750 : size) / 7.5 + 'px'; |
| | | })(); |
| | | |
| | | Vue.use(VueLazyload, { |
| | | preLoad: 1.3,// |
| | | error: 'https://sr.ffquan.cn/cms_pic/20200622/bro7s7f6vrkd3jat4ujg0.png', |
| | | loading: 'https://sr.ffquan.cn/cms_pic/20200612/brhjkf76vrkcrfpi79eg0.png', |
| | | attempt: 1 |
| | | }) |
| | | var app= new Vue({ |
| | | el: '#inviteact', |
| | | data:{ |
| | | //posturl:'http://dfg.shop.com', |
| | | //posturl:'http://appapitest.ushopvip.com', |
| | | //posturl:'http://dfgapp.ushopvip.com', |
| | | activityid:'3432534sdsd', |
| | | loadingTxt:'å è½½ä¸...', |
| | | loading:true, |
| | | showType:false, |
| | | isShowcj:false, |
| | | joinInfo:{}, |
| | | ranklist:[], |
| | | inviteUrl:'', |
| | | }, |
| | | methods:{ |
| | | topBack:function() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'back' |
| | | } |
| | | }); |
| | | }, |
| | | closegz:function() |
| | | { |
| | | this.showType=false; |
| | | }, |
| | | showgz:function() |
| | | { |
| | | this.showType=true; |
| | | }, |
| | | getActivity() |
| | | { |
| | | var _this = this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/Activity/getActInfo', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | actid:_this.activityid |
| | | } |
| | | }).done(function(res){ |
| | | if(res.data.actstatus==1) |
| | | {//æ´»å¨æ£å¸¸ |
| | | _this.isShowcj=res.data.joinstatus==0; |
| | | _this.loading=false; |
| | | _this.getPaiHang(); |
| | | if(res.data.joinstatus==1) |
| | | {//æ´»å¨åå çæ´»å¨ä¿¡æ¯ |
| | | _this.getActMember(); |
| | | } |
| | | else{ |
| | | //æªåå è¿æ´»å¨ |
| | | _this.isShowcj=true; |
| | | } |
| | | } |
| | | else{ |
| | | switch(res.data.actstatus) |
| | | { |
| | | case 0: |
| | | _this.loadingTxt='æ´»å¨ä¸åå¨'; |
| | | break; |
| | | case -1: |
| | | case -3: |
| | | _this.loadingTxt='æ´»å¨å·²ç»æ'; |
| | | break; |
| | | case -2: |
| | | _this.loadingTxt='æ´»å¨æªå¼å§'; |
| | | break; |
| | | default: |
| | | _this.loadingTxt='æ´»å¨å¼å¸¸'; |
| | | break; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getActMember:function() |
| | | { |
| | | var _this = this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/Activity/getActRecruitCount', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | actid:_this.activityid |
| | | } |
| | | }).done(function(res){ |
| | | _this.joinInfo=res.data; |
| | | }) |
| | | }, |
| | | getUrlPar:function(name) |
| | | { |
| | | var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
| | | var r=window.location.search.substr(1).match(reg); |
| | | if(r !=null)return unescape(r[2]); |
| | | return null; |
| | | }, |
| | | //åå æ´»å¨ |
| | | joinAct:function() |
| | | { |
| | | var _this = this; |
| | | _this.loadingTxt="å è½½ä¸..."; |
| | | _this.loading=true; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/Activity/attendAct', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | actid:_this.activityid |
| | | } |
| | | }).done(function(res){ |
| | | _this.loading=false; |
| | | if(res.code==0) |
| | | { |
| | | _this.msgFun("æ´»å¨åå æåï¼"); |
| | | _this.isShowcj=false; |
| | | _this.getActMember(); |
| | | } |
| | | else |
| | | { |
| | | _this.msgFun("æ´»å¨åå 失败ï¼è¯·è系客æ"); |
| | | } |
| | | }) |
| | | }, |
| | | getInviteCode() |
| | | {//è·åé请ç |
| | | var _this = this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/Activity/getInviteUrl', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | |
| | | } |
| | | }).done(function(res){ |
| | | if(res.code==0) |
| | | { |
| | | _this.inviteUrl='http://dfgapp.ushopvip.com/index/user/register?code='+res.data; |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | getPaiHang:function() |
| | | {//è·åæè¡ |
| | | var _this = this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/Activity/getRankingList', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | actid:_this.activityid |
| | | } |
| | | }).done(function(res){ |
| | | if(res.code==0) |
| | | { |
| | | _this.ranklist=res.data; |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | touch:function() |
| | | { |
| | | const box = document.querySelector('.box') |
| | | const list = document.querySelector('.list'); |
| | | // æä¸å±å¹çä½ç½® |
| | | let touchStartPosition = 0 |
| | | |
| | | // touchstartäºä»¶ |
| | | box.addEventListener('touchstart', function (e) { |
| | | let touch = e.touches[0] |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchmoveäºä»¶ |
| | | box.addEventListener('touchmove', function (e) { |
| | | |
| | | let touch = e.touches[0] |
| | | // å表çtopå¼çäºå表ç¸å¯¹äºboxçåç§»é+æ»å¨çè·ç¦» |
| | | let pySize= list.offsetTop + touch.pageY - touchStartPosition; |
| | | if(pySize>=110) |
| | | { |
| | | return; |
| | | } |
| | | if(pySize<0) |
| | | { |
| | | return; |
| | | } |
| | | var scroll = document.getElementsByClassName('contscore') |
| | | var srollPos = $('.contscore').scrollTop(); //æ»å¨æ¡è·é¡¶é¨è·ç¦»(页é¢è¶
åºçªå£çé«åº¦) |
| | | if(srollPos>0) |
| | | { |
| | | return; |
| | | } |
| | | list.style.top =pySize + 'px'; |
| | | // å®ç°å¹³æ»çæ»å¨ |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchendäºä»¶ |
| | | box.addEventListener('touchend', function (e) { |
| | | let top = list.offsetTop |
| | | if (top > 70) { |
| | | // 卿¤å¤è°ç¨å·æ°åçåè° |
| | | |
| | | location.reload(); |
| | | } |
| | | if(top<0) |
| | | { |
| | | list.style.top=0; |
| | | } |
| | | if (top > 0) { |
| | | // éè¿å®æ¶å¨å¹³æ»çå°listçtop = 0 |
| | | let timer = setInterval(() => { |
| | | top=top-5; |
| | | list.style.top = top + 'px' |
| | | if (top <= 0) { |
| | | list.style.top=0; |
| | | clearInterval(timer) |
| | | } |
| | | },1) |
| | | } |
| | | }) |
| | | }, |
| | | copyBtn: function(dom) { //å¤å¶å
Œ
±æ¹æ³ |
| | | var that = this; |
| | | var clipboard = new ClipboardJS(dom, { |
| | | text: function(target) { |
| | | return that.inviteUrl; |
| | | } |
| | | }); |
| | | clipboard.on("success", function(e) { |
| | | layer.closeAll(); |
| | | that.msgFun("éè¯·é¾æ¥å·²å¤å¶~å¿«å»å享ç»å¥½åå§ï¼"); |
| | | e.clearSelection(); |
| | | clipboard.destroy(); |
| | | }); |
| | | clipboard.on("error", function(e) { |
| | | layer.msg("éè¯·é¾æ¥å¤å¶å¤±è´¥ï¼è¯·å°APPä¸ [æç]-[å®ç¨åè½]-[å享app] å¤å¶", { |
| | | shade: 0.4, |
| | | time: 1000, |
| | | shadeClose: false |
| | | }, function() { |
| | | }); |
| | | |
| | | }); |
| | | }, |
| | | msgFun: function(val) { |
| | | layer.msg(val, { |
| | | time: 2000, |
| | | shade: 0.1, |
| | | shadeClose: true |
| | | }); |
| | | }, |
| | | }, |
| | | mounted:function(){ |
| | | this.getActivity(); |
| | | this.getInviteCode(); |
| | | this.touch(); |
| | | } |
| | | }) |
| | | </script> |
| | |
| | | headers:{ |
| | | "token":that.getUrlPar("token") |
| | | }, |
| | | url:that.posturl+'/api/activity/bottomPrice', |
| | | url:'/api/activity/bottomPrice', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes"> |
| | | <meta content="yes" name="apple-mobile-web-app-capable"><meta content="yes" name="apple-touch-fullscreen"> |
| | | <meta content="telephone=no,email=no" name="format-detection"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/jquery-1.12.4.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/vue-lazyload.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/swiper/js/swiper.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/taobaoCode/taobaoCode.js?v=1.2.1"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/clipboard.min.js"></script> |
| | | <script type="text/javascript" src="https://p1static.dataoke.com/web/js/layer/layer.js?t=202104191256"></script> |
| | | <script type="text/javascript" src="https://img.ushopvip.com/js/uni-webview-js.js"></script> |
| | | <title>å
¨ç½æ¯ä»·</title> |
| | | |
| | | <style> |
| | | .top-content |
| | | { |
| | | width: 100%; |
| | | position:absolute; |
| | | top: 0; |
| | | left: 0; |
| | | } |
| | | .mid-content |
| | | { |
| | | width: 95%; |
| | | margin: 0 auto; |
| | | margin-top: 5.3rem; |
| | | position:relative; |
| | | } |
| | | .mid-content-con |
| | | { |
| | | width: 100%; |
| | | background: #fff; |
| | | border-radius: .2rem; |
| | | margin-bottom: 0.2rem; |
| | | padding-top:.2rem; |
| | | } |
| | | .mid-content-list |
| | | { |
| | | width: 100%; |
| | | background: #fff; |
| | | border-radius: .5rem; |
| | | height: 30rem; |
| | | } |
| | | .content-tip |
| | | { |
| | | width: 88%; |
| | | font-size: 13px; |
| | | margin: 0 auto; |
| | | margin-bottom: 0.2rem; |
| | | font-weight: 500; |
| | | color: #958d8d; |
| | | text-align: right; |
| | | padding-right: 0.1rem; |
| | | } |
| | | .copytxt |
| | | { |
| | | font-size: 13px; |
| | | position: absolute; |
| | | bottom: 0.1rem; |
| | | right: 0.1rem; |
| | | color: #958d8d; |
| | | } |
| | | .content-txtarea |
| | | { |
| | | width: 88%; |
| | | margin: 0 auto; |
| | | height: 2.2rem; |
| | | position: relative; |
| | | } |
| | | .txtarea{ |
| | | width: 100%; |
| | | height: 99%; |
| | | border: 0px; |
| | | background: #f5f5f9; |
| | | resize:none; |
| | | } |
| | | .mid-button-content |
| | | { |
| | | display:flex; |
| | | flex-direction: row; |
| | | width: 100%; |
| | | justify-content: center; |
| | | margin-top: 0.2rem; |
| | | } |
| | | .mid-button-content-img |
| | | { |
| | | width: 83%; |
| | | } |
| | | .cont-title |
| | | { |
| | | margin: 0 0 0.2rem 0.2rem; |
| | | font-weight: 600; |
| | | font-size: .3rem; |
| | | } |
| | | .mid-content-none |
| | | { |
| | | width: 100%; |
| | | width: 100%; |
| | | text-align: center; |
| | | margin: 0 auto; |
| | | line-height: 1.2rem; |
| | | color: #a69b9b; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .ulist > a { |
| | | display: block; |
| | | text-decoration: none; |
| | | margin-bottom: 0.15rem; |
| | | } |
| | | |
| | | .ulist { |
| | | display: block; |
| | | } |
| | | .detail___3ZQFW { |
| | | background-color: #fff; |
| | | height: 2.6rem; |
| | | border-radius: .16rem; |
| | | padding: .1rem; |
| | | position: relative; |
| | | box-sizing: border-box; |
| | | } |
| | | .picture___r4a1j { |
| | | height: 2.4rem; |
| | | width: 2.4rem; |
| | | border-radius: .1rem; |
| | | position: absolute; |
| | | left: .1rem; |
| | | top: .1rem; |
| | | } |
| | | .choiceInfo___3ZuEa { |
| | | -webkit-justify-content: space-between; |
| | | -ms-flex-pack: justify; |
| | | justify-content: space-between; |
| | | padding-left: 2.5rem; |
| | | |
| | | width: 100%; |
| | | overflow: hidden; |
| | | -webkit-align-items: flex-start; |
| | | -ms-flex-align: start; |
| | | align-items: flex-start; |
| | | position: relative; |
| | | display: flex; |
| | | flex-wrap: nowrap; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .other___2Mv8Q h2 span { |
| | | width: calc(100vw - 3.6rem); |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .other___2Mv8Q h2 { |
| | | justify-content: flex-start; |
| | | padding: 0; |
| | | margin: 0; |
| | | height: .85rem; |
| | | font-size: .28rem; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | line-height: .4rem; |
| | | color: #333; |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex-wrap: nowrap; |
| | | } |
| | | |
| | | .shoplabel___1_Nv0 img { |
| | | margin-right: .05rem; |
| | | display: block; |
| | | height: 100%; |
| | | font-size: 100%; |
| | | font: inherit; |
| | | vertical-align: baseline; |
| | | } |
| | | |
| | | .shoplabel___1_Nv0 { |
| | | height: .26rem; |
| | | float: left; |
| | | position: relative; |
| | | top: .05rem; |
| | | } |
| | | |
| | | .coupon___2SVZi span { |
| | | display: inline-block; |
| | | font-size: .18rem; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #ff5351; |
| | | line-height: .20rem; |
| | | padding: .02rem .04rem; |
| | | background: #fff; |
| | | border-radius: .02rem 0 0 .02rem; |
| | | text-align: center; |
| | | margin-right: .06rem; |
| | | } |
| | | |
| | | .coupon___2SVZi { |
| | | margin-top: 3px; |
| | | height: .28rem; |
| | | background: linear-gradient( |
| | | 90deg, #ff8873, #ff4f4f); |
| | | border-radius: .04rem; |
| | | display: inline-block; |
| | | line-height: .28rem; |
| | | padding: 0 .06rem 0 .02rem; |
| | | font-size: .19rem; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | color: #fff; |
| | | display: -webkit-flex; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | -webkit-align-items: center; |
| | | -ms-flex-align: center; |
| | | align-items: center; |
| | | width: -webkit-max-content; |
| | | width: -moz-max-content; |
| | | width: max-content; |
| | | } |
| | | |
| | | .price___dfbCD u { |
| | | text-decoration: line-through; |
| | | width: .64rem; |
| | | font-size: .2rem; |
| | | color: #a7a7a7; |
| | | } |
| | | |
| | | .price___dfbCD span { |
| | | font-size: .32rem; |
| | | line-height: .34rem; |
| | | padding: 0 .08rem 0 .04rem; |
| | | font-weight: 700; |
| | | } |
| | | |
| | | .price___dfbCD { |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 500; |
| | | color: #fe3738; |
| | | font-size: .22rem; |
| | | justify-content: flex-start; |
| | | height: .34rem; |
| | | margin: .04rem 0 .1rem; |
| | | -webkit-align-items: baseline; |
| | | -ms-flex-align: baseline; |
| | | align-items: baseline; |
| | | } |
| | | |
| | | .detail___3ZQFW .choiceInfo___3ZuEa .operation___3KazI button { |
| | | border: none; |
| | | width: 1.36rem; |
| | | height: .4rem; |
| | | line-height: .4rem; |
| | | background: linear-gradient( |
| | | 270deg, #F7AD38, #F7AD38); |
| | | border-radius: .2rem; |
| | | text-align: center; |
| | | font-size: .22rem; |
| | | font-family: PingFangSC-Medium, PingFang SC; |
| | | font-weight: 500; |
| | | color: #fff; |
| | | line-height: .32rem; |
| | | } |
| | | .detail___3ZQFW .choiceInfo___3ZuEa .price___dfbCD { |
| | | |
| | | -webkit-justify-content: flex-start; |
| | | -ms-flex-pack: start; |
| | | justify-content: flex-start; |
| | | -webkit-align-items: baseline; |
| | | -ms-flex-align: baseline; |
| | | align-items: baseline; |
| | | font-size: .24rem; |
| | | font-family: PingFangSC-Medium, PingFang SC; |
| | | font-weight: 500; |
| | | color: #fe3738; |
| | | line-height: .54rem; |
| | | } |
| | | |
| | | .detail___3ZQFW .choiceInfo___3ZuEa .operation___3KazI { |
| | | position: absolute; |
| | | right: .1rem; |
| | | bottom: .06rem; |
| | | display: flex; |
| | | flex-direction: column; |
| | | flex-wrap: nowrap; |
| | | } |
| | | |
| | | * { |
| | | box-sizing: border-box; |
| | | } |
| | | .loading{ |
| | | display: flex; |
| | | position: fixed; |
| | | width: 100vw; |
| | | height: 100vh; |
| | | background: rgb(0 0 0 / 67%); |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 10; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: .35rem; |
| | | color: #fff; |
| | | } |
| | | .showshop |
| | | { |
| | | font-size: .26rem; |
| | | color: #787070; |
| | | } |
| | | .goodtitle |
| | | { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | .price_font |
| | | { |
| | | font-size: .26rem; |
| | | color: #787070; |
| | | } |
| | | .plat-div |
| | | { |
| | | font-size: 0.28rem; |
| | | padding: 0.2rem; |
| | | background: #fff; |
| | | margin-bottom: 0.2rem; |
| | | display: flex; |
| | | border-radius: .16rem; |
| | | align-items: center; |
| | | } |
| | | .plat-ite |
| | | { |
| | | width: 20%; |
| | | text-align: center; |
| | | margin-right: 0.1rem; |
| | | border-radius: 0.1rem; |
| | | color: #fff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background: #F79633; |
| | | padding: 0.1rem; |
| | | } |
| | | .plat-unite |
| | | { |
| | | background: #fff; |
| | | border:1px solid #F79633; |
| | | color:#F79633; |
| | | |
| | | width: 20%; |
| | | text-align: center; |
| | | margin-right: 0.1rem; |
| | | border-radius: 0.1rem; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 0.1rem; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body style="background: #f5f5f9;"> |
| | | <div id="comprice"> |
| | | <div v-if="loading" class="loading">å è½½ä¸...</div> |
| | | <image class="top-content" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/compareprice_topimg.png"></image> |
| | | <div class="main-content"> |
| | | <div class="mid-content"> |
| | | <div class="mid-content-con"> |
| | | <div class="content-tip" v-on:click="clear()"> |
| | | æ¸
空 |
| | | </div> |
| | | <div class="content-txtarea"> |
| | | <textarea enterkeyhint="search" onkeydown="onTextareaKeyDown()" class="txtarea" v-model="txtareatxt" :placeholder='txtplaceholder'></textarea> |
| | | <span class="copytxt" v-on:click="fromcopy()">ç²è´´</span> |
| | | </div> |
| | | <div class="mid-button-content"> |
| | | <div class="mid-button-content-img" v-on:click="search()"> |
| | | <image style="width: 100%;" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/compareprice_search.png"></image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="cont-title"> |
| | | {{showTxt}} |
| | | </div> |
| | | <div v-if="goodsItem.length==0" class="mid-content-none"> |
| | | ææ æ°æ®~ |
| | | </div> |
| | | <div v-else class="ulist"> |
| | | <div class="plat-div" v-if="issearch"> |
| | | <span>å¹³å°ï¼</span> |
| | | <div v-on:click="changeplat(item)" :class="item.choose?'plat-ite':'plat-unite'" v-for="item in plat"> |
| | | <span class="plat-span" v-if="item.choose"> |
| | | â{{item.platname}} |
| | | </span> |
| | | <span class="plat-span" v-else> |
| | | {{item.platname}} |
| | | </span> |
| | | </div> |
| | | |
| | | </div> |
| | | <a v-for="g in goodsItem" :key="g.id" v-on:click="handleCdetailFavorite(g)"> |
| | | <div class="detail___3ZQFW"> |
| | | <img :src="g.mainPic" |
| | | class="fadeIn picture___r4a1j"> |
| | | <div class="choiceInfo___3ZuEa"> |
| | | <div class="other___2Mv8Q"> |
| | | <h2> |
| | | <!-- <div class="shoplabel___1_Nv0"><img |
| | | :src="g.labelImg"> |
| | | </div> --> |
| | | <div class="goodtitle"> |
| | | <img class="shoplabel___1_Nv0" :src="g.labelImg"> |
| | | {{g.title}}</div></h2> |
| | | <div v-if="g.couponPrice" class="coupon___2SVZi" style="float: left; margin-right:10px"><span>å¸</span>{{g.couponPrice}}å
</div> |
| | | <div class="coupon___2SVZi" style="background: #A429F3;"><span style="color: #A429F3;">è¿</span>{{g.fanli}}å
</div> |
| | | |
| | | </div> |
| | | <div class="price___dfbCD"><span class="price_font" style="font-size: .26rem; font-weight: 500;">å°æä»·</span><span style="padding: 0;">Â¥</span><span style="padding: 0 .08rem 0 0;">{{(g.actualPrice-g.fanli).toFixed(2)}}</span><u v-if="g.sourceType=='tb'||g.sourceType=='tm'" style="text-decoration:line-through">Â¥{{g.originalPrice}}</u></div> |
| | | <!-- <div class="operation___3KazI"> |
| | | <button>ç«å³è´ä¹°</button> |
| | | </div> --> |
| | | <div class="showshop">æé{{g.monthSales}}</div> |
| | | <div class="showshop">{{g.shopName}}</div> |
| | | </div> |
| | | </div> |
| | | </a> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </body> |
| | | |
| | | </html> |
| | | <script type="text/javascript" src="./js/vue.js"></script> |
| | | <script> |
| | | |
| | | (function () { |
| | | var size1=document.body.clientWidth; |
| | | var size2=document.documentElement.clientWidth; |
| | | var size=size1<=0?size2:size1; |
| | | size=size<=0?400:size; |
| | | document.documentElement.style.fontSize = (size > 750 ? 750 : size) / 7.5 + 'px'; |
| | | })(); |
| | | function scanCode(str) |
| | | { |
| | | app.copytxt(str); |
| | | } |
| | | function likeDataGet(data) |
| | | { |
| | | app.likeDataGet(data); |
| | | } |
| | | |
| | | function onTextareaKeyDown() |
| | | { |
| | | if (event.keyCode == 13) |
| | | { |
| | | app.search(); |
| | | document.activeElement.blur(); |
| | | } |
| | | |
| | | } |
| | | Vue.use(VueLazyload, { |
| | | preLoad: 1.3,// |
| | | error: 'https://sr.ffquan.cn/cms_pic/20200622/bro7s7f6vrkd3jat4ujg0.png', |
| | | loading: 'https://sr.ffquan.cn/cms_pic/20200612/brhjkf76vrkcrfpi79eg0.png', |
| | | attempt: 1 |
| | | }) |
| | | var app= new Vue({ |
| | | el: '#comprice', |
| | | data:{ |
| | | //posturl:'http://dfg.shop.com', |
| | | // posturl:'http://appapitest.ushopvip.com', |
| | | //posturl:'http://dfgapp.ushopvip.com', |
| | | goodsItem:[], |
| | | loading:false, |
| | | plat:[ |
| | | { |
| | | 'platname':'æ·å®', |
| | | 'plat':'tb', |
| | | 'choose':true |
| | | }, |
| | | { |
| | | 'platname':'京ä¸', |
| | | 'plat':'jd', |
| | | 'choose':true |
| | | }, |
| | | { |
| | | 'platname':'æé³', |
| | | 'plat':'dy', |
| | | 'choose':true |
| | | }, |
| | | { |
| | | 'platname':'æ¼å¤å¤', |
| | | 'plat':'pdd', |
| | | 'choose':true |
| | | }, |
| | | ], |
| | | txtareatxt:'', |
| | | issearch:false, |
| | | showTxt:'çä½ åæ¬¢', |
| | | txtplaceholder:'1ãæ¯ææ·å®ã天ç«ã京ä¸ãæé³ãæ¼å¤å¤çå¹³å°\r\n2ã请ç²è´´æ¨éè¦è½¬æ¢çåäº«ææ¡/龿¥åå£ä»¤/åå龿¥;䏿¯æå¸é¾æ¥' |
| | | }, |
| | | methods:{ |
| | | changeplat:function(item) |
| | | { |
| | | var index=this.plat.findIndex(i=>i.plat==item.plat); |
| | | item.choose=!item.choose; |
| | | this.plat[index]=item; |
| | | this.search(); |
| | | }, |
| | | //æ¥è¯¢ |
| | | search:function() |
| | | { |
| | | if(this.txtareatxt=='') |
| | | { |
| | | return; |
| | | } |
| | | this.showTxt="æ¥è¯¢ç»æ"; |
| | | this.goodsItem=[]; |
| | | var that = this; |
| | | this.loading = true |
| | | var postData={ |
| | | content:that.txtareatxt |
| | | }; |
| | | //æ¥çä¸ççå¹³å° |
| | | var cancelPlat=this.plat.filter(i=>!i.choose); |
| | | if(cancelPlat&&cancelPlat.length>0) |
| | | { |
| | | for(var i=0;i<cancelPlat.length;i++) |
| | | { |
| | | switch(cancelPlat[i].plat) |
| | | { |
| | | case "tb": |
| | | postData.exclude_tb=1; |
| | | break; |
| | | case "jd": |
| | | postData.exclude_jd=1; |
| | | break; |
| | | case "pdd": |
| | | postData.exclude_pdd=1; |
| | | break; |
| | | case "dy": |
| | | postData.exclude_dy=1; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":this.getUrlPar("token") |
| | | }, |
| | | url:'/api/taoke/compare_good', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:postData |
| | | }).done(function(res){ |
| | | that.loading = false; |
| | | that.issearch=true; |
| | | if(res.code == 0){ |
| | | that.goodsItem=res.data.list; |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | Infoformat: function(info){ |
| | | info = info.replace(/\%/g,"%25") |
| | | info = info.replace(/\#/g,"%23") |
| | | info = info.replace(/\&/g,"%26") |
| | | info = info.replace(/\?/g,"%3F") |
| | | return info; |
| | | }, |
| | | handleCdetailFavorite:function(item) |
| | | { |
| | | switch(item.sourceType) |
| | | { |
| | | case "tb": |
| | | case "tm": |
| | | uni.navigateTo({ |
| | | url: '/pages/goods/goodsDetail?id=' + item.goodsId+'&frompage=compareprice' |
| | | }); |
| | | break; |
| | | default: |
| | | var itemsStr=this.Infoformat(JSON.stringify(item)); |
| | | uni.navigateTo({ |
| | | url: '/pages/goods/goodsDetail?sourcefrom=compareprice&info=' + itemsStr+'&frompage=compareprice' |
| | | }); |
| | | break; |
| | | } |
| | | }, |
| | | likeDataGet:function(postData) |
| | | { |
| | | var _this=this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":this.getUrlPar("token") |
| | | }, |
| | | url:'/api/taoke/get_goods_things', |
| | | type:"post", |
| | | dataType:"json", |
| | | async: false, |
| | | data:{ |
| | | deviceType:postData.postData, |
| | | deviceValue:postData.deviceValue, |
| | | pageId:1, |
| | | pageSize:10, |
| | | type:1 |
| | | } |
| | | }).done(function(res){ |
| | | _this.goodsItem=res.data.list; |
| | | console.log(res); |
| | | }) |
| | | }, |
| | | getLikeGoods:function() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'getlike' |
| | | } |
| | | }) |
| | | }, |
| | | clear:function() |
| | | { |
| | | this.txtareatxt=''; |
| | | }, |
| | | copytxt(str) |
| | | { |
| | | if(str&&str.data&&str.data.length>0) |
| | | { |
| | | this.txtareatxt=str.data; |
| | | } |
| | | }, |
| | | fromcopy:function() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'copy' |
| | | } |
| | | }) |
| | | }, |
| | | getUrlPar:function(name) |
| | | { |
| | | var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
| | | var r=window.location.search.substr(1).match(reg); |
| | | if(r !=null)return unescape(r[2]); |
| | | return null; |
| | | }, |
| | | }, |
| | | mounted:function(){ |
| | | /* var postData={ |
| | | postData:'OAID', |
| | | deviceValue:'' |
| | | }; |
| | | this.likeDataGet(postData); |
| | | */ |
| | | |
| | | var that=this; |
| | | document.addEventListener('UniAppJSBridgeReady', function() { |
| | | that.getLikeGoods(); |
| | | }); |
| | | } |
| | | }) |
| | | </script> |
| | |
| | | } |
| | | }; |
| | | function Infoformat(info){ |
| | | let formatObj = info.replace(/\%/g,"%25") |
| | | formatObj = info.replace(/\#/g,"%23") |
| | | formatObj = info.replace(/\&/g,"%26") |
| | | formatObj = info.replace(/\?/g,"%3F") |
| | | return formatObj; |
| | | info = info.replace(/\%/g,"%25") |
| | | info = info.replace(/\#/g,"%23") |
| | | info = info.replace(/\&/g,"%26") |
| | | info = info.replace(/\?/g,"%3F") |
| | | return info; |
| | | } |
| | | </script> |
| | | <style> |
| | |
| | | a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:transparent;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html{font-family:Arial,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none} |
| | | .list-container{ |
| | | position: relative; |
| | | padding-top: 30px; |
| | | padding-top: 0.7rem; |
| | | } |
| | | .top-bg{ |
| | | width: 100%;position: absolute;top:0; |
| | |
| | | justify-content: center; |
| | | height: 1.3rem; |
| | | } |
| | | .appback |
| | | { |
| | | height: 0.5rem; |
| | | position: absolute; |
| | | left: 0.4rem; |
| | | z-index: 999; |
| | | top:0.2rem; |
| | | } |
| | | .appback-img |
| | | { |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="box"> |
| | | <!-- <div class="reloadbg"> |
| | | <image class="reloadbgimg" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5loading.gif"></image> |
| | | </div> |
| | | --> |
| | | <div class="list"> |
| | | |
| | | |
| | | <div class="list" id="fqList"> |
| | | <!-- <div class="appback"> |
| | | <image @click="topBack()" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image> |
| | | </div> --> |
| | | <img src="https://jpdy.ffquan.cn/static/header_bg.12963398.png" class="top-bg" alt=""> |
| | | |
| | | <div class="list-container" id="fqList"> |
| | | <div class="list-container"> |
| | | <div v-if="loading" class="loading"> |
| | | <span>å è½½ä¸...</span> |
| | | </div> |
| | |
| | | cid:0, |
| | | type:1, |
| | | //posturl:'http://dfg.shop.com', |
| | | posturl:'http://dfgapp.ushopvip.com', |
| | | // posturl:'http://appapitest.ushopvip.com', |
| | | // posturl:'http://dfgapp.ushopvip.com', |
| | | //posturl:'http://appapitest.ushopvip.com', |
| | | platlist:[ |
| | | { |
| | | id:"tb", |
| | |
| | | console.log("å°åºäº111"); |
| | | }, |
| | | methods:{ |
| | | topBack:function() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'back' |
| | | } |
| | | }); |
| | | }, |
| | | getItemDetail:function(items) |
| | | { |
| | | var _this = this; |
| | |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:_this.posturl+'/api/Activity/fqb_goods_detail', |
| | | url:'/api/Activity/fqb_goods_detail', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | |
| | | headers:{ |
| | | "token":this.getUrlPar("token") |
| | | }, |
| | | url:this.posturl+'/api/Activity/fqb_plat_cate', |
| | | url:'/api/Activity/fqb_plat_cate', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | |
| | | headers:{ |
| | | "token":this.getUrlPar("token") |
| | | }, |
| | | url:this.posturl+'/api/Activity/fqn_goods_list', |
| | | url:'/api/Activity/fqn_goods_list', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | |
| | | margin: auto; max-width: 800px; font-size: .28rem; overflow: hidden; position: relative; z-index: 1; |
| | | overflow: hidden; |
| | | } |
| | | #appMain:before { |
| | | content: "";display: block;position: absolute;top: 0;left: -20%;height: 3.88rem;width: 140%;background: linear-gradient(90deg,#fbe7e2,#fbe7e2) no-repeat;background-size: 100%; |
| | | border-radius: 0 0 50% 50%;z-index: -1; |
| | | } |
| | | |
| | | |
| | | .h3bt { |
| | | width: 1.66rem; |
| | |
| | | .act_header{ |
| | | z-index: 200; width: 100%; background: no-repeat top; background-size: 100% auto; |
| | | display: flex; align-items: center; justify-content: space-between; |
| | | position: fixed;background: linear-gradient(90deg, #fbe7e2 0%, #fbe7e2 100%) 0% 0% / 100%; |
| | | background: linear-gradient(#FF451F, #fbe7e2); |
| | | color: #fff; |
| | | max-width: 800px; |
| | | } |
| | | .act_header .centent{ |
| | | text-align: center; |
| | | |
| | | padding-top: 0.6rem; |
| | | } |
| | | .act_header .centent img{ |
| | | width:100%; |
| | |
| | | |
| | | |
| | | .list-section{ |
| | | display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;padding: 0 1.87%;margin-top: 0.6rem; |
| | | display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;padding: 0 1.87%;margin-top: 0.05rem; |
| | | } |
| | | .list-section .listTmp{ |
| | | width: 49%;background: #fff;border-radius: .08rem;margin-bottom: .14rem;box-sizing: border-box; |
| | |
| | | center center no-repeat; |
| | | background-size: 2.4rem auto; |
| | | } |
| | | |
| | | .sort { |
| | | background-color: #ea2424; |
| | | border-radius: .2rem .2rem 0 0; |
| | | } |
| | | |
| | | .sort-list { |
| | | display: flex; |
| | | border-bottom: .02rem solid #eb3a15; |
| | | color: #ff8f78; |
| | | justify-content: space-between |
| | | } |
| | | |
| | | .sort-list>li { |
| | | width: 25%; |
| | | font-size: .26rem; |
| | | font-weight: 500; |
| | | color: #ff8f78; |
| | | display: inline-flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | padding: .24rem 0 |
| | | } |
| | | |
| | | .sort-list>li.sort-active { |
| | | color: #fff |
| | | } |
| | | |
| | | .sort-list>li span { |
| | | position: relative; |
| | | height: .16rem; |
| | | margin-left: .06rem |
| | | } |
| | | |
| | | .sort-list>li span i { |
| | | position: absolute; |
| | | width: 0; |
| | | height: 0; |
| | | border-color: #b92709 transparent transparent; |
| | | border-style: solid; |
| | | border-width: .06rem .06rem 0 |
| | | } |
| | | |
| | | .sort-list>li span i:first-child { |
| | | transform: rotate(180deg) |
| | | } |
| | | |
| | | .sort-list>li span i:nth-child(2) { |
| | | bottom: 0 |
| | | } |
| | | |
| | | .sort-list>li span i.arrow-active { |
| | | border-color: #f2f2f2 transparent transparent |
| | | } |
| | | .appback |
| | | { |
| | | height: 0.5rem; |
| | | position: absolute; |
| | | top: 0.5rem; |
| | | left: 0.4rem; |
| | | } |
| | | .appback-img |
| | | { |
| | | height: 100%; |
| | | } |
| | | .box |
| | | { |
| | | position:absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url(https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5loading.gif) no-repeat fixed top; |
| | | background-size: 70px 70px; |
| | | } |
| | | .list{ |
| | | position: relative; |
| | | top: 0; |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body > |
| | | <body style="background: #fbe7e2;"> |
| | | <div class="box"> |
| | | <div class="list"> |
| | | <div id="appMain" > |
| | | <div class="appback"> |
| | | <image v-on:click="topBack()" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image> |
| | | </div> |
| | | <header class="act_header"> |
| | | <div></div> |
| | | <div class="centent"><img src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/xinrengoubanner.png" alt=""></div> |
| | | <div class="share"> |
| | | <!-- <a href="">å享</a> --> |
| | | </div> |
| | | </header> |
| | | |
| | | <div :style="{ height: (twoNav && twoNav.length > 0) ? '2.3rem' : '2.3rem'}"></div> |
| | | <div class="sort"> |
| | | <ul class="sort-list"> |
| | | <li v-for="item in fristOrderSort" v-bind:class="{'sort-active': item.number == sortNumber}" |
| | | v-on:click="handleSort(item)"> |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div v-if="loading" v-else class="loading">å è½½ä¸...</div> |
| | | |
| | | |
| | | <div v-else style="min-height: 100vh; background: #fbe7e2;" class=" swiper-container swiper-container-initialized swiper-container-horizontal swiper-container-free-mode swiper-container-ios"> |
| | | <div class="swiper-wrapper" style="transform: translate3d(0px, 0px, 0px);"> |
| | | <div class="swiper-slide list-section"> |
| | | <div class="listTmp " v-for="(data,key) in lists" :key="key" v-on:click="targetItem(data)"> |
| | | <div class="productImg"> |
| | | <img :src="data.mainPic + '_310x310.jpg'" class="fadeIn " height="200" width="200"> |
| | | <img :src="data.mainPic + (plat=='tb'?'_310x310.jpg':'')" class="fadeIn " height="200" width="200"> |
| | | </div> |
| | | <div class="productInfo"> |
| | | |
| | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | goodsList:[], |
| | | robbingNum:0, |
| | | }, |
| | | sortNumber:'tb', |
| | | sortId:0, |
| | | fristOrderSort: [ |
| | | { |
| | | name: "æ·å®", |
| | | bool: true, |
| | | max: "", |
| | | min: "", |
| | | number: 'tb' |
| | | }, |
| | | { |
| | | name: "æé³", |
| | | bool: true, |
| | | max: "", |
| | | min: "", |
| | | number: 'dy' |
| | | }, |
| | | { |
| | | name: "京ä¸", |
| | | bool: true, |
| | | max: "", |
| | | min: "", |
| | | number: 'jd' |
| | | } |
| | | ], |
| | | goodsItem: [], |
| | | lists:[], |
| | | nav:[], |
| | |
| | | twoNav:false, |
| | | activeTwo:undefined, |
| | | loading:true, |
| | | isUniReady:false |
| | | isUniReady:false, |
| | | plat:'tb', |
| | | //posturl:"http://dfg.shop.com" |
| | | //posturl:"http://appapitest.ushopvip.com" |
| | | //posturl:"http://dfgapp.ushopvip.com" |
| | | }, |
| | | methods: { |
| | | |
| | | topBack:function() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'back' |
| | | } |
| | | }); |
| | | }, |
| | | touch:function() |
| | | { |
| | | const box = document.querySelector('.box') |
| | | const list = document.querySelector('.list'); |
| | | // æä¸å±å¹çä½ç½® |
| | | let touchStartPosition = 0 |
| | | |
| | | // touchstartäºä»¶ |
| | | box.addEventListener('touchstart', function (e) { |
| | | let touch = e.touches[0] |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchmoveäºä»¶ |
| | | box.addEventListener('touchmove', function (e) { |
| | | |
| | | let touch = e.touches[0] |
| | | // å表çtopå¼çäºå表ç¸å¯¹äºboxçåç§»é+æ»å¨çè·ç¦» |
| | | let pySize= list.offsetTop + touch.pageY - touchStartPosition; |
| | | if(pySize>=110) |
| | | { |
| | | return; |
| | | } |
| | | if(pySize<0) |
| | | { |
| | | return; |
| | | } |
| | | var scroll = document.getElementsByClassName('contscore') |
| | | var srollPos = $('.contscore').scrollTop(); //æ»å¨æ¡è·é¡¶é¨è·ç¦»(页é¢è¶
åºçªå£çé«åº¦) |
| | | if(srollPos>0) |
| | | { |
| | | return; |
| | | } |
| | | list.style.top =pySize + 'px'; |
| | | // å®ç°å¹³æ»çæ»å¨ |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchendäºä»¶ |
| | | box.addEventListener('touchend', function (e) { |
| | | let top = list.offsetTop |
| | | if (top > 70) { |
| | | // 卿¤å¤è°ç¨å·æ°åçåè° |
| | | console.log('å·æ°'); |
| | | location.reload(); |
| | | } |
| | | if(top<0) |
| | | { |
| | | list.style.top=0; |
| | | } |
| | | if (top > 0) { |
| | | // éè¿å®æ¶å¨å¹³æ»çå°listçtop = 0 |
| | | let timer = setInterval(() => { |
| | | top=top-5; |
| | | list.style.top = top + 'px' |
| | | if (top <= 0) { |
| | | list.style.top=0; |
| | | clearInterval(timer) |
| | | } |
| | | },1) |
| | | } |
| | | }) |
| | | }, |
| | | Infoformat: function(info){ |
| | | info = info.replace(/\%/g,"%25") |
| | | info = info.replace(/\#/g,"%23") |
| | | info = info.replace(/\&/g,"%26") |
| | | info = info.replace(/\?/g,"%3F") |
| | | return info; |
| | | }, |
| | | targetItem:function(item){ |
| | | uni.navigateTo({ |
| | | url: '/pages/goods/goodsDetail?id=' + item.goodsId+'&frompage=freebuy' |
| | | }); |
| | | switch(this.plat) |
| | | { |
| | | case "tb": |
| | | uni.navigateTo({ |
| | | url: '/pages/goods/goodsDetail?id=' + item.goodsId+'&frompage=freebuy' |
| | | }); |
| | | break; |
| | | case "dy": |
| | | case "jd": |
| | | var itemsStr=this.Infoformat(JSON.stringify(item)); |
| | | uni.navigateTo({ |
| | | url: '/pages/goods/goodsDetail?sourcefrom=freebuy&info=' + itemsStr+'&frompage=freebuy' |
| | | }); |
| | | break; |
| | | } |
| | | |
| | | /* if(this.isUniReady) |
| | | { |
| | | uni.postMessage({ |
| | |
| | | }); |
| | | } */ |
| | | }, |
| | | |
| | | handleSort: function(item) { |
| | | if(this.sortNumber != item.number) { |
| | | this.loading=true; |
| | | this.lists=[]; |
| | | this.getgoodsSwitch(item.number); |
| | | this.sortNumber = item.number; |
| | | this.plat=item.number; |
| | | } |
| | | }, |
| | | getUrlPar:function(name) |
| | | { |
| | | var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
| | |
| | | if(r !=null)return unescape(r[2]); |
| | | return null; |
| | | }, |
| | | getGoodsList:function(){ |
| | | //è·å京ä¸åå |
| | | getJdGoodsList:function(){ |
| | | var _this=this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/taoke/get_first_free_jd_goods', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | } |
| | | }).done(function(res){ |
| | | _this.lists=[].concat([],res.data.list); |
| | | _this.loading = false; |
| | | }) |
| | | }, |
| | | //è·åæé³åå |
| | | getDyGoodsList:function(){ |
| | | var _this=this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/taoke/get_first_free_dy_goods', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | } |
| | | }).done(function(res){ |
| | | _this.lists=[].concat([],res.data.list); |
| | | _this.loading = false; |
| | | }) |
| | | }, |
| | | //è·åæ·å®åå |
| | | getTbGoodsList:function() |
| | | { |
| | | var _this=this; |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | url:'/api/taoke/get_first_free_goods', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | page: 1, |
| | | pageSize:40, |
| | | } |
| | | }).done(function(res){ |
| | | _this.lists=[].concat([],res.data.list); |
| | | _this.loading = false; |
| | | }) |
| | | }, |
| | | getgoodsSwitch:function(plat) |
| | | { |
| | | switch(plat) |
| | | { |
| | | case "tb": |
| | | this.getTbGoodsList(); |
| | | break; |
| | | case "dy": |
| | | this.getDyGoodsList(); |
| | | break; |
| | | case"jd": |
| | | this.getJdGoodsList(); |
| | | break; |
| | | } |
| | | }, |
| | | //æ¯å¦é¦å |
| | | getIsSd:function(){ |
| | | var _this = this; |
| | | this.loading=true; |
| | | //夿æ¯å¦é¦å |
| | |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | //url:'http://dfg.shop.com/index.php/api/user/check_isfirst_free', |
| | | url:'http://dfgapp.ushopvip.com/api/user/check_isfirst_free', |
| | | //url:'http://appapitest.ushopvip.com/api/user/check_isfirst_free', |
| | | url:'/api/user/check_isfirst_free', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | |
| | | }).done(function(res){ |
| | | if(res.msg.info==1) |
| | | { |
| | | $.ajax({ |
| | | headers:{ |
| | | "token":_this.getUrlPar("token") |
| | | }, |
| | | //url:'http://dfg.shop.com/index.php/api/taoke/get_first_free_goods', |
| | | //url:'http://appapitest.ushopvip.com/api/taoke/get_first_free_goods', |
| | | url:'http://dfgapp.ushopvip.com/api/taoke/get_first_free_goods', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | | |
| | | } |
| | | }).done(function(res){ |
| | | _this.lists=[].concat(_this.lists,res.data.list); |
| | | _this.loading = false; |
| | | }) |
| | | _this.getgoodsSwitch(_this.plat); |
| | | } |
| | | else{ |
| | | alert("æ¨å·²ä¸è¿é¦åï¼ä¸å¯å次è´ä¹°ï¼è¯·æµè§å
¶ä»ååå§~"); |
| | |
| | | }, 1000 ) |
| | | } |
| | | }) |
| | | |
| | | |
| | | }, |
| | | }, |
| | | |
| | | mounted: function () { |
| | | this.getGoodsList(); |
| | | this.getIsSd(); |
| | | var that=this; |
| | | this.touch(); |
| | | document.addEventListener('UniAppJSBridgeReady', function() { |
| | | that.isUniReady=true; |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).uni=n()}(this,(function(){"use strict";try{var e={};Object.defineProperty(e,"passive",{get:function(){!0}}),window.addEventListener("test-passive",null,e)}catch(e){}var n=Object.prototype.hasOwnProperty;function i(e,i){return n.call(e,i)}var t=[];function r(){return window.__dcloud_weex_postMessage||window.__dcloud_weex_}var o=function(e,n){var i={options:{timestamp:+new Date},name:e,arg:n};if(r()){if("postMessage"===e){var o={data:[n]};return window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessage(o):window.__dcloud_weex_.postMessage(JSON.stringify(o))}var a={type:"WEB_INVOKE_APPSERVICE",args:{data:i,webviewIds:t}};window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessageToService(a):window.__dcloud_weex_.postMessageToService(JSON.stringify(a))}if(!window.plus)return window.parent.postMessage({type:"WEB_INVOKE_APPSERVICE",data:i,pageId:""},"*");if(0===t.length){var d=plus.webview.currentWebview();if(!d)throw new Error("plus.webview.currentWebview() is undefined");var s=d.parent(),w="";w=s?s.id:d.id,t.push(w)}if(plus.webview.getWebviewById("__uniapp__service"))plus.webview.postMessageToUniNView({type:"WEB_INVOKE_APPSERVICE",args:{data:i,webviewIds:t}},"__uniapp__service");else{var u=JSON.stringify(i);plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE",'",').concat(u,",").concat(JSON.stringify(t),");"))}},a={navigateTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;o("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;o("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;o("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;o("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;o("redirectTo",{url:encodeURI(n)})},getEnv:function(e){r()?e({nvue:!0}):window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o("postMessage",e.data||{})}},d=/uni-app/i.test(navigator.userAgent),s=/Html5Plus/i.test(navigator.userAgent),w=/complete|loaded|interactive/;var u=window.my&&navigator.userAgent.indexOf(["t","n","e","i","l","C","y","a","p","i","l","A"].reverse().join(""))>-1;var g=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var v=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var c=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var m=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.qa&&/quickapp/i.test(navigator.userAgent);var f=window.ks&&window.ks.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var l=window.tt&&window.tt.miniProgram&&/Lark|Feishu/i.test(navigator.userAgent);var _=window.jd&&window.jd.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var E=window.xhs&&window.xhs.miniProgram&&/xhsminiapp/i.test(navigator.userAgent);for(var h,P=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},b=[function(e){if(d||s)return window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&w.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),a},function(e){if(m)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(v)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(u){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(g)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(c)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(p){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(f)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.ks.miniProgram},function(e){if(l)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(_)return window.JDJSBridgeReady&&window.JDJSBridgeReady.invoke?setTimeout(e,0):document.addEventListener("JDJSBridgeReady",e),window.jd.miniProgram},function(e){if(E)return window.xhs.miniProgram},function(e){return document.addEventListener("DOMContentLoaded",e),a}],y=0;y<b.length&&!(h=b[y](P));y++);h||(h={});var B="undefined"!=typeof uni?uni:{};if(!B.navigateTo)for(var S in h)i(h,S)&&(B[S]=h[S]);return B.webView=h,B})); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes"> |
| | | <meta content="yes" name="apple-mobile-web-app-capable"><meta content="yes" name="apple-touch-fullscreen"> |
| | | <meta content="telephone=no,email=no" name="format-detection"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/jquery-1.12.4.min.js"></script> |
| | | <script type="text/javascript" src="./js/uni-webview-js.js"></script> |
| | | <head> |
| | | <title>ç¾å¢çº¢å
</title> |
| | | <style> |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div id="mtcont"> |
| | | |
| | | </div> |
| | | </body> |
| | | |
| | | </html> |
| | | <script type="text/javascript" src="https://cdn.staticfile.org/vue/2.6.11/vue.min.js"></script> |
| | | <script> |
| | | new Vue({ |
| | | el: '#mtcont', |
| | | data:{ |
| | | cmsUrl:'', |
| | | loading:false, |
| | | cmsurl:'' |
| | | }, |
| | | methods:{ |
| | | getEn:function() |
| | | { |
| | | // uni.getEnv(function(res){ |
| | | // alert(JSON.stringify(res)); |
| | | // }); |
| | | const userAgent = navigator.userAgent.toLowerCase(); |
| | | const iswx = userAgent.match(/weixin/i); |
| | | if(iswx) |
| | | { |
| | | window.location.href="https://click.meituan.com/t?t=1&c=2&p=jqgHar5zidEL"; |
| | | } |
| | | else{ |
| | | window.location.href="imeituan://www.meituan.com/web?lch=cps:waimai:3:65c5f4b9271221c79eae104d969a48a3:94691jutuike123456:33:85459&url=https%3A%2F%2Fclick.meituan.com%2Ft%3Ft%3D1%26c%3D2%26p%3Dhl8Lar5zidEL"; |
| | | } |
| | | } |
| | | }, |
| | | mounted:function() |
| | | { |
| | | this.getEn(); |
| | | |
| | | } |
| | | }) |
| | | </script> |
| | |
| | | </div> |
| | | </div> |
| | | </transition> |
| | | <van-overlay :show="titleCopyTipsVisible" @click="titleCopyTipsVisible = false"> |
| | | <van-overlay :show="titleCopyTipsVisible" @click="diaCloese()"> |
| | | <div |
| | | class="wrapper" |
| | | style="display:flex;align-items:center;justify-content:center;height: 100%;" |
| | |
| | | this.touch(); |
| | | }, |
| | | methods: { |
| | | diaCloese:function() |
| | | { |
| | | this.titleCopyTipsVisible=false; |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'totb', |
| | | tburl:this.sign_info.url |
| | | } |
| | | }) |
| | | }, |
| | | touch:function() |
| | | { |
| | | const box = document.querySelector('.box') |
| | |
| | | }) |
| | | }, |
| | | toSignIn: function() { |
| | | if(!this.sign_info.tpwd) { |
| | | if(!this.sign_info.url) { |
| | | return; |
| | | } |
| | | SpaUtils.copy(this.sign_info.tpwd, "å¤å¶å£ä»¤æåï¼è¯·æå¼æ·å®æµè§é¢åç¾å°çº¢å
"); |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'totb', |
| | | tburl:this.sign_info.url |
| | | } |
| | | }) |
| | | //SpaUtils.copy(this.sign_info.tpwd, "å¤å¶å£ä»¤æåï¼è¯·æå¼æ·å®æµè§é¢åç¾å°çº¢å
"); |
| | | }, |
| | | getUrlPar:function(name) |
| | | { |
| | |
| | | |
| | | <body> |
| | | <template id="c-card"> |
| | | |
| | | <div class="card row _ flex-c"> |
| | | |
| | | <img class="cover" v-lazy="item.itempic" v-if="item.itempic"/> |
| | | <img |
| | | class="cover" |
| | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <div id="single-page-app" v-cloak> |
| | | <div class="appback"> |
| | | <image @click="topBack" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image> |
| | | </div> |
| | | <van-pull-refresh v-model="refreshing" @refresh="reGetListData"> |
| | | <van-list class="page-container" v-bind:loading="listData.loading" v-bind:finished="listData.finished" v-on:load="getListData"><!-- åºé¨æç¤º --> |
| | | <template v-slot:finished v-if="listData.list.length"><span class="list-item-loading">-伿 å°åºå¦-</span></template> |
| | |
| | | onSearch() { |
| | | methods.backTopAndReGetListData(); |
| | | }, |
| | | topBack() |
| | | { |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'back' |
| | | } |
| | | }); |
| | | }, |
| | | getUrlPar(name) |
| | | { |
| | | var reg=new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); |
| | |
| | | </body> |
| | | </html> |
| | | <style> |
| | | .appback |
| | | { |
| | | height: 0.5rem; |
| | | position: absolute; |
| | | top: 0.5rem; |
| | | left: 0.4rem; |
| | | z-index: 999; |
| | | } |
| | | .appback-img |
| | | { |
| | | height: 100%; |
| | | } |
| | | .f_div |
| | | { |
| | | background: #A429F3; |
| | |
| | | <html> |
| | | |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes"> |
| | | <meta content="yes" name="apple-mobile-web-app-capable"> |
| | | <meta content="yes" name="apple-touch-fullscreen"> |
| | | <meta content="yes" name="apple-mobile-web-app-capable"><meta content="yes" name="apple-touch-fullscreen"> |
| | | <meta content="telephone=no,email=no" name="format-detection"> |
| | | <meta name="viewport" |
| | | content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/jquery-1.12.4.min.js"></script> |
| | | <script type="text/javascript" src="https://cdn.staticfile.org/vue/2.6.11/vue.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/vue-lazyload.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/swiper/js/swiper.min.js"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/taobaoCode/taobaoCode.js?v=1.2.1"></script> |
| | | <script type="text/javascript" src="https://public.ffquan.cn/lib/clipboard.min.js"></script> |
| | | <script type="text/javascript" src="https://img.ushopvip.com/js/uni-webview-js.js"></script> |
| | | |
| | | <script type="text/javascript" src="./js/uni-webview-js.js"></script> |
| | | <title>æä¸æ</title> |
| | | |
| | | <script> |
| | |
| | | </head> |
| | | |
| | | <body> |
| | | <div id="appMain"> |
| | | <div v-if="sys == null" class="sys"></div> |
| | | <!-- <div class="loading" v-if="loading"> |
| | | <span>å è½½ä¸...</span> |
| | | </div> --> |
| | | <div class="title"> |
| | | <img src="data:image/png;base64,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" |
| | | alt="仿¥æä¸æ"> |
| | | </div> |
| | | <section class="banner"> |
| | | <span class="desc"> |
| | | <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFgAAAAAcITNaAAAB2ElEQVQ4EbWVu07DMBiFCSodQGJh64yQUHmBthJFLH0AunVIKx7EL8LWGSHYWFgrdhYQQ8XARBcuBYTU8J3UBpc4TUHiSCe2/8ux4/x2oqU5SJJkB/cBbMEtG3pDew6Poyi6srbFGgQb8AQ+wjzIp5hGoSpBZWjgGPrQ+M4y5DP4ysEJ5IBH0McFg0O4DSuW6ssmnw/lZsUxGi/qgX4MV4KrwCgf7ELFOpiZeKx1+Gq9I9rdmYCpUBN7M8euHEEa9TSGTgmeQWEC40ByDfu7ZS3gj/EpVziFJb1SFT5DQfuWeX1sHTktOgFhbYvbc2lVlwlqwzUb3Kc2P34mMp54tjevn3ZtTt/apdUu8VDxC2M4SHvzH3usSG+lRQ3hAOFELZTGKmxpK9zGq04rGDPA7m8Fwy+optMPSqtylIYw0qyarQi3BLwUBfl+bYXOvr70BlyH93AGvOolq9jHuAndQiL6Q+i2T7nSEK61FQY69Kb23z8R6DkRWrNQuRVNg1Cm3CSsA6KiFoIHZAHh2OZKY3pAlMSg8EjniZPbhK6yvo+0S8BpoIMuli7MnEIvvvgSUjAi/3NteuKGSUKX+d8ueveKdoIG4vrtPME8yJf7a1KR54LEP/9MPwHLqitCaaKzMAAAAABJRU5ErkJggg==" |
| | | alt="æ´æ°æ¶é´"> |
| | | å·²äº{{time}} 0ç¹ å
¨ç½æ´æ° |
| | | </span> |
| | | </section> |
| | | <div class="category"> |
| | | <div class="items"> |
| | | <span :class="active == 0 ? 'act':''" @click="handleSwiperNav(0, $event)">æ¨è</span> |
| | | <span :class="active == i.id ? 'act':''" v-for="i in nav" :key="i.id" |
| | | @click="handleSwiperNav(i.id, $event)"> |
| | | {{i.title}} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div v-if="active == 0"> |
| | | <h3 class="qiang"><span>仿¥å¿
æ¢</span><span class="zsz">æä¸åç䏿¢5æ</span></h3> |
| | | <div class="goods-wrap"> |
| | | <section class="goods"> |
| | | <a v-for="v in today" :key="v.id" v-on:click="handleCdetailFavorite(v)"> |
| | | <div class=""> |
| | | <img :src="v.pic" |
| | | class="fadeIn "> |
| | | <h5>{{v.dtitle}}</h5> |
| | | <div class="price___dfbCD">Â¥<span>{{v.jiage}}</span><u>Â¥{{v.yuanjia}}</u></div> |
| | | <div class="discount___1S9U2"> |
| | | <span>æ·æ¢è´</span> |
| | | <span>æä¸{{zhe(v)}}æ</span> |
| | | </div> |
| | | </div> |
| | | </a> |
| | | </section> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div v-if="active == 0" class="choiceTitle___3ki4D"> |
| | | <img src="https://cmsstaticnew.dataoke.com/dist/static/double-discount-choice@2x.d2d5b409.png" alt="ä¸ºä½ ç²¾é"> |
| | | </div> |
| | | <div class="ulist"> |
| | | <a v-for="g in goodsItem" :key="g.id" v-on:click="handleCdetailFavorite(g)"> |
| | | <div class="detail___3ZQFW"> |
| | | <img :src="g.pic" |
| | | class="fadeIn picture___r4a1j"> |
| | | <div class="choiceInfo___3ZuEa"> |
| | | <div class="other___2Mv8Q"> |
| | | <h2> |
| | | <div class="shoplabel___1_Nv0"><img |
| | | src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAaCAYAAADIUm6MAAAE60lEQVRYw9WYbVBUVRjHz+gH/OCHdCY/WE1OGTNWU40ibIqSE6IGZpoGgrGUyAjrYkrI2yqIKGjN+FLONOk4aI6azZqZmu+ama9oElmOGApqvrK6KjBp8uvDc5a7d3eBJZsp78xv9p7/eZ7/8+y95yxnUEopRZ4tFIfdicPuxjGFoCnQODqKXdOhHDcOu5M8W6hqaTonw0VOBo8ILvJsoYqsdCfTJ/NIkZXuVNjT3NgnEZg0H9qLm/Qv01r9NLdi8kRMzMyFBw/+OWfPGF6VJ6GpEepqwbkebGnmWtVnAKCsxKzv3in6mi/w60+jmPgeJvJyeKjrbLXhVVVlnvthv+hfroWfK+HuXdGrq2Xs4fp10S9elHHpXHz7VCRbwZpsJiUlMA6HGNbVtR5jTYHkZMFqhdRUKJsPDY3Q3AxTbHDgQMcexpIlkGz1IhlF4gRaGN8OM/LEqLaONvMSA3DqlOQWzobsXJhXBnUXRCtfJWMPRytE37ZdxpMz/HwV4xIJmiy9jM7XBp8TPwFWrITGRsktKjHmDh6CK1fhw1xzzrqvRF+8tFVfxVsJ+BOv8dGnZkvxc7UEzvMhv0i+pPflKG7dv736Xihix2HiSAVU/WrmF03171K8qSnwvIdl5eK1co3EX7gEly7LfV4RrHNCzbngKSiG2He8GIci5m1MuG/z0Nem78QrNgE+WQax8VBxUuayC2Hnvo75FX+Eb5+KIaMxYcuBzHxhqsYz3uFVsHSRofuSlG72HJ4A1TWSN20mbN8r95+VQ4pdOHRMtKUrDO3Icb2h5+PbpyJyFEExaBTUeK3Xz1d7zb/pg5deUAqXrxp59nzYtkdv1I+NWM9DmbXA0HbtF62gzFxn0CgUEXFgaYUIjSUO8krFpEH/OtTfhOh4HTvSB52zeoPRcHOzfKbnwtbdcj9zgeG/Tb+F/DIjf4duPHeeX1+Kfm/QLjFJcL1eP6WFcPiE3G/Z03ZeUibccEHxIjiq13jqDNi8S+5dt+CPq0JjU+ta9lw/b8VLw2mTV8dA1WkxOHgcXh4Bce/DnQbRPl3Zdn7YSPk8Vinx1izYtKtjm3P6HD9fRZ+h0CdGM9TM4Hij6TPnYMBYWuJthXD/L73e18LzAfI9vBIHt/Sv1ZBE2KgPUcVLICoBosbDTn0MKFyktQTYfVC0zNk+njEoer9OQJKy4Io+7FSfB8tY/5hpc+HefYnZexgiAsQ8Fw3rt0pMRZVoX++Q8QclRtw3+i1kFhvaZr2JbUV+voqnh2DixTgo3yBHVIDvj0Lf0fjFeUiYJusS4MZNmFoCvfTcC7HwrS5+pwFGpIq+aqNoC8sNH89byJgt42ejoVK/7Xez/eoqeg6GnlEGx/Vh6N59mL8cnnzNPN8zCsnxou8Y2HfM68/6Yolbu0XGN90wxg5PRAmj7fJgmpvly15zQdOfEuu+A9fq4bY+8l68Ar2H+dVX9IikhccjIXUW/PgTRE6QcSC841u0QWCbA7/VQO8RMm8ZDwdOQP94THV6RMKUEqi/1famrDwNUdaA9RXdBrjpNgAzA/HXvHhME2iu+0D/uNbiuw+EXsPgmeH+PBXdVg9uRVeLk64WhAiN5T8i6PpORUh4KF3CXYT0xyDch/7tEGxcsP5tzHcJdxESrv+3EhIeSucwJ53C3HTqx/+TMDedw5yepv8GV1+TBUuIRhcAAAAASUVORK5CYII="> |
| | | </div> |
| | | <span>{{g.title}}</span></h2> |
| | | <div class="coupon___2SVZi" style="float: left; margin-right:10px"><span>å¸</span>{{g.quanJine}}å
</div> |
| | | <div class="coupon___2SVZi" style="background: #A429F3;"><span style="color: #A429F3;">è¿</span>{{g.fanli}}å
</div> |
| | | </div> |
| | | <div class="price___dfbCD">Â¥<span>{{g.jiage}}</span><u style="text-decoration:line-through">èåç®ä»· Â¥{{g.yuanjia}}</u></div> |
| | | <div class="operation___3KazI"><span>å·²æ¢{{digitalAbbNumber({num:g.xiaoliang})}}</span> |
| | | <button>马䏿¢</button> |
| | | </div> |
| | | <div class="box"> |
| | | <div class="list"> |
| | | <div id="appMain"> |
| | | <div v-if="sys==null" class="sys"></div> |
| | | <image v-on:click="topBack()" class="appback-img" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5return_backIcon.png"></image> |
| | | <div class="title"> |
| | | <img src="data:image/png;base64,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" |
| | | alt="仿¥æä¸æ"> |
| | | </div> |
| | | <section class="banner"> |
| | | <span class="desc"> |
| | | <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFgAAAAAcITNaAAAB2ElEQVQ4EbWVu07DMBiFCSodQGJh64yQUHmBthJFLH0AunVIKx7EL8LWGSHYWFgrdhYQQ8XARBcuBYTU8J3UBpc4TUHiSCe2/8ux4/x2oqU5SJJkB/cBbMEtG3pDew6Poyi6srbFGgQb8AQ+wjzIp5hGoSpBZWjgGPrQ+M4y5DP4ysEJ5IBH0McFg0O4DSuW6ssmnw/lZsUxGi/qgX4MV4KrwCgf7ELFOpiZeKx1+Gq9I9rdmYCpUBN7M8euHEEa9TSGTgmeQWEC40ByDfu7ZS3gj/EpVziFJb1SFT5DQfuWeX1sHTktOgFhbYvbc2lVlwlqwzUb3Kc2P34mMp54tjevn3ZtTt/apdUu8VDxC2M4SHvzH3usSG+lRQ3hAOFELZTGKmxpK9zGq04rGDPA7m8Fwy+optMPSqtylIYw0qyarQi3BLwUBfl+bYXOvr70BlyH93AGvOolq9jHuAndQiL6Q+i2T7nSEK61FQY69Kb23z8R6DkRWrNQuRVNg1Cm3CSsA6KiFoIHZAHh2OZKY3pAlMSg8EjniZPbhK6yvo+0S8BpoIMuli7MnEIvvvgSUjAi/3NteuKGSUKX+d8ueveKdoIG4vrtPME8yJf7a1KR54LEP/9MPwHLqitCaaKzMAAAAABJRU5ErkJggg==" |
| | | alt="æ´æ°æ¶é´"> |
| | | å·²äº{{time}} 0ç¹ å
¨ç½æ´æ° |
| | | </span> |
| | | </section> |
| | | <div class="category"> |
| | | <div class="items"> |
| | | <span :class="active == 0 ? 'act':''" @click="handleSwiperNav(0, $event)">æ¨è</span> |
| | | <span :class="active == i.id ? 'act':''" v-for="i in nav" :key="i.id" |
| | | @click="handleSwiperNav(i.id, $event)"> |
| | | {{i.title}} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </a> |
| | | <div v-if="active == 0"> |
| | | <h3 class="qiang"><span>仿¥å¿
æ¢</span><span class="zsz">æä¸åç䏿¢5æ</span></h3> |
| | | <div class="goods-wrap"> |
| | | <section class="goods"> |
| | | <a v-for="v in today" :key="v.id" v-on:click="handleCdetailFavorite(v)"> |
| | | <div class=""> |
| | | <img :src="v.pic" |
| | | class="fadeIn "> |
| | | <h5>{{v.dtitle}}</h5> |
| | | <div class="price___dfbCD">Â¥<span>{{v.jiage}}</span><u>Â¥{{v.yuanjia}}</u></div> |
| | | <div class="discount___1S9U2"> |
| | | <span>æ·æ¢è´</span> |
| | | <span>æä¸{{zhe(v)}}æ</span> |
| | | </div> |
| | | </div> |
| | | </a> |
| | | </section> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div v-if="active == 0" class="choiceTitle___3ki4D"> |
| | | <img src="https://cmsstaticnew.dataoke.com/dist/static/double-discount-choice@2x.d2d5b409.png" alt="ä¸ºä½ ç²¾é"> |
| | | </div> |
| | | <div class="ulist"> |
| | | <a v-for="g in goodsItem" :key="g.id" v-on:click="handleCdetailFavorite(g)"> |
| | | <div class="detail___3ZQFW"> |
| | | <img :src="g.pic" |
| | | class="fadeIn picture___r4a1j"> |
| | | <div class="choiceInfo___3ZuEa"> |
| | | <div class="other___2Mv8Q"> |
| | | <h2> |
| | | <div class="shoplabel___1_Nv0"><img |
| | | src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAaCAYAAADIUm6MAAAE60lEQVRYw9WYbVBUVRjHz+gH/OCHdCY/WE1OGTNWU40ibIqSE6IGZpoGgrGUyAjrYkrI2yqIKGjN+FLONOk4aI6azZqZmu+ama9oElmOGApqvrK6KjBp8uvDc5a7d3eBJZsp78xv9p7/eZ7/8+y95yxnUEopRZ4tFIfdicPuxjGFoCnQODqKXdOhHDcOu5M8W6hqaTonw0VOBo8ILvJsoYqsdCfTJ/NIkZXuVNjT3NgnEZg0H9qLm/Qv01r9NLdi8kRMzMyFBw/+OWfPGF6VJ6GpEepqwbkebGnmWtVnAKCsxKzv3in6mi/w60+jmPgeJvJyeKjrbLXhVVVlnvthv+hfroWfK+HuXdGrq2Xs4fp10S9elHHpXHz7VCRbwZpsJiUlMA6HGNbVtR5jTYHkZMFqhdRUKJsPDY3Q3AxTbHDgQMcexpIlkGz1IhlF4gRaGN8OM/LEqLaONvMSA3DqlOQWzobsXJhXBnUXRCtfJWMPRytE37ZdxpMz/HwV4xIJmiy9jM7XBp8TPwFWrITGRsktKjHmDh6CK1fhw1xzzrqvRF+8tFVfxVsJ+BOv8dGnZkvxc7UEzvMhv0i+pPflKG7dv736Xihix2HiSAVU/WrmF03171K8qSnwvIdl5eK1co3EX7gEly7LfV4RrHNCzbngKSiG2He8GIci5m1MuG/z0Nem78QrNgE+WQax8VBxUuayC2Hnvo75FX+Eb5+KIaMxYcuBzHxhqsYz3uFVsHSRofuSlG72HJ4A1TWSN20mbN8r95+VQ4pdOHRMtKUrDO3Icb2h5+PbpyJyFEExaBTUeK3Xz1d7zb/pg5deUAqXrxp59nzYtkdv1I+NWM9DmbXA0HbtF62gzFxn0CgUEXFgaYUIjSUO8krFpEH/OtTfhOh4HTvSB52zeoPRcHOzfKbnwtbdcj9zgeG/Tb+F/DIjf4duPHeeX1+Kfm/QLjFJcL1eP6WFcPiE3G/Z03ZeUibccEHxIjiq13jqDNi8S+5dt+CPq0JjU+ta9lw/b8VLw2mTV8dA1WkxOHgcXh4Bce/DnQbRPl3Zdn7YSPk8Vinx1izYtKtjm3P6HD9fRZ+h0CdGM9TM4Hij6TPnYMBYWuJthXD/L73e18LzAfI9vBIHt/Sv1ZBE2KgPUcVLICoBosbDTn0MKFyktQTYfVC0zNk+njEoer9OQJKy4Io+7FSfB8tY/5hpc+HefYnZexgiAsQ8Fw3rt0pMRZVoX++Q8QclRtw3+i1kFhvaZr2JbUV+voqnh2DixTgo3yBHVIDvj0Lf0fjFeUiYJusS4MZNmFoCvfTcC7HwrS5+pwFGpIq+aqNoC8sNH89byJgt42ejoVK/7Xez/eoqeg6GnlEGx/Vh6N59mL8cnnzNPN8zCsnxou8Y2HfM68/6Yolbu0XGN90wxg5PRAmj7fJgmpvly15zQdOfEuu+A9fq4bY+8l68Ar2H+dVX9IikhccjIXUW/PgTRE6QcSC841u0QWCbA7/VQO8RMm8ZDwdOQP94THV6RMKUEqi/1famrDwNUdaA9RXdBrjpNgAzA/HXvHhME2iu+0D/uNbiuw+EXsPgmeH+PBXdVg9uRVeLk64WhAiN5T8i6PpORUh4KF3CXYT0xyDch/7tEGxcsP5tzHcJdxESrv+3EhIeSucwJ53C3HTqx/+TMDedw5yepv8GV1+TBUuIRhcAAAAASUVORK5CYII="> |
| | | </div> |
| | | <span>{{g.title}}</span></h2> |
| | | <div class="coupon___2SVZi" style="float: left; margin-right:10px"><span>å¸</span>{{g.quanJine}}å
</div> |
| | | <div class="coupon___2SVZi" style="background: #A429F3;"><span style="color: #A429F3;">è¿</span>{{g.fanli}}å
</div> |
| | | </div> |
| | | <div class="price___dfbCD">Â¥<span>{{g.jiage}}</span><u style="text-decoration:line-through">èåç®ä»· Â¥{{g.yuanjia}}</u></div> |
| | | <div class="operation___3KazI"><span>å·²æ¢{{digitalAbbNumber({num:g.xiaoliang})}}</span> |
| | | <button>马䏿¢</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </body> |
| | | |
| | | </html> |
| | | <style> |
| | | </style> |
| | | |
| | | <script src="https://polyfill.io/v2/polyfill.min.js?features=IntersectionObserver"></script> |
| | | <script> |
| | | (function () { |
| | | var size1=document.body.clientWidth; |
| | |
| | | today: [], |
| | | loading: true, |
| | | sys: {}, |
| | | //posturl:"http://dfg.shop.com", |
| | | //:"http://appapitest.ushopvip.com", |
| | | //posturl:"http://dfgapp.ushopvip.com", |
| | | time:$time.getFullYear()+'-'+($time.getMonth()+1)+'-'+$time.getDate() |
| | | }, |
| | | methods: { |
| | | topBack:function() |
| | | { |
| | | // uni.getEnv(function(res){ |
| | | // alert(JSON.stringify(res)); |
| | | // }); |
| | | uni.postMessage({ |
| | | data: { |
| | | action: 'back' |
| | | } |
| | | }); |
| | | }, |
| | | touch:function() |
| | | { |
| | | const box = document.querySelector('.box') |
| | | const list = document.querySelector('.list'); |
| | | // æä¸å±å¹çä½ç½® |
| | | let touchStartPosition = 0 |
| | | |
| | | // touchstartäºä»¶ |
| | | box.addEventListener('touchstart', function (e) { |
| | | let touch = e.touches[0] |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchmoveäºä»¶ |
| | | box.addEventListener('touchmove', function (e) { |
| | | |
| | | let touch = e.touches[0] |
| | | // å表çtopå¼çäºå表ç¸å¯¹äºboxçåç§»é+æ»å¨çè·ç¦» |
| | | let pySize= list.offsetTop + touch.pageY - touchStartPosition; |
| | | if(pySize>=110) |
| | | { |
| | | return; |
| | | } |
| | | if(pySize<0) |
| | | { |
| | | return; |
| | | } |
| | | var scroll = document.getElementsByClassName('contscore') |
| | | var srollPos = $('.contscore').scrollTop(); //æ»å¨æ¡è·é¡¶é¨è·ç¦»(页é¢è¶
åºçªå£çé«åº¦) |
| | | if(srollPos>0) |
| | | { |
| | | return; |
| | | } |
| | | list.style.top =pySize + 'px'; |
| | | // å®ç°å¹³æ»çæ»å¨ |
| | | touchStartPosition = touch.pageY |
| | | }) |
| | | // touchendäºä»¶ |
| | | box.addEventListener('touchend', function (e) { |
| | | let top = list.offsetTop |
| | | if (top > 70) { |
| | | // 卿¤å¤è°ç¨å·æ°åçåè° |
| | | console.log('å·æ°'); |
| | | location.reload(); |
| | | } |
| | | if(top<0) |
| | | { |
| | | list.style.top=0; |
| | | } |
| | | if (top > 0) { |
| | | // éè¿å®æ¶å¨å¹³æ»çå°listçtop = 0 |
| | | let timer = setInterval(() => { |
| | | top=top-5; |
| | | list.style.top = top + 'px' |
| | | if (top <= 0) { |
| | | list.style.top=0; |
| | | clearInterval(timer) |
| | | } |
| | | },1) |
| | | } |
| | | }) |
| | | }, |
| | | zhe: function (v) { |
| | | return Number(v.discount * 10).toFixed(1); |
| | | }, |
| | |
| | | headers:{ |
| | | "token":this.getUrlPar("token") |
| | | }, |
| | | url:'http://dfgapp.ushopvip.com/api/Activity/zsz_goods_list', |
| | | //url:'http://dfg.shop.com/api/Activity/zsz_goods_list', |
| | | //url:'http://appapitest.ushopvip.com/api/Activity/zsz_goods_list', |
| | | url:'/api/Activity/zsz_goods_list', |
| | | type:"post", |
| | | dataType:"json", |
| | | data:{ |
| | |
| | | } |
| | | }, |
| | | mounted: function () { |
| | | this.init() |
| | | this.init(); |
| | | this.touch(); |
| | | }, |
| | | }) |
| | | </script> |
| | | <style> |
| | | |
| | | .appback-img |
| | | { |
| | | position: absolute; |
| | | top: 0.6rem; |
| | | z-index: 999; |
| | | width: 0.6rem; |
| | | left: 0.3rem; |
| | | } |
| | | .box |
| | | { |
| | | position:absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: url(https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/h5loading.gif) no-repeat fixed top; |
| | | background-size: 70px 70px; |
| | | } |
| | | .list{ |
| | | position: relative; |
| | | top: 0; |
| | | width: 100%; |
| | | } |
| | | html, body { |
| | | padding: 0; |
| | | margin: 0; |