input('bid',''); $uid=$request->input('uid',''); Redis::incr("advertise_jump_h5_pv:"); if(empty($bid)||empty($uid)){ return response()->error('PARAM_ERROR'); } $ads = AdvertiseService::getAds(); $timestamp = time(); $private_key = '^^zhuishuyun'; $pre_str = arr_to_url(compact('bid','uid','timestamp')); $my_sign = md5($pre_str.$private_key); return view()->with(['params'=>compact('bid','uid','timestamp','my_sign'),'ads'=>$ads]); } public static function jumpToSource(Request $request){ $bid=$request->input('bid',''); $uid=$request->input('uid',''); $ad =$request->input('ad',''); $timestamp = $request->input('timestamp',''); $sign = $request->input('sign',''); if(empty($bid)||empty($uid)||empty($ad)){ return response()->error('PARAM_EMPTY'); } //签名 $pre_str = arr_to_url(compact('bid','uid','timestamp')); $private_key = '^^zhuishuyun'; $my_sign = md5($pre_str.$private_key); //签名时间超过两小时过期 $now = time(); if(($now-$timestamp) > 60*60*2){ return response()->error('PARAM_ERROR'); } if($my_sign != $sign){ return response()->error('PARAM_ERROR'); } $bid=Hashids::decode($bid)[0]; AdvertiseUsersService::addOrUpdateAdUsers(['bid'=>$bid,'uid'=>$uid,'advertise_id'=>$ad]); } public function getAds(Request $request){ $uid=$request->input('uid',''); if(empty($uid)) { return response()->error('PARAM_EMPTY'); } $ads = AdvertiseService::getAds(); foreach ($ads as &$ad){ $adv = AdvertiseUsersService::getOne(['uid'=>$uid]); if($adv){ $ad->is_download=1; }else{ $ad->is_download =0; } } return response()->success($ads); } private function getAdvs($uid) { $ads = AdvertiseService::getAds(); foreach ($ads as &$ad){ $adv = AdvertiseUsersService::getOne(['uid'=>$uid]); if($adv){ $ad->is_download=1; }else{ $ad->is_download =0; } } return response()->success($ads); } }