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