diff --git a/pages/balance/transfer/transfer.vue b/pages/balance/transfer/transfer.vue index 999343b..dbf157b 100644 --- a/pages/balance/transfer/transfer.vue +++ b/pages/balance/transfer/transfer.vue @@ -79,13 +79,14 @@ - + {{ transferData.promoTitle }} - 淘宝闪购 + {{ transferData.promoTag }} {{ transferData.promoTagDesc }} @@ -98,24 +99,27 @@ 免费领 - - - + + + + + 摇动或点击查看详情 - @@ -171,6 +189,20 @@ 闪购神券配置 + + + 闪购图片 + + + + + + + 闪购标签 + + 闪购标题 @@ -234,11 +266,26 @@ const transferData = reactive({ recipient: '小王(*王)', paymentMethod: '工商银行卡(9999)', avatar: '', + promoImage: '', promoTitle: '零售购物券', + promoTag: '淘宝闪购', promoTagDesc: '满29元可用', - promoPrice: '8' + promoPrice: '8', + bannerUrl: '/static/image/balance/transfer/bottom-banner-1.png' }); +const bannerImages = [ + '/static/image/balance/transfer/bottom-banner-1.png', + '/static/image/balance/transfer/bottom-banner-2.png' +]; + +const toggleBanner = () => { + const currentIndex = bannerImages.indexOf(transferData.bannerUrl); + const nextIndex = (currentIndex + 1) % bannerImages.length; + transferData.bannerUrl = bannerImages[nextIndex]; + uni.setStorageSync(STORAGE_KEY, transferData); +}; + onLoad(() => { // 进入转账页面埋点 proxy.$apiUserEvent('all', { @@ -263,7 +310,9 @@ const tempEditData = reactive({ recipient: '', paymentMethod: '', avatar: '', + promoImage: '', promoTitle: '', + promoTag: '', promoTagDesc: '', promoPrice: '' }); @@ -280,7 +329,9 @@ const openEditPopup = () => { tempEditData.recipient = transferData.recipient; tempEditData.paymentMethod = transferData.paymentMethod; tempEditData.avatar = transferData.avatar; + tempEditData.promoImage = transferData.promoImage; tempEditData.promoTitle = transferData.promoTitle; + tempEditData.promoTag = transferData.promoTag; tempEditData.promoTagDesc = transferData.promoTagDesc; tempEditData.promoPrice = transferData.promoPrice; editPopup.value.open(); @@ -378,11 +429,25 @@ const confirmEdit = async () => { } // #endif + // 处理闪购图片持久化 (仅限 APP 端) + let finalPromoImagePath = tempEditData.promoImage; + // #ifdef APP-PLUS + if (tempEditData.promoImage !== transferData.promoImage) { + // 如果图片发生了变化,保存新图并尝试删除旧图 + finalPromoImagePath = await saveImageToLocal(tempEditData.promoImage); + if (transferData.promoImage) { + removeLocalFile(transferData.promoImage); + } + } + // #endif + transferData.amount = tempEditData.amount; transferData.recipient = tempEditData.recipient; transferData.paymentMethod = tempEditData.paymentMethod; transferData.avatar = finalAvatarPath; + transferData.promoImage = finalPromoImagePath; transferData.promoTitle = tempEditData.promoTitle; + transferData.promoTag = tempEditData.promoTag; transferData.promoTagDesc = tempEditData.promoTagDesc; transferData.promoPrice = tempEditData.promoPrice; @@ -403,6 +468,17 @@ const chooseAvatar = () => { }); }; +const choosePromoImage = () => { + uni.chooseImage({ + count: 1, + sizeType: ['compressed'], + sourceType: ['album', 'camera'], + success: (res) => { + tempEditData.promoImage = res.tempFilePaths[0]; + } + }); +}; + onMounted(() => { const systemInfo = uni.getSystemInfoSync(); if (systemInfo.statusBarHeight) { @@ -822,6 +898,7 @@ const goBack = () => { .img { width: 70rpx; height: 70rpx; + border-radius: 50%; } } @@ -908,11 +985,18 @@ const goBack = () => { .fliggy-card { overflow: hidden; + position: relative; .banner-img { width: 100%; } + .guanggao-tag { + position: absolute; + top: 16rpx; + right: 16rpx; + } + .yaoyiyao-container { width: 100%; display: flex; diff --git a/static/image/balance/transfer/bottom-banner.png b/static/image/balance/transfer/bottom-banner-1.png similarity index 100% rename from static/image/balance/transfer/bottom-banner.png rename to static/image/balance/transfer/bottom-banner-1.png diff --git a/static/image/balance/transfer/bottom-banner-2.png b/static/image/balance/transfer/bottom-banner-2.png new file mode 100644 index 0000000..aa38d5e Binary files /dev/null and b/static/image/balance/transfer/bottom-banner-2.png differ diff --git a/static/image/balance/transfer/guanggao.png b/static/image/balance/transfer/guanggao.png new file mode 100644 index 0000000..95f0c49 Binary files /dev/null and b/static/image/balance/transfer/guanggao.png differ diff --git a/static/image/balance/transfer/taobaoshangou.png b/static/image/balance/transfer/taobaoshangou.png new file mode 100644 index 0000000..8bd5999 Binary files /dev/null and b/static/image/balance/transfer/taobaoshangou.png differ