## Opt - 兼容ios open

This commit is contained in:
sangelxiu1 2025-09-11 11:54:28 +08:00
parent 96b56e2a12
commit 229641a513
2 changed files with 1221 additions and 1188 deletions

View File

@ -6,254 +6,312 @@
--> -->
<template> <template>
<view class="content"> <view class="content">
<view class="index_header"> <view class="index_header"> </view>
</view>
<view class="contxt"> <view class="contxt">
<template> <template>
<view class="tit">{{ '待支付金额' }}</view> <view class="tit">{{ '待支付金额' }}</view>
<view class="tit1"> <view class="tit1">
{{ paramsPost.orderAmount | numberToCurrency }} {{ paramsPost.orderAmount | numberToCurrency }}
</view>
<view class="tit2">{{'请在'}}
<view class="tit3">{{ countDown }}</view>{{'内完成支付,否则订单将会被自动取消'}}
</view> </view>
<!-- <view class="tit2"
>{{ '请在' }} <view class="tit3">{{ countDown }}</view
>{{ '内完成支付,否则订单将会被自动取消' }}
</view> -->
</template> </template>
<!-- 暂时隐藏 --> <!-- 暂时隐藏 -->
<view v-if="false" class="kuang"> <view class="kuang">
<view>
<u-collapse :value="activeNames" <view slot="title" class="pf">
ref="collapse" <img src="@/static/images/under_pay.png" alt="" />
@open="change"
@close="close"
accordion
:border="false">
<u-collapse-item name="1">
<view slot="title"
class="pf"> <img src="@/static/images/under_pay.png"
alt="" />
<view>{{ '在线支付' }}</view> <view>{{ '在线支付' }}</view>
</view> </view>
<view class="flex_ac" <view
v-show="this.payList.pay11"> class="flex_ac"
v-show="payList[PAY_AUTH[PAY_TYPE.BAO_FU_WECHAT]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/pay_i2.png" <img src="@/static/images/pay_i2.png" alt="" />
alt="" />
<view>{{ '宝付微信支付' }}</view> <view>{{ '宝付微信支付' }}</view>
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
size="18"
label="" label=""
:name="11"> :name="PAY_TYPE.BAO_FU_WECHAT"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="flex_ac" <view
v-show="this.payList.pay12"> class="flex_ac"
v-show="payList[PAY_AUTH[PAY_TYPE.BAO_FU_WECHAT_SCAN]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/pay_i2.png" <img src="@/static/images/pay_i2.png" alt="" />
alt="" />
<view>{{ '宝付微信扫码' }}</view> <view>{{ '宝付微信扫码' }}</view>
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
size="18"
label="" label=""
:name="12"> :name="PAY_TYPE.BAO_FU_WECHAT_SCAN"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view
<view class="flex_ac" class="flex_ac"
v-show="this.payList.pay13"> v-show="payList[PAY_AUTH[PAY_TYPE.HUI_FU_WECHAT]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/pay_i2.png" <img src="@/static/images/pay_i2.png" alt="" />
alt="" />
<view>{{ '汇付微信支付' }}</view> <view>{{ '汇付微信支付' }}</view>
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
size="18"
label="" label=""
:name="13"> :name="PAY_TYPE.HUI_FU_WECHAT"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="flex_ac1" <!-- 微信支付 -->
v-show="this.payList.pay15"> <view class="flex_ac" v-show="payList[PAY_AUTH[PAY_TYPE.WECHAT_PAY]]">
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/jdBank.jpg" <img src="@/static/images/pay_i2.png" alt="" />
alt="" /> <view>{{ '微信支付' }}</view>
<view>{{'汇付银行卡'}} ({{ '暂不支持信用卡' }})</view>
</view>
<view class="pad">
<view v-for="(item, index) in hfList"
:key="index"
class="pay_flax flex_bet"
@click.prevent="selPayRadio('hf' + index)">
<view class="flax_i">
{{ item.bankName }} ({{ item.bankNo }})
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
label='' size="18"
:name="'hf' + index"> label=""
:name="PAY_TYPE.WECHAT_PAY"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="pay_flax flax_i" <!-- 支付宝支付 -->
@click="bindBank('hf')"> <view class="flex_ac" v-show="payList[PAY_AUTH[PAY_TYPE.ALI_PAY]]">
<img class="img1" <view class="flex_ac_i">
src="@/static/images/addto.png" <img src="@/static/images/pay_i3.png" alt="" />
alt="" /> <view>{{ '支付宝支付' }}</view>
</view>
<u-radio-group v-model="whatPay">
<u-radio
activeColor="#005BAC"
size="18"
label=""
:name="PAY_TYPE.ALI_PAY"
>
</u-radio>
</u-radio-group>
</view>
<view
class="flex_ac1"
v-show="payList[PAY_AUTH[PAY_TYPE.HUI_FU_BANK_CARD]]"
>
<view class="flex_ac_i">
<img src="@/static/images/jdBank.jpg" alt="" />
<view>{{ '汇付银行卡' }} </view>
</view>
<view class="pad">
<view
v-for="(item, index) in hfList"
:key="index"
class="pay_flax flex_bet"
@click.prevent="selPayRadio('hf' + index)"
>
<view class="flax_i">
<view>{{ item.bankName }} ({{ item.bankNo }})</view>
<view class="fixBind" @click="fixBind(item)">解绑</view>
</view>
<u-radio-group v-model="whatPay">
<u-radio
activeColor="#005BAC"
size="18"
label=""
:name="PAY_TYPE.HUI_FU_BANK_CARD + index"
>
</u-radio>
</u-radio-group>
</view>
<view class="pay_flax flax_i" @click="bindBank('hf')">
<img class="img1" src="@/static/images/addto.png" alt="" />
<view>{{ '绑定银行卡' }}</view> <view>{{ '绑定银行卡' }}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="flex_ac" <view
v-show="this.payList.pay32"> class="flex_ac"
v-show="payList[PAY_AUTH[PAY_TYPE.TONG_LIAN_WECHAT]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/pay_i2.png" <img src="@/static/images/pay_i2.png" alt="" />
alt="" />
<view>通联微信支付</view> <view>通联微信支付</view>
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
size="18"
label="" label=""
:name="32"> :name="PAY_TYPE.TONG_LIAN_WECHAT"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="flex_ac1" <view
v-show="this.payList.pay33"> class="flex_ac1"
v-show="payList[PAY_AUTH[PAY_TYPE.JING_DONG_BANK_CARD]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/jdBank.jpg" <img src="@/static/images/jdBank.jpg" alt="" />
alt="" /> <view>{{ '京东银行卡' }}</view>
<view>{{'通联银行卡'}} ({{ '暂不支持信用卡' }})</view>
</view> </view>
<view class="pad"> <view class="pad">
<view v-for="(item, index) in tlList" <view
v-for="(item, index) in jdList"
:key="index" :key="index"
class="pay_flax flex_bet" class="pay_flax flex_bet"
@click.prevent="selPayRadio('tl' + index)"> @click.prevent="selPayRadio('jd' + index)"
>
<view class="flax_i"> <view class="flax_i">
{{ item.bankName }} ({{ item.bankNo }}) {{ item.bankName }} ({{ item.bankNo }})
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
label='' size="18"
:name="'tl' + index"> label=""
:name="PAY_TYPE.JING_DONG_BANK_CARD + index"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="pay_flax flax_i" <view class="pay_flax flax_i" @click="bindBank('jd')">
@click="bindBank('tl')"> <img class="img1" src="@/static/images/addto.png" alt="" />
<img class="img1"
src="@/static/images/addto.png"
alt="" />
<view>{{ '绑定银行卡' }}</view> <view>{{ '绑定银行卡' }}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="flex_ac1" <view
v-show="this.payList.pay4"> class="flex_ac"
v-show="payList[PAY_AUTH[PAY_TYPE.JING_DONG_H5]]"
>
<view class="flex_ac_i"> <view class="flex_ac_i">
<img src="@/static/images/jdBank.jpg" <img src="@/static/images/jdBank.jpg" alt="" />
alt="" /> <view>京东收银台</view>
<view>{{'京东银行卡'}} ({{ '暂不支持信用卡' }})</view> </view>
<u-radio-group v-model="whatPay">
<u-radio
activeColor="#005BAC"
size="18"
label=""
:name="PAY_TYPE.JING_DONG_H5"
>
</u-radio>
</u-radio-group>
</view>
<view
class="flex_ac1"
v-show="payList[PAY_AUTH[PAY_TYPE.TONG_LIAN_BANK_CARD]]"
>
<view class="flex_ac_i">
<img src="@/static/images/jdBank.jpg" alt="" />
<view>{{ '通联银行卡' }}</view>
</view> </view>
<view class="pad"> <view class="pad">
<view v-for="(item, index) in jdList" <view
v-for="(item, index) in tlList"
:key="index" :key="index"
class="pay_flax flex_bet" class="pay_flax flex_bet"
@click.prevent="selPayRadio('jd' + index)"> @click.prevent="selPayRadio('tl' + index)"
>
<view class="flax_i"> <view class="flax_i">
{{ item.bankName }} ({{ item.bankNo }}) {{ item.bankName }} ({{ item.bankNo }})
</view> </view>
<u-radio-group v-model="whatPay"> <u-radio-group v-model="whatPay">
<u-radio activeColor="red" <u-radio
size="14" activeColor="#005BAC"
label='' size="18"
:name="'jd' + index"> label=""
:name="PAY_TYPE.TONG_LIAN_BANK_CARD + index"
>
</u-radio> </u-radio>
</u-radio-group> </u-radio-group>
</view> </view>
<view class="pay_flax flax_i" <view class="pay_flax flax_i" @click="bindBank('tl')">
@click="bindBank('jd')"> <img class="img1" src="@/static/images/addto.png" alt="" />
<img class="img1"
src="@/static/images/addto.png"
alt="" />
<view>{{ '绑定银行卡' }}</view> <view>{{ '绑定银行卡' }}</view>
</view> </view>
</view> </view>
</view> </view>
</view>
</u-collapse-item>
</u-collapse>
</view> </view>
</view> </view>
<!-- 底部 --> <!-- 底部 -->
<view class="footer_f"> <view class="footer_f">
<view class="footer"> <view class="footer">
<view class="footer_r"> <view class="footer_r">
<u-button type="success" <u-button
type="success"
class="uBtn" class="uBtn"
shape="circle" shape="circle"
:loading="isLoading" :loading="isLoading"
loadingText="支付中" loadingText="支付中"
@tap="quickPay(ifcz)" @tap="quickPay(isRecharge)"
color="linear-gradient(to right, #005BAC, #005BAC )">{{'立即支付'}} color="linear-gradient(to right, #005BAC, #005BAC )"
>{{ '立即支付' }}
</u-button> </u-button>
</view> </view>
</view> </view>
</view> </view>
<!-- 输入验证码密码 --> <!-- 输入验证码密码 -->
<u-popup :show="isPw" <u-popup :show="isPw" mode="center" closeable @close="closePw">
mode="center"
closeable
@close="closePw">
<view class="t_tit">{{ '支付验证' }}</view> <view class="t_tit">{{ '支付验证' }}</view>
<view class="box"> <view class="box">
<view class="c_tit">{{ '请输入短信验证码' }}</view> <view class="c_tit">{{ '请输入短信验证码' }}</view>
<u--input border="surround" <u--input border="surround" v-model="codeValue"></u--input>
v-model="codeValue"></u--input>
<u-button type="success" <u-button
type="success"
class="uBtn" class="uBtn"
shape="circle" shape="circle"
:loading="isLoading" :loading="isLoading"
loadingText="支付中" loadingText="支付中"
@tap="payPw()" @tap="payPw()"
color="linear-gradient(to right, #005BAC, #005BAC )">{{'立即支付'}} </u-button> color="linear-gradient(to right, #005BAC, #005BAC )"
>{{ '立即支付' }}
</u-button>
</view> </view>
</u-popup> </u-popup>
<!-- 成功 --> <!-- 成功 -->
<u-modal :show="showSucce" <u-modal
:show="showSucce"
showConfirmButton showConfirmButton
:content='content' :content="content"
confirmColor='#DE3932' confirmColor="#DE3932"
@confirm="reset" @confirm="reset"
ref="uModal" ref="uModal"
:asyncClose="true"></u-modal> :asyncClose="true"
></u-modal>
<!-- 二维码 --> <!-- 二维码 -->
<u-popup :show="wxPopup" <u-popup :show="wxPopup" mode="center" closeable @close="closewxPopup">
mode="center"
closeable
@close="closewxPopup">
<view class="t_tit">{{ '微信支付' }}</view> <view class="t_tit">{{ '微信支付' }}</view>
<view class="pay_code"> <view class="pay_code">
<div ref="qrCodeUrlWx" <div ref="qrCodeUrlWx" class="qrcode"></div>
class="qrcode"></div>
</view> </view>
</u-popup> </u-popup>
<hiSuccess @successClose="successClose" <successDialog
ref="hiSuccess"></hiSuccess> @successClose="successClose"
ref="successDialog"
></successDialog>
</view> </view>
</template> </template>
@ -262,15 +320,24 @@ import * as api from '@/config/pay.js'
import QRCode from 'qrcodejs2' import QRCode from 'qrcodejs2'
import { removeToken } from '@/config/auth.js' import { removeToken } from '@/config/auth.js'
import hiSuccess from '@/components/hiSuccess.vue' import successDialog from '@/components/successDialog.vue'
import * as act from '@/config/activity.js' import * as act from '@/config/activity.js'
import {
PAY_REDIRECT_URL,
PAY_TYPE,
PAY_CHANEL,
PAY_AUTH,
} from '@/util/constant.js'
var payStatus var payStatus
let getRegisterInfoTimeoutFlag = null
export default { export default {
components: { components: {
hiSuccess, successDialog,
}, },
data() { data() {
return { return {
PAY_TYPE,
PAY_AUTH,
payList: {}, payList: {},
isLoading: false, isLoading: false,
clockTime: '', clockTime: '',
@ -285,12 +352,12 @@ export default {
}, },
paramsPost: '', paramsPost: '',
isShare: false, // isShare: false, //
userInfo: '', userInfo: uni.getStorageSync('User'),
activeNames: 1, activeNames: 1,
whatPay: '', whatPay: '',
hfList: [], hfList: [],
jdList: [], jdList: [],
businessType: '', businessType: 1,
isBank: '', isBank: '',
isPw: false, isPw: false,
codeValue: '', codeValue: '',
@ -299,9 +366,7 @@ export default {
sucPay: 0, sucPay: 0,
content: '支付成功', content: '支付成功',
wxPopup: false, wxPopup: false,
luckydrawData: {}, isRecharge: false,
ifcz: false,
czJe: '',
tlList: [], tlList: [],
} }
}, },
@ -314,74 +379,23 @@ export default {
) )
this.pkCountry = uni.getStorageSync('pkCountry') this.pkCountry = uni.getStorageSync('pkCountry')
// if (this.paramsPost.ifcz) {
// this.ifcz = this.paramsPost.ifcz
// this.businessType = 3
// uni.setNavigationBarTitle({
// title: ''
// });
// } else {
// uni.setNavigationBarTitle({
// title: ''
// });
// this.ifcz = false
// if (JSON.parse(options.paramsPost).orderType == 4) {
this.orderCode = this.paramsPost.orderCode this.orderCode = this.paramsPost.orderCode
// this.luckydrawData = this.paramsPost.luckydrawData
// //
// this.businessType = 4 //
// this.specialArea = this.paramsPost.specialArea
// this.getLuckdrawDetail()
// } else {
// this.userInfo = uni.getStorageSync('User')
// if (
// this.userInfo.registerFans == 0
// ) {
// this.isShare = true
// }
// this.specialArea =
// this.paramsPost.specialArea || this.paramsPost.orderType
// this.orderCode = this.paramsPost.orderCode
// this.businessType = options.businessType
// // this.getInfo()
// //
// this.getOrderInfo()
// if (!this.isShare) {
// //
// this.getSpendInfo()
// }
// }
// }
// //
this.getPayConfig() this.getPayConfig()
this.downTime() // this.downTime()
// clearInterval(this.clockTime)
}, },
onShow() { onShow() {
// //
// this.getBankList() // this.getBankList()
}, },
methods: { onUnload() {
// clearTimeout(getRegisterInfoTimeoutFlag)
getLuckdrawDetail() { clearInterval(payStatus)
//
act
.getLuckdrawDetail({
pkBaseId: this.luckydrawData.pkBaseId,
payNum: this.luckydrawData.payNum,
})
.then((res) => {
if (res.code == 200) {
this.orderData.orderAmount = res.data.toBePaidMoney
this.payDetail = res.data
// this.downTime()
}
})
}, },
methods: {
closewxPopup() { closewxPopup() {
this.wxPopup = false this.wxPopup = false
this.$refs.qrCodeUrlWx.innerHTML = '' this.$refs.qrCodeUrlWx.innerHTML = ''
@ -411,11 +425,17 @@ export default {
}) })
}, },
fansOrder() { fansOrder() {
api.fansOrder(this.orderCode).then((res) => { api.fansOrder(this.orderCode).then(res => {
if (res.data) {
this.isLoading = false this.isLoading = false
this.isPw = false this.isPw = false
removeToken() removeToken()
this.$refs.hiSuccess.showSuccess(res.data) this.$refs.successDialog.showSuccess(res.data)
} else {
getRegisterInfoTimeoutFlag = setTimeout(() => {
this.fansOrder()
}, 3000)
}
}) })
}, },
payPw() { payPw() {
@ -436,10 +456,10 @@ export default {
pkSettleCountry: this.pkCountry, pkSettleCountry: this.pkCountry,
} }
this.isLoading = true this.isLoading = true
url(obj).then((res) => { url(obj).then(res => {
if (res.code == 200) { if (res.code == 200) {
// this.isPw = false // this.isPw = false
// this.$refs.hiSuccess.showSuccess(res.data) // this.$refs.successDialog.showSuccess(res.data)
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
icon: 'none', icon: 'none',
@ -459,66 +479,52 @@ export default {
} }
}) })
}, },
quickPay(cz) { async quickPay() {
// if (
if (typeof this.whatPay == 'number') { ![
if (this.whatPay == 12) { PAY_TYPE.HUI_FU_BANK_CARD,
this.scanPayBfWx(5) PAY_TYPE.JING_DONG_BANK_CARD,
} else if (this.whatPay == 13) { PAY_TYPE.TONG_LIAN_BANK_CARD,
this.scanPayBfWx(6) ].includes(this.whatPay.slice(0, 2))
} else if (this.whatPay == 11) { ) {
this.scanPayBfWxJump(5) if ([PAY_TYPE.JING_DONG_H5].includes(this.whatPay)) {
} else if (this.whatPay == 32) { this.redirectPay(PAY_CHANEL[this.whatPay])
this.scanPayTlWxJump(3) } else if (
[PAY_TYPE.BAO_FU_WECHAT_SCAN, PAY_TYPE.HUI_FU_WECHAT].includes(
this.whatPay
)
) {
this.scanPayBfWx(PAY_CHANEL[this.whatPay])
} else if (this.whatPay == PAY_TYPE.WECHAT_PAY) {
this.scanPayWx(PAY_CHANEL[this.whatPay])
} else if (this.whatPay == PAY_TYPE.ALI_PAY) {
this.scanPayAl(PAY_CHANEL[this.whatPay])
} }
} else { } else {
if (this.whatPay.slice(0, 2) == 'hf') { const indexed = this.whatPay.slice(2, 4)
let indexed = this.whatPay.slice(2, 4) const payTypeEnum = this.whatPay.slice(0, 2)
let params = { const bankListMap = {
businessType: 1, // [PAY_TYPE.HUI_FU_BANK_CARD]: this.hfList[indexed].bindCode,
businessCode: this.orderCode, [PAY_TYPE.JING_DONG_BANK_CARD]: this.jdList[indexed].bindCode,
payChannel: 6, // [PAY_TYPE.TONG_LIAN_BANK_CARD]: this.tlList[indexed].bindCode,
}
this.bindCode = bankListMap[payTypeEnum]
const params = {
businessType: this.businessType, //
payChannel: PAY_CHANEL[payTypeEnum],
payType: 3, // payType: 3, //
bindCode: this.hfList[indexed].bindCode, bindCode: bankListMap[payTypeEnum],
} }
api.unifiedorder(params).then((response) => { if (!isRecharge) {
this.isBank = 'hf' Object.assign(params, {
this.bindCode = this.hfList[indexed].bindCode
this.isPw = true
})
this.checkPayStatus(params)
} else if (this.whatPay.slice(0, 2) == 'jd') {
let indexed = this.whatPay.slice(2, 4)
let params = {
businessType: 1, //
businessCode: this.orderCode, businessCode: this.orderCode,
payChannel: 4, //
payType: 3, //
bindCode: this.jdList[indexed].bindCode,
}
api.unifiedorder(params).then((response) => {
this.isBank = 'jd'
this.bindCode = this.jdList[indexed].bindCode
this.isPw = true
}) })
this.checkPayStatus(params)
} else if (this.whatPay.slice(0, 2) == 'tl') {
let indexed = this.whatPay.slice(2, 4)
let params = {
businessType: 1, //
businessCode: this.orderCode,
payChannel: 3, //
payType: 3, //
bindCode: this.tlList[indexed].bindCode,
} }
api.unifiedorder(params).then((response) => { api.unifiedorder(params).then(response => {
this.isBank = 'tl' this.isBank = this.whatPay.slice(0, 2)
this.bindCode = this.tlList[indexed].bindCode
this.isPw = true this.isPw = true
})
this.checkPayStatus(params) this.checkPayStatus(params)
} })
} }
}, },
// //
@ -530,7 +536,7 @@ export default {
payType: 2, payType: 2,
appletFlag: 0, appletFlag: 0,
} }
api.unifiedorder(params).then((res) => { api.unifiedorder(params).then(res => {
let url = let url =
'https://cloud1-8gp1n6uofa17e2e2-1315820965.tcloudbaseapp.com/jump_mp.html?sign=8587800b05c859700944247c03eeae1c&t=1698224973&state=' + 'https://cloud1-8gp1n6uofa17e2e2-1315820965.tcloudbaseapp.com/jump_mp.html?sign=8587800b05c859700944247c03eeae1c&t=1698224973&state=' +
res.data res.data
@ -547,7 +553,7 @@ export default {
payType: 2, payType: 2,
appletFlag: 0, appletFlag: 0,
} }
api.unifiedorder(params).then((res) => { api.unifiedorder(params).then(res => {
let url = let url =
'https://cloud1-1gql8u3v1fe85a37-1322999719.tcloudbaseapp.com/jump_mp.html?sign=d77deffc9e8aecd2b721f8430c376370&t=1705374125&state=' + 'https://cloud1-1gql8u3v1fe85a37-1322999719.tcloudbaseapp.com/jump_mp.html?sign=d77deffc9e8aecd2b721f8430c376370&t=1705374125&state=' +
res.data res.data
@ -555,6 +561,49 @@ export default {
}) })
this.checkPayStatus(params) this.checkPayStatus(params)
}, },
redirectPay(payChannel) {
this.getPayAuthToken(payChannel).then(url => {
if (navigator.userAgent.includes('MicroMessenger')) {
window.location.href = url
} else {
requestAnimationFrame(()=>{
window.open(url)
});
}
})
},
getPayAuthToken(payChannel) {
return new Promise((resolve, reject) => {
const extParam = {
isRecharge: false,
orderCode: this.orderCode,
specialArea: 1,
isSharePay: true,
}
// extParamJSONbase64
const extParamBase64 = btoa(JSON.stringify(extParam))
const params = {
payChannel: payChannel,
payType: 2,
appletFlag: 0,
businessType: this.businessType,
businessCode: this.orderCode,
extParam: extParamBase64,
}
api.unifiedorder(params).then(res => {
if (res.code === 200) {
resolve(res.data)
this.checkPayStatus(params)
} else {
uni.showToast({
title: res.msg,
icon: 'none',
})
reject(res.msg)
}
})
})
},
scanPayBfWx(val) { scanPayBfWx(val) {
let params = { let params = {
businessType: 1, businessType: 1,
@ -562,7 +611,7 @@ export default {
payChannel: val, payChannel: val,
payType: 2, payType: 2,
} }
api.unifiedorder(params).then((res) => { api.unifiedorder(params).then(res => {
this.wxPopup = true this.wxPopup = true
this.$nextTick(() => { this.$nextTick(() => {
new QRCode( new QRCode(
@ -593,16 +642,14 @@ export default {
} }
}, },
getPayConfig() { getPayConfig() {
api.payConfig().then((res) => { api.payConfig().then(res => {
this.payList = res.data this.payList = res.data
this.$nextTick(() => {
this.$refs.collapse.init()
})
this.$forceUpdate() this.$forceUpdate()
}) })
}, },
getBankList() { getBankList() {
api.jdBankList().then((res) => { api.jdBankList().then(res => {
this.jdList = res.data this.jdList = res.data
}) })
// api.hfBankList().then((res) => { // api.hfBankList().then((res) => {
@ -623,7 +670,7 @@ export default {
orderCode: this.orderCode, orderCode: this.orderCode,
pkSettleCountry: this.pkCountry, pkSettleCountry: this.pkCountry,
}) })
.then((res) => { .then(res => {
this.orderData = res.data this.orderData = res.data
this.downTime() this.downTime()
}) })
@ -645,13 +692,13 @@ export default {
orderCode: this.orderCode, orderCode: this.orderCode,
pkSettleCountry: this.pkCountry, pkSettleCountry: this.pkCountry,
}) })
.then((res) => { .then(res => {
// this.payDetail = res.data // this.payDetail = res.data
this.$set(this, 'payDetail', res.data) this.$set(this, 'payDetail', res.data)
}) })
}, },
reset() { reset() {
this.$store.dispatch('GetInfo').then((res) => { this.$store.dispatch('GetInfo').then(res => {
uni.reLaunch({ uni.reLaunch({
url: '/pages/index/index', url: '/pages/index/index',
}) })
@ -667,9 +714,14 @@ export default {
clearInterval(payStatus) clearInterval(payStatus)
this.wxPopup = false this.wxPopup = false
// this.showSucce = true // this.showSucce = true
uni.showLoading({
title: '正在获取注册信息,请不要关闭当前页面',
})
setTimeout(() => {
this.fansOrder() this.fansOrder()
}, 2000)
} else { } else {
api.payStatus(data).then((res) => { api.payStatus(data).then(res => {
that.sucPay = res.data that.sucPay = res.data
}) })
} }
@ -710,7 +762,9 @@ export default {
.tit { .tit {
font-size: 24px; font-size: 24px;
font-family: PingFang SC-Semibold, PingFang SC; font-family:
PingFang SC-Semibold,
PingFang SC;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;
color: #333333; color: #333333;
@ -719,7 +773,9 @@ export default {
.tit1 { .tit1 {
font-size: 24px; font-size: 24px;
font-family: PingFang SC-Semibold, PingFang SC; font-family:
PingFang SC-Semibold,
PingFang SC;
font-weight: 600; font-weight: 600;
color: #e02b26; color: #e02b26;
text-align: center; text-align: center;
@ -728,7 +784,9 @@ export default {
.tit2 { .tit2 {
font-size: 11px; font-size: 11px;
font-family: PingFang SC-Regular, PingFang SC; font-family:
PingFang SC-Regular,
PingFang SC;
font-weight: 400; font-weight: 400;
color: #666666; color: #666666;
display: flex; display: flex;
@ -755,7 +813,9 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 12px; font-size: 12px;
font-family: PingFang SC-Semibold, PingFang SC; font-family:
PingFang SC-Semibold,
PingFang SC;
font-weight: 600; font-weight: 600;
color: #333333; color: #333333;
@ -773,10 +833,9 @@ export default {
.flex_ac { .flex_ac {
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%;
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid rgba(0, 0, 0, 0.1); border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding: 18rpx 0; padding: 18rpx 20rpx;
} }
.flex_ac1 { .flex_ac1 {
@ -786,14 +845,16 @@ export default {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
border-bottom: 1px solid rgba(0, 0, 0, 0.1); border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding: 18rpx 0; // padding: 18rpx 0;
} }
.flex_ac_i { .flex_ac_i {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 12px; font-size: 12px;
font-family: PingFang SC-Regular, PingFang SC; font-family:
PingFang SC-Regular,
PingFang SC;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
@ -804,10 +865,6 @@ export default {
} }
} }
::v-deep .u-collapse-item__content__text {
padding: 0px 15px;
}
.pad { .pad {
width: 100%; width: 100%;
display: flex; display: flex;
@ -915,14 +972,18 @@ export default {
justify-content: space-between; justify-content: space-between;
color: #666; color: #666;
font-size: 12px; font-size: 12px;
font-family: PingFang SC-Semibold, PingFang SC; font-family:
PingFang SC-Semibold,
PingFang SC;
font-weight: 600; font-weight: 600;
color: #999; color: #999;
} }
.tTit { .tTit {
font-size: 12px; font-size: 12px;
font-family: PingFang SC-Semibold, PingFang SC; font-family:
PingFang SC-Semibold,
PingFang SC;
font-weight: 600; font-weight: 600;
color: #666; color: #666;
} }

File diff suppressed because it is too large Load Diff