feat(mini-app): 实现玩法、管家页面与首页组件化重构
- 新增管家服务全套页面、组件与模拟数据 - 新增玩法分类页面与线路展示组件 - 重构首页为可复用组件模块 - 更新路由配置替换旧目的地页面路由 - 移除废弃页面与客服弹窗冗余逻辑 - 更新项目文档与gitignore配置
This commit is contained in:
1 parent
d153ba7790
commit
16caad1c40
41 files changed
+1016
-1372
No files matched your search
@@ -9,7 +9,6 @@
|
||||
<button class="tap-feedback m-0 h-11 w-11 rounded-full bg-black/30 p-0 text-[28px] leading-none text-white backdrop-blur" @click="goBack()">‹</button>
|
||||
<view class="flex gap-2">
|
||||
<button class="tap-feedback m-0 h-11 min-w-[48px] rounded-full bg-black/30 px-3 text-[12px] font-semibold text-white backdrop-blur" @click="toggleFavorite">{{ favorite ? "已藏" : "收藏" }}</button>
|
||||
<button class="tap-feedback m-0 h-11 min-w-[48px] rounded-full bg-black/30 px-3 text-[12px] font-semibold text-white backdrop-blur" @click="supportOpen = true">管家</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="absolute bottom-8 left-0 right-0 px-5">
|
||||
@@ -70,12 +69,10 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<view class="fixed bottom-0 left-1/2 z-40 flex w-full max-w-[430px] -translate-x-1/2 items-center gap-3 border-t border-[#245c45]/10 bg-[#fffaf2]/95 px-4 pb-[calc(12px+env(safe-area-inset-bottom))] pt-3 shadow-[0_-14px_32px_rgba(31,44,37,0.1)] backdrop-blur">
|
||||
<button class="secondary-action tap-feedback m-0 flex-1 text-[14px] font-semibold" @click="supportOpen = true">服务管家</button>
|
||||
<button class="primary-action tap-feedback m-0 flex-[1.4] text-[15px] font-bold" @click="goBooking(product)">预订咨询</button>
|
||||
<view class="fixed bottom-0 left-1/2 z-40 flex w-full max-w-[430px] -translate-x-1/2 items-center justify-end gap-3 border-t border-[#245c45]/10 bg-[#fffaf2]/95 px-4 pb-[calc(12px+env(safe-area-inset-bottom))] pt-3 shadow-[0_-14px_32px_rgba(31,44,37,0.1)] backdrop-blur">
|
||||
<button class="primary-action tap-feedback m-0 w-full text-[15px] font-bold" @click="goBooking(product)">预订咨询</button>
|
||||
</view>
|
||||
</view>
|
||||
<SupportSheet :open="supportOpen" @close="supportOpen = false" />
|
||||
</AppShell>
|
||||
</template>
|
||||
|
||||
@@ -85,7 +82,6 @@ import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||
import AppShell from "@/components/AppShell.vue";
|
||||
import ProductList from "@/components/ProductList.vue";
|
||||
import SectionHeading from "@/components/SectionHeading.vue";
|
||||
import SupportSheet from "@/components/SupportSheet.vue";
|
||||
import { formatWan, getDetailMeta, getProductDetailSections, productKey, stripTitle } from "@/lib/data";
|
||||
import { goBack, goBooking, goDetail } from "@/lib/navigation";
|
||||
import { appState, findProduct, isProductFavorite, loadAppData, rememberProduct, toggleFavoriteProduct } from "@/lib/store";
|
||||
@@ -93,7 +89,6 @@ import type { Product } from "@/lib/types";
|
||||
|
||||
const product = ref<Product>(findProduct());
|
||||
const activeTab = ref("overview");
|
||||
const supportOpen = ref(false);
|
||||
|
||||
onLoad((query) => {
|
||||
product.value = findProduct(typeof query?.product === "string" ? decodeURIComponent(query.product) : undefined);
|
||||
|
||||
Reference in new issue
Block a user