feat: add google sign-in, utils, refactor imports
- Restructure API import paths from @/request/api/* to cleaner @/api/[module] format - Add three new utility classes: PhoneUtils for phone validation, ThrottleUtils and DebounceUtils for rate limiting - Implement official Google One Tap login flow, add the GIS client script to index.html - Clean up long inline template attributes in multiple Vue components for better readability - Fix constant import path and default object return values in booking components
This commit is contained in:
@@ -1,40 +1,26 @@
|
||||
<template>
|
||||
<div class="tab-container relative">
|
||||
<div class="tab-wrapper flex flex-items-center">
|
||||
<div
|
||||
v-for="(item, index) in tabList"
|
||||
:key="item.id"
|
||||
:class="[
|
||||
'tab-item flex flex-items-center flex-justify-center relative',
|
||||
activeIndex === index && 'tab-item-active',
|
||||
]"
|
||||
@click="handleTabClick(index)"
|
||||
>
|
||||
<div v-for="(item, index) in tabList" :key="item.id" :class="[
|
||||
'tab-item flex flex-items-center flex-justify-center relative',
|
||||
activeIndex === index && 'tab-item-active',
|
||||
]" @click="handleTabClick(index)">
|
||||
<div class="tab-item-inner flex flex-items-center">
|
||||
<uni-icons
|
||||
:class="['icon mr-4', activeIndex === index && 'icon-active']"
|
||||
fontFamily="znicons"
|
||||
size="20"
|
||||
color="opacity"
|
||||
>
|
||||
<uni-icons :class="['icon mr-4', activeIndex === index && 'icon-active']" fontFamily="znicons" size="20"
|
||||
color="opacity">
|
||||
{{ zniconsMap[item.iconCode] }}
|
||||
</uni-icons>
|
||||
|
||||
<span
|
||||
:class="[
|
||||
'font-size-16 font-500 color-525866 ',
|
||||
activeIndex === index && 'tab-span-active',
|
||||
]"
|
||||
>
|
||||
<span :class="[
|
||||
'font-size-16 font-500 color-525866 ',
|
||||
activeIndex === index && 'tab-span-active',
|
||||
]">
|
||||
{{ item.iconTitle }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- 每项内的下划线指示器,通过类控制显示/隐藏 -->
|
||||
<div
|
||||
class="tab-item-indicator"
|
||||
:class="{ visible: activeIndex === index }"
|
||||
></div>
|
||||
<div class="tab-item-indicator" :class="{ visible: activeIndex === index }"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -43,7 +29,7 @@
|
||||
<script setup>
|
||||
import { onMounted, ref, watch } from "vue";
|
||||
import { zniconsMap } from "@/static/fonts/znicons";
|
||||
import { commodityTypePageList } from "@/request/api/GoodsApi";
|
||||
import { commodityTypePageList } from "@/api/goods";
|
||||
|
||||
// Props
|
||||
const props = defineProps({
|
||||
|
||||
Reference in New Issue
Block a user