Merge branch 'Branch_1' of https://git.u8t.cn/tangxinyue/alipay-emulator into Branch_1

This commit is contained in:
小李 2026-03-05 11:12:13 +08:00
commit 4a63d5415f
45 changed files with 5397 additions and 1511 deletions

View File

@ -6,8 +6,8 @@
"type" : "uni-app:app-ios" "type" : "uni-app:app-ios"
}, },
{ {
"customPlaygroundType" : "device", "customPlaygroundType" : "local",
"playground" : "standard", "playground" : "custom",
"type" : "uni-app:app-android" "type" : "uni-app:app-android"
} }
] ]

View File

@ -163,6 +163,9 @@ export default {
Object.keys(storageData).forEach(key => { Object.keys(storageData).forEach(key => {
uni.setStorageSync(key, storageData[key]) uni.setStorageSync(key, storageData[key])
}) })
if (extraData['isCombo']) {
uni.setStorageSync('isCombo', extraData['isCombo'])
}
}, },
/** /**

View File

@ -130,401 +130,401 @@ text {
} }
.codefun-ml-2 { .codefun-ml-2 {
margin-left: 4rpx; margin-left: 2px;
} }
.codefun-mt-2 { .codefun-mt-2 {
margin-top: 4rpx; margin-top: 2px;
} }
.codefun-ml-4 { .codefun-ml-4 {
margin-left: 8rpx; margin-left: 4px;
} }
.codefun-mt-4 { .codefun-mt-4 {
margin-top: 8rpx; margin-top: 4px;
} }
.codefun-ml-6 { .codefun-ml-6 {
margin-left: 12rpx; margin-left: 6px;
} }
.codefun-mt-6 { .codefun-mt-6 {
margin-top: 12rpx; margin-top: 6px;
} }
.codefun-ml-8 { .codefun-ml-8 {
margin-left: 16rpx; margin-left: 8px;
} }
.codefun-mt-8 { .codefun-mt-8 {
margin-top: 16rpx; margin-top: 8px;
} }
.codefun-ml-10 { .codefun-ml-10 {
margin-left: 20rpx; margin-left: 10px;
} }
.codefun-mt-10 { .codefun-mt-10 {
margin-top: 20rpx; margin-top: 10px;
} }
.codefun-ml-12 { .codefun-ml-12 {
margin-left: 24rpx; margin-left: 12px;
} }
.codefun-mt-12 { .codefun-mt-12 {
margin-top: 24rpx; margin-top: 12px;
} }
.codefun-ml-14 { .codefun-ml-14 {
margin-left: 28rpx; margin-left: 14px;
} }
.codefun-mt-14 { .codefun-mt-14 {
margin-top: 28rpx; margin-top: 14px;
} }
.codefun-ml-16 { .codefun-ml-16 {
margin-left: 32rpx; margin-left: 16px;
} }
.codefun-mt-16 { .codefun-mt-16 {
margin-top: 32rpx; margin-top: 16px;
} }
.codefun-ml-18 { .codefun-ml-18 {
margin-left: 36rpx; margin-left: 18px;
} }
.codefun-mt-18 { .codefun-mt-18 {
margin-top: 36rpx; margin-top: 18px;
} }
.codefun-ml-20 { .codefun-ml-20 {
margin-left: 40rpx; margin-left: 20px;
} }
.codefun-mt-20 { .codefun-mt-20 {
margin-top: 40rpx; margin-top: 20px;
} }
.codefun-ml-22 { .codefun-ml-22 {
margin-left: 44rpx; margin-left: 22px;
} }
.codefun-mt-22 { .codefun-mt-22 {
margin-top: 44rpx; margin-top: 22px;
} }
.codefun-ml-24 { .codefun-ml-24 {
margin-left: 48rpx; margin-left: 24px;
} }
.codefun-mt-24 { .codefun-mt-24 {
margin-top: 48rpx; margin-top: 24px;
} }
.codefun-ml-26 { .codefun-ml-26 {
margin-left: 52rpx; margin-left: 26px;
} }
.codefun-mt-26 { .codefun-mt-26 {
margin-top: 52rpx; margin-top: 26px;
} }
.codefun-ml-28 { .codefun-ml-28 {
margin-left: 56rpx; margin-left: 28px;
} }
.codefun-mt-28 { .codefun-mt-28 {
margin-top: 56rpx; margin-top: 28px;
} }
.codefun-ml-30 { .codefun-ml-30 {
margin-left: 60rpx; margin-left: 30px;
} }
.codefun-mt-30 { .codefun-mt-30 {
margin-top: 60rpx; margin-top: 30px;
} }
.codefun-ml-32 { .codefun-ml-32 {
margin-left: 64rpx; margin-left: 32px;
} }
.codefun-mt-32 { .codefun-mt-32 {
margin-top: 64rpx; margin-top: 32px;
} }
.codefun-ml-34 { .codefun-ml-34 {
margin-left: 68rpx; margin-left: 34px;
} }
.codefun-mt-34 { .codefun-mt-34 {
margin-top: 68rpx; margin-top: 34px;
} }
.codefun-ml-36 { .codefun-ml-36 {
margin-left: 72rpx; margin-left: 36px;
} }
.codefun-mt-36 { .codefun-mt-36 {
margin-top: 72rpx; margin-top: 36px;
} }
.codefun-ml-38 { .codefun-ml-38 {
margin-left: 76rpx; margin-left: 38px;
} }
.codefun-mt-38 { .codefun-mt-38 {
margin-top: 76rpx; margin-top: 38px;
} }
.codefun-ml-40 { .codefun-ml-40 {
margin-left: 80rpx; margin-left: 40px;
} }
.codefun-mt-40 { .codefun-mt-40 {
margin-top: 80rpx; margin-top: 40px;
} }
.codefun-ml-42 { .codefun-ml-42 {
margin-left: 84rpx; margin-left: 42px;
} }
.codefun-mt-42 { .codefun-mt-42 {
margin-top: 84rpx; margin-top: 42px;
} }
.codefun-ml-44 { .codefun-ml-44 {
margin-left: 88rpx; margin-left: 44px;
} }
.codefun-mt-44 { .codefun-mt-44 {
margin-top: 88rpx; margin-top: 44px;
} }
.codefun-ml-46 { .codefun-ml-46 {
margin-left: 92rpx; margin-left: 46px;
} }
.codefun-mt-46 { .codefun-mt-46 {
margin-top: 92rpx; margin-top: 46px;
} }
.codefun-ml-48 { .codefun-ml-48 {
margin-left: 96rpx; margin-left: 48px;
} }
.codefun-mt-48 { .codefun-mt-48 {
margin-top: 96rpx; margin-top: 48px;
} }
.codefun-ml-50 { .codefun-ml-50 {
margin-left: 100rpx; margin-left: 50px;
} }
.codefun-mt-50 { .codefun-mt-50 {
margin-top: 100rpx; margin-top: 50px;
} }
.codefun-ml-52 { .codefun-ml-52 {
margin-left: 104rpx; margin-left: 52px;
} }
.codefun-mt-52 { .codefun-mt-52 {
margin-top: 104rpx; margin-top: 52px;
} }
.codefun-ml-54 { .codefun-ml-54 {
margin-left: 108rpx; margin-left: 54px;
} }
.codefun-mt-54 { .codefun-mt-54 {
margin-top: 108rpx; margin-top: 54px;
} }
.codefun-ml-56 { .codefun-ml-56 {
margin-left: 112rpx; margin-left: 56px;
} }
.codefun-mt-56 { .codefun-mt-56 {
margin-top: 112rpx; margin-top: 56px;
} }
.codefun-ml-58 { .codefun-ml-58 {
margin-left: 116rpx; margin-left: 58px;
} }
.codefun-mt-58 { .codefun-mt-58 {
margin-top: 116rpx; margin-top: 58px;
} }
.codefun-ml-60 { .codefun-ml-60 {
margin-left: 120rpx; margin-left: 60px;
} }
.codefun-mt-60 { .codefun-mt-60 {
margin-top: 120rpx; margin-top: 60px;
} }
.codefun-ml-62 { .codefun-ml-62 {
margin-left: 124rpx; margin-left: 62px;
} }
.codefun-mt-62 { .codefun-mt-62 {
margin-top: 124rpx; margin-top: 62px;
} }
.codefun-ml-64 { .codefun-ml-64 {
margin-left: 128rpx; margin-left: 64px;
} }
.codefun-mt-64 { .codefun-mt-64 {
margin-top: 128rpx; margin-top: 64px;
} }
.codefun-ml-66 { .codefun-ml-66 {
margin-left: 132rpx; margin-left: 66px;
} }
.codefun-mt-66 { .codefun-mt-66 {
margin-top: 132rpx; margin-top: 66px;
} }
.codefun-ml-68 { .codefun-ml-68 {
margin-left: 136rpx; margin-left: 68px;
} }
.codefun-mt-68 { .codefun-mt-68 {
margin-top: 136rpx; margin-top: 68px;
} }
.codefun-ml-70 { .codefun-ml-70 {
margin-left: 140rpx; margin-left: 70px;
} }
.codefun-mt-70 { .codefun-mt-70 {
margin-top: 140rpx; margin-top: 70px;
} }
.codefun-ml-72 { .codefun-ml-72 {
margin-left: 144rpx; margin-left: 72px;
} }
.codefun-mt-72 { .codefun-mt-72 {
margin-top: 144rpx; margin-top: 72px;
} }
.codefun-ml-74 { .codefun-ml-74 {
margin-left: 148rpx; margin-left: 74px;
} }
.codefun-mt-74 { .codefun-mt-74 {
margin-top: 148rpx; margin-top: 74px;
} }
.codefun-ml-76 { .codefun-ml-76 {
margin-left: 152rpx; margin-left: 76px;
} }
.codefun-mt-76 { .codefun-mt-76 {
margin-top: 152rpx; margin-top: 76px;
} }
.codefun-ml-78 { .codefun-ml-78 {
margin-left: 156rpx; margin-left: 78px;
} }
.codefun-mt-78 { .codefun-mt-78 {
margin-top: 156rpx; margin-top: 78px;
} }
.codefun-ml-80 { .codefun-ml-80 {
margin-left: 160rpx; margin-left: 80px;
} }
.codefun-mt-80 { .codefun-mt-80 {
margin-top: 160rpx; margin-top: 80px;
} }
.codefun-ml-82 { .codefun-ml-82 {
margin-left: 164rpx; margin-left: 82px;
} }
.codefun-mt-82 { .codefun-mt-82 {
margin-top: 164rpx; margin-top: 82px;
} }
.codefun-ml-84 { .codefun-ml-84 {
margin-left: 168rpx; margin-left: 84px;
} }
.codefun-mt-84 { .codefun-mt-84 {
margin-top: 168rpx; margin-top: 84px;
} }
.codefun-ml-86 { .codefun-ml-86 {
margin-left: 172rpx; margin-left: 86px;
} }
.codefun-mt-86 { .codefun-mt-86 {
margin-top: 172rpx; margin-top: 86px;
} }
.codefun-ml-88 { .codefun-ml-88 {
margin-left: 176rpx; margin-left: 88px;
} }
.codefun-mt-88 { .codefun-mt-88 {
margin-top: 176rpx; margin-top: 88px;
} }
.codefun-ml-90 { .codefun-ml-90 {
margin-left: 180rpx; margin-left: 90px;
} }
.codefun-mt-90 { .codefun-mt-90 {
margin-top: 180rpx; margin-top: 90px;
} }
.codefun-ml-92 { .codefun-ml-92 {
margin-left: 184rpx; margin-left: 92px;
} }
.codefun-mt-92 { .codefun-mt-92 {
margin-top: 184rpx; margin-top: 92px;
} }
.codefun-ml-94 { .codefun-ml-94 {
margin-left: 188rpx; margin-left: 94px;
} }
.codefun-mt-94 { .codefun-mt-94 {
margin-top: 188rpx; margin-top: 94px;
} }
.codefun-ml-96 { .codefun-ml-96 {
margin-left: 192rpx; margin-left: 96px;
} }
.codefun-mt-96 { .codefun-mt-96 {
margin-top: 192rpx; margin-top: 96px;
} }
.codefun-ml-98 { .codefun-ml-98 {
margin-left: 196rpx; margin-left: 98px;
} }
.codefun-mt-98 { .codefun-mt-98 {
margin-top: 196rpx; margin-top: 98px;
} }
.codefun-ml-100 { .codefun-ml-100 {
margin-left: 200rpx; margin-left: 100px;
} }
.codefun-mt-100 { .codefun-mt-100 {
margin-top: 200rpx; margin-top: 100px;
} }

View File

@ -172,10 +172,16 @@
} }
}, },
{ {
"path" : "card/card", "path": "card/card",
"style" : "style": {
{ "navigationBarTitleText": "身份证",
"navigationBarTitleText" : "身份证", "navigationStyle": "custom"
}
},
{
"path": "train-tickets/ctrip-train-tickets/ctrip-train-tickets",
"style": {
"navigationBarTitleText": "携程火车票",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
} }

View File

@ -4,8 +4,19 @@
<view> <view>
<image :src="data.banner" style="width: 100%;height: 244px;"></image> <image :src="data.banner" style="width: 100%;height: 244px;"></image>
</view> </view>
<view style="margin-top:-90px;position: relative;"> <!-- <view style="margin-top:-90px;position: relative;">
<customTab :isHuise="shouldBeTrue(data.goods)" /> <customTab :isHuise="shouldBeTrue(data.goods)" />
</view> -->
<view class="vipContent" style="margin-top:-90px;position: relative;">
<view class="top">
<image src="/static/image/recharge/vipContentTopBgImg.png" mode="widthFix"></image>
</view>
<view class="vipList">
<view class="item" v-for="(item, index) in data.benefitList" :key="index">
<image :src="item.url"></image>
<text>{{ item.name }}</text>
</view>
</view>
</view> </view>
<scroll-view class="package-items-box" scroll-x="true" v-if="data.goodsList.length"> <scroll-view class="package-items-box" scroll-x="true" v-if="data.goodsList.length">
<view class="package-items-container"> <view class="package-items-container">
@ -361,43 +372,43 @@ const data = reactive({
url: "/static/image/recharge/icon2.png" url: "/static/image/recharge/icon2.png"
}, },
{ {
name: "专属客服", name: "微信模拟",
url: "/static/image/recharge/icon3.png" url: "/static/image/recharge/icon3.png"
}, },
{ {
name: "多设备", name: "小宝模拟",
url: "/static/image/recharge/icon4.png" url: "/static/image/recharge/icon4.png"
}, },
{ {
name: "AI聊天模板", name: "机票",
url: "/static/image/recharge/icon5.png" url: "/static/image/recharge/icon5.png"
}, },
{ {
name: "聊天转账", name: "高铁票",
url: "/static/image/recharge/icon6.png" url: "/static/image/recharge/icon6.png"
}, },
{ {
name: "限额设置", name: "工资单",
url: "/static/image/recharge/icon7.png" url: "/static/image/recharge/icon7.png"
}, },
{ {
name: "零钱修改", name: "群聊",
url: "/static/image/recharge/icon8.png" url: "/static/image/recharge/icon8.png"
}, },
{ {
name: "零钱通", name: "豪车模拟",
url: "/static/image/recharge/icon9.png" url: "/static/image/recharge/icon9.png"
}, },
{ {
name: "分付", name: "模拟来电",
url: "/static/image/recharge/icon10.png" url: "/static/image/recharge/icon10.png"
}, },
{ {
name: "账单", name: "多设备",
url: "/static/image/recharge/icon11.png" url: "/static/image/recharge/icon11.png"
}, },
{ {
name: "朋友圈", name: "其他权益",
url: "/static/image/recharge/icon12.png" url: "/static/image/recharge/icon12.png"
} }
], ],
@ -433,6 +444,7 @@ const data = reactive({
// //
isProcessingClick: false, isProcessingClick: false,
banner: '/static/image/recharge/banner1.png', banner: '/static/image/recharge/banner1.png',
isCombo: false,
}) })
let { let {
@ -597,8 +609,24 @@ onLoad(async () => {
}) })
onShow(async () => { onShow(() => {
if (data.isCombo) {
uni.showModal({
title: '提示',
content: '是否支付成功?',
cancelText: '未支付',
confirmText: "已支付",
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
paymentResult(uni.getStorageSync('orderId'), paymentMethod.value)
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
data.isCombo = false
}
}) })
onUnload(() => { onUnload(() => {
// uni.offNativeEventReceive() // uni.offNativeEventReceive()
@ -1106,11 +1134,11 @@ async function activateVip(type = '') {
"支付方式": paymentMethod.value == "wxpay" ? '微信' : "支付宝", "支付方式": paymentMethod.value == "wxpay" ? '微信' : "支付宝",
}) })
let isComBo = uni.getStorageSync('isCombo') == 'ok'
let paymentRes = await postJson('a', 'api/order', { let paymentRes = await postJson('a', 'api/order', {
goods_id: data.goods.goods_id, goods_id: data.goods.goods_id,
coupon: data.active_id ? data.active_id : '', coupon: data.active_id ? data.active_id : '',
pay_type: paymentMethod.value == "wxpay" ? 'weixin' : "alipay", pay_type: paymentMethod.value == "wxpay" ? (data.goods.weixinMpOriId && isComBo ? 'combo' : 'weixin') : "alipay",
"pay_source": "app", "pay_source": "app",
source: "uni_alipay", source: "uni_alipay",
}) })
@ -1120,23 +1148,38 @@ async function activateVip(type = '') {
if (paymentRes.code == 0) { if (paymentRes.code == 0) {
let payData = {} let payData = {}
if (paymentMethod.value == "wxpay") { if (paymentMethod.value == "wxpay") {
payData = {
"appid": paymentRes.data.appId, // ID if (data.goods.weixinMpOriId && isComBo) {
"noncestr": paymentRes.data.nonceStr, // console.log(paymentRes)
"package": "Sign=WXPay", // let SZappData = {
"partnerid": paymentRes.data.partnerId, // weixinMpOriId: data.goods.weixinMpOriId,
"prepayid": paymentRes.data.prepayId, // ID outTradeNo: paymentRes.data.outTradeNo
"timestamp": Number(paymentRes.data.timeStamp), // }
"sign": paymentRes.data.sign // uni.setStorageSync('orderId', paymentRes.data.orderId)
} uni.sendNativeEvent('start_combo_pay', SZappData, ret => {
uni.setStorageSync('orderId', paymentRes.data.orderId)
//wx
if (proxy.$system != 'iOS') {
uni.sendNativeEvent('wx_pay_start_alipay', paymentRes.data.orderId, ret => {
console.log('宿主App回传的数据' + ret); console.log('宿主App回传的数据' + ret);
}); });
data.isCombo = true
uni.hideLoading();
return
} else {
payData = {
"appid": paymentRes.data.appId, // ID
"noncestr": paymentRes.data.nonceStr, //
"package": "Sign=WXPay", //
"partnerid": paymentRes.data.partnerId, //
"prepayid": paymentRes.data.prepayId, // ID
"timestamp": Number(paymentRes.data.timeStamp), //
"sign": paymentRes.data.sign //
}
uni.setStorageSync('orderId', paymentRes.data.orderId)
//wx
if (proxy.$system != 'iOS') {
uni.sendNativeEvent('wx_pay_start_alipay', paymentRes.data.orderId, ret => {
console.log('宿主App回传的数据' + ret);
});
}
} }
} else { } else {
payData = paymentRes.data.payParam payData = paymentRes.data.payParam
uni.setStorageSync('orderId', paymentRes.data.orderId) uni.setStorageSync('orderId', paymentRes.data.orderId)
@ -2411,4 +2454,46 @@ function shouldBeTrue(obj) {
left: 15px; left: 15px;
z-index: 999999; z-index: 999999;
} }
.vipContent {
background-color: #fff;
margin-left: 16px;
width: calc(100% - 32px);
border-radius: 16px;
margin-bottom: 20px;
.top {
image {
width: 100%;
}
}
.vipList {
display: flex;
flex-wrap: wrap;
padding: 10px;
.item {
width: 25%;
height: 75px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
image {
width: 38px;
height: 38px;
}
text {
margin-top: 5px;
font-size: 10px;
color: #1A1A1A;
line-height: 15px;
text-align: center;
}
}
}
}
</style> </style>

File diff suppressed because it is too large Load Diff

View File

@ -1,93 +1,133 @@
<template> <template>
<view class="container"> <view class="container">
<NavBar title="选择机票" bgColor="#F0F4F9" isBack></NavBar> <NavBar :title="`选择${type == 'airTicket' ? '机票' : '火车票'}`" bgColor="#F0F4F9" isBack></NavBar>
<view class="content"> <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">
<!-- Background Watermark --> <view class="app-card"
<image class="watermark" :src="item.bgImage" mode="heightFix"></image> v-if="(type == 'airTicket' && item.airPath) || (type == 'trainTicket' && item.trainPath)"
@click="handleItemClick(item)">
<!-- Background Watermark -->
<image class="watermark" :src="item.bgImage" mode="heightFix"></image>
<!-- Front Content --> <!-- Front Content -->
<view class="card-left"> <view class="card-left">
<view class="logo-box"> <view class="logo-box">
<image class="logo" :src="item.logo" mode="aspectFit"></image> <image class="logo" :src="item.logo" mode="aspectFit"></image>
<!-- Hot Tag for Fliggy --> <!-- Hot Tag for Fliggy -->
<view v-if="item.isHot" class="hot-tag"> <view v-if="item.isHot" class="hot-tag">
<image style="width: 72rpx;height:32rpx" src="/static/image/index/hot-icon.png" <image style="width: 72rpx;height:32rpx" src="/static/image/index/hot-icon.png"
mode="aspectFit"></image> mode="aspectFit"></image>
</view>
</view> </view>
<text class="app-name">{{ item.name }}</text>
</view> </view>
<text class="app-name">{{ item.name }}</text>
</view>
<uni-icons type="right" size="18" color="#CCCCCC"></uni-icons> <uni-icons type="right" size="18" color="#CCCCCC"></uni-icons>
</view> </view>
</template>
</view> </view>
</view> </view>
</template> </template>
<script setup> <script setup>
import NavBar from '@/components/nav-bar/nav-bar.vue'; import NavBar from '@/components/nav-bar/nav-bar.vue';
import { reactive, toRefs, getCurrentInstance } from 'vue'; import {
import { onLoad } from '@dcloudio/uni-app'; reactive,
import { util } from '@/utils/common.js'; // Assuming util exists for navigation, similar to previous tasks 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 { const {
appContext, appContext,
proxy proxy
} = getCurrentInstance(); } = getCurrentInstance();
const appList = [ let type = ref('airTicket')
{
name: '去哪儿APP', const appList = [{
logo: '/static/image/other/tickets-app/qvnar-logo.png', name: '去哪儿APP',
bgImage: '/static/image/other/tickets-app/qvnar-bg.png', logo: '/static/image/other/tickets-app/qvnar-logo.png',
path: '/pages/other/air-tickets/qunar-air-tickets/qunar-air-tickets', bgImage: '/static/image/other/tickets-app/qvnar-bg.png',
isHot: false 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', name: '飞猪APP',
path: '/pages/other/air-tickets/fliggy-air-tickets/fliggy-air-tickets', logo: '/static/image/other/tickets-app/fliggy-logo.png',
isHot: true bgImage: '/static/image/other/tickets-app/fliggy-bg.png',
}, airPath: '/pages/other/air-tickets/fliggy-air-tickets/fliggy-air-tickets',
{ trainPath: "",
name: '携程APP', isHot: true
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', name: '携程APP',
isHot: false logo: '/static/image/other/tickets-app/trip-com-logo.png',
}, bgImage: '/static/image/other/tickets-app/trip-com-bg.png',
// { airPath: '/pages/other/air-tickets/ctrip-air-tickets/ctrip-air-tickets',
// name: '12306', trainPath: "/pages/other/train-tickets/ctrip-train-tickets/ctrip-train-tickets",
// logo: '/static/image/other/tickets-app/12306-logo.png', isHot: false
// 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) => { onLoad((option) => {
// const appType = option.type
proxy.$apiUserEvent('all', { if (appType == "trainTicket") {
type: 'event', type.value = "trainTicket"
key: 'ticket',
prefix: '.uni.other.',
value: "机票"
})
})
const handleItemClick = (item) => {
if (item.path) {
util.goPage(item.path)
} else { } else {
uni.showToast({ type.value = "airTicket"
title: '开发中', //
icon: 'none' proxy.$apiUserEvent('all', {
type: 'event',
key: 'ticket',
prefix: '.uni.other.',
value: "机票"
}) })
} }
}
})
/**
* 跳转火车票/飞机票页面
*/
const handleItemClick = (item) => {
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: '开发中',
icon: 'none'
})
}
}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.container { .container {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB