<template> <view class="content"> <view class="head"> 账户余额(元) <view class="num"> {{now_money}} </view> </view> <view class="card"> <view class="card-head"> <view style="font-size: 32rpx;"> 购买礼包 </view> <view style="font-size: 28rpx;display: flex;align-items: center;color: #444444;" @click="navgo('/pageQuota/Balance/index')"> 购买记录<up-icon name="arrow-right"></up-icon> </view> </view> <view class="card-ipt"> <text style="margin-right: 20rpx;">自定义金额</text> <up-input placeholderStyle='font-size:32rpx' fontSize='56rpx' color='#FC452F' border='none' v-model="money" placeholder="点击输入金额" @blur='setPrice' /> <view class="valid-text" v-if='money<300'> 最低购买300元 </view> </view> </view> <view class="tips"> <view class="line"> </view> <view class=""> <view style="font-size: 32rpx;font-weight: bold;margin-left: 20rpx;"> 注意事项: </view> <view class='tips-li'> 1、充值后帐户的金额不能提现,可用于消费使用 </view> <view class='tips-li'> 2、账户充值出现问题可联系平台客服,也可拨打平台客服咨询热线4008888888 </view> </view> </view> <view class="submit-btn"> <up-button text="确认购买" @click="submit" shape="circle" color="#EFCC6E"></up-button> </view> </view> </template> <!-- https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/44aaa202406081819375845.png --> <script setup> import { rechargeApi, rechargeAmountApi } from "@/api/user.js"; import { userInfoApi } from "@/api/user.js" import { ref } from "vue" const money = ref('') const now_money = ref(0) const navgo = (url) => { uni.navigateTo({ url }) } const setPrice = () => { money.value = (+money.value).toFixed(2) } const submit = () => { rechargeApi({ price: money.value }).then(res => { uni.requestPayment({ provider: 'wxpay', timeStamp: res.data.timeStamp, nonceStr: res.data.nonceStr, package: res.data.package, signType: res.data.signType, paySign: res.data.paySign, success: (e) => { if (e.errMsg == 'requestPayment:ok') { uni.showModal({ title: '支付成功', confirmText: '查看详情', cancelText: '取消', success: (e) => { if (e.confirm) { uni.redirectTo({ url: '/pageQuota/Balance/index' }) } else uni.navigateBack(); } }) } else uni.$u.toast('支付失败') }, fail: (e) => { uni.$u.toast('用户取消支付'); uni.redirectTo({ url: '/pages/gift/index' }) } }) }) } const getUser = () => { userInfoApi().then(res => { now_money.value = res.data.now_money }) } getUser() </script> <style lang='scss'> .content { width: 710rpx; margin: 20rpx auto; box-sizing: border-box; min-height: 100vh; .card { background-color: white; padding: 20rpx; height: 300rpx; box-sizing: border-box; border-radius: 16rpx; .card-head { display: flex; justify-content: space-between; align-items: center; } .card-ipt { display: flex; align-items: center; width: 630rpx; margin: 0 auto; height: 162rpx; border-radius: 12rpx; border: 2px solid #FFE5CB; margin-top: 34rpx; box-sizing: border-box; padding: 0 20rpx; color: #A26341; position: relative; .valid-text { font-size: 18rpx; color: #FC6957; position: absolute; top: 110rpx; left: 170rpx; } } } .head { background-image: url('https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/44aaa202406081819375845.png'); height: 270rpx; background-size: 100% 100%; padding: 42rpx 30rpx; padding-bottom: 62rpx; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; font-size: 30rpx; .num { font-size: 64rpx; color: #7B5232; } } .tips { margin-top: 40rpx; position: relative; .line { background-color: #FF8056; width: 6rpx; height: 34rpx; border-radius: 10rpx 10rpx 10rpx 10rpx; position: absolute; top: 5rpx; } .tips-li { margin-top: 20rpx; font-size: 24rpx; color: #7A7A7A; } } .submit-btn { position: absolute; width: 710rpx; bottom: 100rpx; } } </style>