瀏覽代碼

friend activity link

zz 6 年之前
父節點
當前提交
8ca418d527
共有 2 個文件被更改,包括 37 次插入0 次删除
  1. 36 0
      app/Http/Controllers/Wap/User/CoflController.php
  2. 1 0
      app/Http/Routes/Wap/WapRoutes.php

+ 36 - 0
app/Http/Controllers/Wap/User/CoflController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\Wap\User;
 
+use App\Modules\Activity\Services\ActivityService;
 use App\Modules\Book\Services\BookConfigService;
 use App\Modules\User\Models\User;
 use App\Modules\User\Services\ReadRecordService;
@@ -62,6 +63,41 @@ class CoflController extends Controller
         return redirect()->to($url);
     }
 
+    public function activity(Request $request){
+        $token = $request->get('token');
+        if(empty($token)){
+            $default_ink = $this->getLink();
+            return redirect()->to($default_ink);
+        }
+        $openid = $request->get('openid');
+        //授权
+        $params = $request->except('_url');
+        if(empty($openid)){
+            $url = url()->current() . '?' . http_build_query($params);
+            $params['redirect_url'] = urlencode($url);
+            $app = new Application($this->auth($params));
+            return $app->oauth->redirect();
+        }
+
+        $activity = ActivityService::getByToken($token);
+        if($activity){
+            $user = $this->getUsers($openid);
+            if($user[0]){
+                $url_format = '%s://site%s.%s.com%s';
+                $url = printf(
+                    $url_format,
+                    env('PROTOCOL'),
+                    encodeDistributionChannelId($user[1]),
+                    env('CUSTOM_HOST'),
+                    $activity->activity_page
+                );
+                return redirect()->to($url);
+            }
+        }
+        $default_ink = $this->getLink();
+        return redirect()->to($default_ink);
+    }
+
     private function getUsers($openid){
         $users = User::where('openid',$openid)->select('id','distribution_channel_id')->get();
         if($users->isEmpty()) return [0,0];

+ 1 - 0
app/Http/Routes/Wap/WapRoutes.php

@@ -34,6 +34,7 @@ Route::group(['domain'=>env('HELP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wa
 
 Route::group(['domain'=>env('FRIEND_LINK_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap'],function(){
     Route::get('friendlink','User\CoflController@index');
+    Route::get('friendactivitylink','User\CoflController@activity');
 });
 
 Route::group(['domain'=>env('WAP_DOMAIN'),'namespace'=>'App\Http\Controllers\Wap','middleware'=>'EnableCross'],function(){