update:vip完成

This commit is contained in:
2026-06-18 16:18:55 +08:00
parent 68f13910a3
commit 8d8ede5397
41 changed files with 1054 additions and 107 deletions
+9 -6
View File
@@ -32,8 +32,8 @@ const memberTypes = [
desc: "特享约战竞技次数包、专属会员标识",
benefitTitle: "普通会员专属权益",
themeClass: "vip-page--normal",
heroCard: "../../static/vip/vip-title.png",
activeHeroCard: "../../static/vip/vip-title2.png",
heroCard: "https://static.shelingxingqiu.com/shootmini/static/vip/vip-title.png",
activeHeroCard: "https://static.shelingxingqiu.com/shootmini/static/vip/vip-title2.png",
orderIcon: "../../static/vip/vip-order.png",
heroBadge: "../../static/vip/normal-hero-badge.png",
buttonClass: "activate-btn--normal",
@@ -58,8 +58,8 @@ const memberTypes = [
desc: "尊享专属特效、无限制约战竞技、专属会员标识",
benefitTitle: "超级会员专属权益",
themeClass: "vip-page--super",
heroCard: "../../static/vip/svip-title.png",
activeHeroCard: "../../static/vip/svip-title2.png",
heroCard: "https://static.shelingxingqiu.com/shootmini/static/vip/svip-title.png",
activeHeroCard: "https://static.shelingxingqiu.com/shootmini/static/vip/svip-title2.png",
orderIcon: "../../static/vip/svip-order.png",
heroBadge: "../../static/vip/super-hero-badge.png",
buttonClass: "activate-btn--super",
@@ -115,7 +115,7 @@ const isVipActive = (type) => {
return toTimestamp(getVipExpiredValue(type)) > Date.now();
};
// 会员卡片展示日期,不展示具体时分秒
// 会员卡片展示完整到期时间
const formatVipDate = (value) => {
const timestamp = toTimestamp(value);
if (!timestamp) return "";
@@ -123,7 +123,10 @@ const formatVipDate = (value) => {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
const hour = String(date.getHours()).padStart(2, "0");
const minute = String(date.getMinutes()).padStart(2, "0");
const second = String(date.getSeconds()).padStart(2, "0");
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
};
// 会员生效时使用 title2 切图,未生效时沿用原来的开通引导图。
+40 -2
View File
@@ -61,6 +61,18 @@ const goPay = async () => {
}
};
const copyOrderId = (orderId) => {
uni.setClipboardData({
data: String(orderId),
success: () => {
uni.showToast({
title: "复制成功",
icon: "success",
});
},
});
};
const cancelOrder = async () => {
const result = await cancelOrderListAPI(data.value.orderId);
data.value = result;
@@ -78,8 +90,13 @@ const cancelOrder = async () => {
>
<view class="order">
<view>
<text>商品名{{ data.vipName }}</text>
<text>订单号{{ data.orderId }}</text>
<text>{{ data.vipName }}</text>
<view class="order-number">
<text>订单号{{ data.orderId }}</text>
<text class="copy-action" @click.stop="copyOrderId(data.orderId)"
>复制</text
>
</view>
<text>下单时间{{ data.vipCreateAt }}</text>
<text
>支付时间{{
@@ -141,4 +158,25 @@ const cancelOrder = async () => {
text-align: center;
font-size: 11px;
}
.order-number {
display: flex;
align-items: center;
color: #666666;
font-size: 26rpx;
margin-top: 10rpx;
}
.order-number > text:first-child {
flex: 1;
min-width: 0;
word-break: break-all;
}
.copy-action {
flex-shrink: 0;
margin-left: 16rpx;
padding: 2rpx 14rpx;
color: #1f6ed4;
font-size: 24rpx;
line-height: 34rpx;
}
</style>
+6 -5
View File
@@ -80,15 +80,15 @@ onShow(() => {
>{{ orderStatusNames[item.orderStatus] }}</view
>
<text>{{ item.vipName }}</text>
<!-- <text>订单号{{ item.orderId }}</text> -->
<!-- <text>创建时间{{ item.vipCreateAt }}</text> -->
<text
<text>订单号{{ item.orderId }}</text>
<text>创建时间{{ item.orderCreateAt }}</text>
<!-- <text
>支付时间{{
item.orderStatus === 4 ? item.paymentTime : ""
}}</text
>
> -->
<text>金额{{ item.total }} </text>
<text>支付方式微信</text>
<!-- <text>支付方式微信</text> -->
<!-- <text class="renew-action" @click.stop="openAutoRenewDialog(item)">
自动续费
</text> -->
@@ -135,6 +135,7 @@ onShow(() => {
.order-item > text:nth-child(2) {
color: #333333;
font-size: 30rpx;
font-weight: bold;
}
.order-item > text {
color: #666666;