@ -0,0 +1,156 @@ |
|||||
|
<template> |
||||
|
<view class=""> |
||||
|
<view class="box"> |
||||
|
<view class="left" ref="left"> |
||||
|
<view class="item" v-for="(item,i) in leftList" :key="i" @click="goDetail(item)"> |
||||
|
<image class="image" :src="item.headimg" mode="widthFix"></image> |
||||
|
<view class="content"> |
||||
|
<view class="title">{{item.title}}</view> |
||||
|
<view class="flex-between"> |
||||
|
<view class="text-overflow" style="display: flex;align-items: center;width: 200rpx;"> |
||||
|
<image :src="showImg(item.author_img)" mode="" class="author-img"></image> |
||||
|
{{item.author}} |
||||
|
</view> |
||||
|
<view style="display: flex;"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/eye.png" mode="" class="eye-img"></image> |
||||
|
{{item.view}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="right" ref="right"> |
||||
|
<view class="item" v-for="(item,i) in rightList" :key="i" @click="goDetail(item)"> |
||||
|
<image class="image" :src="item.headimg" mode="widthFix"></image> |
||||
|
<view class="content"> |
||||
|
<view class="title">{{item.title}}</view> |
||||
|
<view class="flex-between"> |
||||
|
<view class="text-overflow" style="display: flex;align-items: center;width: 200rpx;"> |
||||
|
<image :src="showImg(item.author_img)" mode="" class="author-img"></image> |
||||
|
{{item.author}} |
||||
|
</view> |
||||
|
<view style="display: flex;"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/eye.png" mode="" class="eye-img"></image> |
||||
|
{{item.view}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
props: ['waterList'], |
||||
|
data() { |
||||
|
return { |
||||
|
leftList: [], //左边列图片 |
||||
|
rightList: [], //右边列图片 |
||||
|
leftHeight: 0, //左边列高度 |
||||
|
rightHeight: 0, //右边列高度 |
||||
|
} |
||||
|
}, |
||||
|
mounted() { |
||||
|
|
||||
|
}, |
||||
|
watch:{ |
||||
|
waterList: { |
||||
|
handler(newVal, oldVal) { |
||||
|
console.log(newVal, oldVal) |
||||
|
this.waterList = newVal |
||||
|
if(newVal.length > 0) { |
||||
|
this.setWaterFallLayout() |
||||
|
} |
||||
|
}, |
||||
|
immediate: true |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
//通过uni.getImageInfo,小程序支持 |
||||
|
async setWaterFallLayout() { |
||||
|
for (let item of this.waterList) { |
||||
|
try { |
||||
|
let h = await this.getImgHeight(item.headimg) |
||||
|
if (this.leftHeight <= this.rightHeight) { |
||||
|
this.leftList.push(item) |
||||
|
this.leftHeight += h |
||||
|
} else { |
||||
|
this.rightList.push(item) |
||||
|
this.rightHeight += h |
||||
|
} |
||||
|
} catch (e) {} |
||||
|
} |
||||
|
}, |
||||
|
getImgHeight(url) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
uni.getImageInfo({ |
||||
|
src: url, |
||||
|
success: e => { |
||||
|
resolve(e.height) |
||||
|
}, |
||||
|
fail: e => { |
||||
|
reject(e) |
||||
|
} |
||||
|
}) |
||||
|
|
||||
|
}) |
||||
|
}, |
||||
|
goDetail(item) { |
||||
|
if(item.outside_url) { |
||||
|
uni.navigateTo({ |
||||
|
url: '/subPackages/webPage/webPage?url=' + encodeURIComponent(item.outside_url) |
||||
|
}); |
||||
|
}else { |
||||
|
uni.navigateTo({ |
||||
|
url: '/subPackages/strategyDetail?id=' + item.id |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.box { |
||||
|
display: flex; |
||||
|
flex-wrap: wrap; |
||||
|
justify-content: space-between; |
||||
|
|
||||
|
.left, .right { |
||||
|
width: 340rpx; |
||||
|
|
||||
|
.item { |
||||
|
width: 340rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 11rpx 0rpx rgba(17,17,17,0.26); |
||||
|
border-radius: 27rpx; |
||||
|
overflow: hidden; |
||||
|
margin-bottom: 13.33rpx; |
||||
|
|
||||
|
.image { |
||||
|
width: 340rpx; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
background: #FFFFFF; |
||||
|
padding: 20rpx; |
||||
|
|
||||
|
.title { |
||||
|
font-weight: 500; |
||||
|
font-size: 28rpx; |
||||
|
color: #000000; |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
|
||||
|
.flex-between { |
||||
|
font-weight: 500; |
||||
|
font-size: 24rpx; |
||||
|
color: #888888; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -1,49 +1,767 @@ |
|||||
<template> |
<template> |
||||
<view class="content"> |
<view class="content"> |
||||
|
<view class="top-box"> |
||||
|
<!-- 搜索 --> |
||||
|
<view class="search-box"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/search.png" mode=""></image> |
||||
|
搜一搜您想要的产品 |
||||
|
</view> |
||||
|
|
||||
|
<swiper class="top-banner" :circular="true" :interval="6000" |
||||
|
:duration="800" :indicator-dots="false" :autoplay="true" v-if="topBanner"> |
||||
|
<swiper-item v-for="(item, index) in topBanner" :key="index" @click.stop="gotoUrlNew(item)"> |
||||
|
<image class="top-banner" :src="showImg(item.head_img)" mode="aspectFill"></image> |
||||
|
</swiper-item> |
||||
|
</swiper> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 金刚区 --> |
||||
|
<view class="nav-box"> |
||||
|
<view class="nav-top"> |
||||
|
<view class="nav-topLeft"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/consultImg.png" class="consultImg"></image> |
||||
|
<view class="text-overflow">通知通知通知通知通知通知通知通知通知知通知知通知知通知</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 天气 --> |
||||
|
<view class="nav-topRight"> |
||||
|
<image :src="weatherList.image" mode="" class="weather-img"></image> |
||||
|
<view style="line-height: 40rpx;"> |
||||
|
{{weatherList.low}}~{{weatherList.high}} <br> {{weatherList.type}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view style="position: relative;z-index: 2;"> |
||||
|
<view class="nav-item" v-for="(item,index) in navList" :key="index" @click="gotoPath(item.path)"> |
||||
|
<image :src="item.img" mode="" class="nav-img"></image> |
||||
|
<view>{{item.text}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 背景icon --> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/iconBg.png" mode="" class="iconBg"></image> |
||||
|
|
||||
|
<!-- 景点推荐 --> |
||||
|
<view class="scenic-box" :style="{backgroundImage: 'url('+showImg(homeUi.jdtj)+')',backgroundSize: 'cover'}" v-if="scenic"> |
||||
|
<view class="scenic-title">{{scenic.title}}</view> |
||||
|
<view class="scenic-subtitle flex-between"> |
||||
|
<view class="text-overflow" style="width: 320rpx;display: flex;align-items: center;"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/location.png" mode="" class="location"></image> |
||||
|
{{scenic.address}} |
||||
|
</view> |
||||
|
<view>>>> 发现好玩的游览宝地</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 活动日历、盐都美宿 --> |
||||
|
<view class="flex-between" style="padding: 0 27rpx;margin-top: 20rpx;" v-if="homeUi.hdrl && homeUi.ydms_hotel"> |
||||
|
<view class="calendar-box" :style="{backgroundImage: 'url('+showImg(homeUi.hdrl)+')',backgroundSize: 'cover'}"> |
||||
|
<view class="calendar-title">今日共有27个活动 >>></view> |
||||
|
<view class="calendar-line"></view> |
||||
|
<view class="calendar-subtitle">活动日历</view> |
||||
|
<view class="calendar-date"> |
||||
|
<span>{{day}}</span>日/{{month}}月 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="calendar-box" :style="{backgroundImage: 'url('+showImg(homeUi.ydms_hotel)+')',backgroundSize: 'cover'}"> |
||||
|
<view class="calendar-title">享受家一般的舒适 >>></view> |
||||
|
<view class="calendar-line"></view> |
||||
|
<view class="calendar-subtitle">盐都美宿</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 线路推荐 --> |
||||
|
<view v-if="lineList && lineList.length > 0"> |
||||
|
<view class="title-box flex-between"> |
||||
|
<image :src="showImg(homeUi.xltj)" mode=""></image> |
||||
|
<view @click="gotoPath('/subPackages/line/lineList')">更多 ></view> |
||||
|
</view> |
||||
|
<view class="box"> |
||||
|
<view v-for="(item,index) in lineList" :key="index" class="line-item"> |
||||
|
<view class="hot flex-center">热门</view> |
||||
|
<image :src="showImg(item.goods.image)" mode="aspectFill" class="line-img"></image> |
||||
|
|
||||
|
<view class="line-content flex-between"> |
||||
|
<view class="line-title text-overflow">{{item.goods.title}}</view> |
||||
|
<view class="line-subtitle text-overflow">{{item.goods.subtitle}}</view> |
||||
|
<view style="display: flex;" v-if="item.goods.goods_new_tag"> |
||||
|
<view class="line-tag" v-for="(tagItem,tagIndex) in item.goods.goods_new_tag.split(',').slice(0,2)" :key="tagIndex">{{tagItem}}</view> |
||||
|
</view> |
||||
|
<view class="line-price">{{item.goods.low_money / 100}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 盐都美食 --> |
||||
|
<view v-if="foodList && foodList.length > 0"> |
||||
|
<view class="title-box flex-between"> |
||||
|
<image :src="showImg(homeUi.ydms)" mode=""></image> |
||||
|
<view @click="gotoPath('/subPackages/food/foodList')">更多 ></view> |
||||
|
</view> |
||||
|
<view class="food-box box"> |
||||
|
<view v-for="(item,index) in foodList" :key="index" class="food-item" :style="{backgroundImage: 'url('+showImg(item.goods.image)+')',backgroundSize: 'cover'}"> |
||||
|
<view class="recommend">人气推荐</view> |
||||
|
<view class="food-content"> |
||||
|
<view class="food-price">{{item.goods.low_money / 100}}</view> |
||||
|
<view class="text-overflow">{{item.goods.title}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 游记攻略 --> |
||||
|
<!-- v-if="strategyList && strategyList.length > 0" --> |
||||
|
<view> |
||||
|
<view class="title-box flex-between"> |
||||
|
<image :src="showImg(homeUi.yjgl)" mode=""></image> |
||||
|
</view> |
||||
|
|
||||
|
<view class="strategy-box box"> |
||||
|
<view v-for="(num,nums) in 2" :key="nums"> |
||||
|
<view v-for="(item,index) in strategyList" :key="index" class="strategy-item" v-if="index % 2 === nums" @click="goDetail(item)"> |
||||
|
<view class="title-tag">近期上新</view> |
||||
|
<image class="strategy-image" :src="showImg(item.image)" mode="widthFix"></image> |
||||
|
<view class="strategy-content"> |
||||
|
<view class="strategy-title">{{item.title}}</view> |
||||
|
<view class="flex-between"> |
||||
|
<view class="text-overflow" style="display: flex;align-items: center;width: 200rpx;"> |
||||
|
<image :src="showImg(item.author_img)" mode="" class="author-img"></image> |
||||
|
{{item.author}} |
||||
|
</view> |
||||
|
<view style="display: flex;align-items: center;"> |
||||
|
<image src="https://static.ticket.sz-trip.com/yandu/images/index/eye.png" mode="" class="eye-img"></image> |
||||
|
{{item.view}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="strategy-more" @click="strategyMore" v-show="showMore">查看更多</view> |
||||
|
</view> |
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
import waterList from "@/compoents/waterList.vue"; |
||||
|
|
||||
export default { |
export default { |
||||
|
components: { |
||||
|
waterList |
||||
|
}, |
||||
data() { |
data() { |
||||
return { |
return { |
||||
title: 'Hello' |
topBanner: [], |
||||
|
weatherList: [], |
||||
|
navList: [ |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '景区门票', |
||||
|
path: '' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '酒店民宿', |
||||
|
path: '' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '餐饮美食', |
||||
|
path: '/subPackages/food/foodList' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '文创特产', |
||||
|
path: '/subPackages/techan/techanList' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '线路推荐', |
||||
|
path: '/subPackages/line/lineList' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '智慧地图', |
||||
|
path: '' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '游记攻略', |
||||
|
path: '' |
||||
|
}, |
||||
|
{ |
||||
|
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', |
||||
|
text: '活动日历', |
||||
|
path: '' |
||||
|
} |
||||
|
], |
||||
|
scenic: {}, |
||||
|
homeUi: {}, |
||||
|
month: 0, |
||||
|
day: 0, |
||||
|
lineList: [], |
||||
|
foodList: [], |
||||
|
strategyList: [], |
||||
|
showMore: true |
||||
} |
} |
||||
}, |
}, |
||||
onLoad() { |
onReady() { |
||||
|
// 获取经纬度 |
||||
|
if(!uni.getStorageSync('location')) { |
||||
|
this.getLocation() |
||||
|
} |
||||
|
|
||||
|
this.getTopBanner() |
||||
|
this.getWeather() |
||||
|
this.getScenicByTag() |
||||
|
this.getHomeUi() |
||||
|
this.getNowDate() |
||||
|
this.getLineList() |
||||
|
this.getFoodList() |
||||
|
this.getArticleByType() |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
|
// 顶部banner |
||||
|
getTopBanner() { |
||||
|
this.Post({ |
||||
|
type_id: 3, |
||||
|
position: 6 |
||||
|
},'/api/adv/getAdv').then(res => { |
||||
|
this.topBanner = res.data; |
||||
|
}) |
||||
|
}, |
||||
|
// 2是各种详情页,3是列表专题页面,4是小程序 |
||||
|
gotoUrlNew(item) { |
||||
|
let url = ''; |
||||
|
switch (item.jump_type) { |
||||
|
case 0: |
||||
|
break; |
||||
|
case 2: |
||||
|
uni.navigateTo({ |
||||
|
url: item.tdata |
||||
|
}); |
||||
|
break; |
||||
|
case 3: |
||||
|
uni.navigateTo({ |
||||
|
url: '/subPackages/webPage/webPage?url=' + item.tdata |
||||
|
}); |
||||
|
break; |
||||
|
case 4: |
||||
|
uni.navigateToMiniProgram({ |
||||
|
appId: item.tdata.appid, // 此为appid |
||||
|
path: item.tdata.page, // 此为首页路径 |
||||
|
envVersion: 'release', |
||||
|
success: res => { |
||||
|
// 打开成功 |
||||
|
console.log('打开成功', res); |
||||
|
}, |
||||
|
fail: err => { |
||||
|
console.log(err); |
||||
|
} |
||||
|
}); |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
}, |
||||
|
// 天气 |
||||
|
getWeather() { |
||||
|
this.Post({},'/api/index/weather').then(res => { |
||||
|
this.weatherList = res.data |
||||
|
}) |
||||
|
}, |
||||
|
// 景点推荐 |
||||
|
getScenicByTag() { |
||||
|
this.Post({ |
||||
|
tag_id: 48, |
||||
|
offset: 0, |
||||
|
limit: 1 |
||||
|
},'/api/scenic/getScenicByTagId').then(res => { |
||||
|
this.scenic = res.data[0] |
||||
|
}) |
||||
|
}, |
||||
|
// 首页UI |
||||
|
getHomeUi() { |
||||
|
this.Post({ |
||||
|
type_id: 3 |
||||
|
},'/api/adv/get_home_ui').then(res => { |
||||
|
res.data.content.map(item => { |
||||
|
this.homeUi[item.id] = item.image |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
getNowDate() { |
||||
|
let now = new Date(); |
||||
|
this.month = now.getMonth() + 1; |
||||
|
this.day = now.getDate(); |
||||
|
}, |
||||
|
// 线路推荐 |
||||
|
getLineList() { |
||||
|
this.Post({ |
||||
|
offset: 0, |
||||
|
limit: 3, |
||||
|
tag_id: 55 |
||||
|
},'/api/tag/getGoodsByTagId').then(res => { |
||||
|
this.lineList = res.data; |
||||
|
}) |
||||
|
}, |
||||
|
// 盐都美食 |
||||
|
getFoodList() { |
||||
|
this.Post({ |
||||
|
offset: 0, |
||||
|
limit: 3, |
||||
|
tag_id: 56 |
||||
|
},'/api/tag/getGoodsByTagId').then(res => { |
||||
|
this.foodList = res.data; |
||||
|
}) |
||||
|
}, |
||||
|
// 游记攻略 |
||||
|
getArticleByType() { |
||||
|
this.Post({ |
||||
|
type_id: 41, |
||||
|
offset: this.strategyList.length, |
||||
|
limit: 4 |
||||
|
},'/api/Article/getArticleByType').then(res => { |
||||
|
this.strategyList = [...this.strategyList, ...res.data] |
||||
|
|
||||
|
if(res.data.length < 4) this.showMore = false |
||||
|
}) |
||||
|
}, |
||||
|
// 游记攻略查看更多 |
||||
|
strategyMore() { |
||||
|
this.getArticleByType() |
||||
|
} |
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style> |
<style lang="scss" scoped> |
||||
.content { |
.content { |
||||
|
background: #DFEDE0; |
||||
|
min-height: 100vh; |
||||
|
overflow-x: hidden; |
||||
|
position: relative; |
||||
|
padding-bottom: 100rpx; |
||||
|
} |
||||
|
|
||||
|
.top-box { |
||||
|
position: relative; |
||||
|
|
||||
|
.search-box { |
||||
|
width: 487rpx; |
||||
|
height: 60rpx; |
||||
|
background: rgba(255, 255, 255, .4); |
||||
|
border-radius: 30rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
padding-left: 26rpx; |
||||
|
font-weight: 400; |
||||
|
font-size: 27rpx; |
||||
|
color: #000000; |
||||
|
position: absolute; |
||||
|
top: 98rpx; |
||||
|
left: 26rpx; |
||||
|
z-index: 2; |
||||
|
|
||||
|
image { |
||||
|
margin-right: 14rpx; |
||||
|
width: 30.67rpx; |
||||
|
height: 30.67rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.top-banner { |
||||
|
width: 750rpx; |
||||
|
height: 800rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.nav-box { |
||||
|
width: 696.67rpx; |
||||
|
height: 520rpx; |
||||
|
background-image: url('https://static.ticket.sz-trip.com/yandu/images/index/navBg.png'); |
||||
|
background-size: 100% 100%; |
||||
|
position: relative; |
||||
|
margin: -79rpx auto 0; |
||||
|
|
||||
|
.nav-top { |
||||
|
height: 172rpx; |
||||
|
padding: 34rpx 19rpx 0 40rpx; |
||||
|
display: flex; |
||||
|
|
||||
|
.nav-topLeft { |
||||
|
font-weight: 400; |
||||
|
font-size: 27rpx; |
||||
|
color: #111111; |
||||
|
width: 424rpx; |
||||
|
|
||||
|
.consultImg { |
||||
|
width: 296rpx; |
||||
|
height: 45.33rpx; |
||||
|
} |
||||
|
|
||||
|
.text-overflow { |
||||
|
margin-top: 12rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.nav-topRight { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
font-weight: 400; |
||||
|
font-size: 24rpx; |
||||
|
color: #000000; |
||||
|
margin: 20rpx 0 0 15rpx; |
||||
|
height: 73rpx; |
||||
|
border-left: 1rpx solid #95BE9E; |
||||
|
padding-left: 15rpx; |
||||
|
|
||||
|
.weather-img { |
||||
|
width: 46.67rpx; |
||||
|
height: 46.67rpx; |
||||
|
margin-right: 15rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.nav-item { |
||||
|
width: 25%; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
font-size: 25rpx; |
||||
|
color: #111111; |
||||
|
display: inline-block; |
||||
|
|
||||
|
.nav-img { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
margin-bottom: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
.nav-item:nth-child(n+5) { |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.iconBg { |
||||
|
width: 750rpx; |
||||
|
height: 364.67rpx; |
||||
|
position: absolute; |
||||
|
top: 974rpx; |
||||
|
left: 0; |
||||
|
} |
||||
|
|
||||
|
.scenic-box { |
||||
|
margin: 34rpx auto 0; |
||||
|
width: 696rpx; |
||||
|
height: 280rpx; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 140rpx 39rpx 0 25rpx; |
||||
|
|
||||
|
.scenic-title { |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
font-size: 40rpx; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 0rpx 1rpx 2rpx rgba(0,0,0,0.36); |
||||
|
} |
||||
|
|
||||
|
.scenic-subtitle { |
||||
|
margin-top: 30rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #FFFFFF; |
||||
|
text-shadow: 0rpx 1rpx 2rpx rgba(0,0,0,0.36); |
||||
|
|
||||
|
.location { |
||||
|
width: 20rpx; |
||||
|
height: 24.67rpx; |
||||
|
margin-right: 13rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.calendar-box { |
||||
|
width: 337rpx; |
||||
|
height: 253rpx; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 20rpx 0 0 26rpx; |
||||
|
|
||||
|
.calendar-title { |
||||
|
font-size: 24rpx; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.calendar-line { |
||||
|
width: 40rpx; |
||||
|
height: 1rpx; |
||||
|
background: #FFFFFF; |
||||
|
margin: 10rpx 0 7rpx; |
||||
|
} |
||||
|
|
||||
|
.calendar-subtitle { |
||||
|
font-weight: 500; |
||||
|
font-size: 40rpx; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
.calendar-date { |
||||
|
margin-top: 40rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 24rpx; |
||||
|
color: #FFFFFF; |
||||
|
|
||||
|
span { |
||||
|
font-size: 48rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.title-box { |
||||
|
margin-top: 60rpx; |
||||
|
padding-right: 26rpx; |
||||
|
font-weight: 400; |
||||
|
font-size: 27rpx; |
||||
|
color: #000000; |
||||
|
|
||||
|
image { |
||||
|
width: 464.67rpx; |
||||
|
height: 120rpx; |
||||
|
} |
||||
|
|
||||
|
view { |
||||
|
margin-top: -25rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.box { |
||||
|
margin-top: -14rpx; |
||||
|
} |
||||
|
|
||||
|
.line-item { |
||||
|
width: 697rpx; |
||||
|
height: 240rpx; |
||||
|
background: #FFFFFF; |
||||
|
border-radius: 20rpx; |
||||
|
margin: 0 auto 20rpx; |
||||
|
display: flex; |
||||
|
padding: 6.67rpx 0 6.67rpx 6.67rpx; |
||||
|
position: relative; |
||||
|
|
||||
|
.line-img { |
||||
|
width: 267rpx; |
||||
|
height: 227rpx; |
||||
|
border-radius: 13rpx; |
||||
|
} |
||||
|
|
||||
|
.hot { |
||||
|
position: absolute; |
||||
|
left: 180rpx; |
||||
|
top: 6.67rpx; |
||||
|
width: 93rpx; |
||||
|
height: 47rpx; |
||||
|
background: #71B580; |
||||
|
border-radius: 0rpx 13rpx 0rpx 13rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 27rpx; |
||||
|
color: #FFFFFF; |
||||
|
overflow-x: auto; |
||||
|
} |
||||
|
.hot::-webkit-scrollbar { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.line-content { |
||||
|
width: 368rpx; |
||||
|
height: 227rpx; |
||||
|
margin-left: 23rpx; |
||||
|
padding: 16rpx 0 18rpx; |
||||
|
flex-direction: column; |
||||
|
align-items: flex-start; |
||||
|
|
||||
|
.line-title { |
||||
|
width: 368rpx; |
||||
|
font-family: PingFang; |
||||
|
font-weight: bold; |
||||
|
font-size: 32rpx; |
||||
|
color: #000000; |
||||
|
} |
||||
|
|
||||
|
.line-subtitle { |
||||
|
width: 368rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 25rpx; |
||||
|
color: #999999; |
||||
|
} |
||||
|
|
||||
|
.line-tag { |
||||
|
line-height: 40rpx; |
||||
|
border: 1rpx solid #69AF78; |
||||
|
padding: 0 8rpx; |
||||
|
margin-right: 13rpx; |
||||
|
border-radius: 5rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 23rpx; |
||||
|
color: #71B580; |
||||
|
} |
||||
|
|
||||
|
.line-price { |
||||
|
font-weight: 500; |
||||
|
font-size: 32rpx; |
||||
|
color: #EF2323; |
||||
|
} |
||||
|
.line-price::before { |
||||
|
font-size: 24rpx; |
||||
|
content: '¥'; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.food-box { |
||||
|
padding-left: 26.67rpx; |
||||
|
overflow-x: auto; |
||||
display: flex; |
display: flex; |
||||
flex-direction: column; |
|
||||
align-items: center; |
.food-item { |
||||
justify-content: center; |
width: 320rpx; |
||||
|
height: 293rpx; |
||||
|
border-radius: 20rpx; |
||||
|
opacity: 0.8; |
||||
|
margin-right: 20rpx; |
||||
|
position: relative; |
||||
|
flex-shrink: 0; |
||||
|
overflow: hidden; |
||||
|
|
||||
|
.recommend { |
||||
|
position: absolute; |
||||
|
top: 13.33rpx; |
||||
|
line-height: 47rpx; |
||||
|
text-align: center; |
||||
|
width: 153rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 27rpx; |
||||
|
color: #FFFFFF; |
||||
|
background: #71B580; |
||||
|
border-radius: 0rpx 20rpx 0rpx 20rpx; |
||||
|
overflow-x: auto; |
||||
|
} |
||||
|
.recommend::-webkit-scrollbar { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.food-content { |
||||
|
background: linear-gradient(to top, rgba(0,0,0,1),rgba(0,0,0,.5),rgba(0,0,0,.01)); |
||||
|
position: absolute; |
||||
|
bottom: 0; |
||||
|
width: 100%; |
||||
|
height: 223rpx; |
||||
|
padding: 100rpx 0 0 20rpx; |
||||
|
font-weight: 500; |
||||
|
font-size: 28rpx; |
||||
|
color: #FFFFFF; |
||||
|
|
||||
|
.food-price { |
||||
|
font-size: 33rpx; |
||||
|
} |
||||
|
.food-price::before { |
||||
|
font-size: 24rpx; |
||||
|
content: '¥'; |
||||
|
} |
||||
|
|
||||
|
.text-overflow { |
||||
|
width: 280rpx; |
||||
|
margin-top: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
|
.food-box::-webkit-scrollbar { |
||||
.logo { |
display: none; |
||||
height: 200rpx; |
|
||||
width: 200rpx; |
|
||||
margin-top: 200rpx; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
margin-bottom: 50rpx; |
|
||||
} |
} |
||||
|
|
||||
.text-area { |
.strategy-box { |
||||
|
padding: 0 26.67rpx; |
||||
|
box-sizing: border-box; |
||||
display: flex; |
display: flex; |
||||
justify-content: center; |
justify-content: space-between; |
||||
|
|
||||
|
.strategy-item { |
||||
|
width: 337rpx; |
||||
|
background: #FFFFFF; |
||||
|
border-radius: 18rpx; |
||||
|
overflow: hidden; |
||||
|
margin-bottom: 28rpx; |
||||
|
position: relative; |
||||
|
|
||||
|
.title-tag { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
left: 0; |
||||
|
width: 153rpx; |
||||
|
line-height: 47rpx; |
||||
|
background: #71B580; |
||||
|
border-radius: 20rpx 0rpx 20rpx 0rpx; |
||||
|
text-align: center; |
||||
|
font-weight: 500; |
||||
|
font-size: 27rpx; |
||||
|
color: #FFFFFF; |
||||
|
overflow-x: auto; |
||||
|
} |
||||
|
.title-tag::-webkit-scrollbar { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.strategy-image { |
||||
|
width: 337rpx; |
||||
|
display: block; |
||||
|
} |
||||
|
|
||||
|
.strategy-content { |
||||
|
background: #FFFFFF; |
||||
|
padding: 20rpx; |
||||
|
|
||||
|
.strategy-title { |
||||
|
font-weight: 500; |
||||
|
font-size: 28rpx; |
||||
|
color: #000000; |
||||
|
line-height: 40rpx; |
||||
|
} |
||||
|
|
||||
|
.flex-between { |
||||
|
font-weight: 500; |
||||
|
font-size: 24rpx; |
||||
|
color: #888888; |
||||
|
margin-top: 10rpx; |
||||
|
|
||||
|
.author-img { |
||||
|
width: 37rpx; |
||||
|
height: 37rpx; |
||||
|
margin-right: 6rpx; |
||||
|
} |
||||
|
|
||||
|
.eye-img { |
||||
|
width: 26.67rpx; |
||||
|
height: 18.67rpx; |
||||
|
margin-right: 6rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
|
|
||||
.title { |
.strategy-more { |
||||
font-size: 36rpx; |
width: 200rpx; |
||||
color: #8f8f94; |
line-height: 67rpx; |
||||
|
background: #DCEADD; |
||||
|
border-radius: 33rpx; |
||||
|
border: 1rpx solid #71B580; |
||||
|
margin: 44rpx auto 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
font-size: 28rpx; |
||||
|
color: #5BA06A; |
||||
} |
} |
||||
</style> |
</style> |
||||
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 9.1 KiB |
@ -0,0 +1,934 @@ |
|||||
|
<template> |
||||
|
<view class="bg" id="bg" v-if="info"> |
||||
|
<view class="swipe-box"> |
||||
|
<swiper class="swiper" :autoplay="true" :interval="3000" :duration="1000" circular indicator-dots indicator-color="rgba(255,255,255,.5)" indicator-active-color="#fff"> |
||||
|
<swiper-item v-for="(item, index) in info.list_images.split(',')" :key="item.id"> |
||||
|
<view class="swiper-item"> |
||||
|
<image class="item-img" :src="showImg(item)" mode="aspectFill"></image> |
||||
|
</view> |
||||
|
</swiper-item> |
||||
|
</swiper> |
||||
|
</view> |
||||
|
<view class="price-box"> |
||||
|
<view class="price-box1"> |
||||
|
<view class="price-zan"> |
||||
|
<view class="price"> |
||||
|
<view class="present-price">{{ info.money / 100 }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="title">{{ info.title }}</view> |
||||
|
<view class="tag" v-if="info.goods_new_tag"> |
||||
|
<view class="tag-item" v-for="(item, index) in info.goods_new_tag.split(',')" :key="index">{{ item }} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="select-box" @click="openPop"> |
||||
|
<view class="left"> |
||||
|
<view class=""> |
||||
|
选择 |
||||
|
</view> |
||||
|
<view class="specifications"> |
||||
|
<!-- <span v-for="sName in sku">{{sName.title}};</span> --> |
||||
|
<span>{{sku[0].title}}</span> |
||||
|
</view> |
||||
|
</view> |
||||
|
<image class="right" :src="showImg('/uploads/20231223/32634518cfcfbaac647d3318b254fb02.png')" mode=""></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 团建文本渲染部分 --> |
||||
|
<view class="text-box"> |
||||
|
<view class="tab-box"> |
||||
|
<view :class="index==navIndex?'seld-nav':'' " v-for="(item, index) in navsList" :title="item.name" :key="item.name" @click="changeNav(item,index)" style="display: flex;flex-direction: column;align-items: center;"> |
||||
|
<view class=""> |
||||
|
{{ item.name }} |
||||
|
</view> |
||||
|
<view class="line" v-if="navIndex == index"></view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="" id="cpts" v-html="formateRichText(info.special_content)" style="padding: 30rpx;"></view> |
||||
|
<view class="" id="fysm" v-html="formateRichText(info.price_content)" style="padding: 30rpx;"></view> |
||||
|
<view class="" id="ydxz" v-html="formateRichText(info.reserve_content)" style="padding: 30rpx;"></view> |
||||
|
</view> |
||||
|
<!-- 游客点评 --> |
||||
|
<view class="comment-box" id="comment"> |
||||
|
<view class="comment-title flex-between"> |
||||
|
<view> |
||||
|
<img src="https://static.ticket.sz-trip.com/dongtai/images/user/comment.png" class="comment-icon"> |
||||
|
游客点评 |
||||
|
<span class="comment-rate">{{info.rate}}分</span> |
||||
|
</view> |
||||
|
<view class="comment-num"> |
||||
|
共{{commentNum}}条 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view v-if="commentList.length > 0"> |
||||
|
<view class="comment-item" v-for="(item,index) in commentList" :key="index"> |
||||
|
<view style="display: flex;justify-content: space-between;"> |
||||
|
<view style="display: flex;"> |
||||
|
<img :src="item.user.avatar" class="comment-avatar"> |
||||
|
<view class="flex-column" style="height: 57rpx;justify-content: space-around;"> |
||||
|
<view class="comment-name">{{item.user.nickname}}</view> |
||||
|
<uni-rate :size="10" :readonly="true" :value="item.rate" active-color="red"/> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="comment-time"> |
||||
|
{{item.create_time.slice(0,10)}} |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="comment-content text-overflowRows"> |
||||
|
{{ item.content }} |
||||
|
</view> |
||||
|
|
||||
|
<!-- <view class="comment-imgs" v-if="item.img_list"> |
||||
|
<img :src="showImg(imgItem)" class="comment-img" v-for="(imgItem,imgIndex) in item.img_list.split(',')" :key="imgIndex"> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="empty-box" v-else> |
||||
|
<view>这里空空如也,快去点评吧!</view> |
||||
|
</view> |
||||
|
<navigator :url="'/subPackages/hotel/commentList?goodsId=' + info.id" class="content-more" v-if="commentList.length > 0"> |
||||
|
查看全部点评 > |
||||
|
</navigator> |
||||
|
</view> |
||||
|
<view class="btn-list"> |
||||
|
<view class="left-box"> |
||||
|
<button id="contact" open-type="contact" bindcontact="handleContact" session-from="sessionFrom"> |
||||
|
<view class="img-box"> |
||||
|
<image src="https://yjdtadmin.sz-trip.com/uploads/20231222/ae5fd4482c56e2655ecae6059171aab0.png" |
||||
|
mode="aspectFill"></image> |
||||
|
<view class="text"> |
||||
|
客服 |
||||
|
</view> |
||||
|
</view> |
||||
|
</button> |
||||
|
<!-- <view class="img-box"> |
||||
|
<image v-if="isCollect == 0" @click.stop="collect" :src="showImg('/uploads/20231226/b5ad17bc7074e949fce2f39fad3c9c44.png')" |
||||
|
mode="aspectFill"></image> |
||||
|
<image v-else @click.stop="collect" :src="showImg('/uploads/20231226/477bbd7016d0eecb47909b8555df49b6.png')" |
||||
|
mode="aspectFill"></image> |
||||
|
<view class="text"> |
||||
|
收藏 |
||||
|
</view> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
<view class="btn-buy" @click="openPop"> |
||||
|
立即购买 |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<uni-popup ref="popup" type="bottom"> |
||||
|
<view class="popup-content" v-if="sku.length>0"> |
||||
|
<img src="https://static.ticket.sz-trip.com/taizhou/images/cha.png" @click="closePopup" |
||||
|
style="margin: 31rpx 0 0 639rpx;width: 31rpx;height: 31rpx;"> |
||||
|
<view class="bottom-productImg"> |
||||
|
<img :src="showImg(sku[productIndex].image)" alt=""> |
||||
|
<view class="right-content"> |
||||
|
<view class="bottom-productPrice com-price">{{showPrice(sku[productIndex].money)}}</view> |
||||
|
<view class="bottom-content text-overflow">已选择:{{sku[productIndex].title}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view style="max-height: 500rpx;overflow-y: scroll;"> |
||||
|
<view class="sp"> |
||||
|
规格 |
||||
|
</view> |
||||
|
<view v-for="(botItem,botIndex) in sku" :key="botIndex" class="botProduct text-overflow" |
||||
|
@click="changeProduct(botIndex)" :class="productIndex==botIndex?'botProducts':''"> |
||||
|
{{botItem.title}} |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="buy-num com-flex-tao"> |
||||
|
数量 |
||||
|
<view class="number-btn"> |
||||
|
<view> |
||||
|
<text @click="delNumber">-</text> |
||||
|
</view> |
||||
|
<view style="width: 96rpx;height: 69rpx;margin: 0 14rpx;">{{ buyNum }}</view> |
||||
|
<view> |
||||
|
<text @click="addNumber">+</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="btn-box"> |
||||
|
<view class="buy-btn" @click="order"> |
||||
|
下一步 |
||||
|
</view> |
||||
|
</view> |
||||
|
</uni-popup> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
// import Base from '@/components/Base'; |
||||
|
export default { |
||||
|
extends: Base, |
||||
|
data() { |
||||
|
return { |
||||
|
id: null, |
||||
|
info: null, |
||||
|
sku: [], |
||||
|
productIndex: 0, |
||||
|
businessInfo: [], |
||||
|
isCollect: 0, |
||||
|
showLength: 0, |
||||
|
buyNum: 1, |
||||
|
reserve_content: null, |
||||
|
// 主要内容列表 |
||||
|
navsList: [ |
||||
|
{ name: "产品特色",id:'cpts' }, |
||||
|
{ name: "费用说明",id:'fysm' }, |
||||
|
{ name: "预订须知",id:'ydxz' }, |
||||
|
{ name: "游客点评",id:'comment' } |
||||
|
], |
||||
|
navIndex:0, //导航栏选中下标 |
||||
|
commentList: [], |
||||
|
commentNum: '' |
||||
|
}; |
||||
|
}, |
||||
|
// onLoad(option) { |
||||
|
// this.id = option.id; |
||||
|
// this.getInfo(); |
||||
|
// this.getSpecificationsByGoodsId(); |
||||
|
// this.getBusinessInfo(); |
||||
|
// }, |
||||
|
methods: { |
||||
|
// getComment() { |
||||
|
// this.Post({ |
||||
|
// goods_id: this.info.id, |
||||
|
// offset: 0, |
||||
|
// limit: 2 |
||||
|
// }, '/api/scenic/getGoodsCommentByScenicId').then(res => { |
||||
|
// this.commentList = res.data |
||||
|
// this.commentNum = res.msg |
||||
|
// }) |
||||
|
// }, |
||||
|
// changeNav(item,index) { |
||||
|
// this.navIndex = index |
||||
|
// console.log(item.name); |
||||
|
// // 获取要滚动到的元素id |
||||
|
// let to = item.id |
||||
|
// // 获取目标元素 |
||||
|
// uni.createSelectorQuery().select('#' + to).boundingClientRect(function(rect){ |
||||
|
// // 使用scrollIntoView方法滚动到目标元素 |
||||
|
// console.log(rect); |
||||
|
// uni.pageScrollTo({ |
||||
|
// scrollTop: rect.top, |
||||
|
// duration: 200 |
||||
|
// }) |
||||
|
// }).exec(); |
||||
|
// }, |
||||
|
// changeProduct(index) { |
||||
|
// this.productIndex = index |
||||
|
// }, |
||||
|
getInfo() { |
||||
|
this.Post({ |
||||
|
goods_id: this.id |
||||
|
}, |
||||
|
'/api/goods/getGoodDetail' |
||||
|
).then(res => { |
||||
|
if (res.data.flag == 0) { |
||||
|
setTimeout(() => { |
||||
|
uni.showToast({ |
||||
|
title: '商品不存在或已下架', |
||||
|
icon: 'none' |
||||
|
}) |
||||
|
}, 0) |
||||
|
setTimeout(() => { |
||||
|
this.goBack() |
||||
|
}, 2000) |
||||
|
} |
||||
|
this.info = res.data; |
||||
|
this.isCollect = res.data.is_collect; |
||||
|
this.getComment() |
||||
|
}); |
||||
|
}, |
||||
|
getSpecificationsByGoodsId() { |
||||
|
this.Post({ |
||||
|
goods_id: this.id |
||||
|
}, |
||||
|
'/api/goods/getSpecificationsByGoodsId' |
||||
|
).then(res => { |
||||
|
if (res) { |
||||
|
this.sku = res.data; |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
getBusinessInfo() { |
||||
|
this.Post({ |
||||
|
goods_id: this.id, |
||||
|
lon: this.$store.state.user.location.lon || 116.437164, |
||||
|
lat: this.$store.state.user.location.lat || 39.911372, |
||||
|
limit: 10 |
||||
|
}, |
||||
|
'/api/extract/getMerchantExtractListByGoodsId' |
||||
|
).then(res => { |
||||
|
if (res) { |
||||
|
this.businessInfo = res.data; |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
// 收藏 |
||||
|
collect() { |
||||
|
this.Post({ |
||||
|
type: 3, |
||||
|
id: this.id |
||||
|
}, |
||||
|
'/api/scenic/collect' |
||||
|
).then(res => { |
||||
|
if (res) { |
||||
|
uni.showToast({ |
||||
|
title: res.msg, |
||||
|
icon: 'none' |
||||
|
}); |
||||
|
this.isCollect = !this.isCollect |
||||
|
console.log(this.isCollect); |
||||
|
this.$forceUpdate() |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
//数量加减 |
||||
|
addNumber() { |
||||
|
this.buyNum += 1; |
||||
|
}, |
||||
|
delNumber() { |
||||
|
if (this.buyNum <= 1) { |
||||
|
return; |
||||
|
} |
||||
|
this.buyNum -= 1; |
||||
|
}, |
||||
|
closePopup() { |
||||
|
this.$refs.popup.close() |
||||
|
}, |
||||
|
openPop(){ |
||||
|
this.$refs.popup.open() |
||||
|
}, |
||||
|
order(item) { |
||||
|
let goods = this.sku[this.productIndex] |
||||
|
goods.buyNum = this.buyNum |
||||
|
uni.setStorageSync('order', JSON.stringify(goods)); //规格 |
||||
|
uni.setStorageSync('info', JSON.stringify(this.info)); //商品 |
||||
|
uni.navigateTo({ |
||||
|
url: '/subPackages/oneplus/oneplusOrder' |
||||
|
}); |
||||
|
}, |
||||
|
goUser() { |
||||
|
uni.switchTab({ |
||||
|
url: '/pages/index/user' |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
onReachBottom() { |
||||
|
|
||||
|
} |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.bg { |
||||
|
min-height: 100vh; |
||||
|
overflow-x: hidden; |
||||
|
background: #f2f4f7; |
||||
|
padding-bottom: 210rpx; |
||||
|
} |
||||
|
|
||||
|
view { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
button { |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
outline: none; |
||||
|
border-radius: 0; |
||||
|
background-color: transparent; |
||||
|
line-height: inherit; |
||||
|
} |
||||
|
|
||||
|
button::after { |
||||
|
border: none; |
||||
|
} |
||||
|
|
||||
|
.swipe-box { |
||||
|
height: 484rpx; |
||||
|
position: relative; |
||||
|
|
||||
|
.swiper-item-num { |
||||
|
width: 90rpx; |
||||
|
height: 40rpx; |
||||
|
background: rgba(0, 0, 0, 0.5); |
||||
|
border-radius: 20rpx; |
||||
|
font-size: 24rpx; |
||||
|
font-family: PingFangSC-Regular, PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #ffffff; |
||||
|
text-align: center; |
||||
|
line-height: 40rpx; |
||||
|
position: absolute; |
||||
|
right: 30rpx; |
||||
|
bottom: 50rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.swiper { |
||||
|
height: 484rpx; |
||||
|
position: relative; |
||||
|
|
||||
|
.swiper-item { |
||||
|
width: 100%; |
||||
|
height: 484rpx; |
||||
|
|
||||
|
.item-img { |
||||
|
width: 750rpx; |
||||
|
height: 484rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.price-box1 { |
||||
|
padding: 24rpx 30rpx; |
||||
|
} |
||||
|
|
||||
|
.price-box { |
||||
|
z-index: 9; |
||||
|
position: relative; |
||||
|
margin-top: -20rpx; |
||||
|
width: 750rpx; |
||||
|
background: #ffffff; |
||||
|
border-radius: 20rpx; |
||||
|
|
||||
|
|
||||
|
.price-zan { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
|
||||
|
.price { |
||||
|
display: flex; |
||||
|
|
||||
|
.present-price { |
||||
|
font-size: 42rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: rgba(248, 74, 86, 1); |
||||
|
|
||||
|
&:before { |
||||
|
content: '¥'; |
||||
|
display: inline-block; |
||||
|
font-size: 26rpx; |
||||
|
} |
||||
|
|
||||
|
&:after { |
||||
|
content: '起'; |
||||
|
display: inline-block; |
||||
|
font-size: 24rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 400; |
||||
|
color: #8D8D8D; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.tag { |
||||
|
margin-bottom: 40.67rpx; |
||||
|
margin-top: 20rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
|
||||
|
.tag-item { |
||||
|
|
||||
|
background: rgba(254, 180, 25, .14); |
||||
|
border-radius: 18rpx; |
||||
|
margin-right: 18rpx; |
||||
|
font-size: 24rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 500; |
||||
|
color: #FEB419; |
||||
|
padding: 0 16rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
font-size: 30rpx; |
||||
|
font-family: PingFangSC-Medium, PingFang SC; |
||||
|
font-weight: bold; |
||||
|
color: #000000; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.notice { |
||||
|
padding: 40rpx 30rpx; |
||||
|
width: 710rpx; |
||||
|
|
||||
|
background: #ffffff; |
||||
|
border-radius: 16rpx; |
||||
|
margin: 0 auto; |
||||
|
margin-top: 20rpx; |
||||
|
|
||||
|
.notice-title { |
||||
|
font-size: 36rpx; |
||||
|
font-family: PingFangSC-Medium, PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: #000000; |
||||
|
margin-bottom: 40rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.tab { |
||||
|
width: 750rpx; |
||||
|
height: 88rpx; |
||||
|
background: #ffffff; |
||||
|
box-shadow: 0px 1rpx 0px 0px rgba(227, 229, 232, 1); |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
padding: 0 32rpx; |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
|
||||
|
.tab-item { |
||||
|
height: 88rpx; |
||||
|
position: relative; |
||||
|
line-height: 88rpx; |
||||
|
|
||||
|
.tab-text { |
||||
|
font-size: 30rpx; |
||||
|
font-family: PingFangSC-Regular, PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #393b3e; |
||||
|
} |
||||
|
|
||||
|
.act-text { |
||||
|
font-size: 30rpx; |
||||
|
font-family: PingFangSC-Medium, PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: #000000; |
||||
|
} |
||||
|
|
||||
|
.tab-line { |
||||
|
width: 60rpx; |
||||
|
height: 6rpx; |
||||
|
background: #08c59b; |
||||
|
border-radius: 3rpx; |
||||
|
position: absolute; |
||||
|
bottom: 0; |
||||
|
left: 50%; |
||||
|
transform: translate(-30rpx, 0); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.more { |
||||
|
width: 100%; |
||||
|
height: 93rpx; |
||||
|
line-height: 93rpx; |
||||
|
text-align: center; |
||||
|
border-top: solid 1rpx rgba(227, 229, 232, 1); |
||||
|
font-size: 26rpx; |
||||
|
font-family: PingFangSC-Regular, PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #4D526C; |
||||
|
margin-top: 50rpx; |
||||
|
} |
||||
|
|
||||
|
.xzPopup { |
||||
|
width: 750rpx; |
||||
|
padding: 33rpx 26rpx 20rpx; |
||||
|
box-sizing: border-box; |
||||
|
background-color: #FFFFFF; |
||||
|
position: relative; |
||||
|
max-height: 70vh; |
||||
|
overflow-y: auto; |
||||
|
|
||||
|
view { |
||||
|
padding: 0 20rpx; |
||||
|
box-sizing: border-box; |
||||
|
margin-top: 35rpx; |
||||
|
} |
||||
|
|
||||
|
img { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
position: absolute; |
||||
|
top: 33rpx; |
||||
|
right: 27rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.comment { |
||||
|
font-size: 24rpx; |
||||
|
font-family: PingFangSC-Regular, PingFang SC; |
||||
|
font-weight: bold; |
||||
|
color: #6B0500; |
||||
|
margin-top: 28rpx; |
||||
|
} |
||||
|
|
||||
|
.btn-list { |
||||
|
position: fixed; |
||||
|
bottom: 0; |
||||
|
width: 750rpx; |
||||
|
height: 180rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(6, 0, 1, 0.1); |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
padding: 30rpx 50rpx 0 50rpx; |
||||
|
|
||||
|
.left-box { |
||||
|
display: flex; |
||||
|
align-items: flex-start; |
||||
|
|
||||
|
.img-box { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
margin-right: 64rpx; |
||||
|
|
||||
|
image { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
} |
||||
|
|
||||
|
.text { |
||||
|
font-size: 24rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 400; |
||||
|
color: #666666; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.btn-buy { |
||||
|
width: 254rpx; |
||||
|
height: 78rpx; |
||||
|
background: linear-gradient(90deg, #F84A56, #FF9834); |
||||
|
border-radius: 40rpx; |
||||
|
text-align: center; |
||||
|
line-height: 78rpx; |
||||
|
font-size: 32rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 500; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.popup-content { |
||||
|
background-color: white; |
||||
|
padding: 0rpx 39rpx 51rpx 39rpx; |
||||
|
height: auto; |
||||
|
border-radius: 20rpx 20rpx 0 0 ; |
||||
|
} |
||||
|
|
||||
|
.bottom-productImg { |
||||
|
display: flex; |
||||
|
margin-bottom: 23rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom-productImg img { |
||||
|
width: 218rpx; |
||||
|
height: 179rpx; |
||||
|
background: #666666; |
||||
|
border-radius: 13rpx; |
||||
|
} |
||||
|
|
||||
|
.right-content { |
||||
|
margin: 10rpx 0 0 41rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom-productPrice { |
||||
|
font-size: 40rpx; |
||||
|
color: #FC524B; |
||||
|
&:before{ |
||||
|
content: "¥"; |
||||
|
font-size: 26rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.bottom-content { |
||||
|
width: 331rpx; |
||||
|
font-size: 27rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #666666; |
||||
|
} |
||||
|
|
||||
|
.botProduct { |
||||
|
width: 320rpx; |
||||
|
// height: 78rpx; |
||||
|
border-radius: 13rpx; |
||||
|
background-color: #F5F5F5; |
||||
|
font-size: 29rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #333333; |
||||
|
line-height: 78rpx; |
||||
|
text-align: center; |
||||
|
margin-bottom: 25rpx; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
.botProduct:nth-child(even) { |
||||
|
margin-right: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.botProducts { |
||||
|
// border: 1rpx solid #00AAFF; |
||||
|
background-color:rgba(254, 180, 25, 1); |
||||
|
color: rgba(0, 0, 0, 1); |
||||
|
} |
||||
|
|
||||
|
.buy-num { |
||||
|
font-size: 29rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #333333; |
||||
|
// border-top: 1rpx solid #CCCCCC; |
||||
|
padding: 39rpx 0; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.buy-num .number-btn { |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
.buy-num .number-btn view { |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
width: 69rpx; |
||||
|
height: 69rpx; |
||||
|
border: 1rpx solid #CCCCCC; |
||||
|
border-radius: 7rpx; |
||||
|
} |
||||
|
|
||||
|
.buy-num .number-btn>view text { |
||||
|
font-size: 46rpx; |
||||
|
} |
||||
|
|
||||
|
.buy-btn { |
||||
|
width: 670rpx; |
||||
|
height: 78rpx; |
||||
|
text-align: center; |
||||
|
line-height: 78rpx; |
||||
|
background: linear-gradient(90deg, #F84A56, #FF9834); |
||||
|
border-radius: 40rpx; |
||||
|
|
||||
|
font-size: 34rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 500; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
.btn-box{ |
||||
|
width: 750rpx; |
||||
|
height: 151rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(6,0,1,0.1); |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
} |
||||
|
.sp{ |
||||
|
width: 100%; |
||||
|
height: 30rpx; |
||||
|
font-size: 32rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 400; |
||||
|
color: #060001; |
||||
|
line-height: 30rpx; |
||||
|
border-top: solid 2rpx #ccc; |
||||
|
margin: 60rpx 0; |
||||
|
padding-top: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.guige { |
||||
|
padding: 42rpx 0; |
||||
|
border-top: 1rpx solid #D8D8D8; |
||||
|
} |
||||
|
|
||||
|
.select-box { |
||||
|
// width: 100%; |
||||
|
height: 113rpx; |
||||
|
border-top: 1rpx solid #D8D8D8; |
||||
|
padding-left: 38rpx; |
||||
|
padding-right: 32rpx; |
||||
|
font-size: 31rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: #000000; |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.left { |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
.specifications { |
||||
|
margin-left: 27.33rpx; |
||||
|
font-size: 31rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: #888888; |
||||
|
white-space: nowrap; |
||||
|
width: 500rpx; |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
|
||||
|
.right { |
||||
|
width: 15.33rpx; |
||||
|
height: 27.33rpx; |
||||
|
} |
||||
|
|
||||
|
.text-box { |
||||
|
width: 710rpx; |
||||
|
margin: 22rpx 20rpx; |
||||
|
background: #FFFFFF; |
||||
|
position: relative; |
||||
|
border-radius: 13rpx; |
||||
|
} |
||||
|
|
||||
|
.tab-box { |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
font-size: 29rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 400; |
||||
|
color: #333333; |
||||
|
height: 85.33rpx; |
||||
|
line-height: 85.33rpx; |
||||
|
} |
||||
|
|
||||
|
.seld-nav { |
||||
|
font-size: 33rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: bold; |
||||
|
color: #000000; |
||||
|
// border-bottom: 5rpx solid #FEB419; |
||||
|
} |
||||
|
|
||||
|
.line { |
||||
|
width: 47rpx; |
||||
|
height: 5rpx; |
||||
|
background: #FEB419; |
||||
|
border-radius: 3rpx; |
||||
|
margin-top: -10rpx; |
||||
|
} |
||||
|
|
||||
|
.comment-box{ |
||||
|
width: 710rpx; |
||||
|
height: auto; |
||||
|
background: #FFFFFF; |
||||
|
border-radius: 13rpx; |
||||
|
margin: 24rpx auto 0; |
||||
|
padding: 0 20rpx; |
||||
|
|
||||
|
.comment-title{ |
||||
|
border-bottom: 1rpx solid #D9D9D9; |
||||
|
height: 95rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
font-size: 35rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
color: #000000; |
||||
|
|
||||
|
.comment-icon{ |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
margin-right: 14rpx; |
||||
|
} |
||||
|
|
||||
|
.comment-rate{ |
||||
|
font-size: 30rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #D62828; |
||||
|
margin-left: 10rpx; |
||||
|
} |
||||
|
|
||||
|
.comment-num{ |
||||
|
font-size: 27rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #999999; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.comment-item{ |
||||
|
padding: 37rpx 0; |
||||
|
border-bottom: 1rpx solid #CCCCCC; |
||||
|
|
||||
|
.comment-avatar{ |
||||
|
width: 57rpx; |
||||
|
height: 57rpx; |
||||
|
border-radius: 50%; |
||||
|
margin-right: 15rpx; |
||||
|
} |
||||
|
|
||||
|
.comment-name{ |
||||
|
font-size: 21rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #666666; |
||||
|
} |
||||
|
|
||||
|
.comment-time { |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: 400; |
||||
|
font-size: 24rpx; |
||||
|
color: #999999; |
||||
|
} |
||||
|
|
||||
|
.comment-content{ |
||||
|
margin-top: 30rpx; |
||||
|
font-size: 28rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 400; |
||||
|
color: #000000; |
||||
|
} |
||||
|
|
||||
|
.comment-imgs{ |
||||
|
margin-top: 34rpx; |
||||
|
overflow-x: auto; |
||||
|
white-space: nowrap; |
||||
|
|
||||
|
.comment-img{ |
||||
|
width: 147rpx; |
||||
|
height: 147rpx; |
||||
|
border-radius: 13rpx; |
||||
|
margin-right: 15rpx; |
||||
|
} |
||||
|
} |
||||
|
.comment-imgs::-webkit-scrollbar { |
||||
|
display: none; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.empty-box { |
||||
|
text-align: center; |
||||
|
padding: 98rpx 0; |
||||
|
font-size: 28rpx; |
||||
|
color: #999999; |
||||
|
} |
||||
|
|
||||
|
.content-more{ |
||||
|
height: 98rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
font-size: 27rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
color: #999999; |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,170 @@ |
|||||
|
<template> |
||||
|
<view class="bg"> |
||||
|
<img src="https://static.ticket.sz-trip.com/hsrNewTown/images/calendar/topLeft.png" class="topLeft" @click="goBack"/> |
||||
|
<img :src="showImg('/uploads/20240826/7329f5c692bfee0c3a3acacc0205761d.png')" class="topImg" /> |
||||
|
<navigator :url="'/subPackages/food/foodDetail?id=' + item.id" class="item" v-for="item in list" :key="item.id"> |
||||
|
<image class="img" :src="showImg(item.image)" mode=""></image> |
||||
|
<view class="content"> |
||||
|
<view class="title text-overflowRows"> |
||||
|
{{item.title}} |
||||
|
</view> |
||||
|
<view style="display: flex;" v-if="item.goods_new_tag"> |
||||
|
<view class="tagItem1" v-for="(tagItem,tagIndex) in item.goods_new_tag.split(',').slice(0,2)" :key="tagIndex">{{tagItem}}</view> |
||||
|
</view> |
||||
|
<view class="bottom"> |
||||
|
<view class="distance"> |
||||
|
<text v-if="item.distance">距您约{{ item.distance/1000 }}km</text> |
||||
|
</view> |
||||
|
<view class="price"> |
||||
|
{{item.low_money/100}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</navigator> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
headImg: '', |
||||
|
list:[], //列表 |
||||
|
finished: false, |
||||
|
} |
||||
|
}, |
||||
|
onReady() { |
||||
|
// this.getHeadImg('jiudian').then(res => { |
||||
|
// this.headImg = res |
||||
|
// }) |
||||
|
this.getList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 根据产品分类获取产品列表 |
||||
|
getList(){ |
||||
|
this.Post({ |
||||
|
type_id: 16, |
||||
|
offset: this.list.length, |
||||
|
limit: 10, |
||||
|
lon: uni.getStorageSync('location').lon || '', |
||||
|
lat: uni.getStorageSync('location').lat || '', |
||||
|
},'/api/goods/getGoodsByType').then(res => { |
||||
|
this.list = [...this.list, ...res.data]; |
||||
|
if (res.data.length < 10) { |
||||
|
this.finished = true |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
}, |
||||
|
onReachBottom() { |
||||
|
setTimeout(() => { |
||||
|
if (!this.finished) this.getList() |
||||
|
},1000) |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.bg { |
||||
|
background: #FFFFFF; |
||||
|
min-height: 100vh; |
||||
|
padding-bottom: 26rpx; |
||||
|
} |
||||
|
|
||||
|
.topLeft { |
||||
|
position: absolute; |
||||
|
left: 26rpx; |
||||
|
top: 101rpx; |
||||
|
width: 53.33rpx; |
||||
|
height: 53.33rpx; |
||||
|
z-index: 2; |
||||
|
} |
||||
|
|
||||
|
.topImg { |
||||
|
width: 750rpx; |
||||
|
height: 440rpx; |
||||
|
} |
||||
|
|
||||
|
.item { |
||||
|
width: 696rpx; |
||||
|
height: 213rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 9rpx 0rpx rgba(153,153,153,0.38); |
||||
|
border-radius: 13rpx; |
||||
|
margin: 27.33rpx auto 0; |
||||
|
padding: 12.67rpx 19.33rpx 14rpx 13.33rpx; |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
.img { |
||||
|
width: 187rpx; |
||||
|
height: 187rpx; |
||||
|
background: #87CD93; |
||||
|
border-radius: 13rpx; |
||||
|
margin-right: 22.67rpx; |
||||
|
flex-shrink: 0; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
padding: 6rpx 0; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
padding-left: 2.67rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
font-size: 31rpx; |
||||
|
color: #000000; |
||||
|
width: 427rpx; |
||||
|
} |
||||
|
|
||||
|
.tagItem1 { |
||||
|
width: 128rpx; |
||||
|
height: 41rpx; |
||||
|
background: rgba(205,233,209, .3); |
||||
|
border-radius: 7rpx 5rpx 5rpx 7rpx; |
||||
|
border: 2rpx solid #87CD93; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 25rpx; |
||||
|
color: #3C6943; |
||||
|
text-align: center; |
||||
|
line-height: 37rpx; |
||||
|
margin-right: 12rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
width: 452rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.distance { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 27rpx; |
||||
|
color: #999999; |
||||
|
} |
||||
|
|
||||
|
.price { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
font-size: 33.33rpx; |
||||
|
color: #D90F00; |
||||
|
display: flex; |
||||
|
align-items: baseline; |
||||
|
} |
||||
|
.price::before{ |
||||
|
content: '¥'; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
.price::after{ |
||||
|
content: '/人'; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
</style> |
@ -0,0 +1,142 @@ |
|||||
|
<template> |
||||
|
<view class="bg"> |
||||
|
<img src="https://static.ticket.sz-trip.com/hsrNewTown/images/calendar/topLeft.png" class="topLeft" @click="goBack"/> |
||||
|
<img :src="showImg('/uploads/20240826/97282395bdd31e0b1fe20e5356cc4fc4.png')" class="topImg" /> |
||||
|
<view class="item" v-for="item in list" :key="item.id"> |
||||
|
<image class="img" :src="showImg(item.image)" mode=""></image> |
||||
|
<view class="content"> |
||||
|
<view class="title text-overflowRows"> |
||||
|
{{item.title}} |
||||
|
</view> |
||||
|
<view class="bottom"> |
||||
|
<view class="price"> |
||||
|
{{item.low_money/100}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
list:[], //列表 |
||||
|
finished: false, |
||||
|
} |
||||
|
}, |
||||
|
onReady() { |
||||
|
this.getList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 根据产品分类获取产品列表 |
||||
|
getList(){ |
||||
|
this.Post({ |
||||
|
type_id: 17, |
||||
|
offset: this.list.length, |
||||
|
limit: 10, |
||||
|
lon: uni.getStorageSync('location').lon || '', |
||||
|
lat: uni.getStorageSync('location').lat || '', |
||||
|
},'/api/goods/getGoodsByType').then(res => { |
||||
|
this.list = [...this.list, ...res.data]; |
||||
|
if (res.data.length < 10) { |
||||
|
this.finished = true |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
}, |
||||
|
onReachBottom() { |
||||
|
setTimeout(() => { |
||||
|
if (!this.finished) this.getList() |
||||
|
},1000) |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
view { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
.bg { |
||||
|
background: #FFFFFF; |
||||
|
min-height: 100vh; |
||||
|
padding-bottom: 26rpx; |
||||
|
} |
||||
|
|
||||
|
.topLeft { |
||||
|
position: absolute; |
||||
|
left: 26rpx; |
||||
|
top: 101rpx; |
||||
|
width: 53.33rpx; |
||||
|
height: 53.33rpx; |
||||
|
z-index: 2; |
||||
|
} |
||||
|
|
||||
|
.topImg { |
||||
|
width: 750rpx; |
||||
|
height: 440rpx; |
||||
|
} |
||||
|
|
||||
|
.item { |
||||
|
width: 697rpx; |
||||
|
height: 227rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(153,153,153,0.38); |
||||
|
border-radius: 13rpx; |
||||
|
margin: 26.67rpx auto 0; |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
.img { |
||||
|
width: 280rpx; |
||||
|
height: 227rpx; |
||||
|
background: #87CD93; |
||||
|
border-radius: 13rpx; |
||||
|
margin-right: 20.67rpx; |
||||
|
flex-shrink: 0; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
width: 370rpx; |
||||
|
padding: 20.67rpx 0 24rpx 0; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
font-size: 31rpx; |
||||
|
color: #000000; |
||||
|
width: 367rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
width: 370rpx; |
||||
|
display: flex; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
|
||||
|
.price { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
font-size: 33.33rpx; |
||||
|
color: #F02A2A; |
||||
|
display: flex; |
||||
|
align-items: baseline; |
||||
|
} |
||||
|
.price::before{ |
||||
|
content: '¥'; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
.price::after{ |
||||
|
content: '起'; |
||||
|
font-size: 24rpx; |
||||
|
color: #666; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
|
||||
|
</style> |
@ -0,0 +1,165 @@ |
|||||
|
<template> |
||||
|
<view class="bg"> |
||||
|
<img src="https://static.ticket.sz-trip.com/hsrNewTown/images/calendar/topLeft.png" class="topLeft" @click="goBack"/> |
||||
|
<img :src="showImg('/uploads/20240826/53bbad9d231e7e0eb2404efb0c0903f4.png')" class="topImg" /> |
||||
|
<view class="box"> |
||||
|
<view class="item" v-for="item in list" :key="item.id" @click="goDetail(item)"> |
||||
|
<image class="item-img" :src="showImg(item.image)" mode=""></image> |
||||
|
<view class="content"> |
||||
|
<view class="title text-overflowRows">{{item.title}}</view> |
||||
|
<view class="bottom"> |
||||
|
<view class="price"> |
||||
|
{{item.money/100}} |
||||
|
</view> |
||||
|
<view class="buy"> |
||||
|
立即购买 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
list:[], |
||||
|
finished: false, |
||||
|
} |
||||
|
}, |
||||
|
onReady() { |
||||
|
this.getList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 根据产品分类获取产品列表 |
||||
|
getList(){ |
||||
|
this.Post({ |
||||
|
type_id: 19, |
||||
|
offset: this.list.length, |
||||
|
limit: 10, |
||||
|
},'/api/goods/getGoodsByType').then(res => { |
||||
|
this.list = [...this.list, ...res.data]; |
||||
|
if (res.data.length < 10) { |
||||
|
this.finished = true |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
goDetail(item) { |
||||
|
uni.navigateTo({ |
||||
|
url: '/subPackages/feiyi/feiyiDetails?id=' + item.id |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
onReachBottom() { |
||||
|
setTimeout(() => { |
||||
|
if (!this.finished) this.getList() |
||||
|
},1000) |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
view { |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
.bg { |
||||
|
background: #FFFFFF; |
||||
|
min-height: 100vh; |
||||
|
padding-bottom: 26rpx; |
||||
|
} |
||||
|
|
||||
|
.topLeft { |
||||
|
position: absolute; |
||||
|
left: 26rpx; |
||||
|
top: 101rpx; |
||||
|
width: 53.33rpx; |
||||
|
height: 53.33rpx; |
||||
|
z-index: 2; |
||||
|
} |
||||
|
|
||||
|
.topImg { |
||||
|
width: 750rpx; |
||||
|
height: 440rpx; |
||||
|
} |
||||
|
|
||||
|
.box { |
||||
|
margin-top: 26.67rpx; |
||||
|
// border-radius: 20rpx 20rpx 0rpx 0rpx; |
||||
|
padding: 0 26.67rpx; |
||||
|
display: flex; |
||||
|
flex-wrap: wrap; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.item { |
||||
|
margin-bottom: 22rpx; |
||||
|
width: 335rpx; |
||||
|
height: 497rpx; |
||||
|
background: #FFFFFF; |
||||
|
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(153,153,153,0.38); |
||||
|
border-radius: 13rpx; |
||||
|
} |
||||
|
|
||||
|
.item-img { |
||||
|
width: 100%; |
||||
|
height: 342rpx; |
||||
|
background: #87CD93; |
||||
|
border-radius: 13rpx 13rpx 0rpx 0rpx; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
height: 145rpx; |
||||
|
padding: 0 13rpx 13.33rpx; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: bold; |
||||
|
font-size: 29rpx; |
||||
|
color: #000000; |
||||
|
width: 291rpx; |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.price { |
||||
|
font-size: 34.67rpx; |
||||
|
font-family: PingFangSC; |
||||
|
font-weight: bold; |
||||
|
color: #D60000; |
||||
|
} |
||||
|
.price::before { |
||||
|
content: '¥'; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
.price::after { |
||||
|
content: '起'; |
||||
|
font-size: 24rpx; |
||||
|
color: #999999; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
|
||||
|
.buy { |
||||
|
width: 140rpx; |
||||
|
height: 42rpx; |
||||
|
background: #71B580; |
||||
|
border-radius: 21rpx; |
||||
|
text-align: center; |
||||
|
line-height: 42rpx; |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 27rpx; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
|
||||
|
</style> |
@ -0,0 +1,29 @@ |
|||||
|
<template> |
||||
|
<web-view :src="url"></web-view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
url: '' |
||||
|
} |
||||
|
}, |
||||
|
onLoad(option) { |
||||
|
console.log(option); |
||||
|
if (option.url) { |
||||
|
this.url = decodeURIComponent(option.url) |
||||
|
}else{ |
||||
|
this.url = uni.getStorageSync('webUrl') |
||||
|
console.log(this.url); |
||||
|
} |
||||
|
console.log(this.url) |
||||
|
// 传入需要跳转的链接 使用web-view标签进行跳转 |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
|
||||
|
</style> |
||||
|
|
@ -1 +0,0 @@ |
|||||
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/work/yandu_WeChat/pages/mall/mall.vue?b49a","webpack:///D:/work/yandu_WeChat/pages/mall/mall.vue?3954","webpack:///D:/work/yandu_WeChat/pages/mall/mall.vue?3822","webpack:///D:/work/yandu_WeChat/pages/mall/mall.vue?ee45"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","render","_vm","this","_h","$createElement","_self","_c","recyclableRender","staticRenderFns","_withStripped"],"mappings":"yIAAA,MAGA,aACA,WAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,+ECLX,2HACIC,EADJ,QAQIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,KACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,sBACZ,aAAAF,E,yCCtBf,sQ,gCCAA,IAAIG,EAAJ,0LACA,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACJH,EAAII,MAAMC,IAEjBC,GAAmB,EACnBC,EAAkB,GACtBR,EAAOS,eAAgB,G,gCCRvB,wHAAinB,eAAG,G","file":"pages/mall/mall.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/mall/mall.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./mall.vue?vue&type=template&id=2e142186&\"\nvar renderjs\nimport script from \"./mall.vue?vue&type=script&lang=js&\"\nexport * from \"./mall.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/mall/mall.vue\"\nexport default component.exports","export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mall.vue?vue&type=template&id=2e142186&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mall.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./mall.vue?vue&type=script&lang=js&\""],"sourceRoot":""} |
|
@ -1 +0,0 @@ |
|||||
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/work/yandu_WeChat/pages/map/map.vue?1fe4","webpack:///D:/work/yandu_WeChat/pages/map/map.vue?74f2","webpack:///D:/work/yandu_WeChat/pages/map/map.vue?b1f9","webpack:///D:/work/yandu_WeChat/pages/map/map.vue?4956"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","render","_vm","this","_h","$createElement","_self","_c","recyclableRender","staticRenderFns","_withStripped"],"mappings":"uIAAA,MAGA,aACA,WAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,+ECLX,2HACIC,EADJ,QAQIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,KACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,oBACZ,aAAAF,E,yCCtBf,sQ,gCCAA,IAAIG,EAAJ,0LACA,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACJH,EAAII,MAAMC,IAEjBC,GAAmB,EACnBC,EAAkB,GACtBR,EAAOS,eAAgB,G,gCCRvB,wHAAgnB,eAAG,G","file":"pages/map/map.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/map/map.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./map.vue?vue&type=template&id=0b31f540&\"\nvar renderjs\nimport script from \"./map.vue?vue&type=script&lang=js&\"\nexport * from \"./map.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/map/map.vue\"\nexport default component.exports","export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./map.vue?vue&type=template&id=0b31f540&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./map.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./map.vue?vue&type=script&lang=js&\""],"sourceRoot":""} |
|
@ -1 +0,0 @@ |
|||||
{"version":3,"sources":["uni-app:///main.js","webpack:///D:/work/yandu_WeChat/pages/user/user.vue?68ba","webpack:///D:/work/yandu_WeChat/pages/user/user.vue?b193","webpack:///D:/work/yandu_WeChat/pages/user/user.vue?0747","webpack:///D:/work/yandu_WeChat/pages/user/user.vue?7a0d"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","renderjs","component","options","__file","components","render","_vm","this","_h","$createElement","_self","_c","recyclableRender","staticRenderFns","_withStripped"],"mappings":"yIAAA,MAGA,aACA,WAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a,+ECLX,2HACIC,EADJ,QAQIC,EAAY,qBACd,aACA,YACA,sBACA,EACA,KACA,KACA,MACA,EACA,gBACAD,GAGFC,EAAUC,QAAQC,OAAS,sBACZ,aAAAF,E,yCCtBf,sQ,gCCAA,IAAIG,EAAJ,0LACA,IAAIC,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACJH,EAAII,MAAMC,IAEjBC,GAAmB,EACnBC,EAAkB,GACtBR,EAAOS,eAAgB,G,gCCRvB,wHAAinB,eAAG,G","file":"pages/user/user.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/user/user.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./user.vue?vue&type=template&id=80842834&\"\nvar renderjs\nimport script from \"./user.vue?vue&type=script&lang=js&\"\nexport * from \"./user.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/user/user.vue\"\nexport default component.exports","export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=template&id=80842834&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=script&lang=js&\""],"sourceRoot":""} |
|
@ -1,4 +0,0 @@ |
|||||
|
|
||||
require('./common/runtime.js') |
|
||||
require('./common/vendor.js') |
|
||||
require('./common/main.js') |
|
@ -1,48 +0,0 @@ |
|||||
{ |
|
||||
"pages": [ |
|
||||
"pages/index/index", |
|
||||
"pages/map/map", |
|
||||
"pages/mall/mall", |
|
||||
"pages/user/user" |
|
||||
], |
|
||||
"subPackages": [], |
|
||||
"window": { |
|
||||
"navigationBarTextStyle": "black", |
|
||||
"navigationBarTitleText": "uni-app", |
|
||||
"navigationBarBackgroundColor": "#F8F8F8", |
|
||||
"backgroundColor": "#F8F8F8" |
|
||||
}, |
|
||||
"tabBar": { |
|
||||
"color": "#666666", |
|
||||
"selectedColor": "#71B580", |
|
||||
"borderStyle": "black", |
|
||||
"backgroundColor": "#ffffff", |
|
||||
"list": [ |
|
||||
{ |
|
||||
"pagePath": "pages/index/index", |
|
||||
"iconPath": "/static/images/index.png", |
|
||||
"selectedIconPath": "/static/images/index.png", |
|
||||
"text": "首页" |
|
||||
}, |
|
||||
{ |
|
||||
"pagePath": "pages/map/map", |
|
||||
"iconPath": "/static/images/index.png", |
|
||||
"selectedIconPath": "/static/images/index.png", |
|
||||
"text": "地图" |
|
||||
}, |
|
||||
{ |
|
||||
"pagePath": "pages/mall/mall", |
|
||||
"iconPath": "/static/images/index.png", |
|
||||
"selectedIconPath": "/static/images/index.png", |
|
||||
"text": "商城" |
|
||||
}, |
|
||||
{ |
|
||||
"pagePath": "pages/user/user", |
|
||||
"iconPath": "/static/images/index.png", |
|
||||
"selectedIconPath": "/static/images/index.png", |
|
||||
"text": "我的" |
|
||||
} |
|
||||
] |
|
||||
}, |
|
||||
"usingComponents": {} |
|
||||
} |
|
@ -1,3 +0,0 @@ |
|||||
@import './common/main.wxss'; |
|
||||
|
|
||||
[data-custom-hidden="true"],[bind-data-custom-hidden="true"]{display: none !important;} |
|
@ -1,2 +0,0 @@ |
|||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["common/main"],{0:function(e,t,n){"use strict";(function(e,t){var r=n(4),o=r(n(11));n(26);var u=r(n(27)),c=r(n(33));n(36),n(37);var i=n(38),f=r(n(25));function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}n(39),e.__webpack_require_UNI_MP_PLUGIN__=n,f.default.mixin(i.myMixins),f.default.config.productionTip=!1,u.default.mpType="app";var p=new f.default(l({store:c.default},u.default));t(p).$mount()}).call(this,n(1)["default"],n(2)["createApp"])},27:function(e,t,n){"use strict";n.r(t);var r=n(28);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);n(30);var u,c,i,f,a=n(32),l=Object(a["default"])(r["default"],u,c,!1,null,null,null,!1,i,f);l.options.__file="App.vue",t["default"]=l.exports},28:function(e,t,n){"use strict";n.r(t);var r=n(29),o=n.n(r);for(var u in r)["default"].indexOf(u)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(u);t["default"]=o.a},29:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={onLaunch:function(){console.log("App Launch")},onShow:function(){console.log("App Show")},onHide:function(){console.log("App Hide")}};t.default=r},30:function(e,t,n){"use strict";n.r(t);var r=n(31),o=n.n(r);for(var u in r)["default"].indexOf(u)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(u);t["default"]=o.a},31:function(e,t,n){}},[[0,"common/runtime","common/vendor"]]]); |
|
||||
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map
|
|
@ -1,108 +0,0 @@ |
|||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
/*每个页面公共css */ |
|
||||
._a { |
|
||||
text-decoration: none; |
|
||||
} |
|
||||
input { |
|
||||
outline: none; |
|
||||
border: none; |
|
||||
} |
|
||||
view { |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
@font-face { |
|
||||
font-family: 'iconfont'; |
|
||||
/* project id 1988252 */ |
|
||||
src: url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.eot'); |
|
||||
src: url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.eot?#iefix') format('embedded-opentype'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.woff2') format('woff2'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.woff') format('woff'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.ttf') format('truetype'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.svg#iconfont') format('svg'); |
|
||||
} |
|
||||
.iconfont { |
|
||||
font-family: "iconfont" !important; |
|
||||
font-size: 16px; |
|
||||
font-style: normal; |
|
||||
-webkit-font-smoothing: antialiased; |
|
||||
-webkit-text-stroke-width: 0.2px; |
|
||||
-moz-osx-font-smoothing: grayscale; |
|
||||
} |
|
||||
.flex-between { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.flex-center { |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.flex-around { |
|
||||
display: flex; |
|
||||
justify-content: space-around; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.flex-start { |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.flex-column { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
} |
|
||||
/*单行隐藏*/ |
|
||||
.text-overflow { |
|
||||
overflow-x: hidden; |
|
||||
overflow-y: inherit; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
/* 两行隐藏 */ |
|
||||
.text-overflowRows { |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
-webkit-line-clamp: 2; |
|
||||
word-break: break-all; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
} |
|
||||
.finished-text { |
|
||||
text-align: center; |
|
||||
font-size: 24rpx; |
|
||||
padding: 50rpx 0; |
|
||||
color: #999999; |
|
||||
} |
|
||||
.before::before{ |
|
||||
content: '¥'; |
|
||||
color: #FC5109; |
|
||||
font-size: 20rpx; |
|
||||
} |
|
||||
.after::after{ |
|
||||
content: '起'; |
|
||||
color: #6C7A94; |
|
||||
font-size: 24rpx; |
|
||||
} |
|
||||
.returnTop{ |
|
||||
position: fixed; |
|
||||
right: 27rpx; |
|
||||
bottom: 26rpx; |
|
||||
width: 67rpx; |
|
||||
height: 67rpx; |
|
||||
} |
|
||||
|
|
@ -1,5 +0,0 @@ |
|||||
|
|
||||
!function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}(); |
|
||||
(function(e){function r(r){for(var n,l,a=r[0],i=r[1],f=r[2],c=0,s=[];c<a.length;c++)l=a[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);p&&p(r);while(s.length)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var i=t[a];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"common/runtime":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var a=global["webpackJsonp"]=global["webpackJsonp"]||[],i=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var p=i;t()})([]); |
|
||||
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map
|
|
||||
|
|
@ -1,2 +0,0 @@ |
|||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/index"],{40:function(n,e,t){"use strict";(function(n,e){var r=t(4);t(26);r(t(25));var u=r(t(41));n.__webpack_require_UNI_MP_PLUGIN__=t,e(u.default)}).call(this,t(1)["default"],t(2)["createPage"])},41:function(n,e,t){"use strict";t.r(e);var r=t(42),u=t(44);for(var c in u)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return u[n]}))}(c);t(46);var i,o=t(32),a=Object(o["default"])(u["default"],r["render"],r["staticRenderFns"],!1,null,null,null,!1,r["components"],i);a.options.__file="pages/index/index.vue",e["default"]=a.exports},42:function(n,e,t){"use strict";t.r(e);var r=t(43);t.d(e,"render",(function(){return r["render"]})),t.d(e,"staticRenderFns",(function(){return r["staticRenderFns"]})),t.d(e,"recyclableRender",(function(){return r["recyclableRender"]})),t.d(e,"components",(function(){return r["components"]}))},43:function(n,e,t){"use strict";var r;t.r(e),t.d(e,"render",(function(){return u})),t.d(e,"staticRenderFns",(function(){return i})),t.d(e,"recyclableRender",(function(){return c})),t.d(e,"components",(function(){return r}));var u=function(){var n=this,e=n.$createElement;n._self._c},c=!1,i=[];u._withStripped=!0},44:function(n,e,t){"use strict";t.r(e);var r=t(45),u=t.n(r);for(var c in r)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return r[n]}))}(c);e["default"]=u.a},45:function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r={data:function(){return{title:"Hello"}},onLoad:function(){},methods:{}};e.default=r},46:function(n,e,t){"use strict";t.r(e);var r=t(47),u=t.n(r);for(var c in r)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return r[n]}))}(c);e["default"]=u.a},47:function(n,e,t){}},[[40,"common/runtime","common/vendor"]]]); |
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map
|
|
@ -1,4 +0,0 @@ |
|||||
{ |
|
||||
"navigationBarTitleText": "首页", |
|
||||
"usingComponents": {} |
|
||||
} |
|
@ -1 +0,0 @@ |
|||||
<view class="content"></view> |
|
@ -1,24 +0,0 @@ |
|||||
|
|
||||
.content { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
.logo { |
|
||||
height: 200rpx; |
|
||||
width: 200rpx; |
|
||||
margin-top: 200rpx; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
margin-bottom: 50rpx; |
|
||||
} |
|
||||
.text-area { |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
.title { |
|
||||
font-size: 36rpx; |
|
||||
color: #8f8f94; |
|
||||
} |
|
||||
|
|
@ -1,2 +0,0 @@ |
|||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/mall/mall"],{54:function(n,e,t){"use strict";(function(n,e){var r=t(4);t(26);r(t(25));var u=r(t(55));n.__webpack_require_UNI_MP_PLUGIN__=t,e(u.default)}).call(this,t(1)["default"],t(2)["createPage"])},55:function(n,e,t){"use strict";t.r(e);var r=t(56),u=t(58);for(var c in u)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return u[n]}))}(c);var a,o=t(32),i=Object(o["default"])(u["default"],r["render"],r["staticRenderFns"],!1,null,null,null,!1,r["components"],a);i.options.__file="pages/mall/mall.vue",e["default"]=i.exports},56:function(n,e,t){"use strict";t.r(e);var r=t(57);t.d(e,"render",(function(){return r["render"]})),t.d(e,"staticRenderFns",(function(){return r["staticRenderFns"]})),t.d(e,"recyclableRender",(function(){return r["recyclableRender"]})),t.d(e,"components",(function(){return r["components"]}))},57:function(n,e,t){"use strict";var r;t.r(e),t.d(e,"render",(function(){return u})),t.d(e,"staticRenderFns",(function(){return a})),t.d(e,"recyclableRender",(function(){return c})),t.d(e,"components",(function(){return r}));var u=function(){var n=this,e=n.$createElement;n._self._c},c=!1,a=[];u._withStripped=!0},58:function(n,e,t){"use strict";t.r(e);var r=t(59),u=t.n(r);for(var c in r)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return r[n]}))}(c);e["default"]=u.a},59:function(n,e){}},[[54,"common/runtime","common/vendor"]]]); |
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mall/mall.js.map
|
|
@ -1,4 +0,0 @@ |
|||||
{ |
|
||||
"navigationBarTitleText": "商城", |
|
||||
"usingComponents": {} |
|
||||
} |
|
@ -1 +0,0 @@ |
|||||
<view class="_div"></view> |
|
@ -1,2 +0,0 @@ |
|||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/map/map"],{48:function(n,e,t){"use strict";(function(n,e){var r=t(4);t(26);r(t(25));var u=r(t(49));n.__webpack_require_UNI_MP_PLUGIN__=t,e(u.default)}).call(this,t(1)["default"],t(2)["createPage"])},49:function(n,e,t){"use strict";t.r(e);var r=t(50),u=t(52);for(var c in u)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return u[n]}))}(c);var a,o=t(32),i=Object(o["default"])(u["default"],r["render"],r["staticRenderFns"],!1,null,null,null,!1,r["components"],a);i.options.__file="pages/map/map.vue",e["default"]=i.exports},50:function(n,e,t){"use strict";t.r(e);var r=t(51);t.d(e,"render",(function(){return r["render"]})),t.d(e,"staticRenderFns",(function(){return r["staticRenderFns"]})),t.d(e,"recyclableRender",(function(){return r["recyclableRender"]})),t.d(e,"components",(function(){return r["components"]}))},51:function(n,e,t){"use strict";var r;t.r(e),t.d(e,"render",(function(){return u})),t.d(e,"staticRenderFns",(function(){return a})),t.d(e,"recyclableRender",(function(){return c})),t.d(e,"components",(function(){return r}));var u=function(){var n=this,e=n.$createElement;n._self._c},c=!1,a=[];u._withStripped=!0},52:function(n,e,t){"use strict";t.r(e);var r=t(53),u=t.n(r);for(var c in r)["default"].indexOf(c)<0&&function(n){t.d(e,n,(function(){return r[n]}))}(c);e["default"]=u.a},53:function(n,e){}},[[48,"common/runtime","common/vendor"]]]); |
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/map/map.js.map
|
|
@ -1,4 +0,0 @@ |
|||||
{ |
|
||||
"navigationBarTitleText": "地图", |
|
||||
"usingComponents": {} |
|
||||
} |
|
@ -1 +0,0 @@ |
|||||
<view class="_div"></view> |
|
@ -1,2 +0,0 @@ |
|||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/user/user"],{60:function(n,e,r){"use strict";(function(n,e){var t=r(4);r(26);t(r(25));var u=t(r(61));n.__webpack_require_UNI_MP_PLUGIN__=r,e(u.default)}).call(this,r(1)["default"],r(2)["createPage"])},61:function(n,e,r){"use strict";r.r(e);var t=r(62),u=r(64);for(var c in u)["default"].indexOf(c)<0&&function(n){r.d(e,n,(function(){return u[n]}))}(c);var o,i=r(32),a=Object(i["default"])(u["default"],t["render"],t["staticRenderFns"],!1,null,null,null,!1,t["components"],o);a.options.__file="pages/user/user.vue",e["default"]=a.exports},62:function(n,e,r){"use strict";r.r(e);var t=r(63);r.d(e,"render",(function(){return t["render"]})),r.d(e,"staticRenderFns",(function(){return t["staticRenderFns"]})),r.d(e,"recyclableRender",(function(){return t["recyclableRender"]})),r.d(e,"components",(function(){return t["components"]}))},63:function(n,e,r){"use strict";var t;r.r(e),r.d(e,"render",(function(){return u})),r.d(e,"staticRenderFns",(function(){return o})),r.d(e,"recyclableRender",(function(){return c})),r.d(e,"components",(function(){return t}));var u=function(){var n=this,e=n.$createElement;n._self._c},c=!1,o=[];u._withStripped=!0},64:function(n,e,r){"use strict";r.r(e);var t=r(65),u=r.n(t);for(var c in t)["default"].indexOf(c)<0&&function(n){r.d(e,n,(function(){return t[n]}))}(c);e["default"]=u.a},65:function(n,e){}},[[60,"common/runtime","common/vendor"]]]); |
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/user/user.js.map
|
|
@ -1,4 +0,0 @@ |
|||||
{ |
|
||||
"navigationBarTitleText": "我的", |
|
||||
"usingComponents": {} |
|
||||
} |
|
@ -1 +0,0 @@ |
|||||
<view class="_div"></view> |
|
@ -1,29 +0,0 @@ |
|||||
{ |
|
||||
"description": "项目配置文件。", |
|
||||
"packOptions": { |
|
||||
"ignore": [], |
|
||||
"include": [] |
|
||||
}, |
|
||||
"setting": { |
|
||||
"urlCheck": false, |
|
||||
"es6": false, |
|
||||
"postcss": false, |
|
||||
"minified": false, |
|
||||
"newFeature": true, |
|
||||
"bigPackageSizeSupport": true, |
|
||||
"babelSetting": { |
|
||||
"ignore": [], |
|
||||
"disablePlugins": [], |
|
||||
"outputPath": "" |
|
||||
} |
|
||||
}, |
|
||||
"compileType": "miniprogram", |
|
||||
"libVersion": "3.5.4", |
|
||||
"appid": "touristappid", |
|
||||
"projectname": "yandu_WeChat", |
|
||||
"condition": {}, |
|
||||
"editorSetting": { |
|
||||
"tabIndent": "auto", |
|
||||
"tabSize": 2 |
|
||||
} |
|
||||
} |
|
@ -1,7 +0,0 @@ |
|||||
{ |
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", |
|
||||
"projectname": "yandu_WeChat", |
|
||||
"setting": { |
|
||||
"compileHotReLoad": true |
|
||||
} |
|
||||
} |
|
@ -1,110 +0,0 @@ |
|||||
* { |
|
||||
padding: 0; |
|
||||
margin: 0; |
|
||||
} |
|
||||
|
|
||||
a { |
|
||||
text-decoration: none; |
|
||||
} |
|
||||
|
|
||||
input { |
|
||||
outline: none; |
|
||||
border: none; |
|
||||
} |
|
||||
|
|
||||
view { |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
|
|
||||
@font-face { |
|
||||
font-family: 'iconfont'; |
|
||||
/* project id 1988252 */ |
|
||||
src: url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.eot'); |
|
||||
src: url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.eot?#iefix') format('embedded-opentype'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.woff2') format('woff2'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.woff') format('woff'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.ttf') format('truetype'), |
|
||||
url('https://at.alicdn.com/t/font_1988252_zoswujxrhq9.svg#iconfont') format('svg'); |
|
||||
} |
|
||||
|
|
||||
.iconfont { |
|
||||
font-family: "iconfont" !important; |
|
||||
font-size: 16px; |
|
||||
font-style: normal; |
|
||||
-webkit-font-smoothing: antialiased; |
|
||||
-webkit-text-stroke-width: 0.2px; |
|
||||
-moz-osx-font-smoothing: grayscale; |
|
||||
} |
|
||||
|
|
||||
.flex-between { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
} |
|
||||
|
|
||||
.flex-center { |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
align-items: center; |
|
||||
} |
|
||||
|
|
||||
.flex-around { |
|
||||
display: flex; |
|
||||
justify-content: space-around; |
|
||||
align-items: center; |
|
||||
} |
|
||||
|
|
||||
.flex-start { |
|
||||
display: flex; |
|
||||
justify-content: flex-start; |
|
||||
align-items: center; |
|
||||
} |
|
||||
|
|
||||
.flex-column { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
} |
|
||||
|
|
||||
/*单行隐藏*/ |
|
||||
.text-overflow { |
|
||||
overflow-x: hidden; |
|
||||
overflow-y: inherit; |
|
||||
text-overflow: ellipsis; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
/* 两行隐藏 */ |
|
||||
.text-overflowRows { |
|
||||
overflow: hidden; |
|
||||
text-overflow: ellipsis; |
|
||||
-webkit-line-clamp: 2; |
|
||||
word-break: break-all; |
|
||||
display: -webkit-box; |
|
||||
-webkit-box-orient: vertical; |
|
||||
} |
|
||||
|
|
||||
.finished-text { |
|
||||
text-align: center; |
|
||||
font-size: 24upx; |
|
||||
padding: 50upx 0; |
|
||||
color: #999999; |
|
||||
} |
|
||||
|
|
||||
.before::before{ |
|
||||
content: '¥'; |
|
||||
color: #FC5109; |
|
||||
font-size: 20rpx; |
|
||||
} |
|
||||
.after::after{ |
|
||||
content: '起'; |
|
||||
color: #6C7A94; |
|
||||
font-size: 24rpx; |
|
||||
} |
|
||||
|
|
||||
.returnTop{ |
|
||||
position: fixed; |
|
||||
right: 27rpx; |
|
||||
bottom: 26rpx; |
|
||||
width: 67rpx; |
|
||||
height: 67rpx; |
|
||||
} |
|
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 17 KiB |
@ -1,148 +0,0 @@ |
|||||
// 获取路径参数
|
|
||||
import Vue from "vue"; |
|
||||
|
|
||||
// 格式化富文本
|
|
||||
Vue.prototype.formateRichText = str => { |
|
||||
if (!str) return ""; |
|
||||
var reg = new RegExp("<img", "g"); |
|
||||
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'") |
|
||||
reg = new RegExp("<IMG", "g"); |
|
||||
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'") |
|
||||
reg = new RegExp(" ", "g"); |
|
||||
str = str.replace(reg, '<span style="width: 8rpx;display: inline-block;"></span>') |
|
||||
reg = new RegExp("section", "g"); |
|
||||
str = str.replace(reg, 'div'); |
|
||||
reg = new RegExp("↵", "g"); |
|
||||
str = str.replace(reg, '<br />'); |
|
||||
return str; |
|
||||
} |
|
||||
|
|
||||
// 获取路径参数
|
|
||||
Vue.prototype.getUrlPara = url => { |
|
||||
let arrUrl = url.split("?"); |
|
||||
let para = arrUrl[1]; |
|
||||
return para ? para.split('&') : false; |
|
||||
} |
|
||||
|
|
||||
// 中文姓名规则
|
|
||||
Vue.prototype.idChinaName = (val) => { |
|
||||
var pattern = /^[\u4E00-\u9FA5]{2,4}$/ |
|
||||
return pattern.test(val); |
|
||||
} |
|
||||
|
|
||||
// 身份证验证规则
|
|
||||
Vue.prototype.idCardNumber = (val) => { |
|
||||
var pattern = /^\d{17}(\d{1}|[X|x])$/ |
|
||||
return pattern.test(val); |
|
||||
} |
|
||||
|
|
||||
// 判断电话号码格式
|
|
||||
Vue.prototype.IsTel = tel => { |
|
||||
var pattern = /^1\d{10}$/; |
|
||||
return pattern.test(tel); |
|
||||
} |
|
||||
|
|
||||
// 判断澳门电话号码格式
|
|
||||
Vue.prototype.IsTelMacau = tel => { |
|
||||
var pattern = /^\d{8}$/; |
|
||||
return pattern.test(tel); |
|
||||
} |
|
||||
|
|
||||
// 验证码格式
|
|
||||
Vue.prototype.IsCode = code => { |
|
||||
var pattern = /^\d{6}$/; |
|
||||
return pattern.test(code); |
|
||||
} |
|
||||
|
|
||||
// 判断邮箱
|
|
||||
Vue.prototype.IsMail = code => { |
|
||||
var pattern = /^\w+@[a-z0-9]+\.[a-z]+$/i; |
|
||||
return pattern.test(code); |
|
||||
} |
|
||||
|
|
||||
// 图片显示判断
|
|
||||
Vue.prototype.showImg = img => { |
|
||||
if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) { |
|
||||
return img; |
|
||||
} else { |
|
||||
return 'https://static.ticket.sz-trip.com' + img; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 获取经纬度
|
|
||||
Vue.prototype.getLocation = () => { |
|
||||
uni.startLocationUpdate({ |
|
||||
success: res => { |
|
||||
uni.onLocationChange(data => { |
|
||||
uni.setStorageSync('location', { |
|
||||
lat: data.latitude, |
|
||||
lon: data.longitude |
|
||||
}); |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
// 金刚区头图
|
|
||||
Vue.prototype.getHeadImg = type => { |
|
||||
return Vue.prototype.Post( |
|
||||
{ |
|
||||
type, |
|
||||
}, |
|
||||
'/api/scene/getKumgangHeadImgList' |
|
||||
).then(res => { |
|
||||
return res.data[0].image |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
// 路由页面跳转
|
|
||||
Vue.prototype.gotoPath = path => { |
|
||||
uni.navigateTo({ |
|
||||
url: path |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
// 返回上一页
|
|
||||
Vue.prototype.goBack = () => { |
|
||||
getCurrentPages().length > 1 ? uni.navigateBack({}) : uni.switchTab({ |
|
||||
url: '/pages/index/index' |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
// 打开地图
|
|
||||
Vue.prototype.openLocation = (lat,lon) => { |
|
||||
uni.openLocation({ |
|
||||
latitude: Number(lat), |
|
||||
longitude: Number(lon), |
|
||||
success: function () { |
|
||||
console.log('success'); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
// 列表详情
|
|
||||
Vue.prototype.goDetail = (item,type) => { |
|
||||
if(item.link_type == 0) { |
|
||||
// 本小程序页面
|
|
||||
uni.navigateTo({ |
|
||||
url: '/subPackages/detail/detail?type=' + type + '&id=' + item.id |
|
||||
}) |
|
||||
}else if(item.link_type == 1) { |
|
||||
// 外部小程序
|
|
||||
uni.navigateToMiniProgram({ |
|
||||
shortLink: item.ext_link |
|
||||
}) |
|
||||
}else { |
|
||||
// 外部H5
|
|
||||
uni.navigateTo({ |
|
||||
url: '/subPackages/webPage/webPage?url=' + item.ext_link |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 拨打电话
|
|
||||
Vue.prototype.clickPhone = (phone) => { |
|
||||
uni.makePhoneCall({ |
|
||||
phoneNumber:phone |
|
||||
}) |
|
||||
} |
|
@ -1,56 +0,0 @@ |
|||||
import Vue from 'vue' |
|
||||
import store from '@/store' |
|
||||
|
|
||||
let NEWAPIURL = 'https://tongli.sz-trip.com/' |
|
||||
|
|
||||
Vue.prototype.Post = (params, apiurl) => { |
|
||||
if (uni.getStorageSync('userInfo') && JSON.parse(uni.getStorageSync('userInfo')).token) params.token = JSON.parse(uni.getStorageSync('userInfo')).token |
|
||||
else if (store.state.user.userInfo.token) params.token = store.state.user.userInfo.token |
|
||||
return new Promise((resolve, reject) => { |
|
||||
uni.showLoading({ |
|
||||
title: '加载中' |
|
||||
}) |
|
||||
uni.request({ |
|
||||
method: params.method || 'GET', |
|
||||
url: NEWAPIURL + apiurl, |
|
||||
data: params || {}, |
|
||||
header: params.header || { |
|
||||
'content-type': 'application/json', |
|
||||
'token': params.token || '41ba9f3e-1add-4d5c-ae47-330e0864ad56' |
|
||||
}, |
|
||||
success: res => { |
|
||||
uni.hideLoading() |
|
||||
if (res.data.code === 1) { |
|
||||
resolve(res.data) |
|
||||
} else { |
|
||||
setTimeout(() => { |
|
||||
uni.showToast({ |
|
||||
title: res.data.msg, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
reject(null) |
|
||||
}, 0) |
|
||||
if (res.data.code === 401) { |
|
||||
store.commit('changeLoginPath') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
fail: err => { |
|
||||
console.log('err', err) |
|
||||
uni.hideLoading() |
|
||||
setTimeout(() => { |
|
||||
uni.showToast({ |
|
||||
title: err.msg || err.data.msg, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
}, 0) |
|
||||
if (err.data.code === 401) { |
|
||||
store.commit('changeLoginPath') |
|
||||
} |
|
||||
reject(err) |
|
||||
} |
|
||||
}) |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
export default NEWAPIURL |
|
Before Width: | Height: | Size: 3.9 KiB |