feat:抖音支付

This commit is contained in:
2026-09-09 11:46:36 +08:00
parent 75060faa39
commit b350f1c07a
18 changed files with 2670 additions and 531 deletions
+127 -15
View File
@@ -8,6 +8,8 @@
<up-image :src="`https://static.tbmall.xin/static/mine-purse/${item.categoty}.png`" width="22" height="22"
bgColor="#f1f6ff00" class="purse_amount"></up-image>
<view class="title">{{ item.name }}</view>
<up-image v-if="item.categoty != 'balance'" src="/pages/rwa_package/static/tips.png" width="16" height="16"
bgColor="#f1f6ff00" @click.stop="openTip(item.categoty)" />
<up-image src="/static/common/right_soild.png" width="10" height="10" bgColor="#fff"
class="right_soild"></up-image>
</view>
@@ -31,17 +33,20 @@
</view>
<view class="bottom_item" v-if="item.categoty == 'vcoin'">
<view class="bottom_item_amount">{{ item.bonusAmount || 0 }}</view>
<view class="bottom_item_title">消费者权益</view>
<view class="bottom_item_amount bottom_item_amount_center">{{ item.bonusAmount || 0 }}</view>
<view class="bottom_item_title bottom_item_title_center">
<text class="title_text">消费者权益</text>
<up-image v-if="item.categoty != 'balance'" src="/pages/rwa_package/static/tips.png" width="12" height="12"
bgColor="#f1f6ff00" class="tip_icon" @click.stop="openTip('rights')" />
</view>
</view>
<view class="bottom_item" @click.stop="onTip(vIndex)">
<view class="bottom_item_lock">{{ item.lockAmount || 0 }}</view>
<view class="bottom_item_title bottom_item_title_right">
<text class="title_text">{{ item.categoty === "raffle" ? "不可用次数" : "不可用余额" }}</text>
<view class="tips_icon_box" v-if="item.categoty == 'balance' || item.categoty == 'raffle'">
<up-image src="/pages/rwa_package/static/tips.png" width="12" height="12" bgColor="#fff" />
</view>
<up-image v-if="item.categoty == 'balance' || item.categoty == 'raffle'"
src="/pages/rwa_package/static/tips.png" width="12" height="12" bgColor="#fff" class="tip_icon" />
</view>
</view>
</view>
@@ -99,6 +104,17 @@
</view>
</view>
</up-popup>
<!-- 字段解释弹窗 -->
<up-popup :show="tipShow" mode="center" :round="16" @close="tipShow = false">
<view class="tip_popup_content">
<view class="tip_popup_title">字段解释</view>
<view class="tip_popup_body">
<view class="tip_subtitle">{{ currentTip.subTitle }}</view>
<view class="tip_detail">{{ currentTip.detail }}</view>
</view>
<view class="tip_popup_btn" @click="tipShow = false">我知道了</view>
</view>
</up-popup>
<qiaobao-assistant page-key="pages/mine_package/mine_purse/mine_purse" title="钱包与账户" />
</view>
</template>
@@ -111,6 +127,9 @@ import { getValue } from "@/utils/enumUtils.js";
import { formatDate, handleAmount } from "@/utils/index.js";
export default {
options: {
styleIsolation: 'shared',
},
components: { headerComponent: Header },
data() {
return {
@@ -120,6 +139,8 @@ export default {
collectShow: false,
collectSuccess: false,
availableAmount: 0,
tipShow: false,
tipCategory: "",
collectForm: {
mobile: "",
amount: "",
@@ -128,10 +149,38 @@ export default {
},
};
},
computed: {
currentTip() {
const map = {
expend: {
subTitle: "贡献值:",
detail: "购买商品确认签收后立即可获得贡献值。按毛利的1:1发放",
},
raffle: {
subTitle: "抽奖次数:",
detail: "购买商品可获得抽奖次数,抽奖次数可在抽奖活动中进行使用",
},
vcoin: {
subTitle: "数字积分:",
detail:
"根据贡献值按照比例进行转换获得1. 商城贡献值10W内的贡献值1:1转换成数字积分2. 商城贡献值10W外的根据数字积分数量和总贡献值及贡献值占比进行获得。",
},
rights: {
subTitle: "消费者权益:",
detail: "根据数字积分进行转换,根据消费者权益可获得共享计划权益",
},
};
return map[this.tipCategory] || { subTitle: "", detail: "" };
},
},
onLoad() {
this.getAcctBalance();
},
methods: {
openTip(category) {
this.tipCategory = category;
this.tipShow = true;
},
getValue,
formatDate,
handleAmount,
@@ -365,6 +414,10 @@ export default {
font-weight: bold;
font-size: 36rpx;
color: #333333;
&.bottom_item_amount_center {
text-align: center;
}
}
.bottom_item_lock {
@@ -379,6 +432,7 @@ export default {
font-size: 20rpx;
color: #999999;
display: flex;
flex-direction: row;
align-items: center;
white-space: nowrap;
@@ -386,23 +440,34 @@ export default {
justify-content: flex-end;
}
.title_text {
white-space: nowrap;
&.bottom_item_title_center {
justify-content: center;
}
.tips_icon_box {
margin-left: 8rpx;
flex-shrink: 0;
.title_text {
white-space: nowrap;
font-size: 20rpx;
color: #999999;
line-height: 1;
display: flex;
align-items: center;
}
::v-deep(.bottom_item_tip_title) {
.u-image__image {
margin-top: 8rpx;
margin-left: 8rpx;
}
::v-deep(.tip_icon),
.tip_icon {
margin-left: 8rpx;
display: flex;
align-items: center;
justify-content: center;
.u-image,
.u-image__image,
image {
display: flex !important;
align-items: center !important;
justify-content: center !important;
margin: 0 !important;
}
}
}
}
@@ -553,5 +618,52 @@ export default {
}
}
}
.tip_popup_content {
background: #ffffff;
width: 600rpx;
border-radius: 24rpx;
padding: 44rpx 36rpx;
box-sizing: border-box;
.tip_popup_title {
font-weight: 600;
font-size: 34rpx;
color: #333333;
text-align: center;
margin-bottom: 40rpx;
}
.tip_popup_body {
margin-bottom: 48rpx;
.tip_subtitle {
font-size: 28rpx;
color: #333333;
font-weight: 500;
margin-bottom: 12rpx;
}
.tip_detail {
font-size: 28rpx;
color: #333333;
line-height: 1.6;
white-space: pre-wrap;
}
}
.tip_popup_btn {
width: 100%;
height: 84rpx;
background: #707070;
border-radius: 42rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 30rpx;
color: #ffffff;
font-weight: 500;
}
}
}
</style>