123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace App\Http\Controllers;
- use App\Services\Client\AccountService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\File;
- use Illuminate\Support\Facades\Artisan;
- class ScribeController extends Controller
- {
- protected AccountService $accountService;
- public function __construct(AccountService $accountService)
- {
- $this->accountService = $accountService;
- }
-
- public function updateAuthToken(Request $request, $mobile)
- {
- try {
-
- $result = $this->accountService->sendVerifyCode($mobile);
- $code = $result['code'];
-
- $loginResult = $this->accountService->login($mobile, $code);
- $token = $loginResult['token'];
-
- $envPath = base_path('.env');
- $envContent = File::get($envPath);
-
-
- if (preg_match('/^YOUR_AUTH_KEY=.*$/m', $envContent)) {
- $envContent = preg_replace('/^YOUR_AUTH_KEY=.*$/m', 'YOUR_AUTH_KEY=' . $token, $envContent);
- } else {
- $envContent .= "\nYOUR_AUTH_KEY=" . $token;
- }
-
- File::put($envPath, $envContent);
-
- $authPath = base_path('.scribe/auth.md');
- if (File::exists($authPath)) {
- $authContent = File::get($authPath);
- $authContent = preg_replace(
- '/\*\*`"Bearer [^"`]*"`\*\*/',
- '**`"Bearer ' . $token . '"`**',
- $authContent
- );
- File::put($authPath, $authContent);
- }
-
- $docsPath = public_path('docs/index.html');
- if (File::exists($docsPath)) {
- $docsContent = File::get($docsPath);
- $docsContent = preg_replace(
- '/Bearer [a-zA-Z0-9|]*/',
- 'Bearer ' . $token,
- $docsContent
- );
- File::put($docsPath, $docsContent);
- }
- return response()->json([
- 'code' => 200,
- 'message' => 'Token更新成功',
- 'data' => [
- 'token' => $token
- ]
- ]);
- } catch (\Exception $e) {
- return response()->json([
- 'code' => 500,
- 'message' => '更新失败: ' . $e->getMessage()
- ], 500);
- }
- }
- }
|