Browse Source

提交

master
chenkainan 1 year ago
parent
commit
e44c8d26b6
  1. 2
      compoents/contactAdd.vue
  2. 10
      pages.json
  3. 434
      pages/index/index.vue
  4. 127
      pages/user/user.vue
  5. BIN
      static/images/index.png
  6. BIN
      static/images/index_HL.png
  7. BIN
      static/images/mall.png
  8. BIN
      static/images/mall_HL.png
  9. BIN
      static/images/map.png
  10. BIN
      static/images/map_HL.png
  11. BIN
      static/images/user.png
  12. BIN
      static/images/user_HL.png
  13. 2
      subPackages/order/detail.vue
  14. 83
      subPackages/order/trades.vue
  15. 2
      subPackages/user/bindTel.vue
  16. 2
      subPackages/user/changeNickname.vue
  17. 2
      subPackages/user/myAddressAdd.vue
  18. 2
      subPackages/user/myContactsAdd.vue
  19. 4
      subPackages/user/profile.vue
  20. 2
      subPackages/user/travelerList.vue

2
compoents/contactAdd.vue

@ -250,7 +250,7 @@
.btn { .btn {
width: 697rpx; width: 697rpx;
height: 80rpx; height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 40rpx; border-radius: 40rpx;
text-align: center; text-align: center;
line-height: 80rpx; line-height: 80rpx;

10
pages.json

@ -304,7 +304,7 @@
}], }],
"tabBar": { "tabBar": {
"color": "#666666", "color": "#666666",
"selectedColor": "#71B580", "selectedColor": "#248BAA",
"borderStyle": "black", "borderStyle": "black",
"backgroundColor": "#ffffff", "backgroundColor": "#ffffff",
// #ifdef APP-PLUS // #ifdef APP-PLUS
@ -322,13 +322,7 @@
"pagePath": "pages/map/map", "pagePath": "pages/map/map",
"iconPath": "/static/images/map.png", "iconPath": "/static/images/map.png",
"selectedIconPath": "/static/images/map_HL.png", "selectedIconPath": "/static/images/map_HL.png",
"text": "地图" "text": "导览"
},
{
"pagePath": "pages/mall/mall",
"iconPath": "/static/images/mall.png",
"selectedIconPath": "/static/images/mall_HL.png",
"text": "商城"
}, },
{ {
"pagePath": "pages/user/user", "pagePath": "pages/user/user",

434
pages/index/index.vue

@ -2,73 +2,58 @@
<view class="content"> <view class="content">
<view class="top-box"> <view class="top-box">
<!-- 搜索 --> <!-- 搜索 -->
<view class="search-box" @click="gotoPath('/subPackages/search/search')"> <image src="https://static.ticket.sz-trip.com/tongli/images/index/search.png" class="search-img" @click="gotoPath('/subPackages/search/search')"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/index/search.png" mode=""></image>
搜一搜您想要的产品
</view>
<swiper class="top-banner" :circular="true" :interval="6000" <swiper class="top-banner" :circular="true" :interval="6000" :current="current" @change="swiperChange"
:duration="800" :indicator-dots="false" :autoplay="true" v-if="topBanner"> :duration="800" :indicator-dots="false" :autoplay="true" v-if="topBanner">
<swiper-item v-for="(item, index) in topBanner" :key="index" @click.stop="gotoUrlNew(item)"> <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> <image class="top-banner" :src="showImg(item.head_img)" mode="aspectFill"></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view>
<!-- 金刚区 --> <view class="swiper-num">
<view class="nav-box"> {{current}}/{{topBanner.length}}
<view class="nav-top"> </view>
<view class="nav-topLeft">
<image src="https://static.ticket.sz-trip.com/yandu/images/index/consultImg.png" class="consultImg" @click="gotoPath('/subPackages/notice/noticeList')"></image>
<view class="text-overflow">{{notice}}</view>
</view> </view>
<!-- 天气 --> <!-- 资讯 -->
<view class="nav-topRight"> <view class="notice-box">
<image :src="weatherList.image" mode="" class="weather-img"></image> <image src="https://static.ticket.sz-trip.com/tongli/images/index/noticeImg.png" class="noticeImg"></image>
<view style="line-height: 40rpx;"> 同里古镇今日开园
{{weatherList.low}}~{{weatherList.high}} <br> {{weatherList.type}}
<view class="notice-top flex-between">
<view style="display: flex;align-items: center;">
<image src="https://static.ticket.sz-trip.com/tongli/images/index/horn.png" mode=""></image>
<view class="notice-text text-overflow">{{notice}}</view>
</view> </view>
<view class="notice-more" @click="gotoPath('/subPackages/notice/noticeList')">更多 ></view>
</view>
<view class="notice-bottom flex-between">
<image src="https://static.ticket.sz-trip.com/tongli/images/index/menpiao.png" mode="" @click="gotoPath(navList[0].path)"></image>
<image src="https://static.ticket.sz-trip.com/tongli/images/index/ditu.png" mode=""></image>
</view> </view>
</view> </view>
<view style="position: relative;z-index: 2;"> <!-- 金刚区 -->
<view class="nav-box">
<view class="nav-item" v-for="(item,index) in navList" :key="index" @click="gotoPath(item.path)"> <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> <image :src="item.img" mode="" class="nav-img"></image>
<view>{{item.text}}</view> <view>{{item.text}}</view>
</view> </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" @click="gotoScenic(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 v-if="scenicList && scenicList.length > 0">
<view @click="gotoPath('/subPackages/eventCalendar/eventCalendar')" class="calendar-box" :style="{backgroundImage: 'url('+showImg(homeUi.hdrl)+')',backgroundSize: 'cover'}"> <view class="title-box flex-between">
<view class="calendar-title">今日共有{{eventCalendarNum}}个活动 >>></view> <image :src="showImg(homeUi.ydms)" mode=""></image>
<view class="calendar-line"></view> <view @click="gotoPath('/subPackages/ticketBooking/ticketBooking')">更多 ></view>
<view class="calendar-subtitle">活动日历</view>
<view class="calendar-date">
<span>{{day}}</span>/{{month}}
</view> </view>
<view class="scenic-box">
<view v-for="(item,index) in scenicList" :key="index" class="scenic-item" @click="gotoScenic(item)"
:style="{backgroundImage: 'url('+showImg(item.image)+')',backgroundSize: 'cover'}">
<view class="scenic-title">{{item.title}}</view>
</view> </view>
<view @click="gotoPath('/subPackages/hotelHomestay/hotelHomestay')" 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> </view>
@ -78,7 +63,7 @@
<image :src="showImg(homeUi.xltj)" mode=""></image> <image :src="showImg(homeUi.xltj)" mode=""></image>
<view @click="gotoLineList">更多 ></view> <view @click="gotoLineList">更多 ></view>
</view> </view>
<view class="box"> <view>
<view v-for="(item,index) in lineList" :key="index" class="line-item" @click="goLineDetail(item)"> <view v-for="(item,index) in lineList" :key="index" class="line-item" @click="goLineDetail(item)">
<view class="hot flex-center" v-if="item.goods.image_tag">{{item.goods.image_tag}}</view> <view class="hot flex-center" v-if="item.goods.image_tag">{{item.goods.image_tag}}</view>
<image :src="showImg(item.points[0].main_image)" mode="aspectFill" class="line-img"></image> <image :src="showImg(item.points[0].main_image)" mode="aspectFill" class="line-img"></image>
@ -101,7 +86,7 @@
<image :src="showImg(homeUi.ydms)" mode=""></image> <image :src="showImg(homeUi.ydms)" mode=""></image>
<view @click="gotoPath('/subPackages/food/foodList')">更多 ></view> <view @click="gotoPath('/subPackages/food/foodList')">更多 ></view>
</view> </view>
<view class="food-box box"> <view class="food-box">
<view v-for="(item,index) in foodList" :key="index" class="food-item" :style="{backgroundImage: 'url('+showImg(item.goods.image)+')',backgroundSize: 'cover'}" @click="gotoFood(item.goods)"> <view v-for="(item,index) in foodList" :key="index" class="food-item" :style="{backgroundImage: 'url('+showImg(item.goods.image)+')',backgroundSize: 'cover'}" @click="gotoFood(item.goods)">
<view class="recommend" v-if="item.goods.image_tag">{{item.goods.image_tag}}</view> <view class="recommend" v-if="item.goods.image_tag">{{item.goods.image_tag}}</view>
<view class="food-content"> <view class="food-content">
@ -113,29 +98,18 @@
</view> </view>
<!-- 游记攻略 --> <!-- 游记攻略 -->
<!-- v-if="strategyList && strategyList.length > 0" -->
<view> <view>
<view class="title-box flex-between"> <view class="title-box flex-between">
<image :src="showImg(homeUi.yjgl)" mode=""></image> <image :src="showImg(homeUi.yjgl)" mode=""></image>
</view> </view>
<view class="strategy-box box"> <view class="strategy-box">
<view v-for="(num,nums) in 2" :key="nums"> <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="goCalendarDetail(item)"> <view v-for="(item,index) in strategyList" :key="index" class="strategy-item" v-if="index % 2 === nums" @click="goCalendarDetail(item)">
<view class="title-tag" v-if="item.image_tag">{{item.image_tag}}</view>
<image class="strategy-image" :src="showImg(item.image)" mode="widthFix"></image> <image class="strategy-image" :src="showImg(item.image)" mode="widthFix"></image>
<view class="strategy-content"> <view class="strategy-content">
<view class="strategy-title">{{item.title}}</view> <view class="strategy-title">{{item.title}}</view>
<view class="flex-between"> <view class="strategy-subtitle">同里旅游</view>
<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> </view>
@ -151,51 +125,51 @@
data() { data() {
return { return {
topBanner: [], topBanner: [],
weatherList: [], current: 0,
navList: [ navList: [
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdmp.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/lytl.png',
text: '景区门票', text: '乐游同里',
path: '/subPackages/ticketBooking/ticketBooking' path: '/subPackages/ticketBooking/ticketBooking'
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/jdms.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/hdrl.png',
text: '酒店民宿', text: '活动日历',
path: '/subPackages/hotelHomestay/hotelHomestay' path: '/subPackages/hotelHomestay/hotelHomestay'
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/cyms.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/tsty.png',
text: '餐饮美食', text: '特色体验',
path: '/subPackages/food/foodList' path: '/subPackages/food/foodList'
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/wctc.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/jdms.png',
text: '文创特产', text: '酒店民宿',
path: '/subPackages/techan/techanList' path: '/subPackages/techan/techanList'
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/xltj.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/zcs.png',
text: '线路推荐', text: '找厕所',
// path: '/subPackages/line/lineList' // path: '/subPackages/line/lineList'
path: '/subPackages/webPage/webPage?url='+ encodeURIComponent('https://yandumap.sz-trip.com/lineList'), path: '/subPackages/webPage/webPage?url='+ encodeURIComponent('https://yandumap.sz-trip.com/lineList'),
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/zhdt.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/tcc.png',
text: '智慧地图', text: '停车场',
path: '/subPackages/webPage/webPage?url='+ encodeURIComponent('https://yandumap.sz-trip.com/'), path: '/subPackages/webPage/webPage?url='+ encodeURIComponent('https://yandumap.sz-trip.com/'),
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/yjgl.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/tcwc.png',
text: '游记攻略', text: '特产文创',
path: '/subPackages/travelGuide/travelGuide' path: '/subPackages/travelGuide/travelGuide'
}, },
{ {
img: 'https://static.ticket.sz-trip.com/yandu/images/index/hdrl.png', img: 'https://static.ticket.sz-trip.com/tongli/images/index/tlms.png',
text: '活动日历', text: '同里美食',
path: '/subPackages/eventCalendar/eventCalendar' path: '/subPackages/eventCalendar/eventCalendar'
} }
], ],
scenic: {}, scenicList: [],
homeUi: {}, homeUi: {},
month: 0, month: 0,
day: 0, day: 0,
@ -204,7 +178,6 @@
strategyList: [], strategyList: [],
showMore: true, showMore: true,
notice: '', notice: '',
eventCalendarNum: 0
} }
}, },
onReady() { onReady() {
@ -214,7 +187,6 @@
} }
this.getTopBanner() this.getTopBanner()
this.getWeather()
this.getScenicByTag() this.getScenicByTag()
this.getHomeUi() this.getHomeUi()
this.getNowDate() this.getNowDate()
@ -222,9 +194,12 @@
this.getFoodList() this.getFoodList()
this.getArticleByType() this.getArticleByType()
this.getLatest() this.getLatest()
this.getEventCalendarNum()
}, },
methods: { methods: {
//
swiperChange(e) {
this.current = e.detail.current;
},
// 线 // 线
gotoLineList() { gotoLineList() {
uni.navigateTo({ uni.navigateTo({
@ -237,12 +212,6 @@
url: '/subPackages/webPage/webPage?url=https://yandumap.sz-trip.com/lineList?id=' + item.id url: '/subPackages/webPage/webPage?url=https://yandumap.sz-trip.com/lineList?id=' + item.id
}); });
}, },
//
getEventCalendarNum() {
this.Post({},'/api/activity/getActivityCalendarCount').then(res => {
this.eventCalendarNum = res.data.count
})
},
// //
getLatest() { getLatest() {
this.Post({},'/api/anncmnt/getLatest').then(res => { this.Post({},'/api/anncmnt/getLatest').then(res => {
@ -328,20 +297,14 @@
} }
} }
}, },
//
getWeather() {
this.Post({},'/api/index/weather').then(res => {
this.weatherList = res.data
})
},
// //
getScenicByTag() { getScenicByTag() {
this.Post({ this.Post({
tag_id: 48, tag_id: 48,
offset: 0, offset: 0,
limit: 1 limit: 5
},'/api/scenic/getScenicByTagId').then(res => { },'/api/scenic/getScenicByTagId').then(res => {
this.scenic = res.data[0] this.scenicList = res.data
}) })
}, },
// UI // UI
@ -400,7 +363,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.content { .content {
background: #DFEDE0; background: #FFFDF7;
min-height: 100vh; min-height: 100vh;
overflow-x: hidden; overflow-x: hidden;
position: relative; position: relative;
@ -410,194 +373,162 @@
.top-box { .top-box {
position: relative; position: relative;
.search-box { .search-img {
width: 487rpx; width: 60rpx;
height: 60rpx; 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; position: absolute;
top: 98rpx; top: 98.67rpx;
left: 26rpx; left: 28rpx;
z-index: 2; z-index: 2;
image {
margin-right: 14rpx;
width: 30.67rpx;
height: 30.67rpx;
}
} }
.top-banner { .top-banner {
width: 750rpx; width: 750rpx;
height: 800rpx; height: 666.67rpx;
}
.swiper-num {
position: absolute;
bottom: 167rpx;
right: 26.67rpx;
width: 67rpx;
line-height: 45rpx;
background: rgba(22, 22, 22, .4);
border-radius: 23rpx;
text-align: center;
z-index: 2;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
} }
} }
.nav-box { .notice-box {
width: 696.67rpx; width: 697rpx;
height: 520rpx; height: 440rpx;
background-image: url('https://static.ticket.sz-trip.com/yandu/images/index/navBg.png'); background: linear-gradient(150deg, #FFF9E8, #FFF7E0);
background-size: 100% 100%; border-radius: 20rpx;
position: relative; position: relative;
margin: -79rpx auto 0; margin: -140rpx auto 0;
padding: 22rpx 27rpx 0;
font-family: Source Han Serif CN VF;
font-weight: bold;
font-size: 40rpx;
color: #000000;
.nav-top { .noticeImg {
height: 172rpx; width: 340rpx;
padding: 34rpx 19rpx 0 40rpx; height: 136rpx;
display: flex; position: absolute;
top: -22rpx;
right: 0;
}
.nav-topLeft { .notice-top {
font-weight: 400; font-weight: 500;
font-size: 27rpx; font-size: 25rpx;
color: #111111; color: #097291;
width: 424rpx; margin-top: 25rpx;
position: relative;
.consultImg { image {
width: 296rpx; width: 33.33rpx;
height: 45.33rpx; height: 24.67rpx;
margin-right: 10rpx;
} }
.text-overflow { .notice-text {
margin-top: 12rpx; width: 423rpx;
font-weight: 500;
font-size: 25rpx;
color: #097291;
}
.notice-more {
width: 92rpx;
line-height: 27rpx;
text-align: right;
border-left: 1rpx solid #097291;
} }
} }
.nav-topRight { .notice-bottom {
display: flex; margin-top: 33rpx;
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 { image {
width: 46.67rpx; width: 389.33rpx;
height: 46.67rpx; height: 258.67rpx;
margin-right: 15rpx; }
& image:first-child {
width: 240rpx;
} }
} }
} }
.nav-box {
margin-top: 39rpx;
display: flex;
flex-wrap: wrap;
.nav-item { .nav-item {
width: 25%; width: 25%;
text-align: center; text-align: center;
font-weight: 400; font-weight: 400;
font-size: 25rpx; font-size: 25rpx;
color: #111111; color: #111111;
display: inline-block;
.nav-img { .nav-img {
width: 100rpx; width: 93.33rpx;
height: 100rpx; height: 93.33rpx;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
} }
.nav-item:nth-child(n+5) { .nav-item:nth-child(n+5) {
margin-top: 20rpx; margin-top: 40rpx;
}
} }
.iconBg {
width: 750rpx;
height: 364.67rpx;
position: absolute;
top: 974rpx;
left: 0;
} }
.scenic-box { .scenic-box {
margin: 34rpx auto 0; margin: 32rpx auto 0;
width: 696rpx; width: 100%;
height: 280rpx; height: 280rpx;
border-radius: 20rpx; padding-left: 26rpx;
padding: 140rpx 39rpx 0 25rpx; overflow-x: auto;
display: flex;
.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 { .scenic-item {
width: 40rpx; width: 293rpx;
height: 1rpx; height: 293rpx;
background: #FFFFFF; margin-right: 20rpx;
margin: 10rpx 0 7rpx; position: relative;
} flex-shrink: 0;
.calendar-subtitle { .scenic-title {
position: absolute;
padding: 0 26rpx;
bottom: 20rpx;
font-weight: 500; font-weight: 500;
font-size: 40rpx; font-size: 31rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.calendar-date {
margin-top: 40rpx;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
span {
font-size: 48rpx;
} }
} }
.scenic-box::-webkit-scrollbar {
display: none;
} }
.title-box { .title-box {
margin-top: 60rpx; margin-top: 55rpx;
padding-right: 26rpx; padding: 0 26rpx 0 42rpx;
font-weight: 400; font-weight: 400;
font-size: 27rpx; font-size: 27rpx;
color: #000000; color: #000000;
image { image {
width: 464.67rpx; width: 296rpx;
height: 120rpx; height: 60rpx;
}
view {
margin-top: -25rpx;
}
} }
.box {
margin-top: -14rpx;
} }
.line-item { .line-item {
@ -749,11 +680,8 @@
justify-content: space-between; justify-content: space-between;
.strategy-item { .strategy-item {
width: 337rpx; width: 335rpx;
background: #FFFFFF; margin-bottom: 35rpx;
border-radius: 18rpx;
overflow: hidden;
margin-bottom: 28rpx;
position: relative; position: relative;
.title-tag { .title-tag {
@ -776,38 +704,25 @@
} }
.strategy-image { .strategy-image {
width: 337rpx; width: 335rpx;
display: block; display: block;
border-radius: 13rpx;
} }
.strategy-content { .strategy-content {
background: #FFFFFF; margin-top: 8rpx;
padding: 20rpx;
.strategy-title { .strategy-title {
font-weight: 500; font-weight: bold;
font-size: 28rpx; font-size: 29rpx;
color: #000000; color: #000000;
line-height: 40rpx;
} }
.flex-between { .strategy-subtitle {
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 24rpx;
color: #888888; color: #248BAA;
margin-top: 10rpx; margin-top: 8rpx;
.author-img {
width: 37rpx;
height: 37rpx;
margin-right: 6rpx;
}
.eye-img {
width: 26.67rpx;
height: 18.67rpx;
margin-right: 6rpx;
}
} }
} }
} }
@ -815,14 +730,13 @@
.strategy-more { .strategy-more {
width: 200rpx; width: 200rpx;
line-height: 67rpx; line-height: 53rpx;
background: #DCEADD;
border-radius: 33rpx; border-radius: 33rpx;
border: 1rpx solid #71B580; border: 1rpx solid #248BAA;
margin: 44rpx auto 0; margin: 44rpx auto 0;
text-align: center; text-align: center;
font-weight: 400; font-weight: 500;
font-size: 28rpx; font-size: 27rpx;
color: #5BA06A; color: #248BAA;
} }
</style> </style>

127
pages/user/user.vue

@ -1,9 +1,8 @@
<template> <template>
<view class="bg"> <view class="bg">
<view class="title">我的</view> <view class="topBox flex-between" @click="gotoProfile">
<view class="flex-center">
<view class="topBox" @click="gotoProfile"> <view class="avatar-box">
<view class="avatar-box flex-center">
<image :src="showImg(userInfo.avatar)" mode="aspectFill" class="headImg" v-if="userInfo.avatar"></image> <image :src="showImg(userInfo.avatar)" mode="aspectFill" class="headImg" v-if="userInfo.avatar"></image>
<image src="https://static.ticket.sz-trip.com/yandu/images/user/grxx.png" mode="aspectFill" <image src="https://static.ticket.sz-trip.com/yandu/images/user/grxx.png" mode="aspectFill"
class="headImg" v-else></image> class="headImg" v-else></image>
@ -11,12 +10,18 @@
<view class="username" v-if="userInfo.nickname">{{userInfo.nickname}}</view> <view class="username" v-if="userInfo.nickname">{{userInfo.nickname}}</view>
<view class="username" v-else>请登录/注册 ></view> <view class="username" v-else>请登录/注册 ></view>
</view> </view>
<view class="top-right" v-if="userInfo.nickname">
个人信息 <image src="https://static.ticket.sz-trip.com/tongli/images/user/rightIcons.png" mode=""></image>
</view>
</view>
<view class="orderBox"> <view class="orderBox">
<navigator :url="'/subPackages/order/trades'" class="moreBox flex-between"> <navigator :url="'/subPackages/order/trades'" class="moreBox flex-between">
我的订单 我的订单
<span class="flex-between">全部订单 <img <span class="flex-between">
src="https://static.ticket.sz-trip.com/yandu/images/user/rightIcon.png" alt=""></span> 全部订单
<image src="https://static.ticket.sz-trip.com/tongli/images/user/rightIcons.png" mode=""></image>
</span>
</navigator> </navigator>
<view class="flex-around" style="margin-top: 20rpx;"> <view class="flex-around" style="margin-top: 20rpx;">
@ -84,63 +89,64 @@
nowDateTime: '', // nowDateTime: '', //
userInfo: {}, userInfo: {},
orderList: [{ orderList: [{
src: 'https://static.ticket.sz-trip.com/yandu/images/user/dfk.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/dfk.png',
title: '待付款', title: '待付款',
status: 'WAIT_PAYMENT' status: 'WAIT_PAYMENT'
}, },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/dfh.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/dfh.png',
title: '待发货', title: '待发货',
status: 'PAYMENT_SUCCESSFULLY' status: 'PAYMENT_SUCCESSFULLY'
}, },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/dsh.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/dsh.png',
title: '待收货', title: '待收货',
status: 'POST' status: 'POST'
}, },
// { // {
// src: 'https://static.ticket.sz-trip.com/yandu/images/user/dpj.png', // src: 'https://static.ticket.sz-trip.com/tongli/images/user/dpj.png',
// title: '', // title: '',
// status: 'WAIT_COMMENT' // status: 'WAIT_COMMENT'
// }, // },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/tksh.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/tksh.png',
title: '退款/售后', title: '退款/售后',
status: 'WAIT_REFUND,REFUND_SUCCESS,REFUND_REFUSAL,REFUND_ERROR,REFUND_PART' status: 'WAIT_REFUND,REFUND_SUCCESS,REFUND_REFUSAL,REFUND_ERROR,REFUND_PART'
}, },
], ],
cyList: [{ cyList: [
src: 'https://static.ticket.sz-trip.com/yandu/images/user/grsc.png', // {
title: '个人收藏', // src: 'https://static.ticket.sz-trip.com/yandu/images/user/grsc.png',
path: '/subPackages/user/collect', // title: '',
isShow: true // path: '/subPackages/user/collect',
}, // isShow: true
// },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/yhq.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/yhq.png',
title: '优惠券', title: '优惠券',
path: '/subPackages/user/coupon', path: '/subPackages/user/coupon',
isShow: true isShow: true
}, },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/cyxx.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/cyxx.png',
title: '常用信息', title: '常用信息',
path: '/subPackages/user/travelerList', path: '/subPackages/user/travelerList',
isShow: true isShow: true
}, },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/lyzx.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/lxwm.png',
title: '旅游咨询', title: '联系我们',
path: '', path: '',
isShow: true isShow: true
}, },
// {
// src: 'https://static.ticket.sz-trip.com/yandu/images/user/tsjb.png',
// title: '',
// path: '/subPackages/service/service',
// isShow: true
// },
{ {
src: 'https://static.ticket.sz-trip.com/yandu/images/user/tsjb.png', src: 'https://static.ticket.sz-trip.com/tongli/images/user/ysgl.png',
title: '投诉举报',
path: '/subPackages/service/service',
isShow: true
},
{
src: 'https://static.ticket.sz-trip.com/yandu/images/user/ysgl.png',
title: '隐私管理', title: '隐私管理',
path: '/subPackages/user/privacy', path: '/subPackages/user/privacy',
isShow: true isShow: true
@ -321,48 +327,50 @@
.bg { .bg {
min-height: 100vh; min-height: 100vh;
overflow-x: hidden; overflow-x: hidden;
background: url('https://static.ticket.sz-trip.com/yandu/images/user/topBg.png') no-repeat;
background-size: 100%;
background-color: #F7F7F7; background-color: #F7F7F7;
padding-bottom: 100rpx; padding-bottom: 100rpx;
} }
.title {
font-weight: bold;
font-size: 36rpx;
color: #333333;
position: absolute;
top: 110rpx;
left: 50%;
transform: translate(-50%, 0);
}
.topBox { .topBox {
width: 750rpx; width: 750rpx;
height: 373rpx; height: 413.33rpx;
padding: 100rpx 0 0 26rpx;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
margin-top: 90rpx; background-image: url('https://static.ticket.sz-trip.com/tongli/images/user/topBg.png');
background-size: 100% 100%;
padding: 50rpx 40rpx 0 28rpx;
.avatar-box { .avatar-box {
width: 120rpx; width: 120rpx;
height: 120rpx; height: 120rpx;
background: #FFFFFF;
border-radius: 50%; border-radius: 50%;
overflow: hidden;
background: #FFFFFF;
} }
.headImg { .headImg {
width: 60rpx; width: 100%;
height: 66rpx; height: 100%;
} }
.username { .username {
margin: 40rpx 0 0 28rpx; margin-left: 20rpx;
font-weight: 500; font-weight: 500;
font-size: 40rpx; font-size: 40rpx;
color: #000000; color: #000000;
} }
.top-right {
font-weight: 500;
font-size: 25rpx;
color: #248BAA;
image {
width: 11.33rpx;
height: 20rpx;
margin-left: 18rpx;
}
}
} }
.orderBox { .orderBox {
@ -370,7 +378,7 @@
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0rpx 0rpx 23rpx 0rpx rgba(80, 80, 80, 0.12); box-shadow: 0rpx 0rpx 23rpx 0rpx rgba(80, 80, 80, 0.12);
border-radius: 20rpx; border-radius: 20rpx;
margin: -48rpx auto 0; margin: -85rpx auto 0;
padding-bottom: 30.6rpx; padding-bottom: 30.6rpx;
.moreBox { .moreBox {
@ -380,23 +388,18 @@
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #000000; color: #000000;
padding-left: 26rpx; padding: 0 13rpx 0 26rpx;
span { span {
width: 173rpx;
height: 40rpx;
background: rgba(223, 237, 224, .8);
border-radius: 20rpx 0rpx 0rpx 20rpx;
padding: 0 24rpx;
font-size: 25rpx;
font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #71B580; font-size: 25rpx;
color: #248BAA;
box-sizing: border-box; box-sizing: border-box;
img { image {
width: 20rpx; width: 11.33rpx;
height: 20rpx; height: 20rpx;
margin-left: 18rpx;
} }
} }
} }
@ -405,14 +408,14 @@
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #000000; color: #111111;
width: 20%; width: 25%;
text-align: center; text-align: center;
img { img {
width: 62rpx; width: 62rpx;
height: 62rpx; height: 62rpx;
margin-bottom: 10rpx; margin-bottom: 20rpx;
} }
} }
} }

BIN
static/images/index.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/images/index_HL.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/images/mall.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

BIN
static/images/mall_HL.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

BIN
static/images/map.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

BIN
static/images/map_HL.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/images/user.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/images/user_HL.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 13 KiB

2
subPackages/order/detail.vue

@ -724,7 +724,7 @@
.top-box { .top-box {
width: 750rpx; width: 750rpx;
height: 414rpx; height: 414rpx;
background: linear-gradient(180deg, #DDF2E2, #DDF2E2, #DDF2E2, #DDF2E2, #DDF2E2, #F7F7F7); background: linear-gradient(180deg, #A2E0DB, #A2E0DB, #A2E0DB, #A2E0DB, #A2E0DB, #A2E0DB, #F7F7F7);
padding: 200rpx 0 0 50rpx; padding: 200rpx 0 0 50rpx;
font-weight: bold; font-weight: bold;
font-size: 43rpx; font-size: 43rpx;

83
subPackages/order/trades.vue

@ -3,7 +3,8 @@
<view class="top-bg"> <view class="top-bg">
<view class="search-box"> <view class="search-box">
<view class="left"> <view class="left">
<image src="https://static.ticket.sz-trip.com/yandu/images/eventCalendar/search.png" mode="aspectFill"></image> <image src="https://static.ticket.sz-trip.com/yandu/images/eventCalendar/search.png"
mode="aspectFill"></image>
<input v-model="keywords" type="text" placeholder="请输入关键字" @confirm="search()" /> <input v-model="keywords" type="text" placeholder="请输入关键字" @confirm="search()" />
</view> </view>
@ -11,7 +12,8 @@
</view> </view>
<view class="common-box"> <view class="common-box">
<view class="common-types com-flex-tao"> <view class="common-types com-flex-tao">
<view @click="setType(index)" v-for="(item, index) in typeList" :key="item.id" :class="['common-type', typeIndex == index ? 'active' : '']"> <view @click="setType(index)" v-for="(item, index) in typeList" :key="item.id"
:class="['common-type', typeIndex == index ? 'active' : '']">
{{ item.name }} {{ item.name }}
</view> </view>
</view> </view>
@ -22,19 +24,21 @@
<p class="list-common-empty-tip">暂无订单~</p> <p class="list-common-empty-tip">暂无订单~</p>
</view> </view>
<view class="trade-list" v-if="list.length > 0"> <view class="trade-list" v-if="list.length > 0">
<view v-for="(item, key) in list" :key="item.id" class="trade-items" v-if="showItem(item)" @click="() => choseType(item)"> <view v-for="(item, key) in list" :key="item.id" class="trade-items" v-if="showItem(item)"
@click="() => choseType(item)">
<view class="trade-item-head"> <view class="trade-item-head">
<view class="trade-item-head-tid">订单号:{{ item.order_id }}</view> <view class="trade-item-head-tid">订单号:{{ item.order_id }}</view>
<view class="trade-item-head-state">{{ item.status_text }}</view> <view class="trade-item-head-state">{{ item.status_text }}</view>
</view> </view>
<view class="trade-item-pros"> <view class="trade-item-pros">
<view <view class="trade-item-pro" v-for="(pro, proIndex) in item.order_child" :key="pro.child_id">
class="trade-item-pro" <view class="trade-item-pro-img" v-if="pro.specifications_image">
v-for="(pro, proIndex) in item.order_child" <image :src="showImg(pro.specifications_image)" mode="aspectFill"></image>
:key="pro.child_id" </view>
> <view style="flex: 1;">
<view class="trade-item-pro-img" v-if="pro.specifications_image"><image :src="showImg(pro.specifications_image)" mode="aspectFill"></image></view> <view class="trade-item-pro-title">{{ pro.goods_title }}</view>
<view class="trade-item-pro-title">{{ pro.goods_title + pro.specifications_name }}</view> <view class="trade-item-pro-subtitle">{{ pro.specifications_name }}</view>
</view>
<view class="trade-item-pro-price"> <view class="trade-item-pro-price">
<view class="trade-item-pro-price-pri">{{ pro.pay_money / 100 }}</view> <view class="trade-item-pro-price-pri">{{ pro.pay_money / 100 }}</view>
<view class="trade-item-pro-num">x{{ pro.num }}</view> <view class="trade-item-pro-num">x{{ pro.num }}</view>
@ -42,14 +46,17 @@
</view> </view>
</view> </view>
<view class="trade-item-info"> <view class="trade-item-info">
合计 合计
<text>{{ item.pay_money / 100 }}</text> <text>{{ item.pay_money / 100 }}</text>
</view> </view>
<view class="trade-item-btns"> <view class="trade-item-btns">
<view @click.stop="() => refund(item.order_id, key)" v-if="item.status == 'PAYMENT_SUCCESSFULLY'">申请退款</view> <view @click.stop="() => refund(item.order_id, key)" v-if="item.status == 'PAYMENT_SUCCESSFULLY'">
<view @click.stop="() => closeOrder(item.order_id, item)" v-if="item.status == 'WAIT_PAYMENT'">关闭订单</view> 申请退款</view>
<view @click.stop="() => closeOrder(item.order_id, item)" v-if="item.status == 'WAIT_PAYMENT'">关闭订单
</view>
<view @click.stop="confirmpost(item.order_id, key)" v-if="item.postFlag">确认收货</view> <view @click.stop="confirmpost(item.order_id, key)" v-if="item.postFlag">确认收货</view>
<view class="pay-btn" @click.stop="setOrderId(item.order_id)" v-if="item.status == 'WAIT_PAYMENT'">立即支付</view> <view class="pay-btn" @click.stop="setOrderId(item.order_id)" v-if="item.status == 'WAIT_PAYMENT'">
立即支付</view>
</view> </view>
</view> </view>
</view> </view>
@ -66,8 +73,7 @@ export default {
return { return {
finished: false, finished: false,
list: [], list: [],
typeList: [ typeList: [{
{
id: 'ALL', id: 'ALL',
name: '全部' name: '全部'
}, },
@ -146,8 +152,7 @@ export default {
setOrderId(id) { setOrderId(id) {
let that = this; let that = this;
that.orderId = id; that.orderId = id;
that.Post( that.Post({
{
order_id: id, order_id: id,
type: "miniprogram", type: "miniprogram",
platform: 'miniprogram' platform: 'miniprogram'
@ -178,8 +183,7 @@ export default {
content: '是否确认收货?', content: '是否确认收货?',
success: successRes => { success: successRes => {
if (successRes.confirm) { if (successRes.confirm) {
that.Post( that.Post({
{
order_id: id order_id: id
}, },
'/api/order/confirmPost' '/api/order/confirmPost'
@ -211,8 +215,7 @@ export default {
content: '是否关闭订单?', content: '是否关闭订单?',
success: successRes => { success: successRes => {
if (successRes.confirm) { if (successRes.confirm) {
that.Post( that.Post({
{
order_id: id order_id: id
}, },
'/api/order/closeOrder' '/api/order/closeOrder'
@ -239,8 +242,7 @@ export default {
content: '是否删除订单?', content: '是否删除订单?',
success: successRes => { success: successRes => {
if (successRes.confirm) { if (successRes.confirm) {
that.Post( that.Post({
{
order_id: id order_id: id
}, },
'/api/order/delOrder' '/api/order/delOrder'
@ -268,8 +270,7 @@ export default {
content: '是否申请退款?', content: '是否申请退款?',
success: successRes => { success: successRes => {
if (successRes.confirm) { if (successRes.confirm) {
that.Post( that.Post({
{
order_id: id order_id: id
}, },
'/api/order/applyRefund' '/api/order/applyRefund'
@ -296,11 +297,13 @@ export default {
}, },
getList() { getList() {
let data = { let data = {
status: this.typeList[this.typeIndex].id == 'ALL' ? '' : this.typeList[this.typeIndex].true_id || this.typeList[this.typeIndex].id, status: this.typeList[this.typeIndex].id == 'ALL' ? '' : this.typeList[this.typeIndex].true_id ||
this.typeList[this.typeIndex].id,
offset: this.list.length, offset: this.list.length,
limit: 5, limit: 5,
name: this.keywords, name: this.keywords,
type: this.typeList[this.typeIndex].name == '待使用' ? 1 : (this.typeList[this.typeIndex].name == '待发货' ? 2 : '') type: this.typeList[this.typeIndex].name == '待使用' ? 1 : (this.typeList[this.typeIndex].name ==
'待发货' ? 2 : '')
}; };
this.Post(data, '/api/order/orderList').then(res => { this.Post(data, '/api/order/orderList').then(res => {
this.list = [...this.list, ...res.data] this.list = [...this.list, ...res.data]
@ -312,8 +315,7 @@ export default {
UpdateOrder(id) { UpdateOrder(id) {
this.ajaxFlag = false; this.ajaxFlag = false;
let list = this.list; let list = this.list;
this.Post( this.Post({
{
order_id: id order_id: id
}, },
'/api/order/orderDetail' '/api/order/orderDetail'
@ -374,13 +376,12 @@ view {
.common-type.active { .common-type.active {
font-size: 31rpx; font-size: 31rpx;
font-weight: bold; font-weight: bold;
color: #71B580; color: #248BAA;
} }
.common-type.active:after { .common-type.active:after {
display: block; display: block;
width: 60%; width: 60%;
background-color: rgba(0, 215, 237, 1);
font-size: 0; font-size: 0;
content: '1'; content: '1';
margin: auto; margin: auto;
@ -389,7 +390,7 @@ view {
right: 0; right: 0;
bottom: 1rpx; bottom: 1rpx;
height: 4rpx; height: 4rpx;
background: #71B580; background: #248BAA;
border-radius: 2rpx; border-radius: 2rpx;
} }
@ -444,7 +445,7 @@ view {
font-size: 27rpx; font-size: 27rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #71B580; color: #EE0000;
} }
.trade-item-head-name { .trade-item-head-name {
@ -502,6 +503,16 @@ view {
font-size: 28rpx; font-size: 28rpx;
} }
.trade-item-pro-subtitle {
text-align: left;
flex: 1;
padding: 0 20rpx;
font-weight: 500;
font-size: 24rpx;
color: #248BAA;
margin-top: 20rpx;
}
.trade-item-pro-price view { .trade-item-pro-price view {
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
@ -537,7 +548,7 @@ view {
.trade-item-info text { .trade-item-info text {
font-size: 36rpx; font-size: 36rpx;
font-weight: bold; font-weight: bold;
color: #333333; color: rgba(238, 0, 0, 1);
} }
.trade-item-btns { .trade-item-btns {

2
subPackages/user/bindTel.vue

@ -157,7 +157,7 @@
text-align: center; text-align: center;
width: 333rpx; width: 333rpx;
height: 80rpx; height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 40rpx; border-radius: 40rpx;
color: #FFFFFF; color: #FFFFFF;
} }

2
subPackages/user/changeNickname.vue

@ -80,7 +80,7 @@
text-align: center; text-align: center;
width: 333rpx; width: 333rpx;
height: 80rpx; height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 40rpx; border-radius: 40rpx;
color: #FFFFFF; color: #FFFFFF;
} }

2
subPackages/user/myAddressAdd.vue

@ -377,7 +377,7 @@
font-size: 36rpx; font-size: 36rpx;
width: 697rpx; width: 697rpx;
height: 73rpx; height: 73rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 37rpx; border-radius: 37rpx;
justify-content: center; justify-content: center;
align-items: center; align-items: center;

2
subPackages/user/myContactsAdd.vue

@ -232,7 +232,7 @@
.btn { .btn {
width: 697rpx; width: 697rpx;
height: 80rpx; height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 40rpx; border-radius: 40rpx;
text-align: center; text-align: center;
line-height: 80rpx; line-height: 80rpx;

4
subPackages/user/profile.vue

@ -17,7 +17,7 @@
<!-- <view>{{sexes[info.gender]}}</view> --> <!-- <view>{{sexes[info.gender]}}</view> -->
<radio-group @change="changesex"> <radio-group @change="changesex">
<label style="margin-right: 15rpx;" v-for="(item,index) in sexes" :key="index"> <label style="margin-right: 15rpx;" v-for="(item,index) in sexes" :key="index">
<radio color="#7FD491" :value="item.value" :checked="index === info.gender-1" />{{item.text}} <radio color="#248BAA" :value="item.value" :checked="index === info.gender-1" />{{item.text}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@ -339,7 +339,7 @@
font-size: 30rpx; font-size: 30rpx;
width: 697rpx; width: 697rpx;
height: 80rpx; height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 40rpx; border-radius: 40rpx;
line-height: 80rpx; line-height: 80rpx;
color: #FFFFFF; color: #FFFFFF;

2
subPackages/user/travelerList.vue

@ -315,7 +315,7 @@
.btn { .btn {
width: 697rpx; width: 697rpx;
line-height: 80rpx; line-height: 80rpx;
background: linear-gradient(90deg, #9EE4FE, #7FD491); background: #248BAA;
border-radius: 37rpx; border-radius: 37rpx;
font-weight: 500; font-weight: 500;
font-size: 36rpx; font-size: 36rpx;

Loading…
Cancel
Save