From ac8f5b5f640df9abc0b314728134940f6fc7f0d1 Mon Sep 17 00:00:00 2001 From: duanshuwen Date: Tue, 26 May 2026 22:49:52 +0800 Subject: [PATCH] feat: add new features, update theme and build config - Add 40+ new UI components including chat modules, discovery cards, photo galleries, FAQ and booking tools - Standardize brand color across all styles by replacing $theme-color-500 SCSS variables with #0ccd58 - Add sass 1.58.3 dependency and update vite config for modern scss compiler support - Refactor existing components (AddCarCrad, login page) and remove unused /quick/list router route - Add utility functions for URL parameter handling - Add static assets including custom znicons font, component images and icons - Fix scss syntax issues and deprecation warnings --- .trae/documents/ZnIcon字体图标组件封装计划.md | 113 ++ package.json | 1 + src/components/AddCarCrad/index.vue | 18 +- src/components/AddCarCrad/styles/index.scss | 19 - src/components/AiTabSwitch/index.vue | 51 +- src/components/AiTabSwitch/styles/index.scss | 12 - src/components/Calender/styles/index.scss | 2 +- src/components/CheckBox/styles/index.scss | 2 +- .../CommandWrapper/styles/index.scss | 2 +- src/components/CreateServiceOrder/index.vue | 97 +- src/components/FormCard/demo.vue | 42 +- src/components/FormCard/styles/index.scss | 6 +- src/components/GoodDetail/index.vue | 48 +- src/components/ImageSwiper/index.vue | 62 +- src/components/ImageSwiper/styles/index.scss | 2 +- src/components/Privacy/index.vue | 46 +- .../ServiceTipsWord/styles/index.scss | 2 +- src/components/Speech/RecordingWaveBtn.vue | 15 +- src/components/SwipeCards/styles/index.scss | 5 +- src/components/TagsGroup/styles/index.scss | 2 +- src/components/UseDateRange/styles/index.scss | 29 +- src/components/ZnIcon/index.vue | 43 + src/pages/booking/index.vue | 89 +- .../discovery/components/CardSwiper/index.vue | 471 ++++++ .../components/CardSwiper/styles/index.scss | 97 ++ .../FindTabs/images/selected_tabs_icon.png | Bin 0 -> 2807 bytes .../FindTabs/images/selected_tabs_icon_b.png | Bin 0 -> 3389 bytes .../discovery/components/FindTabs/index.vue | 93 ++ .../components/FindTabs/styles/index.scss | 71 + .../components/QuickQuestions/index.vue | 80 + .../QuickQuestions/styles/index.scss | 13 + src/pages/discovery/index.vue | 203 +++ src/pages/goods/album/index.vue | 36 +- .../components/DateSelector/styles/index.scss | 4 +- .../components/GoodConfirm/styles/index.scss | 2 +- .../goods/components/GoodFacility/index.vue | 26 +- src/pages/goods/index.vue | 87 +- .../ActivityListComponent/index.vue | 43 + .../ActivityListComponent/styles/index.scss | 38 + .../home/components/AigcPhotoCard/index.vue | 40 + .../home/components/AigcPhotoCard/mocks.js | 8 + .../AigcPhotoCard/styles/index.scss | 54 + .../home/components/AnswerComponent/index.vue | 198 +++ .../components/AttachListComponent/index.vue | 42 + .../AttachListComponent/styles/index.scss | 23 + .../home/components/ChatCardAi/index.vue | 68 + .../components/ChatCardAi/styles/index.scss | 39 + .../home/components/ChatCardMine/index.vue | 23 + .../components/ChatCardMine/styles/index.scss | 20 + .../home/components/ChatCardOther/index.vue | 18 + src/pages/home/components/ChatGuide/index.vue | 85 + .../home/components/ChatInputArea/index.vue | 612 ++++++++ .../ChatInputArea/styles/index.scss | 115 ++ .../home/components/ChatLoading/index.vue | 48 + .../ChatLongAnswer/ParsedValueView.vue | 227 +++ .../home/components/ChatLongAnswer/index.vue | 298 ++++ .../home/components/ChatMainList/index.vue | 1275 +++++++++++++++ .../components/ChatMainList/styles/index.scss | 6 + .../home/components/ChatMarkdown/index.vue | 28 + .../home/components/ChatMoreTips/index.vue | 31 + .../components/ChatMoreTips/styles/index.scss | 44 + .../home/components/ChatQuickAccess/index.vue | 73 + .../ChatQuickAccess/styles/index.scss | 15 + .../home/components/ChatTopNavBar/index.vue | 68 + .../ChatTopNavBar/styles/index.scss | 39 + .../home/components/ChatTopWelcome/index.vue | 92 ++ .../ChatTopWelcome/styles/index.scss | 3 + .../components/DetailCardCompontent/index.vue | 28 + .../DetailCardGoodsContentList/index.vue | 24 + .../styles/index.scss | 3 + .../DiscoveryCardComponent/index.vue | 37 + .../DiscoveryCardComponent/styles/index.scss | 5 + .../DiscoveryCradContentList/index.vue | 39 + .../styles/index.scss | 33 + .../components/MineSetting/index.vue | 113 ++ .../components/MineSetting/styles/index.scss | 65 + .../home/components/DrawerSection/index.vue | 46 + .../DrawerSection/styles/index.scss | 25 + .../components/FacilityLocationCard/index.vue | 70 + .../components/FacilityLocationCard/mocks.js | 21 + .../FacilityLocationCard/styles/index.scss | 87 ++ .../home/components/FaqHelpCard/index.vue | 52 + .../home/components/FaqHelpCard/mocks.js | 19 + .../components/FaqHelpCard/styles/index.scss | 54 + .../images/g_image.png | Bin 0 -> 544723 bytes .../images/g_title.png | Bin 0 -> 6057 bytes .../GeneratorPhotoComponent/index.vue | 69 + .../GeneratorPhotoComponent/styles/index.scss | 61 + .../home/components/HomeWelcome/index.vue | 154 ++ .../components/LongTextGuideCard/index.vue | 184 +++ .../components/LongTextGuideCard/mocks.js | 99 ++ .../LongTextGuideCard/styles/index.scss | 185 +++ .../LongTextGuideCardPreview/detailRoutes.mjs | 10 + .../LongTextGuideCardPreview/guide.vue | 124 ++ .../LongTextGuideCardPreview/index.vue | 105 ++ .../LongTextGuideCardPreview/photo.vue | 127 ++ .../LongTextGuideCardPreview/poi.vue | 115 ++ .../LongTextGuideCardPreview/route.vue | 143 ++ .../styles/detail.scss | 530 +++++++ .../styles/index.scss | 192 +++ .../长文本收纳组件_4类演示.html | 1384 +++++++++++++++++ .../components/MapNavigationCard/index.vue | 58 + .../components/MapNavigationCard/mocks.js | 14 + .../MapNavigationCard/styles/index.scss | 70 + .../home/components/MoreService/index.vue | 112 ++ .../components/MoreService/styles/index.scss | 29 + .../home/components/NoticeCard/index.vue | 91 ++ src/pages/home/components/NoticeCard/mocks.js | 49 + .../components/NoticeCard/styles/index.scss | 123 ++ .../home/components/NoticeMessage/detail.vue | 75 + .../home/components/NoticeMessage/index.vue | 127 ++ .../components/OpenMapComponent/index.vue | 48 + .../home/components/PoiCompareCard/index.vue | 161 ++ .../home/components/PoiCompareCard/mocks.js | 115 ++ .../PoiCompareCard/styles/index.scss | 234 +++ .../home/components/PoiDetailCard/index.vue | 55 + .../home/components/PoiDetailCard/mocks.js | 13 + .../PoiDetailCard/styles/index.scss | 69 + .../components/QuickBookingCalender/index.vue | 66 + .../QuickBookingCalender/styles/index.scss | 57 + .../QuickBookingComponent/index.vue | 63 + .../QuickBookingComponent/styles/index.scss | 9 + .../QuickBookingContentList/index.vue | 59 + .../QuickBookingContentList/styles/index.scss | 137 ++ .../RecommendPostsComponent/index.vue | 23 + .../RecommendPostsComponent/styles/index.scss | 5 + .../components/RecommendPostsList/index.vue | 48 + .../RecommendPostsList/styles/index.scss | 26 + .../RecommendationListCard/index.vue | 59 + .../RecommendationListCard/mocks.js | 22 + .../RecommendationListCard/styles/index.scss | 53 + .../home/components/RoutePlanCard/index.vue | 133 ++ .../home/components/RoutePlanCard/mocks.js | 74 + .../RoutePlanCard/styles/index.scss | 227 +++ .../home/components/ScenicImageCard/index.vue | 56 + .../home/components/ScenicImageCard/mocks.js | 19 + .../ScenicImageCard/styles/index.scss | 48 + .../components/SharedVisual/ActionRow.vue | 61 + .../components/SharedVisual/BadgePill.vue | 28 + .../components/SharedVisual/CardShell.vue | 38 + .../components/SharedVisual/DetailShell.vue | 39 + .../components/SharedVisual/MediaFrame.vue | 28 + .../components/SharedVisual/styles/index.scss | 134 ++ src/pages/home/index.vue | 23 +- .../login/components/AgreePopup/demo.vue | 10 +- .../components/AgreePopup/styles/index.scss | 4 +- src/pages/login/index.vue | 53 +- src/pages/login/styles/index.scss | 2 +- .../components/OrderCard/styles/index.scss | 2 +- .../components/OrderQrcode/styles/index.scss | 6 +- src/pages/order/order/detail.vue | 57 +- .../quick/components/Tabs/styles/index.scss | 16 +- src/pages/quick/index.vue | 2 +- src/router/index.ts | 5 - src/static/fonts/znicons.js | 2 + src/styles/main.css | 6 + src/utils/UrlParams.ts | 37 + vite.config.ts | 8 + yarn.lock | 113 +- 159 files changed, 12439 insertions(+), 629 deletions(-) create mode 100644 .trae/documents/ZnIcon字体图标组件封装计划.md delete mode 100644 src/components/AddCarCrad/styles/index.scss create mode 100644 src/components/ZnIcon/index.vue create mode 100644 src/pages/discovery/components/CardSwiper/index.vue create mode 100644 src/pages/discovery/components/CardSwiper/styles/index.scss create mode 100644 src/pages/discovery/components/FindTabs/images/selected_tabs_icon.png create mode 100644 src/pages/discovery/components/FindTabs/images/selected_tabs_icon_b.png create mode 100644 src/pages/discovery/components/FindTabs/index.vue create mode 100644 src/pages/discovery/components/FindTabs/styles/index.scss create mode 100644 src/pages/discovery/components/QuickQuestions/index.vue create mode 100644 src/pages/discovery/components/QuickQuestions/styles/index.scss create mode 100644 src/pages/discovery/index.vue create mode 100644 src/pages/home/components/ActivityListComponent/index.vue create mode 100644 src/pages/home/components/ActivityListComponent/styles/index.scss create mode 100644 src/pages/home/components/AigcPhotoCard/index.vue create mode 100644 src/pages/home/components/AigcPhotoCard/mocks.js create mode 100644 src/pages/home/components/AigcPhotoCard/styles/index.scss create mode 100644 src/pages/home/components/AnswerComponent/index.vue create mode 100644 src/pages/home/components/AttachListComponent/index.vue create mode 100644 src/pages/home/components/AttachListComponent/styles/index.scss create mode 100644 src/pages/home/components/ChatCardAi/index.vue create mode 100644 src/pages/home/components/ChatCardAi/styles/index.scss create mode 100644 src/pages/home/components/ChatCardMine/index.vue create mode 100644 src/pages/home/components/ChatCardMine/styles/index.scss create mode 100644 src/pages/home/components/ChatCardOther/index.vue create mode 100644 src/pages/home/components/ChatGuide/index.vue create mode 100644 src/pages/home/components/ChatInputArea/index.vue create mode 100644 src/pages/home/components/ChatInputArea/styles/index.scss create mode 100644 src/pages/home/components/ChatLoading/index.vue create mode 100644 src/pages/home/components/ChatLongAnswer/ParsedValueView.vue create mode 100644 src/pages/home/components/ChatLongAnswer/index.vue create mode 100644 src/pages/home/components/ChatMainList/index.vue create mode 100644 src/pages/home/components/ChatMainList/styles/index.scss create mode 100644 src/pages/home/components/ChatMarkdown/index.vue create mode 100644 src/pages/home/components/ChatMoreTips/index.vue create mode 100644 src/pages/home/components/ChatMoreTips/styles/index.scss create mode 100644 src/pages/home/components/ChatQuickAccess/index.vue create mode 100644 src/pages/home/components/ChatQuickAccess/styles/index.scss create mode 100644 src/pages/home/components/ChatTopNavBar/index.vue create mode 100644 src/pages/home/components/ChatTopNavBar/styles/index.scss create mode 100644 src/pages/home/components/ChatTopWelcome/index.vue create mode 100644 src/pages/home/components/ChatTopWelcome/styles/index.scss create mode 100644 src/pages/home/components/DetailCardCompontent/index.vue create mode 100644 src/pages/home/components/DetailCardGoodsContentList/index.vue create mode 100644 src/pages/home/components/DetailCardGoodsContentList/styles/index.scss create mode 100644 src/pages/home/components/DiscoveryCardComponent/index.vue create mode 100644 src/pages/home/components/DiscoveryCardComponent/styles/index.scss create mode 100644 src/pages/home/components/DiscoveryCradContentList/index.vue create mode 100644 src/pages/home/components/DiscoveryCradContentList/styles/index.scss create mode 100644 src/pages/home/components/DrawerSection/components/MineSetting/index.vue create mode 100644 src/pages/home/components/DrawerSection/components/MineSetting/styles/index.scss create mode 100644 src/pages/home/components/DrawerSection/index.vue create mode 100644 src/pages/home/components/DrawerSection/styles/index.scss create mode 100644 src/pages/home/components/FacilityLocationCard/index.vue create mode 100644 src/pages/home/components/FacilityLocationCard/mocks.js create mode 100644 src/pages/home/components/FacilityLocationCard/styles/index.scss create mode 100644 src/pages/home/components/FaqHelpCard/index.vue create mode 100644 src/pages/home/components/FaqHelpCard/mocks.js create mode 100644 src/pages/home/components/FaqHelpCard/styles/index.scss create mode 100644 src/pages/home/components/GeneratorPhotoComponent/images/g_image.png create mode 100644 src/pages/home/components/GeneratorPhotoComponent/images/g_title.png create mode 100644 src/pages/home/components/GeneratorPhotoComponent/index.vue create mode 100644 src/pages/home/components/GeneratorPhotoComponent/styles/index.scss create mode 100644 src/pages/home/components/HomeWelcome/index.vue create mode 100644 src/pages/home/components/LongTextGuideCard/index.vue create mode 100644 src/pages/home/components/LongTextGuideCard/mocks.js create mode 100644 src/pages/home/components/LongTextGuideCard/styles/index.scss create mode 100644 src/pages/home/components/LongTextGuideCardPreview/detailRoutes.mjs create mode 100644 src/pages/home/components/LongTextGuideCardPreview/guide.vue create mode 100644 src/pages/home/components/LongTextGuideCardPreview/index.vue create mode 100644 src/pages/home/components/LongTextGuideCardPreview/photo.vue create mode 100644 src/pages/home/components/LongTextGuideCardPreview/poi.vue create mode 100644 src/pages/home/components/LongTextGuideCardPreview/route.vue create mode 100644 src/pages/home/components/LongTextGuideCardPreview/styles/detail.scss create mode 100644 src/pages/home/components/LongTextGuideCardPreview/styles/index.scss create mode 100644 src/pages/home/components/LongTextGuideCardPreview/长文本收纳组件_4类演示.html create mode 100644 src/pages/home/components/MapNavigationCard/index.vue create mode 100644 src/pages/home/components/MapNavigationCard/mocks.js create mode 100644 src/pages/home/components/MapNavigationCard/styles/index.scss create mode 100644 src/pages/home/components/MoreService/index.vue create mode 100644 src/pages/home/components/MoreService/styles/index.scss create mode 100644 src/pages/home/components/NoticeCard/index.vue create mode 100644 src/pages/home/components/NoticeCard/mocks.js create mode 100644 src/pages/home/components/NoticeCard/styles/index.scss create mode 100644 src/pages/home/components/NoticeMessage/detail.vue create mode 100644 src/pages/home/components/NoticeMessage/index.vue create mode 100644 src/pages/home/components/OpenMapComponent/index.vue create mode 100644 src/pages/home/components/PoiCompareCard/index.vue create mode 100644 src/pages/home/components/PoiCompareCard/mocks.js create mode 100644 src/pages/home/components/PoiCompareCard/styles/index.scss create mode 100644 src/pages/home/components/PoiDetailCard/index.vue create mode 100644 src/pages/home/components/PoiDetailCard/mocks.js create mode 100644 src/pages/home/components/PoiDetailCard/styles/index.scss create mode 100644 src/pages/home/components/QuickBookingCalender/index.vue create mode 100644 src/pages/home/components/QuickBookingCalender/styles/index.scss create mode 100644 src/pages/home/components/QuickBookingComponent/index.vue create mode 100644 src/pages/home/components/QuickBookingComponent/styles/index.scss create mode 100644 src/pages/home/components/QuickBookingContentList/index.vue create mode 100644 src/pages/home/components/QuickBookingContentList/styles/index.scss create mode 100644 src/pages/home/components/RecommendPostsComponent/index.vue create mode 100644 src/pages/home/components/RecommendPostsComponent/styles/index.scss create mode 100644 src/pages/home/components/RecommendPostsList/index.vue create mode 100644 src/pages/home/components/RecommendPostsList/styles/index.scss create mode 100644 src/pages/home/components/RecommendationListCard/index.vue create mode 100644 src/pages/home/components/RecommendationListCard/mocks.js create mode 100644 src/pages/home/components/RecommendationListCard/styles/index.scss create mode 100644 src/pages/home/components/RoutePlanCard/index.vue create mode 100644 src/pages/home/components/RoutePlanCard/mocks.js create mode 100644 src/pages/home/components/RoutePlanCard/styles/index.scss create mode 100644 src/pages/home/components/ScenicImageCard/index.vue create mode 100644 src/pages/home/components/ScenicImageCard/mocks.js create mode 100644 src/pages/home/components/ScenicImageCard/styles/index.scss create mode 100644 src/pages/home/components/SharedVisual/ActionRow.vue create mode 100644 src/pages/home/components/SharedVisual/BadgePill.vue create mode 100644 src/pages/home/components/SharedVisual/CardShell.vue create mode 100644 src/pages/home/components/SharedVisual/DetailShell.vue create mode 100644 src/pages/home/components/SharedVisual/MediaFrame.vue create mode 100644 src/pages/home/components/SharedVisual/styles/index.scss create mode 100644 src/static/fonts/znicons.js create mode 100644 src/utils/UrlParams.ts diff --git a/.trae/documents/ZnIcon字体图标组件封装计划.md b/.trae/documents/ZnIcon字体图标组件封装计划.md new file mode 100644 index 0000000..e6329ce --- /dev/null +++ b/.trae/documents/ZnIcon字体图标组件封装计划.md @@ -0,0 +1,113 @@ +# ZnIcon 字体图标组件封装计划 + +## Summary + +基于项目现有字体映射表 [znicons.js](file:///d:/www/znkj/nianxx-h5/src/assets/fonts/znicons.js),结合 Tailwind CSS 的 class 体系,补齐并统一封装字体图标组件 `ZnIcon`: + +- 新增可复用组件:`src/components/ZnIcon/index.vue` +- 统一字体加载:在全局样式中声明 `@font-face`(字体源使用 `src/assets/fonts/znicons.ttf`) +- 增加兼容层:补齐 `@/assets/fonts/znicons` 的历史导入路径,避免逐文件改动才能编译 +- 输出后续替换路径与校验方式 + +## Current State Analysis(以仓库为准) + +- 字体映射表存在:`src/assets/fonts/znicons.js` +- 字体文件存在:`src/assets/fonts/znicons.ttf` +- 组件骨架存在但为空:`src/components/ZnIcon/index.vue`(0 行) +- 业务中大量使用 `` + `zniconsMap[...]` 的方式展示字体图标,并且存在历史路径导入: + - `import { zniconsMap } from "@/static/fonts/znicons(.js)"`(仓库内当前没有 `src/static/`) +- 多处样式中通过 `@font-face` 引用 `@/static/fonts/znicons.ttf`,但仓库内无该字体路径,导致字体加载不稳定: + - `src/components/ImageSwiper/styles/index.scss` + - `src/components/GoodDetail/index.vue` + - `src/pages/goods/components/GoodFacility/index.vue` + - `src/pages/login/index.vue` + +## Assumptions & Decisions(已确认) + +- 改动范围:兼容层优先(先把组件 + 兼容路径落地;业务替换后续逐步做) +- 组件 API:props 为主(同时允许 class 传入 Tailwind 样式覆盖) +- 字体资源路径:统一以 `src/assets/fonts/znicons.ttf` 为唯一来源 + +## Proposed Changes + +### 1) 实现 `ZnIcon` 组件 + +文件:`src/components/ZnIcon/index.vue` + +#### 组件目标 + +- 以 `name`(映射 key)渲染对应字体图标字符 +- 支持 size/color 作为 props(便于统一口径) +- 支持传入 `class` 使用 Tailwind 控制颜色、间距、对齐等;默认采用 `inline-flex` + `leading-none` + +#### Props 设计(建议) + +- `name: string`(必填;对应 `zniconsMap` 的 key) +- `size?: number | string`(默认 16;number 按 px 处理,string 原样写入) +- `color?: string`(可选;不传则使用 `currentColor`,便于 Tailwind `text-*` 控制) +- `title?: string`(可选;用于无障碍/tooltip) + +#### 渲染与样式策略 + +- 渲染元素:``(默认 `aria-hidden`,若传 title 则补充可访问属性) +- `style`: + - `fontFamily: "znicons"` + - `fontSize`:来自 `size` + - `color`:仅当传入 `color` 时设置,否则依赖 `currentColor` +- `class`:默认 `inline-flex items-center justify-center leading-none select-none`,并合并用户传入 class + +### 2) 全局声明 znicons 字体(统一入口) + +文件:`src/styles/main.css` + +新增 `@font-face`(放在文件较靠前位置,确保早加载): + +- `font-family: znicons;` +- `src: url("@/assets/fonts/znicons.ttf") format("truetype");` +- `font-display: swap;` + +说明: + +- 项目入口已在 `src/main.ts` 引入 `@/styles/main.css`,无需额外引入步骤 + +### 3) 增加历史导入路径兼容层(不改业务代码也能编译) + +新增文件:`src/static/fonts/znicons.js` + +- 仅做 re-export:`export { zniconsMap } from "@/assets/fonts/znicons.js"` + +说明: + +- 这一步用于兼容现有 `@/static/fonts/znicons(.js)` 的导入,减少“全仓替换 import 路径”的一次性风险 + +### 4) 修正历史字体路径引用(从 static 统一到 assets) + +将以下文件中的字体引用路径: + +- 从 `@/static/fonts/znicons.ttf` +- 改为 `@/assets/fonts/znicons.ttf` + +涉及文件(基于当前扫描结果): + +- `src/components/ImageSwiper/styles/index.scss` +- `src/components/GoodDetail/index.vue` +- `src/pages/goods/components/GoodFacility/index.vue` +- `src/pages/login/index.vue` + +注: + +- 只做路径替换,不改动组件业务逻辑 +- 保留重复的 `@font-face` 也不影响功能,但建议后续逐步移除重复声明,最终只保留全局 `main.css` 的一处定义 + +## Verification + +实现完成后手动执行: + +- `yarn typecheck` +- `yarn build` + +验收标准: + +- `ZnIcon` 组件可在任一页面按 props 正常渲染图标 +- 字体在浏览器中可加载成功(Network 中能看到 `znicons.ttf`) +- 现有 `@/static/fonts/znicons` 导入不再报错(由兼容层兜底) diff --git a/package.json b/package.json index 370b0df..82b326f 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@vitejs/plugin-vue-jsx": "^5.1.5", "@vue/tsconfig": "^0.7.0", "concurrently": "^9.2.1", + "sass": "1.58.3", "tailwindcss": "^4.1.12", "typescript": "^5.8.3", "vconsole": "^3.15.1", diff --git a/src/components/AddCarCrad/index.vue b/src/components/AddCarCrad/index.vue index 0039f8a..aa1b1f7 100644 --- a/src/components/AddCarCrad/index.vue +++ b/src/components/AddCarCrad/index.vue @@ -1,19 +1,15 @@ - - - diff --git a/src/components/AddCarCrad/styles/index.scss b/src/components/AddCarCrad/styles/index.scss deleted file mode 100644 index 89f33fe..0000000 --- a/src/components/AddCarCrad/styles/index.scss +++ /dev/null @@ -1,19 +0,0 @@ -.add-car-card { - display: flex; - flex-direction: column; - align-items: center; - - .code-img { - margin-top: 12px; - width: 250px; - height: 250px; - border-radius: 4px; - } - - .tips { - padding: 12px; - font-size: 36rpx; - font-weight: 600; - color: #666; - } -} diff --git a/src/components/AiTabSwitch/index.vue b/src/components/AiTabSwitch/index.vue index 89c97ed..e7af96e 100644 --- a/src/components/AiTabSwitch/index.vue +++ b/src/components/AiTabSwitch/index.vue @@ -1,55 +1,32 @@