'轮播', 'key' => 'LOOP', 'hash'=>'loop' ], [ 'label' => '热书推荐', 'key' => 'HOT', 'hash'=>'hot' ], [ 'label' => '神书推荐', 'key' => 'ZHIBO', 'hash'=>'live' ], [ 'label' => '编辑推荐', 'key' => 'RECOM', 'hash'=>'recom' ], [ 'label' => '新书推荐', 'key' => 'NEW_RECOM', 'hash'=>'new_recom' ], ]; $SEX = $sex = $request->has('type') && $request->input('type') == 'male' ? 'MALE' : 'FEMALE'; //$SEX = $sex === 'male' ? "MALE" : "FEMALE"; $channel = $SEX =='MALE'?1:2; foreach ($subjects as &$subject) { //$subject['list'] = BookConfigService::getBooksByIds(explode(',', env("BOOK_{$SEX}_{$subject['key']}"))); $subject['list'] = BookConfigService::getBooksByIds(RecommendService::getRecommendBooksIds($channel,$subject['hash'])); } $ranks = [ BookConfigService::getBooksByIds([677, 694, 638, 642, 641, 673, 635, 639, 637, 4]), BookConfigService::getBooksByIds([2, 638, 642, 635, 639, 4, 743, 680, 736, 73]), BookConfigService::getBooksByIds([638, 677, 694, 635, 612, 693, 634, 642, 775, 780]), ]; return view('wap-browser.index.index', [ 'title' => '书城', 'sex' => $SEX, 'subjects' => $subjects, 'ranks' => $ranks, ]); } public function yun(Request $request, $t, $domain, $param) { $h5_scheme = env('H5_SCHEME', 'https'); if (is_numeric($t)) { $domain_distribution_channel_id = $t; } else { $domain_distribution_channel_id = decodeDistributionChannelId($t); } $link = SendOrderService::getRedirectUrlById($param); //判单是否存在 且要为浏览器派单 if (!$link || $link->promotion_point == 1) { return redirect()->to($h5_scheme . '://' . _domain() . '/'); } //访问时的site id与派单的site id 不一致 直接返回首页 if ($link->distribution_channel_id != $domain_distribution_channel_id) { return redirect()->to($h5_scheme . '://' . _domain()); } $key = date('Y-m-d'); Cookie::queue('send_order_id', $param, env('U_COOKIE_EXPIRE'), null, null, false, false); $url = $h5_scheme . '://' . _domain(). $link->redirect_url; $send_order_flag = Cookie::get('send_order_flag'); $send_orders = explode(',', $send_order_flag); //uv if (!in_array($param, $send_orders)) { Redis::hincrby('browser_send_order_uv_' . $param, $key, 1); Redis::hincrby('browser_send_order_uv_' . $param, 'total', 1); array_push($send_orders, $param); $str = implode(',', $send_orders); Cookie::queue('send_order_flag', $str, env('U_COOKIE_EXPIRE'), null, null, false, false); } //pv Redis::hincrby('browser_send_order_pv_' . $param, $key, 1);//每天 Redis::hincrby('browser_send_order_pv_' . $param, 'total', 1);//汇总 Redis::sadd('browser_send_order' . $key, $param); if (empty($link->send_time)) { $uv = Redis::hget('browser_send_order_uv_' . $param, $key); $this->updateSendOrderTime($param, $uv); } return redirect()->to($url); } protected function updateSendOrderTime($send_order_id, $uv) { if ($uv && $uv >= 20) { try { SendOrderService::updateSendOrderTime($send_order_id); } catch (\Exception $e) { } } return false; } }