moshaorui 2 dní pred
rodič
commit
734a58724f

+ 24 - 5
app/Distributor/Controllers/SmmUserAccountController.php

@@ -126,8 +126,13 @@ class SmmUserAccountController extends AdminDistController
     /*
      * 社媒回调接口
      */
-    public function callback($mediaName,Request $request)
-    {
+    public function callback($mediaName,Request $request) {
+        $data = [
+            'status' => 'success',
+            'message' => '回调成功',
+        ];
+
+
         try {
             $ssmService = new SmmService($mediaName);
             $result = $ssmService->loginCallback($request);
@@ -139,13 +144,27 @@ class SmmUserAccountController extends AdminDistController
                 $refreshToken = isset($result['data']['refreshToken']) ? $result['data']['refreshToken'] : '';
                 $backupField1 = isset($result['data']['backupField1']) ? $result['data']['backupField1'] : '';
                 SmmUserAccount::createAccountIfMediaExists($mediaName, $userId,$userName, $accessToken,$expiresAt,$refreshToken,$backupField1);
-                return response()->json(['code' => 1, 'msg' => 'success']);
+                //return response()->json(['code' => 1, 'msg' => 'success']);
+                $data = [
+                    'status' => 'success',
+                    'message' => 'success',
+                ];
             } else {
-                return response()->json(['code' => 0,'msg' => $result['data']]);
+               //return response()->json(['code' => 0,'msg' => $result['data']]);
+                $data = [
+                    'status' => 'error',
+                    'message' => $result['data'],
+                ];
             }
         } catch (\Exception $e) {
-            return response()->json(['code' => 0,'msg' => 'error:'.$e->getMessage()]);
+            //return response()->json(['code' => 0,'msg' => 'error:'.$e->getMessage()]);
+            $data = [
+                'status' => 'error',
+                'message' => $e->getMessage(),
+            ];
         }
+
+        return view('distributor.pages-custom.callback', $data);
     }
 
 

+ 91 - 0
resources/views/distributor/pages-custom/callback.blade.php

@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>操作提示</title>
+    <style>
+        body {
+            margin: 0;
+            padding: 0;
+            height: 100vh;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            background: #f5f5f5;
+            font-family: Arial, sans-serif;
+        }
+
+        .alert-box {
+            background: white;
+            padding: 2rem 3rem;
+            border-radius: 8px;
+            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
+            position: relative;
+            text-align: center;
+            min-width: 300px;
+        }
+
+        .success { color: #4CAF50; }
+        .error { color: #f44336; }
+
+        .close-btn {
+            position: absolute;
+            top: 10px;
+            right: 15px;
+            background: none;
+            border: none;
+            font-size: 1.2rem;
+            cursor: pointer;
+            color: #666;
+        }
+
+        .icon {
+            font-size: 2.5rem;
+            margin-bottom: 1rem;
+        }
+
+        .message {
+            font-size: 1.1rem;
+            margin: 0.5rem 0;
+        }
+    </style>
+</head>
+<body>
+<div class="alert-box">
+    <button class="close-btn" onclick="closeAlert()">×</button>
+{{--    <div class="icon"></div>--}}
+    <div class="message"> </div>
+    <div class="countdown">5秒后自动关闭</div>
+</div>
+
+<script>
+    // 获取URL参数
+    const params = new URLSearchParams(window.location.search);
+    const status = '{{$status}}';
+    const message = '{{$message}}';
+
+    // 设置内容
+    document.querySelector('.alert-box').classList.add(status);
+   // document.querySelector('.icon').textContent = status === 'success' ? '✓' : '✕';
+    document.querySelector('.message').textContent = message;
+
+    // 倒计时显示
+    let seconds = 5;
+    const countdownElement = document.querySelector('.countdown');
+    const timer = setInterval(() => {
+        seconds--;
+        countdownElement.textContent = `${seconds}秒后自动关闭`;
+        if (seconds <= 0) clearInterval(timer);
+    }, 1000);
+
+    // 关闭函数
+    function closeAlert() {
+        window.history.length > 1 ? window.history.back() : window.close();
+    }
+
+    // 5秒自动关闭
+    setTimeout(closeAlert, 5000);
+</script>
+</body>
+</html>