# `square.vue` 重构设计文档 ## 一、背景 - **文件**:`frontend/pages/square/square.vue`(1196 行) - **技术栈**:uni-app + Vue 3 Composition API(` ``` ### 7.8 迁移步骤 ``` Step 1: 创建 config/cabin.js(包含 GRID_CONFIG + generateGridCoordinates) Step 2: 创建 debug-grid.vue 调试工具,调整网格参数对齐背景图 Step 3: 实现 composables/useCabin.js(使用 generateGridCoordinates) Step 4: 实现其他 composables(useSwipe、useBanner、useDialogRotation) Step 5: 实现 components(CabinItem、BannerCarousel、NavArrows) Step 6: 重写 square.vue,组合所有模块 Step 7: 功能验证 + iOS/Android 测试 ``` ### 7.9 优势对比 | 维度 | 旧方案(硬编码) | 新方案(网格系统) | |------|-----------------|-------------------| | 维护成本 | 高(72 个坐标手动维护) | 低(只需调整几个参数) | | 扩展性 | 差(增加格子需重新计算) | 好(自动生成) | | 背景图更换 | 需重新标注所有坐标 | 只需调整网格参数 | | 视觉一致性 | 手动标注易出错 | 自动对齐,一致性高 | | 调试效率 | 低(需反复测试) | 高(可视化调试工具) | --- ## 八、执行顺序 ``` Step 1: config/cabin.js(包含网格配置 + 坐标生成) Step 2: debug-grid.vue(调试工具) Step 3: composables/useCabin.js Step 4: composables/useSwipe.js Step 5: composables/useBanner.js Step 6: composables/useDialogRotation.js Step 7: components/CabinItem.vue Step 8: components/BannerCarousel.vue Step 9: components/NavArrows.vue Step 10: square.vue(重写) Step 11: 功能验证 + iOS/Android 测试 ```