feat: 优化网站性能、响应式设计和测试覆盖率

- 更新next.config.ts配置以优化图片和静态资源
- 优化字体加载策略,减少首屏阻塞
- 使用Next.js Image组件替换img标签并实现懒加载
- 重构移动端菜单交互,提升触摸体验
- 新增安全测试和可访问性测试用例
- 修复导航栏滚动定位问题
- 更新部署就绪测试脚本
- 添加相关文档说明优化细节
This commit is contained in:
张翔
2026-02-28 22:32:45 +08:00
parent 7b2a8af19f
commit 13c4a2ca49
14 changed files with 2748 additions and 789 deletions
+83 -1
View File
@@ -10,8 +10,10 @@
"hasInstallScript": true,
"devDependencies": {
"@axe-core/playwright": "^4.9.0",
"@playwright/test": "^1.48.0",
"@playwright/test": "^1.58.2",
"@types/node": "^20.11.0",
"allure-commandline": "^2.37.0",
"allure-playwright": "^3.5.0",
"glob": "^13.0.6",
"typescript": "^5.3.0"
}
@@ -55,6 +57,47 @@
"undici-types": "~6.21.0"
}
},
"node_modules/allure-commandline": {
"version": "2.37.0",
"resolved": "https://registry.npmjs.org/allure-commandline/-/allure-commandline-2.37.0.tgz",
"integrity": "sha512-s3zZ8zjqo2U3i5Lb3iLOCjwWQCtGK58GVpScTnZddOpgTXBDXAbXn+pT7QXN4NiY7pho6xw+UgyREyCRnx/9ug==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"allure": "bin/allure"
}
},
"node_modules/allure-js-commons": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.5.0.tgz",
"integrity": "sha512-iBVFNQkX5i48QGlb5U3iWm+NiNOl/ucxv6dvEJBNeJTPMI8t0Dn0CuXMQEiv4forSSAppD7FB9uGal2JwunH/A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"md5": "^2.3.0"
},
"peerDependencies": {
"allure-playwright": "3.5.0"
},
"peerDependenciesMeta": {
"allure-playwright": {
"optional": true
}
}
},
"node_modules/allure-playwright": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/allure-playwright/-/allure-playwright-3.5.0.tgz",
"integrity": "sha512-nB6Wj1z7oGz44r4qxN2lJ6lgDQ+FcpL2dyhUsH/syyNPY8x1JLandedc3FA+nqtxoer6qUagsWZfDZnsDO0RXA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"allure-js-commons": "3.5.0"
},
"peerDependencies": {
"@playwright/test": ">=1.53.0"
}
},
"node_modules/axe-core": {
"version": "4.11.1",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz",
@@ -88,6 +131,26 @@
"node": "18 || 20 || >=22"
}
},
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": "*"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
@@ -121,6 +184,13 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true,
"license": "MIT"
},
"node_modules/lru-cache": {
"version": "11.2.6",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
@@ -131,6 +201,18 @@
"node": "20 || >=22"
}
},
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"node_modules/minimatch": {
"version": "10.2.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",