|
|
|
|
@ -1,9 +1,11 @@
|
|
|
|
|
<template>
|
|
|
|
|
<view class="container">
|
|
|
|
|
<NavBar title="选择机票" bgColor="#F0F4F9" isBack></NavBar>
|
|
|
|
|
<NavBar :title="`选择${type=='airTicket'?'机票':'火车票'}`" bgColor="#F0F4F9" isBack></NavBar>
|
|
|
|
|
|
|
|
|
|
<view class="content">
|
|
|
|
|
<view class="app-card" v-for="(item, index) in appList" :key="index" @click="handleItemClick(item)">
|
|
|
|
|
<template v-for="(item, index) in appList" :key="index">
|
|
|
|
|
<view class="app-card" v-if="(type=='airTicket'&&item.airPath)||(type=='trainTicket'&&item.trainPath)"
|
|
|
|
|
@click="handleItemClick(item)">
|
|
|
|
|
<!-- Background Watermark -->
|
|
|
|
|
<image class="watermark" :src="item.bgImage" mode="heightFix"></image>
|
|
|
|
|
|
|
|
|
|
@ -22,52 +24,72 @@
|
|
|
|
|
|
|
|
|
|
<uni-icons type="right" size="18" color="#CCCCCC"></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
import NavBar from '@/components/nav-bar/nav-bar.vue';
|
|
|
|
|
import { reactive, toRefs, getCurrentInstance } from 'vue';
|
|
|
|
|
import { onLoad } from '@dcloudio/uni-app';
|
|
|
|
|
import { util } from '@/utils/common.js'; // Assuming util exists for navigation, similar to previous tasks
|
|
|
|
|
import {
|
|
|
|
|
reactive,
|
|
|
|
|
toRefs,
|
|
|
|
|
getCurrentInstance,
|
|
|
|
|
ref
|
|
|
|
|
} from 'vue';
|
|
|
|
|
import {
|
|
|
|
|
onLoad
|
|
|
|
|
} from '@dcloudio/uni-app';
|
|
|
|
|
import {
|
|
|
|
|
util
|
|
|
|
|
} from '@/utils/common.js'; // Assuming util exists for navigation, similar to previous tasks
|
|
|
|
|
const {
|
|
|
|
|
appContext,
|
|
|
|
|
proxy
|
|
|
|
|
} = getCurrentInstance();
|
|
|
|
|
|
|
|
|
|
const appList = [
|
|
|
|
|
{
|
|
|
|
|
let type = ref('airTicket')
|
|
|
|
|
|
|
|
|
|
const appList = [{
|
|
|
|
|
name: '去哪儿APP',
|
|
|
|
|
logo: '/static/image/other/tickets-app/qvnar-logo.png',
|
|
|
|
|
bgImage: '/static/image/other/tickets-app/qvnar-bg.png',
|
|
|
|
|
path: '/pages/other/air-tickets/qunar-air-tickets/qunar-air-tickets',
|
|
|
|
|
airPath: '/pages/other/air-tickets/qunar-air-tickets/qunar-air-tickets',
|
|
|
|
|
trainPath: "",
|
|
|
|
|
isHot: false
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '飞猪APP',
|
|
|
|
|
logo: '/static/image/other/tickets-app/fliggy-logo.png',
|
|
|
|
|
bgImage: '/static/image/other/tickets-app/fliggy-bg.png',
|
|
|
|
|
path: '/pages/other/air-tickets/fliggy-air-tickets/fliggy-air-tickets',
|
|
|
|
|
airPath: '/pages/other/air-tickets/fliggy-air-tickets/fliggy-air-tickets',
|
|
|
|
|
trainPath: "",
|
|
|
|
|
isHot: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '携程APP',
|
|
|
|
|
logo: '/static/image/other/tickets-app/trip-com-logo.png',
|
|
|
|
|
bgImage: '/static/image/other/tickets-app/trip-com-bg.png',
|
|
|
|
|
path: '/pages/other/air-tickets/ctrip-air-tickets/ctrip-air-tickets',
|
|
|
|
|
airPath: '/pages/other/air-tickets/ctrip-air-tickets/ctrip-air-tickets',
|
|
|
|
|
trainPath: "",
|
|
|
|
|
isHot: false
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// name: '铁路12306',
|
|
|
|
|
// logo: '/static/image/other/tickets-app/12306-logo.png',
|
|
|
|
|
// bgImage: '/static/image/other/tickets-app/12306-bg.png',
|
|
|
|
|
// path: '/pages/other/train-tickets/12306-tickets/12306-tickets',
|
|
|
|
|
// isHot: false
|
|
|
|
|
// }
|
|
|
|
|
{
|
|
|
|
|
name: '铁路12306',
|
|
|
|
|
logo: '/static/image/other/tickets-app/12306-logo.png',
|
|
|
|
|
bgImage: '/static/image/other/tickets-app/12306-bg.png',
|
|
|
|
|
airPath: '',
|
|
|
|
|
trainPath: "/pages/other/train-tickets/12306-tickets/12306-tickets",
|
|
|
|
|
isHot: false
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
onLoad((option) => {
|
|
|
|
|
const appType = option.type
|
|
|
|
|
if (appType == "trainTicket") {
|
|
|
|
|
type.value = "trainTicket"
|
|
|
|
|
} else {
|
|
|
|
|
type.value = "airTicket"
|
|
|
|
|
// 进入机票页面埋点
|
|
|
|
|
proxy.$apiUserEvent('all', {
|
|
|
|
|
type: 'event',
|
|
|
|
|
@ -75,11 +97,27 @@ onLoad((option) => {
|
|
|
|
|
prefix: '.uni.other.',
|
|
|
|
|
value: "机票"
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 跳转火车票/飞机票页面
|
|
|
|
|
*/
|
|
|
|
|
const handleItemClick = (item) => {
|
|
|
|
|
if (item.path) {
|
|
|
|
|
util.goPage(item.path)
|
|
|
|
|
if (type.value == 'trainTicket') {
|
|
|
|
|
if (item.trainPath) {
|
|
|
|
|
util.goPage(item.trainPath)
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '开发中',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (item.airPath) {
|
|
|
|
|
util.goPage(item.airPath)
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '开发中',
|
|
|
|
|
@ -88,6 +126,7 @@ const handleItemClick = (item) => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
.container {
|
|
|
|
|
|