调整首页品牌文案层级

更新首页唯一 H1、小眉题、产品说明与权益文案
统一游戏美术 AI 创作工具 H2 和功能弹窗 H2 语义
补充首页标题层级测试与 SEO、创作主页文档约束
This commit is contained in:
2026-07-12 19:32:11 +08:00
parent 300e69c97d
commit 2b13067492
5 changed files with 91 additions and 29 deletions
@@ -156,16 +156,34 @@ describe('CreationLandingView', () => {
renderCreationLanding();
expect(screen.getByRole('main', { name: '陶泥儿创作主页' })).toBeTruthy();
expect(screen.getAllByRole('heading', { level: 1 })).toHaveLength(1);
expect(
screen.getByRole('heading', {
name: '游戏美术AI工作台,让个人创作者更快做出角色、场景与宣发素材',
level: 1,
name: '陶泥儿 · 开启全民精品游戏创作',
}),
).toBeTruthy();
expect(
screen.getByText(/陶泥儿 Genarrative 以美术 Agent 与无限画布/u),
screen.getByText('陶泥儿 Genarrative|游戏美术 AI 创作工具'),
).toBeTruthy();
const subtitle = screen.getByText(
/面向个人创作者的游戏美术 AI 工作台/u,
);
expect(subtitle.textContent).toContain('美术 Agent');
expect(subtitle.textContent).toContain('无限画布');
expect(subtitle.textContent).toContain('角色、场景、UI 与宣发素材');
expect(
screen.getByText('登录即送 100 泥点,可以免费制作 50 个素材'),
).toBeTruthy();
expect(
screen.getByRole('heading', {
level: 2,
name: '游戏美术 AI 创作工具',
}),
).toBeTruthy();
expect(
screen.getByRole('heading', { level: 3, name: '游戏视觉规范' }),
).toBeTruthy();
expect(screen.getByRole('heading', { name: '创作工具' })).toBeTruthy();
expect(screen.getByText('游戏视觉规范')).toBeTruthy();
expect(screen.getByRole('heading', { name: '陶泥儿精选' })).toBeTruthy();
expect(screen.getByRole('tab', { name: '全部' })).toBeTruthy();
expect(screen.queryByRole('tab', { name: '素材包' })).toBeNull();
@@ -310,6 +328,10 @@ describe('CreationLandingView', () => {
await user.click(screen.getByRole('button', { name: /游戏特效/u }));
const dialog = screen.getByRole('dialog', { name: '抱歉' });
expect(screen.getAllByRole('heading', { level: 1 })).toHaveLength(1);
expect(
within(dialog).getByRole('heading', { level: 2, name: '抱歉' }),
).toBeTruthy();
expect(dialog.textContent).toContain('功能还在调试中');
expect(dialog.textContent).toContain('暂未开放');
expect(dialog.closest('.platform-theme--light')).toBeTruthy();
@@ -858,14 +858,20 @@ export function CreationLandingView({
<main className="creation-landing" aria-label="陶泥儿创作主页">
<section className="creation-landing__hero">
<div className="creation-landing__hero-copy">
<span className="creation-landing__eyebrow">陶泥儿创作工具</span>
<h1>
游戏美术AI工作台,让个人创作者更快做出角色、场景与宣发素材
</h1>
<p>
陶泥儿 Genarrative 以美术 Agent
与无限画布帮助个人创作者准备角色、场景与宣发素材;登录即送100泥点,可以免费制作50个素材。
</p>
<span className="creation-landing__eyebrow">
陶泥儿 Genarrative|游戏美术 AI 创作工具
</span>
<h1>陶泥儿 · 开启全民精品游戏创作</h1>
<div className="creation-landing__hero-detail">
<p className="creation-landing__hero-subtitle">
面向个人创作者的游戏美术 AI 工作台。
<br />
用美术 Agent 与无限画布,快速制作角色、场景、UI 与宣发素材。
</p>
<p className="creation-landing__hero-benefit">
登录即送 100 泥点,可以免费制作 50 个素材
</p>
</div>
<div className="creation-landing__hero-actions">
<PlatformActionButton
size="md"
@@ -913,7 +919,7 @@ export function CreationLandingView({
<section className="creation-landing__section">
<div className="creation-landing__section-header">
<div>
<h2>创作工具</h2>
<h2>游戏美术 AI 创作工具</h2>
</div>
</div>
<div className="creation-landing__feature-grid">
@@ -1089,7 +1095,7 @@ export function CreationLandingView({
alt=""
className="platform-mobile-home-welcome-dialog__icon"
/>
<h1 className="platform-mobile-home-welcome-dialog__title">抱歉</h1>
<h2 className="platform-mobile-home-welcome-dialog__title">抱歉</h2>
<p className="platform-mobile-home-welcome-dialog__copy">
功能还在调试中
<br />
+41 -11
View File
@@ -3428,8 +3428,8 @@ html[data-mobile-keyboard-open='true'] .platform-mobile-bottom-dock {
color: #8c796c;
font-size: clamp(0.86rem, 1.2vw, 1.02rem);
font-weight: 860;
letter-spacing: 0.56em;
text-indent: 0.56em;
letter-spacing: 0.18em;
text-indent: 0.18em;
}
.creation-landing__hero h1 {
@@ -3443,13 +3443,33 @@ html[data-mobile-keyboard-open='true'] .platform-mobile-bottom-dock {
line-height: 1.04;
}
.creation-landing__hero p {
.creation-landing__hero-detail {
display: grid;
max-width: 54rem;
justify-items: center;
gap: 0.42rem;
}
.creation-landing__hero-subtitle,
.creation-landing__hero-benefit {
margin: 0;
color: #8a7466;
font-size: clamp(1rem, 1.45vw, 1.28rem);
font-weight: 820;
letter-spacing: 0.38em;
text-indent: 0.38em;
text-indent: 0;
}
.creation-landing__hero-subtitle {
font-size: clamp(1rem, 1.55vw, 1.35rem);
font-weight: 620;
letter-spacing: 0.04em;
line-height: 1.7;
}
.creation-landing__hero-benefit {
color: #9a6f56;
font-size: clamp(0.8rem, 0.92vw, 0.94rem);
font-weight: 680;
letter-spacing: 0.08em;
line-height: 1.55;
}
.creation-landing__hero-actions {
@@ -4339,10 +4359,20 @@ html[data-mobile-keyboard-open='true'] .platform-mobile-bottom-dock {
padding-top: 1.6rem;
}
.creation-landing__eyebrow,
.creation-landing__hero p {
letter-spacing: 0.18em;
text-indent: 0.18em;
.creation-landing__eyebrow {
letter-spacing: 0.1em;
text-indent: 0.1em;
}
.creation-landing__hero-subtitle {
font-size: 0.95rem;
letter-spacing: 0.02em;
line-height: 1.62;
}
.creation-landing__hero-benefit {
font-size: 0.8rem;
letter-spacing: 0.04em;
}
.creation-landing__hero-actions {