本文档总结了将原有的 sdk/index.html 和 sdk/detail.html 迁移至 sdk/test/ 目录,并在保持原有业务逻辑不变的前提下,重新设计为 “运动竞技风 (Sporty Tech)” 的全过程。这份文档可作为未来类似 UI 重构或风格迁移任务的操作流程模板。
sdk/test/ 目录下的完整可运行代码。sdk/test/,避免污染主线代码。sdk/test/css/ 和 sdk/test/js/。api.js, bridge.js, mock_flutter.js 到 sdk/test/。js/multiavatar.min.js 到 sdk/test/js/。css/all.min.css 到 sdk/test/css/。webfonts/ 目录!FontAwesome 图标依赖于此,否则图标会显示为空白。index.html 和 detail.html 的完整代码。<script> 标签内的所有业务逻辑(包括 Logger 封装、API 调用、数据处理、事件监听)完整提取出来。./bridge.js, ./api.js 等) 与新目录结构一致。:root):
--sport-bg, --sport-accent)。id="dashBadge", id="rankList"),这样原有的 JS 逻辑可以直接操作 DOM,无需修改 JS。transform: skewX, 动态背景, 荧光边框)。env(safe-area-inset-top) 和 bottom 的适配。webfonts 路径)。clip-path: inset(0 round 16px) 往往比 border-radius 更可靠,尤其是在 WebView 环境下。detail.html) 占满全屏,使用 height: 100%; overflow: hidden; 固定框架,内部列表使用 flex: 1; overflow-y: auto; 滚动。padding-top: max(30px, env(safe-area-inset-top)) 防止遮挡。id 和 class(如果 JS 通过 class 选择)。例如 rankList 容器、myRankNum 文本节点等。<script> 块即可运行。如果必须改 JS,说明 HTML 结构变动过大,需谨慎评估。html 和 body 必须设为 background-color: transparent !important;。clip-path 强制裁剪,以防止子元素(如绝对定位的背景图)溢出圆角。body 滚动,只允许特定容器内部滚动。html 和 body 都已设置为 background-color: transparent !important;,但圆角裁剪掉的部分仍显示颜色(如灰色),则该颜色来自WebView 控件自身的默认背景色。WebView(backgroundColor: Colors.transparent))。html 或 body 的背景色强制设置为与 App 背景色一致的颜色(如白色),来视觉上“模拟”透明效果,以达到无缝融合。webfonts 字体文件目录,且保持相对路径一致。如果您希望继续进行类似的风格重制任务,可以使用以下模板指令:
“请在
[目标目录]下创建一个基于[原文件]的新版本。 风格要求:[描述风格,如:赛博朋克/极简/复古]。 核心要求:保持所有 JS 业务逻辑不变,仅重写 HTML/CSS。 注意事项:
- 确保所有依赖文件(JS/CSS/Fonts)都已正确复制。
- 保持原有的 DOM ID 以兼容 JS。
- 适配移动端安全区域和圆角效果。”
Generated by Gemini based on "Sporty Edition" experiment.