# 纯 HTML 迁移方案分析报告 (更新版) ## 1. 总体评估 用户希望将基于 UniApp/Vue.js 的现有逻辑(主要涉及 `pages/tpl/style3/index.vue`, `pages/tpl/style3/signup.vue`, `pages/tpl/style3/rankList.vue`, `pages/tpl/style3/rankOverview.vue`)迁移到一套新的、纯 HTML/JS/CSS 的 UI 设计中。新的 UI 文件位于 `pages/tpl/style3/new/` 目录下,包括 `index.html` (入口页), `signup.html` (报名页), `ranklist.html` (排行榜/总览页)。 **核心挑战**: 1. **UniApp API 依赖**: 原有业务逻辑文件 (`common/api.js`, `common/tools.js`, `common/cardfunc.js`) 大量使用了 `uni.request`、`uni.showToast` 等 UniApp 特有的 API,这些在标准浏览器环境中不可用。 2. **Vue 响应式与指令**: 原有 UI 通过 Vue 的数据绑定、指令(`v-if`, `v-for`, `v-model`)实现动态渲染和交互。纯 HTML/JS 环境需要手动操作 DOM。 3. **模块化**: 原有 JS 文件使用 ES Module (`export`, `import`) 语法。在纯 HTML 环境中直接使用需要 ` ``` ## 4. 潜在风险与注意事项 1. **样式冲突与 Tailwind**: 新 UI 使用 Tailwind CSS。如果未来与 UniApp 项目的其他部分集成,可能存在样式冲突。建议将新 UI 的 Tailwind 类转换为静态 CSS 文件,或使用 Tailwind 的 `@apply` 规则来集成。 2. **API 域名**: `api.js` 中的 `API_BASE_URL` 和 `OSS_URL` 必须替换为真实的服务器地址。 3. **跨域问题 (CORS)**: 如果这些 HTML 文件部署在与 API 服务器不同的域,浏览器会遇到 CORS 问题。需要确保服务器端已正确配置 CORS 头部。 4. **图片资源路径**: HTML 中引用的图片资源 (`src="https://orienteering.beswell.com/card/nanning/..."`, `./gd.png`, `./bd.png`) 在部署时需要确保路径正确。 5. **原生 App 交互 (`action://`)**: `uni-compat.js` 中的 `window.appAction` 只是一个模拟。在实际的混合应用 (Hybrid App) 中,需要由原生 App 拦截并处理 `action://` 协议的 URL。 6. **`cardfunc.init` 的 `caller` 参数**: 在 Vue 组件中 `this` 就是 `caller`。在纯 HTML 中,`caller` 的概念不再直接适用。`cardfunc.init(caller, token, ecId)` 可以简化为 `cardfunc.init(token, ecId)`,或者 `caller` 可以是当前页面的一个全局对象或空对象。 这个方案提供了将现有 UniApp/Vue 逻辑迁移到纯 HTML/JS 环境的详细路线图,并考虑了 UniApp 特有 API 的兼容性问题。