Files
houyi-uniapp/pages/wallet/recharge.vue
PC-202306242200\Administrator 85b89ccea7 first commit
2026-03-28 23:27:25 +08:00

150 lines
4.0 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="xkl-com-bg">
<view style="height: 100rpx;"></view>
<view>
<view style="font-size: 30rpx; color: #949494;">当前余额 {{info.info.money}}最低充值{{info.recharge.min_money}}
</view>
<view style="height:20rpx"></view>
<u--input :customStyle="{backgroundColor: '#ffffff'}" type="number" placeholder="请输入充值金额" border="surround"
v-model="form.money"></u--input>
</view>
<view style="height: 30rpx;"></view>
<view style="background-color: #fff; padding: 30rpx;border-radius: 10rpx;">
<view style="font-size: 28rpx;#606266">支付方式</view>
<view style="height: 20rpx;"></view>
<u-radio-group v-model="form.pay_type" iconPlacement="right" :borderBottom="true" placement="column">
<u-radio :name="1">
<view class="u-flex u-flex-y-center">
<u-icon name="/static/icon/weixin.png" size="50rpx" />
<view style="width: 20rpx;"></view>
<view>
<view style="font-size: 30rpx;">微信支付</view>
<view style="font-size: 28rpx;color: #909399;">微信快捷支付</view>
</view>
</view>
</u-radio>
</u-radio-group>
</view>
<view style="height: 100rpx;"></view>
<u-button type="primary" @click="getRecharge">立即支付</u-button>
<view style="height: 100rpx;"></view>
<u-modal :show="paynoticeshow" content='未检测到支付结果, 您可以查看余额' @confirm="navback()" @close="paynoticeshow = false"
@cancel="paynoticeshow = false" showCancelButton confirmText="查看余额" cancelText="取消"
closeOnClickOverlay></u-modal>
</view>
</template>
<script>
let self;
export default {
data() {
return {
paynoticeshow: false,
info: {
recharge: {
min_money: 0
}
},
current: 0,
items: [],
form: {
money: '',
pay_type: 1,
},
ossdata: null,
filelist: [],
order_no: '',
}
},
onLoad(option) {
self = this;
if (option && option.data) {
self.info = JSON.parse(decodeURIComponent(option.data));
}
},
onShow() {
let options = uni.getEnterOptionsSync();
const shop_recharge_show = uni.getStorageSync('shop_recharge_show');
if (options.scene == '1038' &&
options.referrerInfo.appId == 'wxef277996acc166c3' && shop_recharge_show == 1) {
uni.setStorageSync('shop_recharge_show', 0);
// 代表从收银台小程序返回
let extraData = options.referrerInfo.extraData;
if (!extraData) {
// "当前通过物理按键返回,未接收到返参,建议自行查询交易结果";
self.paynoticeshow = true;
} else {
if (extraData.code == 'success') {
// "支付成功";
uni.showToast({
title: '支付成功',
icon: 'none',
duration: 3500
});
uni.navigateBack();
} else if (extraData.code == 'cancel') {
// "支付已取消";
uni.showToast({
title: '支付已取消',
icon: 'none',
duration: 3500
})
} else {
// "支付失败:" + extraData.errmsg;
uni.showToast({
title: "支付失败:" + extraData.errmsg,
icon: 'none',
duration: 3500
})
}
}
}
},
methods: {
navback(url) {
uni.navigateBack();
},
getRecharge() {
if (self.form.money < self.info.recharge.min_money) {
uni.showToast({
title: `最低充值${self.info.recharge.min_money}`,
icon: 'none'
})
return;
}
uni.showLoading({
title: '',
mask: true
});
self.$http.post('/shop/v10/wallet/recharge', self.form).then(({
data,
success
}) => {
uni.hideLoading();
self.order_no = data.extraData.reqsn;
uni.openEmbeddedMiniProgram({
appId: data.appid,
extraData: data.extraData,
success(res) {
// 打开成功
uni.setStorageSync('shop_recharge_show', 1);
}
})
})
},
}
}
</script>
<style lang="scss">
.xkl-no {
background-color: #f1f1f1;
}
.xkl-cur {
background-color: #2CCE7F;
color: #ffffff;
}
</style>