Private Service Gateway
+Private Service Gateway
聚合常用内部服务与外部应用,保持入口清晰、状态明确、访问路径简单。
Quick Access
-常用服务
+Quick Access / 常用服务
+像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。
像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。
+diff --git a/NOTICE.md b/NOTICE.md index 4739d13..514678e 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -1,21 +1,6 @@ # Copyright Notice -Copyright (c) sumi.work. Website text, page structure, and stylesheet code are -owned by sumi.work unless otherwise noted. +Copyright (c) sumi.work. Website text, page structure, stylesheets, and local +interface artwork are owned by sumi.work unless otherwise noted. -## Image Credits and Third-Party IP - -The following images are decorative assets sourced from the official Honor of -Kings wallpaper service. Honor of Kings, character artwork, hero names, and -related game assets are owned by Tencent and/or their respective right holders. - -- `assets/images/workspace-hero.jpg`: 刘禅-超级夜猫侠 -- `assets/images/service-frp.jpg`: 姜子牙-弘道录 -- `assets/images/service-git.jpg`: 芈月-西海龙王·敖闰 -- `assets/images/service-gemini.jpg`: 铠-东海龙王·敖光 - -Official wallpaper page: -https://pvp.qq.com/web201605/wallpaper.shtml - -These images should be replaced or removed if the site is used in a context -that requires explicit commercial authorization. +No third-party images are currently used by this page. diff --git a/assets/css/base.css b/assets/css/base.css index 1ff7afa..12d689d 100644 --- a/assets/css/base.css +++ b/assets/css/base.css @@ -1,14 +1,17 @@ :root { color-scheme: light; - --bg: #f5f8ff; - --panel: #ffffff; - --text: #17233d; - --muted: #63708a; - --line: #e5ebf5; - --blue: #246bfe; - --blue-dark: #1554d1; - --green: #19b982; - --shadow: 0 22px 60px rgba(57, 83, 132, 0.13); + --bg: #f7fbff; + --panel: rgba(255, 255, 255, 0.88); + --text: #182641; + --muted: #66728a; + --line: #dfe8f6; + --blue: #2388ff; + --blue-dark: #1069e8; + --green: #21c789; + --purple: #775df6; + --orange: #f07845; + --cyan: #4fb5ff; + --shadow: 0 24px 70px rgba(41, 67, 109, 0.14); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; @@ -29,8 +32,9 @@ body { margin: 0; color: var(--text); background: - radial-gradient(circle at 82% 18%, rgba(36, 107, 254, 0.13), transparent 24rem), - linear-gradient(180deg, #f7fbff 0%, var(--bg) 52%, #ffffff 100%); + radial-gradient(circle at 88% 22%, rgba(115, 184, 255, 0.24), transparent 28rem), + radial-gradient(circle at 18% 12%, rgba(255, 244, 232, 0.9), transparent 23rem), + linear-gradient(180deg, #fffaf4 0%, var(--bg) 48%, #ffffff 100%); } a { @@ -38,11 +42,6 @@ a { text-decoration: none; } -img { - display: block; - max-width: 100%; -} - h1, h2, p { @@ -50,17 +49,22 @@ p { } h1 { - max-width: 620px; - margin-bottom: 22px; - font-size: clamp(2.8rem, 6vw, 5.55rem); - line-height: 1.03; + max-width: 760px; + margin-bottom: 20px; + font-size: clamp(3.1rem, 6.4vw, 5.45rem); + line-height: 1.02; letter-spacing: 0; } +h1 span { + color: var(--blue); + text-shadow: 0 10px 28px rgba(35, 136, 255, 0.22); +} + h2 { - margin-bottom: 0; - font-size: clamp(1.9rem, 3vw, 3rem); - line-height: 1.08; + margin-bottom: 8px; + font-size: clamp(1.7rem, 2.5vw, 2.2rem); + line-height: 1.12; letter-spacing: 0; } diff --git a/assets/css/components.css b/assets/css/components.css index d3b19d8..1100901 100644 --- a/assets/css/components.css +++ b/assets/css/components.css @@ -1,89 +1,151 @@ .brand, .nav-links, +.header-actions, .hero-actions, -.status-row { +.status-row, +.quick-link { display: flex; align-items: center; } .brand { - gap: 10px; - color: #14233f; - font-size: 1.04rem; - font-weight: 850; + gap: 18px; + color: #26314d; + font-size: 1.55rem; + font-weight: 900; + letter-spacing: 0; +} + +.brand::after { + display: block; + width: 1px; + height: 42px; + margin-left: 24px; + background: #dfe6f2; + content: ""; } .brand-mark { display: grid; - width: 34px; - height: 34px; + width: 54px; + height: 54px; place-items: center; color: #fff; - background: linear-gradient(135deg, var(--blue), #48a8ff); - border-radius: 9px; - box-shadow: 0 10px 24px rgba(36, 107, 254, 0.24); + font-size: 1.9rem; + font-weight: 950; + background: linear-gradient(135deg, #6ea8ff, #2e82ff); + border-radius: 18px; + box-shadow: inset 0 6px 14px rgba(255, 255, 255, 0.32), 0 14px 30px rgba(35, 136, 255, 0.22); } .nav-links { - gap: 30px; - color: #3f4b62; - font-size: 0.95rem; - font-weight: 650; + gap: 42px; + color: #2f3a55; + font-size: 1.08rem; + font-weight: 700; } -.nav-links a, -.record a { +.nav-links a { + position: relative; + display: inline-flex; + align-items: center; + gap: 12px; + min-height: 58px; + padding: 0 4px; transition: color 160ms ease; } -.record-note { - max-width: 720px; - margin: 0; - color: #98a3b7; - font-size: 0.78rem; - line-height: 1.7; - text-align: center; -} - .nav-links a:hover, .nav-links a:focus-visible, -.record a:hover, -.record a:focus-visible { +.nav-links a.is-active { color: var(--blue); } +.nav-links a.is-active::after { + position: absolute; + right: 0; + bottom: -15px; + left: 0; + height: 4px; + background: var(--blue); + border-radius: 999px; + content: ""; +} + +.nav-icon { + font-size: 1.35rem; + line-height: 1; +} + +.header-actions { + gap: 24px; + justify-content: end; +} + +.quick-link { + min-height: 50px; + justify-content: center; + gap: 10px; + padding: 0 20px; + border-radius: 14px; + font-size: 1.04rem; + font-weight: 750; + transition: + transform 160ms ease, + box-shadow 160ms ease; +} + +.quick-link:hover, +.quick-link:focus-visible { + transform: translateY(-2px); +} + +.quick-link.gemini { + color: #6650df; + background: rgba(119, 93, 246, 0.08); + border: 1px solid rgba(119, 93, 246, 0.25); +} + +.quick-link.deepseek { + color: #126ed6; + background: rgba(35, 136, 255, 0.08); + border: 1px solid rgba(35, 136, 255, 0.24); +} + .eyebrow { margin: 0 0 12px; color: var(--blue); - font-size: 0.78rem; - font-weight: 850; - letter-spacing: 0.12em; + font-size: 0.82rem; + font-weight: 900; + letter-spacing: 0.16em; text-transform: uppercase; } .subtitle { - max-width: 580px; - margin-bottom: 30px; - color: var(--muted); - font-size: clamp(1.06rem, 1.6vw, 1.24rem); - line-height: 1.8; + max-width: 710px; + margin-bottom: 34px; + color: #35405b; + font-size: clamp(1.1rem, 1.7vw, 1.35rem); + line-height: 1.85; } .hero-actions { flex-wrap: wrap; - gap: 14px; - margin-bottom: 28px; + gap: 24px; + margin-bottom: 32px; } .button { display: inline-flex; - min-height: 48px; + min-height: 66px; align-items: center; justify-content: center; - padding: 0 22px; + gap: 12px; + padding: 0 44px; border: 1px solid transparent; - border-radius: 8px; - font-weight: 800; + border-radius: 12px; + font-size: 1.08rem; + font-weight: 850; transition: transform 160ms ease, box-shadow 160ms ease, @@ -98,7 +160,7 @@ .button.primary { color: #fff; background: var(--blue); - box-shadow: 0 14px 30px rgba(36, 107, 254, 0.24); + box-shadow: 0 16px 34px rgba(35, 136, 255, 0.28); } .button.primary:hover, @@ -107,52 +169,319 @@ } .button.secondary { - color: var(--blue); - background: #fff; - border-color: #dbe6ff; + color: #6650df; + background: rgba(255, 255, 255, 0.68); + border-color: rgba(119, 93, 246, 0.24); } .status-row { width: fit-content; - gap: 9px; - padding: 10px 14px; - color: #2f456b; - background: rgba(255, 255, 255, 0.8); - border: 1px solid #dce7f8; + gap: 10px; + padding: 13px 18px; + color: #21805e; + background: rgba(232, 255, 244, 0.88); + border: 1px solid rgba(33, 199, 137, 0.28); border-radius: 999px; - box-shadow: 0 12px 32px rgba(57, 83, 132, 0.08); + box-shadow: 0 14px 34px rgba(33, 199, 137, 0.1); } .status-row strong { - color: #143055; - font-weight: 850; + color: #187050; + font-weight: 900; } -.status-dot { +.status-row i { + display: block; width: 10px; height: 10px; background: var(--green); border-radius: 999px; - box-shadow: 0 0 0 6px rgba(25, 185, 130, 0.13); +} + +.shield { + display: grid; + width: 24px; + height: 24px; + place-items: center; + color: var(--green); +} + +.hero-art { + position: relative; + min-height: 390px; + overflow: hidden; +} + +.portal { + position: absolute; + right: 110px; + bottom: 24px; + width: 285px; + height: 360px; + background: linear-gradient(180deg, #d9f0ff, #9ad4ff); + border: 3px solid rgba(63, 158, 240, 0.42); + border-radius: 150px 150px 30px 30px; + box-shadow: inset 0 0 0 16px rgba(255, 255, 255, 0.32), 0 30px 72px rgba(35, 136, 255, 0.18); +} + +.portal::before { + position: absolute; + inset: 96px 56px 0; + background: linear-gradient(180deg, #f7fcff, #b6e2ff); + border-radius: 110px 110px 24px 24px; + content: ""; +} + +.portal-face { + position: absolute; + top: 72px; + left: 50%; + z-index: 1; + display: flex; + gap: 48px; + transform: translateX(-50%); +} + +.portal-face span { + width: 10px; + height: 20px; + background: #26314d; + border-radius: 999px; +} + +.portal-face::after { + position: absolute; + top: 28px; + left: 50%; + width: 28px; + height: 16px; + border-bottom: 4px solid #26314d; + border-radius: 0 0 999px 999px; + content: ""; + transform: translateX(-50%); +} + +.portal-inner { + position: absolute; + right: 88px; + bottom: 50px; + z-index: 1; + display: grid; + width: 90px; + height: 150px; + place-items: center; + background: linear-gradient(180deg, #f9fdff, #bce7ff); + border-radius: 80px 80px 20px 20px; +} + +.arrow { + color: #68bdf1; + font-size: 3rem; + font-weight: 900; +} + +.road { + position: absolute; + right: 110px; + bottom: -20px; + width: 270px; + height: 120px; + background: linear-gradient(105deg, transparent 20%, #f6fbff 21% 42%, #fedb9b 43% 49%, #f6fbff 50% 72%, transparent 73%); + border-radius: 50%; +} + +.cloud { + position: absolute; + background: rgba(255, 255, 255, 0.82); + border: 2px solid rgba(131, 195, 245, 0.42); + border-radius: 999px; +} + +.cloud::before, +.cloud::after { + position: absolute; + background: inherit; + border: inherit; + border-radius: inherit; + content: ""; +} + +.cloud-one { + top: 64px; + left: 140px; + width: 92px; + height: 34px; +} + +.cloud-one::before { + top: -24px; + left: 10px; + width: 34px; + height: 34px; +} + +.cloud-one::after { + top: -12px; + left: 42px; + width: 32px; + height: 32px; +} + +.cloud-two { + right: 10px; + bottom: 138px; + width: 100px; + height: 38px; +} + +.cloud-two::before { + top: -22px; + left: 18px; + width: 38px; + height: 38px; +} + +.cloud-two::after { + top: -12px; + left: 56px; + width: 34px; + height: 34px; +} + +.star { + position: absolute; + color: #ffc54d; + font-size: 2rem; + text-shadow: 0 4px 12px rgba(255, 197, 77, 0.3); +} + +.star-one { + top: 120px; + left: 130px; +} + +.star-two { + top: 42px; + right: 78px; +} + +.dot { + position: absolute; + width: 10px; + height: 10px; + border: 2px solid #7cc8ff; + border-radius: 999px; +} + +.dot-one { + top: 80px; + left: 95px; +} + +.dot-two { + right: 36px; + top: 160px; +} + +.bush { + position: absolute; + bottom: 36px; + width: 118px; + height: 70px; + background: #c5f0b6; + border: 3px solid rgba(103, 196, 111, 0.42); + border-radius: 80px 80px 28px 28px; +} + +.bush::before, +.bush::after { + position: absolute; + width: 10px; + height: 16px; + background: #26314d; + border-radius: 999px; + content: ""; +} + +.bush::before { + top: 28px; + left: 44px; +} + +.bush::after { + top: 28px; + right: 44px; +} + +.bush-left { + left: 145px; +} + +.bush-right { + right: 30px; + bottom: 10px; + width: 74px; + height: 114px; + background: + radial-gradient(ellipse at 50% 18%, #b8ed9b 0 24%, transparent 25%), + radial-gradient(ellipse at 25% 54%, #9ee285 0 21%, transparent 22%), + radial-gradient(ellipse at 76% 54%, #8dd97c 0 22%, transparent 23%); + border: 0; +} + +.bush-right::before, +.bush-right::after { + display: none; +} + +.section-heading h2 { + display: flex; + align-items: center; + gap: 14px; +} + +.section-heading h2 span { + display: inline-block; + width: 6px; + height: 30px; + background: var(--blue); + border-radius: 999px; +} + +.section-heading h2 i { + color: var(--blue); + font-style: normal; } .section-note { - max-width: 420px; margin-bottom: 0; color: var(--muted); + font-size: 1rem; line-height: 1.7; - text-align: right; +} + +.dot-matrix { + width: 48px; + height: 48px; + flex: 0 0 auto; + background-image: radial-gradient(circle, rgba(35, 136, 255, 0.68) 2px, transparent 3px); + background-size: 14px 14px; } .service-card { position: relative; - display: block; - min-height: 280px; + display: flex; + min-height: 290px; + flex-direction: column; + align-items: center; + justify-content: center; overflow: hidden; - background: #0f1d34; - border: 1px solid var(--line); + padding: 28px 20px; + text-align: center; + background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(244, 250, 255, 0.86)); + border: 1px solid rgba(151, 198, 245, 0.38); border-radius: 20px; - box-shadow: 0 18px 42px rgba(38, 57, 96, 0.16); + box-shadow: 0 18px 42px rgba(38, 57, 96, 0.1); transition: transform 180ms ease, border-color 180ms ease, @@ -161,98 +490,168 @@ .service-card::before { position: absolute; - inset: 0; - z-index: 1; + right: -32px; + bottom: -26px; + width: 98px; + height: 74px; background: - linear-gradient(180deg, rgba(8, 21, 44, 0.02) 12%, rgba(8, 21, 44, 0.42) 54%, rgba(8, 21, 44, 0.9) 100%), - linear-gradient(135deg, rgba(36, 107, 254, 0.24), transparent 54%); + radial-gradient(circle at 20% 78%, #effaff 0 28%, transparent 29%), + radial-gradient(circle at 44% 58%, #effaff 0 35%, transparent 36%), + radial-gradient(circle at 74% 75%, #effaff 0 30%, transparent 31%); + content: ""; +} + +.service-card::after { + position: absolute; + inset: 12px; + pointer-events: none; + border-radius: 16px; content: ""; } .service-card:hover, .service-card:focus-visible { transform: translateY(-8px); - border-color: rgba(36, 107, 254, 0.28); - box-shadow: 0 28px 62px rgba(38, 57, 96, 0.2); + border-color: rgba(35, 136, 255, 0.42); + box-shadow: 0 28px 62px rgba(38, 57, 96, 0.16); outline: none; } -.service-card:hover img, -.service-card:focus-visible img { - transform: scale(1.06); -} - -.service-card img { - width: 100%; - height: 100%; - min-height: 280px; - object-fit: cover; - transition: transform 260ms ease; -} - -.service-content { - position: absolute; - inset: auto 0 0; - z-index: 2; - display: flex; - min-height: 55%; - flex-direction: column; - justify-content: flex-end; - padding: 22px; - color: #fff; -} - .service-icon { - display: inline-flex; - width: fit-content; - min-width: 48px; - min-height: 36px; - align-items: center; - justify-content: center; - padding: 0 12px; - margin-bottom: auto; - color: #fff; - background: rgba(255, 255, 255, 0.18); - border: 1px solid rgba(255, 255, 255, 0.2); + display: grid; + width: 112px; + height: 112px; + place-items: center; + margin-bottom: 20px; + color: var(--blue); + background: + radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.96) 0 42%, transparent 43%), + rgba(255, 255, 255, 0.64); + border: 12px solid rgba(255, 255, 255, 0.72); border-radius: 999px; - font-size: 0.82rem; + box-shadow: 0 14px 28px rgba(38, 57, 96, 0.12); + font-size: 2.4rem; font-weight: 900; - backdrop-filter: blur(12px); } .service-title { - margin-top: 74px; - color: #fff; - font-size: 1.18rem; - font-weight: 900; + color: #14213c; + font-size: 1.5rem; + font-weight: 950; } .service-desc { - margin-top: 8px; - color: rgba(255, 255, 255, 0.78); - font-size: 0.94rem; + margin-top: 6px; + color: #6b7285; + font-size: 1rem; line-height: 1.55; } -@media (max-width: 960px) { - .section-note { - text-align: left; +.arrow-button { + display: grid; + width: 42px; + height: 42px; + place-items: center; + margin-top: 20px; + color: currentColor; + background: rgba(255, 255, 255, 0.64); + border: 1px solid currentColor; + border-radius: 999px; + font-size: 1.25rem; + font-weight: 900; +} + +.card-blue { + color: var(--blue); +} + +.card-orange { + color: var(--orange); + border-color: rgba(240, 120, 69, 0.32); + background: linear-gradient(145deg, #fffaf5, #fff4e8); +} + +.card-green { + color: #16a99a; + border-color: rgba(33, 199, 137, 0.32); + background: linear-gradient(145deg, #f7fffb, #eefcf6); +} + +.card-purple { + color: var(--purple); + border-color: rgba(119, 93, 246, 0.3); + background: linear-gradient(145deg, #fbf9ff, #f5f1ff); +} + +.card-deepseek { + color: #237fe8; + background: linear-gradient(145deg, #f7fbff, #eef7ff); +} + +@media (max-width: 1180px) { + .brand::after { + display: none; + } + + .nav-links, + .header-actions { + justify-content: center; } } -@media (max-width: 560px) { - .button { +@media (max-width: 640px) { + .brand { + font-size: 1.35rem; + } + + .nav-links, + .header-actions { + flex-wrap: wrap; + gap: 10px; + } + + h1 { + font-size: clamp(2.7rem, 12vw, 4.2rem); + } + + .button, + .quick-link { width: 100%; } + .hero-actions, .status-row { - align-items: flex-start; - flex-direction: column; - border-radius: 14px; + width: 100%; } - .service-card, - .service-card img { - min-height: 230px; + .hero-art { + min-height: 260px; + } + + .portal { + right: 18px; + width: 210px; + height: 270px; + transform: scale(0.86); + transform-origin: right bottom; + } + + .cloud-one, + .star-one, + .dot-one, + .bush-left { + display: none; + } + + .section-heading { + gap: 16px; + } + + .dot-matrix { + display: none; + } + + .service-card { + min-height: 250px; } } diff --git a/assets/css/layout.css b/assets/css/layout.css index fb2dfcd..d0863ed 100644 --- a/assets/css/layout.css +++ b/assets/css/layout.css @@ -1,115 +1,126 @@ -.site-header { - position: sticky; - top: 0; - z-index: 20; - display: flex; - align-items: center; - justify-content: space-between; - width: min(1180px, calc(100% - 40px)); - min-height: 72px; - margin: 0 auto; - transition: - background 180ms ease, - border-color 180ms ease, - box-shadow 180ms ease; -} - -.site-header.is-scrolled { - width: 100%; - padding: 0 max(20px, calc((100% - 1180px) / 2)); - background: rgba(255, 255, 255, 0.88); - border-bottom: 1px solid rgba(229, 235, 245, 0.9); - box-shadow: 0 10px 36px rgba(42, 67, 112, 0.08); - backdrop-filter: blur(18px); -} - +.site-header, .hero, .services-section, .record { - width: min(1180px, calc(100% - 40px)); + width: min(1480px, calc(100% - 36px)); margin-inline: auto; } +.site-header { + position: sticky; + top: 16px; + z-index: 20; + display: grid; + grid-template-columns: auto 1fr auto; + gap: 26px; + align-items: center; + min-height: 88px; + padding: 0 28px; + background: rgba(255, 255, 255, 0.82); + border: 1px solid rgba(217, 227, 241, 0.9); + border-radius: 24px; + box-shadow: 0 18px 44px rgba(30, 46, 78, 0.12); + backdrop-filter: blur(20px); +} + .hero { - min-height: auto; - padding: clamp(64px, 12vh, 128px) 0 56px; + display: grid; + grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr); + gap: clamp(22px, 4vw, 58px); + align-items: center; + min-height: 420px; + padding: 42px 48px 22px; } .services-section { - padding: 10px 0 86px; + position: relative; + padding: 30px 42px 34px; + background: rgba(255, 255, 255, 0.78); + border: 1px solid rgba(215, 226, 242, 0.95); + border-radius: 28px; + box-shadow: var(--shadow); + backdrop-filter: blur(16px); } .section-heading { display: flex; - align-items: end; + align-items: flex-start; justify-content: space-between; - gap: 24px; - margin-bottom: 22px; + gap: 28px; + margin-bottom: 26px; } .services { display: grid; - grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); - gap: 20px; + grid-template-columns: repeat(5, minmax(0, 1fr)); + gap: 24px; } .record { display: flex; - align-items: center; - flex-direction: column; justify-content: center; - gap: 8px; - padding: 24px 0 34px; - color: #7a8598; - font-size: 0.88rem; - border-top: 1px solid var(--line); + padding: 24px 0 30px; + color: #7f8798; + font-size: 0.95rem; } .record-main { display: flex; align-items: center; justify-content: center; - gap: 16px; + gap: 22px; } -@media (max-width: 960px) { - .nav-links { - display: none; +@media (max-width: 1180px) { + .site-header { + grid-template-columns: 1fr; + gap: 16px; + padding: 18px 22px; + } + + .hero { + grid-template-columns: 1fr; + padding-inline: 24px; + } + + .hero-art { + min-height: 320px; } .services { grid-template-columns: repeat(2, minmax(0, 1fr)); } - - .section-heading { - align-items: flex-start; - flex-direction: column; - } } -@media (max-width: 560px) { +@media (max-width: 640px) { .site-header, .hero, .services-section, .record { - width: min(100% - 28px, 1180px); + width: min(100% - 24px, 1480px); } .site-header { - min-height: 64px; + top: 10px; + border-radius: 18px; + } + + .hero { + padding: 34px 0 20px; + } + + .services-section { + padding: 24px 18px; + border-radius: 20px; } .services { grid-template-columns: 1fr; } - .record { - gap: 6px; - text-align: center; - } - .record-main { flex-direction: column; gap: 6px; + text-align: center; } } diff --git a/assets/images/service-frp.jpg b/assets/images/service-frp.jpg deleted file mode 100644 index 1dd9008..0000000 Binary files a/assets/images/service-frp.jpg and /dev/null differ diff --git a/assets/images/service-gemini.jpg b/assets/images/service-gemini.jpg deleted file mode 100644 index 141b436..0000000 Binary files a/assets/images/service-gemini.jpg and /dev/null differ diff --git a/assets/images/service-git.jpg b/assets/images/service-git.jpg deleted file mode 100644 index 22aea1f..0000000 Binary files a/assets/images/service-git.jpg and /dev/null differ diff --git a/assets/images/workspace-hero.jpg b/assets/images/workspace-hero.jpg deleted file mode 100644 index 7d2afa1..0000000 Binary files a/assets/images/workspace-hero.jpg and /dev/null differ diff --git a/index.html b/index.html index a3889df..c858cdb 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - +
Private Service Gateway
+聚合常用内部服务与外部应用,保持入口清晰、状态明确、访问路径简单。
Quick Access
-像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。
像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。
+