You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
5.0 KiB
216 lines
5.0 KiB
<template>
|
|
<view style="width: 100vw;">
|
|
<swiper class="swiper" :current="currentIndex" :vertical="true" @change="handleSwiperChange">
|
|
<swiper-item v-for="(image, index) in swiperImages" :key="index">
|
|
<view class="swiper-item" :style="{ backgroundImage: `url(${image})` }">
|
|
<template v-if="index === 0">
|
|
<image src="https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/img7-1.png" mode="widthFix"
|
|
class="img7-1" @click="$refs.customPopup.open()"></image>
|
|
<image src="https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/img7-2.png" mode="widthFix"
|
|
class="img7-2" style="top: 620rpx;" @click="$refs.customPopups.open()"></image>
|
|
|
|
<view class="bgm-box flex-between">
|
|
<view :class="{'bgm-active': index == bgmIndex}" v-for="(item,index) in bgmList" :key="index" @click="bgmIndex = index">{{item}}</view>
|
|
</view>
|
|
|
|
<image src="https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/img7-btn.png" mode="widthFix"
|
|
class="img7-btn" @click="confirm"></image>
|
|
</template>
|
|
</view>
|
|
</swiper-item>
|
|
</swiper>
|
|
|
|
<!-- 输入弹框 -->
|
|
<uni-popup ref="customPopup" type="center">
|
|
<view class="popup-content">
|
|
<textarea v-model="inputValue" class="input-area" placeholder="我的星槎"
|
|
maxlength="20"></textarea>
|
|
|
|
<image src="https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/confirm-btn.png" mode="widthFix" @click="submit" class="confirm-btn"></image>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<!-- 输入弹框 -->
|
|
<uni-popup ref="customPopups" type="center">
|
|
<view class="popup-content">
|
|
<textarea v-model="inputValues" class="input-area" placeholder="我的目的地"
|
|
maxlength="20"></textarea>
|
|
|
|
<image src="https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/confirm-btn.png" mode="widthFix" @click="submit" class="confirm-btn"></image>
|
|
</view>
|
|
</uni-popup>
|
|
|
|
<NavMenu :nav-index="navIndex" @jump-to-page="handleJumpToPage" />
|
|
|
|
<MusicControl />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import MusicControl from '@/components/MusicControl.vue';
|
|
import NavMenu from '../components/NavMenu.vue';
|
|
export default {
|
|
components: {
|
|
MusicControl,
|
|
NavMenu
|
|
},
|
|
data() {
|
|
return {
|
|
currentIndex: 0,
|
|
navIndex: 5,
|
|
swiperImages: [
|
|
'https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter5/img7.png',
|
|
],
|
|
inputValue: '',
|
|
inputValues: '',
|
|
bgmList: [
|
|
'古典',
|
|
'民谣',
|
|
'电子',
|
|
'自然白噪音'
|
|
],
|
|
bgmIndex: null
|
|
}
|
|
},
|
|
methods: {
|
|
handleJumpToPage(idx) {
|
|
this.navIndex = idx
|
|
if(idx == this.swiperImages.length - 1) this.navIndex = idx + 1
|
|
},
|
|
handleSwiperChange(e) {
|
|
this.currentIndex = e.detail.current;
|
|
},
|
|
submit() {
|
|
this.$refs.customPopup.close()
|
|
this.$refs.customPopups.close()
|
|
},
|
|
getImageUrl(path) {
|
|
if (typeof path === 'object') {
|
|
path = path.url;
|
|
}
|
|
return `https://static.ticket.sz-trip.com/epicSoul/xrcc/chapter6/${path}`;
|
|
},
|
|
confirm() {
|
|
if (!this.inputValue.trim() || !this.inputValues.trim() || this.bgmIndex == null) {
|
|
uni.showToast({
|
|
title: '请先填写或选择您的日志信息',
|
|
icon: 'none'
|
|
});
|
|
}else {
|
|
let data = {
|
|
text1: this.inputValue.trim(),
|
|
text2: this.inputValues.trim(),
|
|
imgSrc: this.getImageUrl(`img${this.bgmIndex + 1}s.png`),
|
|
imgTitle: this.bgmList[this.bgmIndex]
|
|
}
|
|
this.gotoPath('/xrcc/chapter7/index?data=' + JSON.stringify(data))
|
|
}
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.swiper {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
}
|
|
|
|
.swiper-item {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
background-size: 100% 100%;
|
|
background-color: #000;
|
|
background-repeat: no-repeat;
|
|
position: relative;
|
|
|
|
.btn-img {
|
|
position: absolute;
|
|
width: 149.8rpx;
|
|
bottom: 290rpx;
|
|
left: 84rpx;
|
|
}
|
|
|
|
.img7-1, .img7-2 {
|
|
width: 437.67rpx;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
margin: 0 auto;
|
|
top: 365rpx;
|
|
}
|
|
|
|
.bgm-box {
|
|
width: 437.67rpx;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 650rpx;
|
|
margin: 0 auto;
|
|
flex-wrap: wrap;
|
|
|
|
view {
|
|
width: 207.89rpx;
|
|
line-height: 42.77rpx;
|
|
border-radius: 2rpx;
|
|
text-align: center;
|
|
color: #fff;
|
|
font-size: 20rpx;
|
|
border: 1rpx solid #fff;
|
|
}
|
|
view:nth-child(n+3) {
|
|
margin-top: 17rpx;
|
|
}
|
|
|
|
.bgm-active {
|
|
border-color: #00C48C;
|
|
color: #00C48C;
|
|
}
|
|
}
|
|
|
|
.img7-btn {
|
|
width: 439.66rpx;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 244rpx;
|
|
margin: 0 auto;
|
|
}
|
|
}
|
|
|
|
.swiper-img {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
}
|
|
|
|
.popup-content {
|
|
width: 85vw;
|
|
background-color: #fff;
|
|
border-radius: 16rpx;
|
|
padding: 40rpx 30rpx;
|
|
box-sizing: border-box;
|
|
|
|
.input-area {
|
|
width: 100%;
|
|
min-height: 180rpx;
|
|
padding: 20rpx;
|
|
border: 2rpx solid #747c8e;
|
|
border-radius: 8rpx;
|
|
font-size: 28rpx;
|
|
resize: none;
|
|
box-sizing: border-box;
|
|
margin-bottom: 15rpx;
|
|
}
|
|
|
|
.word-count {
|
|
text-align: right;
|
|
font-size: 24rpx;
|
|
color: #999;
|
|
margin-bottom: 35rpx;
|
|
}
|
|
|
|
.confirm-btn {
|
|
width: 100%;
|
|
}
|
|
}
|
|
</style>
|