|
@ -7,90 +7,100 @@ |
|
|
<!-- #ifdef H5 --> |
|
|
<!-- #ifdef H5 --> |
|
|
<view class="nav-head-H5"> |
|
|
<view class="nav-head-H5"> |
|
|
<!-- #endif --> |
|
|
<!-- #endif --> |
|
|
<u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }}</u-button> |
|
|
<u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }} |
|
|
<view class="languageBtn" @click.stop="languageShow = true"> |
|
|
</u-button> |
|
|
{{ langTrue }} |
|
|
<view class="languageBtn" @click.stop="languageShow = true"> |
|
|
</view> |
|
|
{{ langTrue }} |
|
|
<!-- popups弹窗 --> |
|
|
</view> |
|
|
<u-overlay :show="languageShow" @click="languageShow = false" :opacity="0"> |
|
|
<!-- popups弹窗 --> |
|
|
<language-popups v-model="languageShow" :popData="languageData" @tapPopup="tapPopup"> |
|
|
<u-overlay :show="languageShow" @click="languageShow = false" :opacity="0"> |
|
|
</language-popups> |
|
|
<language-popups v-model="languageShow" :popData="languageData" @tapPopup="tapPopup"> |
|
|
</u-overlay> |
|
|
</language-popups> |
|
|
</view> |
|
|
</u-overlay> |
|
|
<!-- 轮播图 --> |
|
|
|
|
|
<u-swiper class="swiper" :list="swiperList" previousMargin="48rpx" nextMargin="80rpx" circular :autoplay="true" |
|
|
|
|
|
radius="32rpx" bgColor="rgba(0,0,0,0)" height="360rpx"></u-swiper> |
|
|
|
|
|
<!-- 消息 --> |
|
|
|
|
|
<view class="message"> |
|
|
|
|
|
<u-icon class="icon" name="../../static/home/ic_proclamation.png" size="60rpx" width="60rpx"></u-icon> |
|
|
|
|
|
<!-- <view class="text">{{ i18n.homeMessage }}</view> --> |
|
|
|
|
|
<u-notice-bar class="notice" :text="messageList" icon="" fontSize="24rpx" bgColor="#211F32" color="#fff" |
|
|
|
|
|
direction="column" @click="go('/pages/me/notification')"> |
|
|
|
|
|
</u-notice-bar> |
|
|
|
|
|
</view> |
|
|
|
|
|
<!-- 三个按钮 --> |
|
|
|
|
|
<view class="btnDiv"> |
|
|
|
|
|
<view class="item" @click="goto('recharge')"> |
|
|
|
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_recharge.png" width="144rpx" |
|
|
|
|
|
height="144rpx"></u--image> |
|
|
|
|
|
<view class="text">{{ i18n.Recharge }}</view> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<view class="item" @click="goto('mine')"> |
|
|
<!-- 轮播图 --> |
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_Mine.png" width="144rpx" |
|
|
<u-swiper class="swiper" :list="swiperList" previousMargin="48rpx" nextMargin="80rpx" circular |
|
|
height="144rpx"></u--image> |
|
|
:autoplay="true" radius="32rpx" bgColor="rgba(0,0,0,0)" height="360rpx"></u-swiper> |
|
|
<view class="text">{{ i18n.Mine }}</view> |
|
|
<!-- 消息 --> |
|
|
|
|
|
<view class="message" @click="go('/pages/me/notification')"> |
|
|
|
|
|
<u-icon class="icon" name="../../static/home/ic_proclamation.png" size="60rpx" width="60rpx"></u-icon> |
|
|
|
|
|
<!-- <view class="text">{{ i18n.homeMessage }}</view> --> |
|
|
|
|
|
<u-notice-bar class="notice" :text="messageList" icon="" fontSize="24rpx" bgColor="#211F32" color="#fff" |
|
|
|
|
|
direction="column" > |
|
|
|
|
|
</u-notice-bar> |
|
|
</view> |
|
|
</view> |
|
|
<view class="item" @click="goto('subcription')"> |
|
|
<!-- 三个按钮 --> |
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_Subcription.png" width="144rpx" |
|
|
<view class="btnDiv"> |
|
|
height="144rpx"></u--image> |
|
|
<view class="item" @click="goto('recharge')"> |
|
|
<view class="text">{{ i18n.Subcription }}</view> |
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_recharge.png" width="144rpx" |
|
|
|
|
|
height="144rpx"></u--image> |
|
|
|
|
|
<view class="text">{{ i18n.Recharge }}</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="item" @click="goto('mine')"> |
|
|
|
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_Mine.png" width="144rpx" |
|
|
|
|
|
height="144rpx"></u--image> |
|
|
|
|
|
<view class="text">{{ i18n.Mine }}</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="item" @click="goto('subcription')"> |
|
|
|
|
|
<u--image class="img" :showLoading="true" src="../../static/home/img_Subcription.png" width="144rpx" |
|
|
|
|
|
height="144rpx"></u--image> |
|
|
|
|
|
<view class="text">{{ i18n.Subcription }}</view> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<!-- 步数 --> |
|
|
<!-- 步数 --> |
|
|
<view class="steps"> |
|
|
<view class="steps"> |
|
|
<view class="content"> |
|
|
<view class="content"> |
|
|
<view class="title">{{ i18n.TodaySteps }}</view> |
|
|
<view class="title">{{ i18n.TodaySteps }}</view> |
|
|
<view id="chart" :stepsNum="stepsNum" :stepTarget="stepTarget" :change:stepTarget="echarts.receive" |
|
|
<view id="chart" :stepsNum="stepsNum" :stepTarget="stepTarget" :change:stepTarget="echarts.receive" |
|
|
:change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;"> |
|
|
:change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></view> |
|
|
</view> |
|
|
<!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> --> |
|
|
<!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> --> |
|
|
<u-button class="button" color="#00E8A2">{{ i18n.ReceiveEarnings }}</u-button> |
|
|
<u-button class="button" color="#00E8A2" @click="closeModalShow=true">{{ i18n.ReceiveEarnings }} |
|
|
|
|
|
</u-button> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<!-- 播放器 --> |
|
|
<!-- close确认框 --> |
|
|
<view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item.adText)"> |
|
|
<u-modal :show="closeModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" |
|
|
<view class="videoImage" :style="`background-image: url(${baseURL+item.adImgPath});background-repeat: no-repeat; |
|
|
:showCancelButton="true" :title="i18n.WarmTips" :content='i18n.WarmTipsText' @confirm="closeConfirm" |
|
|
|
|
|
@cancel="closeModalShow = false" confirmColor="#00E8A2" cancelColor="#96959E"> |
|
|
|
|
|
</u-modal> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 播放器 --> |
|
|
|
|
|
<view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item.adText)"> |
|
|
|
|
|
<view class="videoImage" :style="`background-image: url(${baseURL+item.adImgPath});background-repeat: no-repeat; |
|
|
background-size: cover;`"> |
|
|
background-size: cover;`"> |
|
|
<view class="VideoBg"> |
|
|
<view class="VideoBg"> |
|
|
<view class="VideoLogo"></view> |
|
|
<view class="VideoLogo"></view> |
|
|
<view class="VideoTitle">{{ item.adTitle }}</view> |
|
|
<view class="VideoTitle">{{ item.adTitle }}</view> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<video class="video" v-show="videoShow" id="video" :enable-progress-gesture="false" autoplay="true" |
|
|
<video class="video" v-show="videoShow" id="video" :enable-progress-gesture="false" autoplay="true" |
|
|
:src="videoUrl" controls x5-video-player-type="h5-page" @fullscreenchange="ifStopVideo"></video> |
|
|
:src="videoUrl" controls x5-video-player-type="h5-page" @fullscreenchange="ifStopVideo"></video> |
|
|
<!-- 通知弹出层 --> |
|
|
<!-- 通知弹出层 --> |
|
|
<u-popup class="popup" v-if="popupShow" round="32rpx" mode="center" @close="popupShow = false" |
|
|
<u-popup class="popup" v-if="popupShow" round="32rpx" mode="center" @close="popupShow = false" |
|
|
@open="popupShow = true" bgColor="#211F32" :customStyle="{ |
|
|
@open="popupShow = true" bgColor="#211F32" :customStyle="{ |
|
|
|
|
|
margin: 'auto 102rpx auto 118rpx', |
|
|
margin: 'auto 102rpx auto 118rpx', |
|
|
}"> |
|
|
}"> |
|
|
<view class="content"> |
|
|
<view class="content"> |
|
|
<scroll-view scroll-y="true" style="max-height: 288rpx;" scroll-with-animation="true" |
|
|
<scroll-view scroll-y="true" style="max-height: 288rpx;" scroll-with-animation="true" |
|
|
@touchmove.stop.prevent=""> |
|
|
@touchmove.stop.prevent=""> |
|
|
<view class="" v-html="contentFirst"></view> |
|
|
<view class="" v-html="contentFirst"></view> |
|
|
</scroll-view> |
|
|
</scroll-view> |
|
|
<u-button class="button" color="#00E8A2" @click="toRead" :throttleTime="500">OK</u-button> |
|
|
<u-button class="button" color="#00E8A2" @click="toRead" :throttleTime="500">OK</u-button> |
|
|
</view> |
|
|
</view> |
|
|
</u-popup> |
|
|
</u-popup> |
|
|
|
|
|
|
|
|
<view class="" @click="startStep"> |
|
|
<!-- <view class="" @click="startStep"> |
|
|
开始记步 |
|
|
开始记步 |
|
|
</view> |
|
|
</view> |
|
|
<view class="" @click="startStep"> |
|
|
<view class="" @click="startStep"> |
|
|
步数:{{stepCount}} |
|
|
步数:{{stepCount}} |
|
|
|
|
|
</view> --> |
|
|
|
|
|
<!-- tabBar --> |
|
|
|
|
|
<tab-bar :selectActive="1"></tab-bar> |
|
|
</view> |
|
|
</view> |
|
|
<!-- tabBar --> |
|
|
|
|
|
<tab-bar :selectActive="1"></tab-bar> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
@ -103,7 +113,7 @@ |
|
|
// let videoPlayerObj = {}; |
|
|
// let videoPlayerObj = {}; |
|
|
let videoPlayer; |
|
|
let videoPlayer; |
|
|
let myChart; |
|
|
let myChart; |
|
|
let StepCounter = uni.requireNativePlugin('HF-Step-module'); |
|
|
// let StepCounter = uni.requireNativePlugin('HF-Step-module'); |
|
|
export default { |
|
|
export default { |
|
|
name: 'home', |
|
|
name: 'home', |
|
|
components: { |
|
|
components: { |
|
@ -111,8 +121,9 @@ |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
stepCount:'', |
|
|
closeModalShow: false, |
|
|
stepResult:'', |
|
|
stepCount: '', |
|
|
|
|
|
stepResult: '', |
|
|
// 展示的公告数据未读的 |
|
|
// 展示的公告数据未读的 |
|
|
contentFirst: '', |
|
|
contentFirst: '', |
|
|
// 记录还剩多少未读的 是否显示弹框 |
|
|
// 记录还剩多少未读的 是否显示弹框 |
|
@ -134,18 +145,23 @@ |
|
|
videoUrl: '', |
|
|
videoUrl: '', |
|
|
videoList: [], |
|
|
videoList: [], |
|
|
option: null, |
|
|
option: null, |
|
|
stepsNum: 5000, // 当前步数 |
|
|
stepsNum: 0, // 当前步数 |
|
|
|
|
|
stepsNumString:'', // 传后台的步数 |
|
|
stepTarget: 10000, // 目标步数 |
|
|
stepTarget: 10000, // 目标步数 |
|
|
myChart: null, |
|
|
myChart: null, |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
onLoad() { |
|
|
onLoad() { |
|
|
|
|
|
this.stepsNum=uni.getStorageSync('coinTypeInfo').system_total_steps |
|
|
|
|
|
this.stepsNum=parseInt(this.stepsNum) |
|
|
|
|
|
this.stepsNumString=uni.getStorageSync('coinTypeInfo').system_total_steps |
|
|
this.baseURL = constant.BASE_URL |
|
|
this.baseURL = constant.BASE_URL |
|
|
this.getbanner(); |
|
|
this.getbanner(); |
|
|
this.noticeList(); |
|
|
this.noticeList(); |
|
|
|
|
|
this.getUserInfoBalance(); |
|
|
}, |
|
|
}, |
|
|
onShow() { |
|
|
onShow() { |
|
|
this.getSept() |
|
|
// this.getSept() |
|
|
// 生成播放器队列对象 |
|
|
// 生成播放器队列对象 |
|
|
// this.videoList.forEach((item, index) => { |
|
|
// this.videoList.forEach((item, index) => { |
|
|
// const VideoPlayer = uni.createVideoContext(`video-${index}`, this) |
|
|
// const VideoPlayer = uni.createVideoContext(`video-${index}`, this) |
|
@ -171,13 +187,29 @@ |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
// 获取用户余额信息 |
|
|
|
|
|
getUserInfoBalance() { |
|
|
|
|
|
api.userAccount().then(res => { |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
// 捐步 |
|
|
|
|
|
closeConfirm() { |
|
|
|
|
|
this.$api.updateSteps({ |
|
|
|
|
|
steps: this.stepsNumString |
|
|
|
|
|
}).then(res => { |
|
|
|
|
|
this.$api.receivStepsAward().then(res => { |
|
|
|
|
|
uni.$u.toast(this.$t("markets").Succeeded) |
|
|
|
|
|
this.closeModalShow=false |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
// 开启计步服务 |
|
|
// 开启计步服务 |
|
|
getSept() { |
|
|
getSept() { |
|
|
//整个应用设置一次即可,停止计步后需重新调用,所有接口调用必须先开启计步服务 |
|
|
//整个应用设置一次即可,停止计步后需重新调用,所有接口调用必须先开启计步服务 |
|
|
StepCounter.startStep((res) => { |
|
|
StepCounter.startStep((res) => { |
|
|
console.log(123123) |
|
|
console.log(res, '步数res'); |
|
|
console.log(res,'步数res'); |
|
|
this.stepCount = res.stepCount |
|
|
this.stepCount=res.stepCount |
|
|
|
|
|
//res.stepCount 当天累计步数 |
|
|
//res.stepCount 当天累计步数 |
|
|
}, (res) => { |
|
|
}, (res) => { |
|
|
console.log(res) |
|
|
console.log(res) |
|
@ -185,12 +217,12 @@ |
|
|
if (callback == "stepStatus") { |
|
|
if (callback == "stepStatus") { |
|
|
let status = res.status; |
|
|
let status = res.status; |
|
|
if (1 == status) { |
|
|
if (1 == status) { |
|
|
//安卓gps定位服务未开 |
|
|
//安卓gps定位服务未开 |
|
|
console.log('安卓gps定位服务未开') |
|
|
console.log('安卓gps定位服务未开') |
|
|
} else if (2 == status || 5 == status) { |
|
|
} else if (2 == status || 5 == status) { |
|
|
//权限被禁止 |
|
|
//权限被禁止 |
|
|
//this.gotoSettings() |
|
|
//this.gotoSettings() |
|
|
console.log('权限被禁止') |
|
|
console.log('权限被禁止') |
|
|
} else if (3 == status) { |
|
|
} else if (3 == status) { |
|
|
//允许运动权限(处理安卓权限问题) |
|
|
//允许运动权限(处理安卓权限问题) |
|
|
//this.startStep() |
|
|
//this.startStep() |
|
@ -200,21 +232,21 @@ |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
startStep(){ |
|
|
startStep() { |
|
|
//获取本次记录的步数,重启应用后需要重新开始记录 |
|
|
//获取本次记录的步数,重启应用后需要重新开始记录 |
|
|
StepCounter.getRecordStep((res) => { |
|
|
StepCounter.getRecordStep((res) => { |
|
|
//res.result == true 获取记录成功,否则错误 |
|
|
//res.result == true 获取记录成功,否则错误 |
|
|
//res.stepCount 记录的步数 |
|
|
//res.stepCount 记录的步数 |
|
|
console.log(res.result) |
|
|
console.log(res.result) |
|
|
this.stepResult=res.result |
|
|
this.stepResult = res.result |
|
|
console.log(res.stepCount) |
|
|
console.log(res.stepCount) |
|
|
this.stepResult=res.stepCount |
|
|
this.stepResult = res.stepCount |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
resStartStep(){ |
|
|
resStartStep() { |
|
|
//如需重新记录,再次调用此接口即可 |
|
|
//如需重新记录,再次调用此接口即可 |
|
|
StepCounter.startRecordStep((res) => { |
|
|
StepCounter.startRecordStep((res) => { |
|
|
//res.result == true 开始记录成功,否则错误 |
|
|
//res.result == true 开始记录成功,否则错误 |
|
|
console.log(res.result) |
|
|
console.log(res.result) |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
@ -266,6 +298,7 @@ |
|
|
|
|
|
|
|
|
// 公告 |
|
|
// 公告 |
|
|
noticeList() { |
|
|
noticeList() { |
|
|
|
|
|
|
|
|
api.noticeList({}).then(res => { |
|
|
api.noticeList({}).then(res => { |
|
|
this.notice = res; |
|
|
this.notice = res; |
|
|
for (var i = 0; i < res.length; i++) { |
|
|
for (var i = 0; i < res.length; i++) { |
|
@ -280,10 +313,12 @@ |
|
|
api.indexBanner({ |
|
|
api.indexBanner({ |
|
|
'mark': 'APP_INDEX' |
|
|
'mark': 'APP_INDEX' |
|
|
}).then(res => { |
|
|
}).then(res => { |
|
|
this.videoList = res |
|
|
|
|
|
for (var i = 0; i < res.length; i++) { |
|
|
for (var i = 0; i < res.length; i++) { |
|
|
this.swiperList.push(this.baseURL + res[i].adImgPath) |
|
|
this.swiperList.push(this.baseURL + res[i].adImgPath) |
|
|
} |
|
|
} |
|
|
|
|
|
this.videoList = res |
|
|
|
|
|
// banner图按照接口返回的顺序 但是底部视频倒序放 |
|
|
|
|
|
this.videoList = this.videoList.reverse(); |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
// 弹出语言选择框 |
|
|
// 弹出语言选择框 |
|
@ -324,7 +359,7 @@ |
|
|
* @param {*} data |
|
|
* @param {*} data |
|
|
*/ |
|
|
*/ |
|
|
playVideo(data) { |
|
|
playVideo(data) { |
|
|
this.videoUrl = data.url; |
|
|
this.videoUrl = data; |
|
|
this.videoShow = true; |
|
|
this.videoShow = true; |
|
|
videoPlayer.requestFullScreen({ |
|
|
videoPlayer.requestFullScreen({ |
|
|
direction: 0 |
|
|
direction: 0 |
|
@ -564,75 +599,91 @@ |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
.main { |
|
|
/deep/.u-popup__content { |
|
|
padding-bottom: 198rpx; // 避免底部TabBar盖住内容 |
|
|
background: #323045; |
|
|
|
|
|
|
|
|
|
|
|
.u-modal__title { |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.nav-head-H5{ |
|
|
.u-modal__content__text { |
|
|
position: fixed; |
|
|
text-align: center; |
|
|
top: 0rpx; |
|
|
} |
|
|
height: 112rpx; |
|
|
|
|
|
font-size: 36rpx; |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
background-color: #15141F; |
|
|
|
|
|
z-index: 8; |
|
|
|
|
|
border-bottom: 4rpx solid #323045; |
|
|
|
|
|
|
|
|
|
|
|
.serviceButton { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
width: 286rpx; |
|
|
|
|
|
height: 70rpx; |
|
|
|
|
|
line-height: 70rpx; |
|
|
|
|
|
border-radius: 90rpx; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
color: #F2FE8D !important; |
|
|
|
|
|
padding: 0; |
|
|
|
|
|
margin: 20rpx 180rpx 0 48rpx; |
|
|
|
|
|
vertical-align: top; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.languageBtn { |
|
|
/deep/ .u-modal__content__text { |
|
|
display: inline-block; |
|
|
color: #96959E !important; |
|
|
box-sizing: border-box; |
|
|
} |
|
|
width: 180rpx; |
|
|
|
|
|
position: relative; |
|
|
.main { |
|
|
margin: 38rpx 48rpx 0 0; |
|
|
padding-bottom: 198rpx; // 避免底部TabBar盖住内容 |
|
|
font-size: 24rpx; |
|
|
|
|
|
height: 36rpx; |
|
|
|
|
|
line-height: 36rpx; |
|
|
.nav-head-H5 { |
|
|
text-align: center; |
|
|
position: fixed; |
|
|
padding-left: 12rpx; |
|
|
|
|
|
|
|
|
|
|
|
&::before { |
|
|
|
|
|
display: block; |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
content: ''; |
|
|
|
|
|
background-image: url(../../static/home/map.png); |
|
|
|
|
|
background-repeat: no-repeat; |
|
|
|
|
|
background-size: 36rpx; |
|
|
|
|
|
width: 36rpx; |
|
|
|
|
|
height: 36rpx; |
|
|
|
|
|
top: 0rpx; |
|
|
top: 0rpx; |
|
|
left: 0rpx; |
|
|
height: 112rpx; |
|
|
} |
|
|
font-size: 36rpx; |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
background-color: #15141F; |
|
|
|
|
|
z-index: 8; |
|
|
|
|
|
border-bottom: 4rpx solid #323045; |
|
|
|
|
|
|
|
|
&::after { |
|
|
.serviceButton { |
|
|
display: block; |
|
|
display: inline-block; |
|
|
position: absolute; |
|
|
width: 286rpx; |
|
|
content: ''; |
|
|
height: 70rpx; |
|
|
background-image: url(../../static/home/pull-down.png); |
|
|
line-height: 70rpx; |
|
|
background-repeat: no-repeat; |
|
|
border-radius: 90rpx; |
|
|
background-size: 24rpx; |
|
|
font-size: 28rpx; |
|
|
width: 24rpx; |
|
|
color: #F2FE8D !important; |
|
|
height: 24rpx; |
|
|
padding: 0; |
|
|
top: 12rpx; |
|
|
margin: 20rpx 180rpx 0 48rpx; |
|
|
right: 0rpx; |
|
|
vertical-align: top; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
.languageBtn { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
width: 180rpx; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
margin: 38rpx 48rpx 0 0; |
|
|
|
|
|
font-size: 24rpx; |
|
|
|
|
|
height: 36rpx; |
|
|
|
|
|
line-height: 36rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
padding-left: 12rpx; |
|
|
|
|
|
|
|
|
|
|
|
&::before { |
|
|
|
|
|
display: block; |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
content: ''; |
|
|
|
|
|
background-image: url(../../static/home/map.png); |
|
|
|
|
|
background-repeat: no-repeat; |
|
|
|
|
|
background-size: 36rpx; |
|
|
|
|
|
width: 36rpx; |
|
|
|
|
|
height: 36rpx; |
|
|
|
|
|
top: 0rpx; |
|
|
|
|
|
left: 0rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
&::after { |
|
|
|
|
|
display: block; |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
content: ''; |
|
|
|
|
|
background-image: url(../../static/home/pull-down.png); |
|
|
|
|
|
background-repeat: no-repeat; |
|
|
|
|
|
background-size: 24rpx; |
|
|
|
|
|
width: 24rpx; |
|
|
|
|
|
height: 24rpx; |
|
|
|
|
|
top: 12rpx; |
|
|
|
|
|
right: 0rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.nav-head { |
|
|
.nav-head { |
|
|
position: fixed; |
|
|
position: fixed; |
|
|