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