diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 65aed02..8ef066e 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,3 +1,10 @@ +@php + $publicSourceCode = trim((string) request()->query('src', '')); + $signupUrl = 'admin/c/xxf/login'; + if (preg_match('/^[A-Za-z0-9_-]{2,64}$/', $publicSourceCode) === 1) { + $signupUrl .= '?src='.rawurlencode($publicSourceCode); + } +@endphp
@@ -2107,7 +2114,7 @@ 主题赛道 - + 报名参赛 diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index 70886dd..a731a94 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -19,4 +19,16 @@ class ExampleTest extends TestCase ->assertSee('2026江苏省新消费创新创业大赛') ->assertSee('href="admin/c/xxf/login"', false); } + + public function test_homepage_signup_link_preserves_public_source(): void + { + $this->get('/?src=poster_A') + ->assertOk() + ->assertSee('href="admin/c/xxf/login?src=poster_A"', false); + + $this->get('/?src=bad%20code') + ->assertOk() + ->assertSee('href="admin/c/xxf/login"', false) + ->assertDontSee('href="admin/c/xxf/login?src=', false); + } }