fix: preserve public source on homepage signup

master
weizong song 4 months ago
parent a6cc313e11
commit 1ab0b6f349

@ -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
<!doctype html>
<html lang="zh-CN">
<head>
@ -2107,7 +2114,7 @@
<a class="btn btn-primary" href="#about" aria-label="查看主题赛道">
<span class="action-label">主题赛道</span>
</a>
<a target="_blank" class="btn btn-signup" href="admin/c/xxf/login" aria-label="报名参赛">
<a target="_blank" class="btn btn-signup" href="{{ $signupUrl }}" aria-label="报名参赛">
<span class="action-label">报名参赛</span>
</a>
<a class="btn btn-ghost" href="#guide" aria-label="查看参赛指南">

@ -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);
}
}

Loading…
Cancel
Save