From b379a9a24654b436165f790652a2edaf5d37020a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 31 Jul 2026 15:08:40 +0800
Subject: [PATCH] feat(frontend): 添加地理区域访问限制页面
---
src/main/resources/static/geo-block.html | 139 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 139 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/static/geo-block.html b/src/main/resources/static/geo-block.html
new file mode 100644
index 0000000..13020af
--- /dev/null
+++ b/src/main/resources/static/geo-block.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>访问受限</title>
+ <style>
+ * { margin: 0; padding: 0; box-sizing: border-box; }
+
+ body {
+ font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", "PingFang SC", sans-serif;
+ background: #0a0e27;
+ min-height: 100vh;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #c8d6e5;
+ }
+
+ .grid-bg {
+ position: fixed;
+ top: 0; left: 0;
+ width: 100%; height: 100%;
+ background-image:
+ linear-gradient(rgba(59,130,246,.04) 1px, transparent 1px),
+ linear-gradient(90deg, rgba(59,130,246,.04) 1px, transparent 1px);
+ background-size: 60px 60px;
+ pointer-events: none;
+ }
+
+ .card {
+ position: relative;
+ text-align: center;
+ padding: 60px 40px;
+ max-width: 560px;
+ width: 90%;
+ }
+
+ .shield-wrap {
+ position: relative;
+ width: 90px; height: 108px;
+ margin: 0 auto 30px;
+ }
+
+ .shield-wrap svg {
+ width: 100%; height: 100%;
+ }
+
+ .shield-ring {
+ position: absolute;
+ top: 50%; left: 50%;
+ transform: translate(-50%,-50%);
+ width: 150px; height: 150px;
+ border-radius: 50%;
+ background: radial-gradient(circle, rgba(239,68,68,.15) 0%, transparent 70%);
+ animation: ringPulse 2.5s ease-in-out infinite;
+ }
+
+ @keyframes ringPulse {
+ 0%,100% { transform: translate(-50%,-50%) scale(1); opacity: .5; }
+ 50% { transform: translate(-50%,-50%) scale(1.25); opacity: .15; }
+ }
+
+ h2 {
+ font-size: 22px; font-weight: 600;
+ color: #f1f5f9;
+ margin-bottom: 14px;
+ letter-spacing: .5px;
+ }
+
+ h2.en {
+ color: #94a3b8;
+ margin-bottom: 30px;
+ font-weight: 400;
+ }
+
+ .divider {
+ width: 60px; height: 1px;
+ background: linear-gradient(90deg, transparent, rgba(239,68,68,.4), transparent);
+ margin: 0 auto 28px;
+ }
+
+ .badge {
+ display: inline-flex;
+ align-items: center; gap: 8px;
+ padding: 10px 22px;
+ background: rgba(239,68,68,.08);
+ border: 1px solid rgba(239,68,68,.2);
+ border-radius: 50px;
+ font-size: 13px; color: #f87171;
+ letter-spacing: 2px;
+ font-weight: 500;
+ }
+
+ .badge .dot {
+ width: 7px; height: 7px;
+ border-radius: 50%;
+ background: #ef4444;
+ box-shadow: 0 0 8px rgba(239,68,68,.7);
+ animation: blink 2s ease-in-out infinite;
+ }
+
+ @keyframes blink {
+ 0%,100% { opacity: 1; }
+ 50% { opacity: .3; }
+ }
+ </style>
+</head>
+<body>
+<div class="grid-bg"></div>
+
+<div class="card">
+ <!-- 盾牌图标 -->
+ <div class="shield-wrap">
+ <div class="shield-ring"></div>
+ <svg viewBox="0 0 60 72" fill="none">
+ <path d="M30 4 L54 16 L54 38 C54 52 42 62 30 68 C18 62 6 52 6 38 L6 16 Z"
+ stroke="#ef4444" stroke-width="2.2" stroke-linejoin="round"/>
+ <path d="M22 36 L28 43 L40 30" stroke="#ef4444" stroke-width="2.8"
+ stroke-linecap="round" stroke-linejoin="round"/>
+ </svg>
+ </div>
+
+ <!-- 中文提示 -->
+ <h2>因平台安全与合规要求,暂不支持中国大陆 IP 访问</h2>
+
+ <!-- 英文提示 -->
+ <h2 class="en">Access from Mainland China is currently unavailable.</h2>
+
+ <div class="divider"></div>
+
+ <!-- 底部标识 -->
+ <div class="badge">
+ <span class="dot"></span>
+ 防御平台
+ </div>
+</div>
+</body>
+</html>
--
Gitblit v1.9.1