From cfce21f87e722f3f1b81b39753d1768376c5cef7 Mon Sep 17 00:00:00 2001 From: tangxinyue <524779910@qq.com> Date: Tue, 3 Mar 2026 15:45:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=81=AB=E8=BD=A6=E7=A5=A8app=E9=A6=96?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/index.nvue | 1486 ++++++++++++++--------------- pages/other/tickets-app/index.vue | 285 +++--- 2 files changed, 905 insertions(+), 866 deletions(-) diff --git a/pages/index/index.nvue b/pages/index/index.nvue index 11d5b62..b6e345f 100644 --- a/pages/index/index.nvue +++ b/pages/index/index.nvue @@ -16,7 +16,6 @@ - @@ -137,810 +136,811 @@ \ No newline at end of file diff --git a/pages/other/tickets-app/index.vue b/pages/other/tickets-app/index.vue index 8703e41..06dc619 100644 --- a/pages/other/tickets-app/index.vue +++ b/pages/other/tickets-app/index.vue @@ -1,153 +1,192 @@ \ No newline at end of file From b7ae173cd5cd9f64945eed8abbcc8c8403206eed Mon Sep 17 00:00:00 2001 From: tangxinyue <524779910@qq.com> Date: Wed, 4 Mar 2026 11:37:29 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E5=85=85=E5=80=BC?= =?UTF-8?q?=E9=A1=B5=202.=E5=AE=8C=E6=88=90=E6=90=BA=E7=A8=8B=E7=81=AB?= =?UTF-8?q?=E8=BD=A6=E7=A5=A8=E7=95=8C=E9=9D=A2ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .hbuilderx/launch.json | 4 +- App.vue | 3 + common/global.css | 200 +- pages.json | 14 +- pages/common/recharge/index.vue | 143 +- pages/index/index.nvue | 2 - pages/other/tickets-app/index.vue | 283 +- .../ctrip-train-tickets.vue | 1193 ++++++++ .../train-tickets/ctrip/buy-return-trip.png | Bin 0 -> 5565 bytes .../other/train-tickets/ctrip/card-bg.png | Bin 0 -> 13421 bytes .../train-tickets/ctrip/ctrip-train-bg.png | Bin 0 -> 30992 bytes .../train-tickets/ctrip/customer-sevice.png | Bin 0 -> 1766 bytes .../train-tickets/ctrip/dingdantongzhi.png | Bin 0 -> 1468 bytes .../train-tickets/ctrip/ertongshenbao.png | Bin 0 -> 2070 bytes .../train-tickets/ctrip/fapiaobaoxiao.png | Bin 0 -> 1253 bytes .../train-tickets/ctrip/fenxiangxingcheng.png | Bin 0 -> 1042 bytes .../other/train-tickets/ctrip/free-order.png | Bin 0 -> 7749 bytes .../image/other/train-tickets/ctrip/help.png | Bin 0 -> 1028 bytes .../other/train-tickets/ctrip/huodong.png | Bin 0 -> 14748 bytes .../image/other/train-tickets/ctrip/jifen.png | Bin 0 -> 866 bytes .../train-tickets/ctrip/jingtingxinxi.png | Bin 0 -> 6345 bytes .../train-tickets/ctrip/jinzhanzhiyin.png | Bin 0 -> 1963 bytes .../other/train-tickets/ctrip/location.png | Bin 0 -> 1352 bytes .../train-tickets/ctrip/quanbuzhankai.png | Bin 0 -> 871 bytes .../ctrip/refund-instructions.png | Bin 0 -> 660 bytes .../image/other/train-tickets/ctrip/right.png | Bin 0 -> 815 bytes .../other/train-tickets/ctrip/success.png | Bin 0 -> 4189 bytes .../other/train-tickets/ctrip/top-logo.png | Bin 0 -> 5990 bytes .../train-tickets/ctrip/youwanzhinan.png | Bin 0 -> 1153 bytes .../train-tickets/ctrip/zaixianhuanzuo.png | Bin 0 -> 1585 bytes static/image/recharge/icon1.png | Bin 4181 -> 3944 bytes static/image/recharge/icon10.png | Bin 3487 -> 3412 bytes static/image/recharge/icon11.png | Bin 2755 -> 2702 bytes static/image/recharge/icon12.png | Bin 3586 -> 3047 bytes static/image/recharge/icon2.png | Bin 3958 -> 3837 bytes static/image/recharge/icon3.png | Bin 3895 -> 3460 bytes static/image/recharge/icon4.png | Bin 3081 -> 3335 bytes static/image/recharge/icon5.png | Bin 3378 -> 2935 bytes static/image/recharge/icon6.png | Bin 3658 -> 2988 bytes static/image/recharge/icon7.png | Bin 3631 -> 2588 bytes static/image/recharge/icon8.png | Bin 3559 -> 3040 bytes static/image/recharge/icon9.png | Bin 3580 -> 3009 bytes static/image/recharge/index.vue | 2491 +++++++++++++++++ static/image/recharge/vipContentTopBgImg.png | Bin 0 -> 17075 bytes 44 files changed, 4055 insertions(+), 278 deletions(-) create mode 100644 pages/other/train-tickets/ctrip-train-tickets/ctrip-train-tickets.vue create mode 100644 static/image/other/train-tickets/ctrip/buy-return-trip.png create mode 100644 static/image/other/train-tickets/ctrip/card-bg.png create mode 100644 static/image/other/train-tickets/ctrip/ctrip-train-bg.png create mode 100644 static/image/other/train-tickets/ctrip/customer-sevice.png create mode 100644 static/image/other/train-tickets/ctrip/dingdantongzhi.png create mode 100644 static/image/other/train-tickets/ctrip/ertongshenbao.png create mode 100644 static/image/other/train-tickets/ctrip/fapiaobaoxiao.png create mode 100644 static/image/other/train-tickets/ctrip/fenxiangxingcheng.png create mode 100644 static/image/other/train-tickets/ctrip/free-order.png create mode 100644 static/image/other/train-tickets/ctrip/help.png create mode 100644 static/image/other/train-tickets/ctrip/huodong.png create mode 100644 static/image/other/train-tickets/ctrip/jifen.png create mode 100644 static/image/other/train-tickets/ctrip/jingtingxinxi.png create mode 100644 static/image/other/train-tickets/ctrip/jinzhanzhiyin.png create mode 100644 static/image/other/train-tickets/ctrip/location.png create mode 100644 static/image/other/train-tickets/ctrip/quanbuzhankai.png create mode 100644 static/image/other/train-tickets/ctrip/refund-instructions.png create mode 100644 static/image/other/train-tickets/ctrip/right.png create mode 100644 static/image/other/train-tickets/ctrip/success.png create mode 100644 static/image/other/train-tickets/ctrip/top-logo.png create mode 100644 static/image/other/train-tickets/ctrip/youwanzhinan.png create mode 100644 static/image/other/train-tickets/ctrip/zaixianhuanzuo.png create mode 100644 static/image/recharge/index.vue create mode 100644 static/image/recharge/vipContentTopBgImg.png diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index d43c75c..e608e7a 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -6,8 +6,8 @@ "type" : "uni-app:app-ios" }, { - "customPlaygroundType" : "device", - "playground" : "standard", + "customPlaygroundType" : "local", + "playground" : "custom", "type" : "uni-app:app-android" } ] diff --git a/App.vue b/App.vue index e436329..4f79456 100644 --- a/App.vue +++ b/App.vue @@ -163,6 +163,9 @@ export default { Object.keys(storageData).forEach(key => { uni.setStorageSync(key, storageData[key]) }) + if (extraData['isCombo']) { + uni.setStorageSync('isCombo', extraData['isCombo']) + } }, /** diff --git a/common/global.css b/common/global.css index c3d40fd..d74ed6e 100644 --- a/common/global.css +++ b/common/global.css @@ -130,401 +130,401 @@ text { } .codefun-ml-2 { - margin-left: 4rpx; + margin-left: 2px; } .codefun-mt-2 { - margin-top: 4rpx; + margin-top: 2px; } .codefun-ml-4 { - margin-left: 8rpx; + margin-left: 4px; } .codefun-mt-4 { - margin-top: 8rpx; + margin-top: 4px; } .codefun-ml-6 { - margin-left: 12rpx; + margin-left: 6px; } .codefun-mt-6 { - margin-top: 12rpx; + margin-top: 6px; } .codefun-ml-8 { - margin-left: 16rpx; + margin-left: 8px; } .codefun-mt-8 { - margin-top: 16rpx; + margin-top: 8px; } .codefun-ml-10 { - margin-left: 20rpx; + margin-left: 10px; } .codefun-mt-10 { - margin-top: 20rpx; + margin-top: 10px; } .codefun-ml-12 { - margin-left: 24rpx; + margin-left: 12px; } .codefun-mt-12 { - margin-top: 24rpx; + margin-top: 12px; } .codefun-ml-14 { - margin-left: 28rpx; + margin-left: 14px; } .codefun-mt-14 { - margin-top: 28rpx; + margin-top: 14px; } .codefun-ml-16 { - margin-left: 32rpx; + margin-left: 16px; } .codefun-mt-16 { - margin-top: 32rpx; + margin-top: 16px; } .codefun-ml-18 { - margin-left: 36rpx; + margin-left: 18px; } .codefun-mt-18 { - margin-top: 36rpx; + margin-top: 18px; } .codefun-ml-20 { - margin-left: 40rpx; + margin-left: 20px; } .codefun-mt-20 { - margin-top: 40rpx; + margin-top: 20px; } .codefun-ml-22 { - margin-left: 44rpx; + margin-left: 22px; } .codefun-mt-22 { - margin-top: 44rpx; + margin-top: 22px; } .codefun-ml-24 { - margin-left: 48rpx; + margin-left: 24px; } .codefun-mt-24 { - margin-top: 48rpx; + margin-top: 24px; } .codefun-ml-26 { - margin-left: 52rpx; + margin-left: 26px; } .codefun-mt-26 { - margin-top: 52rpx; + margin-top: 26px; } .codefun-ml-28 { - margin-left: 56rpx; + margin-left: 28px; } .codefun-mt-28 { - margin-top: 56rpx; + margin-top: 28px; } .codefun-ml-30 { - margin-left: 60rpx; + margin-left: 30px; } .codefun-mt-30 { - margin-top: 60rpx; + margin-top: 30px; } .codefun-ml-32 { - margin-left: 64rpx; + margin-left: 32px; } .codefun-mt-32 { - margin-top: 64rpx; + margin-top: 32px; } .codefun-ml-34 { - margin-left: 68rpx; + margin-left: 34px; } .codefun-mt-34 { - margin-top: 68rpx; + margin-top: 34px; } .codefun-ml-36 { - margin-left: 72rpx; + margin-left: 36px; } .codefun-mt-36 { - margin-top: 72rpx; + margin-top: 36px; } .codefun-ml-38 { - margin-left: 76rpx; + margin-left: 38px; } .codefun-mt-38 { - margin-top: 76rpx; + margin-top: 38px; } .codefun-ml-40 { - margin-left: 80rpx; + margin-left: 40px; } .codefun-mt-40 { - margin-top: 80rpx; + margin-top: 40px; } .codefun-ml-42 { - margin-left: 84rpx; + margin-left: 42px; } .codefun-mt-42 { - margin-top: 84rpx; + margin-top: 42px; } .codefun-ml-44 { - margin-left: 88rpx; + margin-left: 44px; } .codefun-mt-44 { - margin-top: 88rpx; + margin-top: 44px; } .codefun-ml-46 { - margin-left: 92rpx; + margin-left: 46px; } .codefun-mt-46 { - margin-top: 92rpx; + margin-top: 46px; } .codefun-ml-48 { - margin-left: 96rpx; + margin-left: 48px; } .codefun-mt-48 { - margin-top: 96rpx; + margin-top: 48px; } .codefun-ml-50 { - margin-left: 100rpx; + margin-left: 50px; } .codefun-mt-50 { - margin-top: 100rpx; + margin-top: 50px; } .codefun-ml-52 { - margin-left: 104rpx; + margin-left: 52px; } .codefun-mt-52 { - margin-top: 104rpx; + margin-top: 52px; } .codefun-ml-54 { - margin-left: 108rpx; + margin-left: 54px; } .codefun-mt-54 { - margin-top: 108rpx; + margin-top: 54px; } .codefun-ml-56 { - margin-left: 112rpx; + margin-left: 56px; } .codefun-mt-56 { - margin-top: 112rpx; + margin-top: 56px; } .codefun-ml-58 { - margin-left: 116rpx; + margin-left: 58px; } .codefun-mt-58 { - margin-top: 116rpx; + margin-top: 58px; } .codefun-ml-60 { - margin-left: 120rpx; + margin-left: 60px; } .codefun-mt-60 { - margin-top: 120rpx; + margin-top: 60px; } .codefun-ml-62 { - margin-left: 124rpx; + margin-left: 62px; } .codefun-mt-62 { - margin-top: 124rpx; + margin-top: 62px; } .codefun-ml-64 { - margin-left: 128rpx; + margin-left: 64px; } .codefun-mt-64 { - margin-top: 128rpx; + margin-top: 64px; } .codefun-ml-66 { - margin-left: 132rpx; + margin-left: 66px; } .codefun-mt-66 { - margin-top: 132rpx; + margin-top: 66px; } .codefun-ml-68 { - margin-left: 136rpx; + margin-left: 68px; } .codefun-mt-68 { - margin-top: 136rpx; + margin-top: 68px; } .codefun-ml-70 { - margin-left: 140rpx; + margin-left: 70px; } .codefun-mt-70 { - margin-top: 140rpx; + margin-top: 70px; } .codefun-ml-72 { - margin-left: 144rpx; + margin-left: 72px; } .codefun-mt-72 { - margin-top: 144rpx; + margin-top: 72px; } .codefun-ml-74 { - margin-left: 148rpx; + margin-left: 74px; } .codefun-mt-74 { - margin-top: 148rpx; + margin-top: 74px; } .codefun-ml-76 { - margin-left: 152rpx; + margin-left: 76px; } .codefun-mt-76 { - margin-top: 152rpx; + margin-top: 76px; } .codefun-ml-78 { - margin-left: 156rpx; + margin-left: 78px; } .codefun-mt-78 { - margin-top: 156rpx; + margin-top: 78px; } .codefun-ml-80 { - margin-left: 160rpx; + margin-left: 80px; } .codefun-mt-80 { - margin-top: 160rpx; + margin-top: 80px; } .codefun-ml-82 { - margin-left: 164rpx; + margin-left: 82px; } .codefun-mt-82 { - margin-top: 164rpx; + margin-top: 82px; } .codefun-ml-84 { - margin-left: 168rpx; + margin-left: 84px; } .codefun-mt-84 { - margin-top: 168rpx; + margin-top: 84px; } .codefun-ml-86 { - margin-left: 172rpx; + margin-left: 86px; } .codefun-mt-86 { - margin-top: 172rpx; + margin-top: 86px; } .codefun-ml-88 { - margin-left: 176rpx; + margin-left: 88px; } .codefun-mt-88 { - margin-top: 176rpx; + margin-top: 88px; } .codefun-ml-90 { - margin-left: 180rpx; + margin-left: 90px; } .codefun-mt-90 { - margin-top: 180rpx; + margin-top: 90px; } .codefun-ml-92 { - margin-left: 184rpx; + margin-left: 92px; } .codefun-mt-92 { - margin-top: 184rpx; + margin-top: 92px; } .codefun-ml-94 { - margin-left: 188rpx; + margin-left: 94px; } .codefun-mt-94 { - margin-top: 188rpx; + margin-top: 94px; } .codefun-ml-96 { - margin-left: 192rpx; + margin-left: 96px; } .codefun-mt-96 { - margin-top: 192rpx; + margin-top: 96px; } .codefun-ml-98 { - margin-left: 196rpx; + margin-left: 98px; } .codefun-mt-98 { - margin-top: 196rpx; + margin-top: 98px; } .codefun-ml-100 { - margin-left: 200rpx; + margin-left: 100px; } .codefun-mt-100 { - margin-top: 200rpx; + margin-top: 100px; } \ No newline at end of file diff --git a/pages.json b/pages.json index 87b19e5..da23e09 100644 --- a/pages.json +++ b/pages.json @@ -172,10 +172,16 @@ } }, { - "path" : "card/card", - "style" : - { - "navigationBarTitleText" : "身份证", + "path": "card/card", + "style": { + "navigationBarTitleText": "身份证", + "navigationStyle": "custom" + } + }, + { + "path": "train-tickets/ctrip-train-tickets/ctrip-train-tickets", + "style": { + "navigationBarTitleText": "携程火车票", "navigationStyle": "custom" } } diff --git a/pages/common/recharge/index.vue b/pages/common/recharge/index.vue index 6930d26..072f574 100644 --- a/pages/common/recharge/index.vue +++ b/pages/common/recharge/index.vue @@ -4,8 +4,19 @@ - + + + + + + + + + {{ item.name }} + + @@ -361,43 +372,43 @@ const data = reactive({ url: "/static/image/recharge/icon2.png" }, { - name: "专属客服", + name: "微信模拟", url: "/static/image/recharge/icon3.png" }, { - name: "多设备", + name: "小宝模拟", url: "/static/image/recharge/icon4.png" }, { - name: "AI聊天模板", + name: "机票", url: "/static/image/recharge/icon5.png" }, { - name: "聊天转账", + name: "高铁票", url: "/static/image/recharge/icon6.png" }, { - name: "限额设置", + name: "工资单", url: "/static/image/recharge/icon7.png" }, { - name: "零钱修改", + name: "群聊", url: "/static/image/recharge/icon8.png" }, { - name: "零钱通", + name: "豪车模拟", url: "/static/image/recharge/icon9.png" }, { - name: "分付", + name: "模拟来电", url: "/static/image/recharge/icon10.png" }, { - name: "账单", + name: "多设备", url: "/static/image/recharge/icon11.png" }, { - name: "朋友圈", + name: "其他权益", url: "/static/image/recharge/icon12.png" } ], @@ -433,6 +444,7 @@ const data = reactive({ // 添加一个标志位来防止快速连续点击导致的价格显示错误 isProcessingClick: false, banner: '/static/image/recharge/banner1.png', + isCombo: false, }) 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(() => { // uni.offNativeEventReceive() @@ -1106,11 +1134,11 @@ async function activateVip(type = '') { "支付方式": paymentMethod.value == "wxpay" ? '微信' : "支付宝", }) - + let isComBo = uni.getStorageSync('isCombo') == 'ok' let paymentRes = await postJson('a', 'api/order', { goods_id: data.goods.goods_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", source: "uni_alipay", }) @@ -1120,23 +1148,38 @@ async function activateVip(type = '') { if (paymentRes.code == 0) { let payData = {} if (paymentMethod.value == "wxpay") { - 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 => { + + if (data.goods.weixinMpOriId && isComBo) { + console.log(paymentRes) + let SZappData = { + weixinMpOriId: data.goods.weixinMpOriId, + outTradeNo: paymentRes.data.outTradeNo + } + uni.setStorageSync('orderId', paymentRes.data.orderId) + uni.sendNativeEvent('start_combo_pay', SZappData, 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 { payData = paymentRes.data.payParam uni.setStorageSync('orderId', paymentRes.data.orderId) @@ -2411,4 +2454,46 @@ function shouldBeTrue(obj) { left: 15px; 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; + } + } + } +} \ No newline at end of file diff --git a/pages/index/index.nvue b/pages/index/index.nvue index c2c4650..bcdf6f9 100644 --- a/pages/index/index.nvue +++ b/pages/index/index.nvue @@ -219,8 +219,6 @@ path: "/pages/ant-credit-pay/index" }, ] - - const otherList = [{ icon: "/static/image/index/qita/jipiao.png", name: "机票", diff --git a/pages/other/tickets-app/index.vue b/pages/other/tickets-app/index.vue index 06dc619..724bf85 100644 --- a/pages/other/tickets-app/index.vue +++ b/pages/other/tickets-app/index.vue @@ -1,10 +1,11 @@