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

26 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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。