/** * 新版钱包充值页面 * @邠心vbe on 2023/02/02 */ import React, { Component } from 'react'; import { View, Text, ScrollView, StyleSheet, Switch } from 'react-native'; import apiWallet from '../../api/apiWallet'; import BadgeSelectItem from '../../components/BadgeSelectItem'; import Button, { ElevationObject } from '../../components/Button'; import Dialog from '../../components/Dialog'; import { PaymentDefault } from '../payment/PaymentConfig'; import { PageList } from '../Router'; import { Balance } from './Payment'; import TopupPaythod from './TopupPaythod'; export default class TopupNew extends Component { constructor(props) { super(props); this.state = { isAuto: false, topupList: [], selectIndex: 0, payType: {}, balance: 0, }; } componentDidMount() { this.props.navigation.addListener('focus', () => { getUserInfo(info => { this.setState({ balance: info.credit }) }, true); }); this.getTopupList(); } getTopupList() { Dialog.showProgressDialog(); // apiWallet.getTopUpAmountList() apiWallet.getTopUpAmountListV2().then(res => { Dialog.dismissLoading(); if (res.data.length > 0) { this.setState({ topupList: res.data }); } }).catch(err => { toastShort(err) const data = apiWallet.getTempAmountListV2(); this.setState({ topupList: data }); Dialog.dismissLoading(); }) } /** * 2C2P充值 */ topup2() { const topup = this.state.topupList[this.state.selectIndex] const params = { currency: topup?.currency, payAmount: topup?.amount } apiWallet.doPaymentV2(params).then(res => { Dialog.dismissLoading(); if (res.data.webPaymentUrl) { startPage(PageList.paymentWeb, { amount: params.payAmount, url: res.data.webPaymentUrl, type: 'Topup' }); } else { toastShort('Error 0') } }).catch(err => { Dialog.dismissLoading(); toastShort(err); }); } /** * FOMO充值 */ topup() { const topup = this.state.topupList[this.state.selectIndex] const params = { currency: topup?.currency, payAmount: topup?.amount, fomoPayType: this.state.payType.fomoPayType } //console.log('params',params); if (params.payAmount) { if (params.fomoPayType == 'PAYNOW' || params.fomoPayType == 'GRABPAY') { //PAYNOW支付 Dialog.showProgressDialog(); apiWallet.doPayment(params).then(res => { Dialog.dismissLoading(); if (res.data.fomoId && res.data.qrCodeInBase64) { startPage(PageList.paynow, { amount: params.payAmount, base64: res.data.qrCodeInBase64 }); } else if (res.data.url) { startPage(PageList.paymentWeb, { amount: params.payAmount, url: res.data.url, type: 'Topup' }); } else { toastShort('Error 0') } }).catch(err => { Dialog.dismissLoading(); toastShort(err); }); } else { //信用卡支付 startPage(PageList.formCard, { amount: params.payAmount, payType: params.fomoPayType }); } } else { toastShort('Error 1') } } render() { return ( {$t('wallet.titleChooseCreditValue')} { this.state.topupList.map((item, index) => { return ( 0 && styles.right]} checked={index == this.state.selectIndex} onPress={() => { this.setState({ selectIndex: index }) }}> {item.amount} {item.currency} ); }) } { !PaymentDefault.is2c2p && {$t('wallet.titleChoosePaymentType')} { this.setState({ payType: type }); }}/> }