1 line
6.2 KiB
Plaintext
1 line
6.2 KiB
Plaintext
{"version":3,"file":"index.js","sources":["../../../../../src/pages/index/index.vue","../../../../../uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["<route lang=\"json5\">\n{\n style: {\n navigationBarTitleText: '首页',\n navigationStyle: 'custom',\n },\n}\n</route>\n\n<template>\n <view class=\"container\">\n <Banner />\n <AddressCell />\n <!-- 这里放搜索框 -->\n <view :class=\"['w-[70vw] pos-absolute right-0', isH5 ? 'top-[1vw]' : 'top-[3vw]']\">\n <Search />\n </view>\n <loading-animation v-model=\"isLoading\" />\n\n <view class=\"index\">\n <view\n v-if=\"petInfo?.id\"\n class=\"profileRoot\"\n @click=\"toPath('/pages/pet/pet-detail-page?id=' + petInfo.id)\"\n >\n <ProfileInfo\n :profileIcon=\"\n petInfo?.profileUrl ? imgUrl(petInfo?.profileUrl) : '@/static/icons/cat.png'\n \"\n :profileName=\"petInfo?.name\"\n :gender=\"petInfo?.sex\"\n :profileTags=\"[\n petInfo?.breed,\n petInfo?.sex == 0 ? '妹妹' : '弟弟',\n petInfo?.isSterilization == 1 ? '已绝育' : '未绝育',\n ]\"\n />\n </view>\n <view class=\"h-1xl\"></view>\n <hurry name=\"萌萌哒\" :distance=\"25\" :time=\"45\" />\n <view class=\"services\">\n <view class=\"service-card large-card\" @click=\"toPath('/pages/service/search')\">\n <image :src=\"imgUrl('@/static/home/cwpb.png')\" class=\"service-image\" mode=\"widthFix\" />\n </view>\n <view class=\"right-column\">\n <view class=\"service-card small-card\" @click=\"toPath('/pages/service/slippery')\">\n <image :src=\"imgUrl('@/static/home/cwpl.png')\" class=\"service-image\" mode=\"widthFix\" />\n </view>\n <view class=\"service-card small-card\" @click=\"toPath('/pages/service/search')\">\n <image :src=\"imgUrl('@/static/home/smfw.png')\" class=\"service-image\" mode=\"widthFix\" />\n </view>\n </view>\n </view>\n\n <view class=\"quick\">\n <view class=\"head\">\n <view class=\"quick-title\">\n <text class=\"title\">快捷服务</text>\n </view>\n <view @click=\"toExtended\" class=\"quick-more\">\n <text>查看全部</text>\n <wd-icon name=\"arrow-right\"></wd-icon>\n </view>\n </view>\n\n <QuickServiceCarousel />\n </view>\n\n <RecommendedServices />\n </view>\n </view>\n\n <!-- 引入tabBar -->\n <Tabbar />\n</template>\n\n<script setup>\nimport ProfileInfo from './components/profileInfo.vue'\nimport hurry from './components/hurry.vue'\nimport QuickServiceCarousel from './components/quickServiceCarousel.vue'\nimport RecommendedServices from './components/recommendedServices.vue'\nimport Banner from './components/banner.vue'\nimport LoadingAnimation from '@/components/LoadingAnimation.vue'\nimport { imgUrl, toast } from '@/utils/commUtils'\nimport { httpGet } from '@/utils/http'\nimport Tabbar from '@/components/Tabbar.vue'\nimport AddressCell from '@/components/AddressCell.vue'\nimport Search from '@/components/Search.vue'\nimport { isH5 } from '@/utils/platform'\n\nconst isLoading = ref(false)\nconst petInfo = ref({})\n\n// 获取当前页面的宠物信息\nconst getPetInfo = async () => {\n try {\n const res = await httpGet('/petInfo/index')\n if (res.code === 200) {\n petInfo.value = res.data\n } else {\n toast(res.message)\n }\n } catch (error) {\n console.log(error)\n }\n}\n\nconst toExtended = () => {\n // 跳转到extended 页面\n uni.navigateTo({\n url: '/pages/extended/index',\n })\n}\n\nconst toPath = (path) => {\n uni.navigateTo({\n url: path,\n })\n}\n\nonLoad(async () => {\n isLoading.value = true\n await getPetInfo()\n isLoading.value = false\n})\n</script>\n\n<style lang=\"scss\" scoped>\npage {\n background-color: #f9f9f9;\n}\n\n.profileRoot {\n z-index: 999;\n margin-top: -30px;\n}\n\n.container {\n z-index: -999;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.index {\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 90%;\n height: 100%;\n}\n\n.order-status {\n width: 100%;\n padding: 10px;\n background-color: #fff3e0;\n}\n\n.status-text {\n font-size: 16px;\n color: #ff7043;\n}\n\n.services {\n box-sizing: border-box;\n display: flex;\n /* 设置子组件之间的宽度 */\n gap: 15px;\n justify-content: space-between;\n width: 100%;\n height: 22vh;\n background-color: #ffffff;\n}\n\n.service-card {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: 10px;\n}\n\n.large-card {\n width: 50%;\n}\n\n.small-card {\n width: 100%;\n margin-bottom: 10px;\n}\n\n.right-column {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 50%;\n}\n\n.service-image {\n width: 100%;\n height: 100%;\n border-radius: 10px;\n}\n\n.head {\n display: flex;\n justify-content: space-between;\n}\n\n.quick-title {\n font-weight: 600;\n}\n\n.quick-more {\n color: #a2a2a2;\n}\n</style>\n","import MiniProgramPage from 'D:/App/Work/addr/acdr-ui/src/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","httpGet","toast","uni","onLoad"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOQ,MAAA,cAAA,MAAA;AAAA,MAAA,QAAA,MAAA;AAAA,MAAA,uBAAA,MAAA;AAAA,MAAA,sBAAA,MAAA;AAAA,MAAA,SAAA,MAAA;AAAA,MAAA,mBAAA,MAAA;AAAA,MAAA,SAAA,MAAA;AAAA,MAAA,cAAA,MAAA;AAAA,MAAA,SAAA,MAAA;;;;AAAA,UAAA,YAAAA,cAAA,IAAA,KAAA;AAAA,UAAA,UAAAA,cAAA,IAAA,EAAA;AAAA,UAAA,aAAA,MAAA;AAAA,UAAA;AAAA,cAAA,MAAA,MAAAC,WAAA,QAAA,gBAAA;AAAA,YAAA,IAAA,SAAA,KAAA;AAAA,kBAAA,QAAA,IAAA;AAAA,QAAA,OAAA;AAAAC,0BAAA,MAAA,IAAA,OAAA;AAAA,QAAA;AAAA,MAAA,SAAA,OAAA;AAAA,gBAAA,IAAA,KAAA;AAAA,MAAA;AAAA,IAAA;AAAA,UAAA,aAAA,MAAA;AAAAC,oBAAAA,MAAA,WAAA;AAAA,QAAA,KAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,UAAA,SAAA,CAAA,SAAA;AAAAA,oBAAAA,MAAA,WAAA;AAAA,QAAA,KAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAAC,kBAAAA,OAAA,MAAA;AAAA,gBAAA,QAAA;AAAA,YAAA,WAAA;AAAA,gBAAA,QAAA;AAAA,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNR,GAAG,WAAW,eAAe;"} |