Files
visual-vue-v1/.codebuddy/memory/2026-07-25.md
T
2026-07-26 14:07:47 +08:00

3.6 KiB
Raw Blame History

2026-07-25

visual-html 项目改造为 Vue3+TS+Vite

  • 项目性质:可视化大屏模板集合导航页(66 个模板卡片、10 个分类),原为纯静态 HTML + jQuery + animate.css。
  • 备份:原 index.html + static/ 已移入 bak/ 目录。
  • 新架构:
    • Vue 3.5 + TypeScript + Vite 5(vue-tsc 类型检查 + vite build 均通过)
    • src/data/templates.ts:66 条卡片数据(从原 index.html 提取),类型见 src/types.ts
    • 组件:App.vue + components/NavBar.vue(锚点导航)+ CategorySection.vue + TemplateCard.vue(hover 动画 rubberBand→shake 用 Vue class 绑定替代 jQuery)
    • src/utils/device.ts:TS 重写 device.js 移动端检测;移动端访问隐藏导航并 alert
    • 样式:reset.css / animate.css / main.css 拷至 src/assets/styles/,背景图在 src/assets/images/
  • 关键决策:resource/(3000+ 文件的大屏模板库)整体移到 public/resource/,保证卡片链接 ./resource/html/... 不变、构建后可直接部署。
  • 环境注意:本机 ~/.npm 缓存目录权限有问题,npm install 需加 --cache /tmp/... 绕过。
  • dev server: npm run dev(端口 5173),已验证首页/大屏子页/预览图/favicon 均 200。

resource 大屏全部改写为 Vue(进行中)

  • 用户决策:monorepo 单仓多页;echarts 走 npm(装的是 echarts@4.9.0 + @types/echarts@4.9.22,兼容老模板 itemStyle.normal 语法,原项目内置 echarts 4.0.4);jQuery 用 Vue 重写;66 个页面一次性全改。
  • 架构:vue-router,/dashboard/<分类>/<编号> 路由;每个大屏在 src/dashboards/<分类>/<编号>/ 下自包含(index.vue + assets/ + components/),方便整目录拷贝。样式用 scoped,body 选择器改写到根类 .dash-root。
  • 通用模式:initChart(id, option) 收集实例 + onUnmounted dispose;window resize 统一 onResize;滚动列表用响应式数组 rotate + transition;rollNum 插件重写为 RollNum.vue(CSS transition + tops 数组驱动,02/04 是 40px 变体);高德地图用动态 script 注入(key 保留原样);china.js 转 ESM:perl 剥 UMD 壳 → assets/china.ts(@ts-nocheck);高德点位 china.js → assets/points.ts(2.1MB,sed 改 export)。
  • 已完成:01vehicles 全部 8 页(01 数字滚动+8图、02 高德聚合+预警滚动、03 中国地图流向+仪表盘、04 高德+进度条、05 Bootstrap 布局+地图、06/08 新能源孪生页、07 3D 相册 Carousel3D+文字滚动)。tsc 全过。
  • 进度更新(第二次会话):02agriculture(2)、03traffic(3)、04logistics(8 全)、05Ecommerce(4 全) 已完成。05Ecommerce/02 五屏用 jQuery 保真提取(mapIndex/mapSecond/mapTest.ts + initMap 返回清理函数包装 window.setInterval/setTimeout);home.vue 用 iframe 指向子路由轮播。main.css 首页全局样式已限定 .home-page 前缀防污染。新增依赖:jquery+@types/jquery、echarts-liquidfill@2.0.6(echarts4 兼容)。
  • 踩坑记录:UMD 剥壳后地图文件顶层 return; 需清除(13 个文件已修);原 HTML 常见畸形标签(多余 </ul>/缺 </div>)会破坏 Vue 编译,用脚本统计 div 平衡修复;css 中游离 */、缺失字体文件引用、max-width: : 100% 这类原站容错写法会被 vite/postcss 拒绝,需清理。
  • 待做:06government(13,已完成 01+02 共 6 路由)、07universal(8)、08bigData(5)、09others(15)、10layout(11);templates.ts 卡片链接改路由;预览图迁移;删 public/resource;全量 build。