예제 #1
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (\Helper::hasSessionCachedUser()) {
         //            //如果请求中含有code,需要重定向至不带code的页面.
         //            if (\Wechat::urlHasAuthParameters($request->fullUrl())) {
         //                return redirect(\Wechat::urlRemoveAuthParameters($request->fullUrl()));
         //            }
         return $next($request);
     }
     $user = \Wechat::authorizeUser($request->url());
     /*
      * if auth failed, this user maybe not a subscribed account,
      * but we allow this man go on to education page.
      * */
     if ($user) {
         \Session::put(AppConstant::SESSION_USER_KEY, $user->all());
     } else {
         \Session::put(AppConstant::SESSION_USER_KEY, null);
     }
     return $next($request);
 }
예제 #2
0
 public function webShopIndex(Request $request)
 {
     if ($request->has('cooperator_id')) {
         \Session::put('cooperator_id', $request->input('cooperator_id'));
     }
     if (!\Helper::hasSessionCachedUser()) {
         $user = \Wechat::authorizeUser($request->fullUrl());
         if ($user) {
             \Session::put(AppConstant::SESSION_USER_KEY, $user->all());
         } else {
             \Session::put(AppConstant::SESSION_USER_KEY, null);
         }
     }
     $user = \Helper::getSessionCachedUser();
     $customer = \Helper::getCustomerOrNull();
     if (!$customer) {
         $customer = Customer::create(['openid' => $user['openid'], 'referrer_id' => 0, 'type_id' => 1]);
         $customer->update(['cooperator_id' => $request->input('cooperator_id', null)]);
         return redirect('http://web.ohmate.cn/redirect/shop-index?customer_id=' . $customer->id . '&first_in=1');
     }
     return redirect('http://web.ohmate.cn/redirect/shop-index?customer_id=' . $customer->id);
 }