From a4ec421412e200ffc3870da7d4d77a690f6292c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=97=B4=E8=B4=A7?= <252048765@qq.com>
Date: Tue, 1 Oct 2024 14:42:58 +0800
Subject: [PATCH 01/14] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98?=
=?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/commission/components/account-type-select.vue | 7 ++++++-
pages/commission/withdraw.vue | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/pages/commission/components/account-type-select.vue b/pages/commission/components/account-type-select.vue
index 89b4c209..e7b14060 100644
--- a/pages/commission/components/account-type-select.vue
+++ b/pages/commission/components/account-type-select.vue
@@ -75,7 +75,12 @@
icon: '/static/img/shop/pay/alipay.png',
title: '支付宝账户',
value: '4',
- }
+ },
+ {
+ icon: '/static/img/shop/pay/wechat.png',
+ title: '微信零钱',
+ value: '5',
+ }
];
function onChange(e) {
diff --git a/pages/commission/withdraw.vue b/pages/commission/withdraw.vue
index 4ce3ad40..9d050838 100644
--- a/pages/commission/withdraw.vue
+++ b/pages/commission/withdraw.vue
@@ -32,6 +32,7 @@
银行卡转账
微信零钱
支付宝账户
+ 微信零钱2
From b59c41c5f8ae87dfede2c576d345a862f1455c63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=97=B4=E8=B4=A7?= <252048765@qq.com>
Date: Fri, 4 Oct 2024 10:22:33 +0800
Subject: [PATCH 02/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E5=A2=9E=E5=8A=A0=E8=BD=AC=E8=B4=A6=E5=9B=9E?=
=?UTF-8?q?=E8=B0=83=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/commission/withdraw.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pages/commission/withdraw.vue b/pages/commission/withdraw.vue
index 9d050838..c934fdd1 100644
--- a/pages/commission/withdraw.vue
+++ b/pages/commission/withdraw.vue
@@ -32,7 +32,7 @@
银行卡转账
微信零钱
支付宝账户
- 微信零钱2
+ 微信零钱
@@ -49,7 +49,7 @@
/>
-
+
提现账号
Date: Sun, 13 Oct 2024 12:42:08 +0800
Subject: [PATCH 03/14] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=E3=80=91=E6=B7=BB=E5=8A=A0=E5=BE=AE=E4=BF=A1=E8=BD=AC?=
=?UTF-8?q?=E8=B4=A6=E5=88=B0=E9=9B=B6=E9=92=B1=E6=8F=90=E7=8E=B0=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/account-type-select.vue | 19 ++++++++++---------
pages/commission/withdraw.vue | 4 ++--
2 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/pages/commission/components/account-type-select.vue b/pages/commission/components/account-type-select.vue
index e7b14060..cbbfc6db 100644
--- a/pages/commission/components/account-type-select.vue
+++ b/pages/commission/components/account-type-select.vue
@@ -45,7 +45,8 @@
type: Boolean,
default: false,
},
- methods: { // 开启的提现方式
+ methods: {
+ // 开启的提现方式
type: Array,
default: [],
},
@@ -57,7 +58,7 @@
const typeList = [
{
- // icon: '/static/img/shop/pay/wechat.png', // TODO 芋艿:后续给个 icon
+ icon: '/static/img/shop/pay/wechat.png',
title: '钱包余额',
value: '1',
},
@@ -68,7 +69,7 @@
},
{
icon: '/static/img/shop/pay/wechat.png',
- title: '微信零钱',
+ title: '微信账户', // 微信手动转账
value: '3',
},
{
@@ -76,11 +77,11 @@
title: '支付宝账户',
value: '4',
},
- {
- icon: '/static/img/shop/pay/wechat.png',
- title: '微信零钱',
- value: '5',
- }
+ {
+ icon: '/static/img/shop/pay/wechat.png',
+ title: '微信零钱', // 微信 API 转账
+ value: '5',
+ },
];
function onChange(e) {
@@ -94,7 +95,7 @@
}
// 赋值
emits('update:modelValue', {
- type: state.currentValue
+ type: state.currentValue,
});
// 关闭弹窗
emits('close');
diff --git a/pages/commission/withdraw.vue b/pages/commission/withdraw.vue
index c934fdd1..6cde0283 100644
--- a/pages/commission/withdraw.vue
+++ b/pages/commission/withdraw.vue
@@ -30,9 +30,9 @@
请选择提现方式
钱包余额
银行卡转账
- 微信零钱
+ 微信账户
支付宝账户
- 微信零钱
+ 微信零钱
From 789ec69933dcad7c0f6ec56d9e16017025fbe242 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 13 Oct 2024 21:30:14 +0800
Subject: [PATCH 04/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E8=AE=A2=E5=8D=95=E7=A1=AE=E8=AE=A4=E9=A1=B5?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=8C=89=E7=85=A7=E9=A1=BA=E5=BA=8F?=
=?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=80=89=E6=8B=A9=E7=89=A9=E6=B5=81=E6=96=B9?=
=?UTF-8?q?=E5=BC=8F=EF=BC=8C=E6=9B=BF=E4=BB=A3=E5=8E=9F=E6=9C=89=E5=8F=AA?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E2=80=9C=E5=BF=AB=E9=80=92=E9=85=8D=E9=80=81?=
=?UTF-8?q?=E2=80=9D=E7=9A=84=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/order/addressSelection.vue | 12 ++++++++----
pages/order/confirm.vue | 27 ++++++++++++++++++++++++---
sheep/api/trade/config.js | 3 +++
sheep/api/trade/order.js | 3 +++
4 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/pages/order/addressSelection.vue b/pages/order/addressSelection.vue
index d54c68d3..d4789ea0 100644
--- a/pages/order/addressSelection.vue
+++ b/pages/order/addressSelection.vue
@@ -29,9 +29,9 @@
[默认]
- {{ state.addressInfo.areaName }} {{ state.addressInfo.detailAddress }}
+
+ {{ state.addressInfo.areaName }} {{ state.addressInfo.detailAddress }}
+
@@ -44,7 +44,11 @@
-
+
{{ state.pickUpInfo.name }}
diff --git a/pages/order/confirm.vue b/pages/order/confirm.vue
index 426df6d9..5e8e2ba4 100644
--- a/pages/order/confirm.vue
+++ b/pages/order/confirm.vue
@@ -244,7 +244,7 @@
const addressState = ref({
addressInfo: {}, // 选择的收货地址
- deliveryType: 1, // 收货方式:1-快递配送,2-门店自提
+ deliveryType: undefined, // 收货方式:1-快递配送,2-门店自提
isPickUp: true, // 门店自提是否开启
pickUpInfo: {}, // 选择的自提门店信息
receiverName: '', // 收件人名称
@@ -349,7 +349,7 @@
pointActivityId: state.orderPayload.pointActivityId,
});
if (code !== 0) {
- return;
+ return code;
}
state.orderInfo = data;
state.couponInfo = data.coupons || [];
@@ -357,20 +357,41 @@
if (state.orderInfo.address) {
addressState.value.addressInfo = state.orderInfo.address;
}
+ return code;
}
onLoad(async (options) => {
+ // 解析参数
if (!options.data) {
sheep.$helper.toast('参数不正确,请检查!');
return;
}
state.orderPayload = JSON.parse(options.data);
- await getOrderInfo();
+
// 获取交易配置
const { data, code } = await TradeConfigApi.getTradeConfig();
if (code === 0) {
addressState.value.isPickUp = data.deliveryPickUpEnabled;
}
+
+ // 价格计算
+ // 情况一:先自动选择“快递物流”
+ addressState.value.deliveryType = 1;
+ let orderCode = await getOrderInfo();
+ if (orderCode === 0) {
+ return;
+ }
+ // 情况二:失败,再自动选择“门店自提”
+ if (addressState.value.isPickUp) {
+ addressState.value.deliveryType = 2;
+ let orderCode = await getOrderInfo();
+ if (orderCode === 0) {
+ return;
+ }
+ }
+ // 情况三:都失败,则不选择
+ addressState.value.deliveryType = undefined;
+ await getOrderInfo();
});
// 使用 watch 监听地址和配送方式的变化
diff --git a/sheep/api/trade/config.js b/sheep/api/trade/config.js
index 16806ed8..d49235e4 100644
--- a/sheep/api/trade/config.js
+++ b/sheep/api/trade/config.js
@@ -6,6 +6,9 @@ const TradeConfigApi = {
return request({
url: `/trade/config/get`,
method: 'GET',
+ custom: {
+ showLoading: false,
+ },
});
},
};
diff --git a/sheep/api/trade/order.js b/sheep/api/trade/order.js
index 4091c0dc..10cb6352 100644
--- a/sheep/api/trade/order.js
+++ b/sheep/api/trade/order.js
@@ -35,6 +35,9 @@ const OrderApi = {
if (!(data.pointActivityId > 0)) {
delete data2.pointActivityId;
}
+ if (!(data.deliveryType > 0)) {
+ delete data2.deliveryType;
+ }
// 解决 SpringMVC 接受 List- 参数的问题
delete data2.items;
for (let i = 0; i < data.items.length; i++) {
From c8f9043869d14ebc626d0eed5f00cf7f49a51bab Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 13 Oct 2024 21:41:25 +0800
Subject: [PATCH 05/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E7=A7=AF=E5=88=86=E5=95=86=E5=9F=8E=EF=BC=8C?=
=?UTF-8?q?=E5=95=86=E5=93=81=E4=B8=8D=E6=94=AF=E6=8C=81=E4=B8=8B=E6=8B=89?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=9B=B4=E5=A4=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/activity/point/list.vue | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pages/activity/point/list.vue b/pages/activity/point/list.vue
index 129f9880..c706f008 100644
--- a/pages/activity/point/list.vue
+++ b/pages/activity/point/list.vue
@@ -8,7 +8,7 @@
:scroll-with-animation="false"
:enable-back-to-top="true"
>
-
+
@@ -60,7 +60,7 @@
// 加载更多
function loadMore() {
- if (state.loadStatus !== 'noMore') {
+ if (loadStatus !== 'noMore') {
activityPageParams.pageNo += 1;
getActivityList();
}
From f36b1834079d535de6ce9238f000d3675748dc3d Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 27 Oct 2024 18:17:36 +0800
Subject: [PATCH 06/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E7=AD=BE=E5=88=B0=E7=9A=84=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/app/sign.vue | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/pages/app/sign.vue b/pages/app/sign.vue
index cf299d3c..4b1cd550 100644
--- a/pages/app/sign.vue
+++ b/pages/app/sign.vue
@@ -25,7 +25,7 @@
-
+
签到说明
- 1、已累计签到{{state.signInfo.totalDay}}天
+ 1.已累计签到{{ state.signInfo.totalDay }}天
- 2、据说连续签到第 {{ state.maxDay }} 天可获得超额积分,一定要坚持签到哦~~~
+ 2.据说连续签到第 {{ state.maxDay }} 天可获得超额积分,要坚持签到哦~~
+ 3.积分可以在购物时抵现金结算的哦 ~~
@@ -347,8 +348,7 @@
.title {
font-size: 34rpx;
font-weight: bold;
- // color: var(--ui-BG-Main);
- color: #ff6000;
+ color: var(--ui-BG-Main-TC);
}
.subtitle {
@@ -410,12 +410,10 @@
background-color: #f4b409;
border-radius: 16rpx;
font-size: 20rpx;
- color: #a57d3f;
+ color: var(--ui-BG-Main-TC);
line-height: 32rpx;
- }
-
- .venusSelect {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYWFmYjU3Mi03MGJhLTRiNDctOTI2Yi0zOThlZDkzZDkxMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzkwRkI4NEFEMDFCMTFFODhDNDdBMDVGOTBBN0U2NTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzkwRkI4NDlEMDFCMTFFODhDNDdBMDVGOTBBN0U2NTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZmRjNTM0MmUtNmFkOC1iMDRhLThjZTEtMjk2YWYzM2FkMmUxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBhYWZiNTcyLTcwYmEtNGI0Ny05MjZiLTM5OGVkOTNkOTEwOSIv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');
+ text-align: center;
+ padding: 2rpx;
}
.venus {
@@ -424,7 +422,11 @@
background-size: 100% 100%;
width: 56rpx;
height: 56rpx;
- margin: 10rpx 0;
+ margin: 10rpx auto;
+ }
+
+ .venusSelect {
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYWFmYjU3Mi03MGJhLTRiNDctOTI2Yi0zOThlZDkzZDkxMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzkwRkI4NEFEMDFCMTFFODhDNDdBMDVGOTBBN0U2NTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzkwRkI4NDlEMDFCMTFFODhDNDdBMDVGOTBBN0U2NTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZmRjNTM0MmUtNmFkOC1iMDRhLThjZTEtMjk2YWYzM2FkMmUxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBhYWZiNTcyLTcwYmEtNGI0Ny05MjZiLTM5OGVkOTNkOTEwOSIv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');
}
.num {
@@ -435,7 +437,7 @@
.item {
align-items: center;
justify-content: space-between;
- border-bottom: 1px solid #eee;
+ flex-direction: column;
height: 130rpx;
}
@@ -446,6 +448,6 @@
}
.on {
- background-color: #999 !important;
+ color: #f4b409;
}
From 4bdc82786e7d76ca6a600f70c99379656bbf83af Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 27 Oct 2024 18:22:47 +0800
Subject: [PATCH 07/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91s-title-block=20=E7=9A=84=20fontWeight=20?=
=?UTF-8?q?=E5=A4=9A=E5=8A=A0=E4=BA=86=20px=20=E5=83=8F=E7=B4=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../s-title-block/s-title-block.vue | 187 +++++++++---------
1 file changed, 95 insertions(+), 92 deletions(-)
diff --git a/sheep/components/s-title-block/s-title-block.vue b/sheep/components/s-title-block/s-title-block.vue
index cb610336..58f999db 100644
--- a/sheep/components/s-title-block/s-title-block.vue
+++ b/sheep/components/s-title-block/s-title-block.vue
@@ -1,108 +1,111 @@
-
-
-
- {{ data.title }}
-
- {{ data.description }}
-
-
-
- {{ data.more.text }}
-
-
-
+
+
+
+ {{ data.title }}
+
+ {{
+ data.description
+ }}
+
+
+
+ {{ data.more.text }}
+
+
+
\ No newline at end of file
+ .more-box {
+ white-space: nowrap;
+ font-size: 22rpx;
+ color: #999;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ right: 20rpx;
+ }
+ }
+
From 0213a4b88aad8a84821d5b0143a3a4a0308f5814 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 27 Oct 2024 20:23:29 +0800
Subject: [PATCH 08/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E9=A2=86=E5=8F=96=E4=BC=98=E6=83=A0=E5=8A=B5?=
=?UTF-8?q?=E5=9C=A8=20validityType=20=3D=201=20=E6=97=B6=EF=BC=88?=
=?UTF-8?q?=E5=9B=BA=E5=AE=9A=E6=97=A5=E6=9C=9F=EF=BC=89=EF=BC=8C=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sheep/components/s-activity-pop/s-activity-pop.vue | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sheep/components/s-activity-pop/s-activity-pop.vue b/sheep/components/s-activity-pop/s-activity-pop.vue
index 44a028ac..e6ee26bb 100644
--- a/sheep/components/s-activity-pop/s-activity-pop.vue
+++ b/sheep/components/s-activity-pop/s-activity-pop.vue
@@ -57,8 +57,9 @@
{{
item.validityType == 1
- ? sheep.$helper.timeFormat(item.validStartTime, 'yyyy.mm.dd') -
- sheep.$helper.timeFormat(item.validEndTime, 'yyyy.mm.dd')
+ ? sheep.$helper.timeFormat(item.validStartTime, 'yyyy-mm-dd') +
+ '-' +
+ sheep.$helper.timeFormat(item.validEndTime, 'yyyy-mm-dd')
: '领取后' + item.fixedStartTerm + '-' + item.fixedEndTerm + '天可用'
}}
From 315b5b852d77d03d0087e1d027449e3ce03af4a5 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Mon, 28 Oct 2024 09:58:22 +0800
Subject: [PATCH 09/14] =?UTF-8?q?README=20=E6=9B=B4=E6=96=B0=EF=BC=9A?=
=?UTF-8?q?=E5=8D=95=E4=BD=93=E3=80=81=E5=BE=AE=E6=9C=8D=E5=8A=A1=E7=9A=84?=
=?UTF-8?q?=E5=9C=B0=E5=9D=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 2aeb2e42..ba302930 100644
--- a/README.md
+++ b/README.md
@@ -30,11 +30,11 @@
支持 Spring Boot、Spring Cloud 两种架构:
-① Spring Boot 单体架构:
+① Spring Boot 单体架构:

-② Spring Cloud 微服务架构:
+② Spring Cloud 微服务架构:

From 94e0dd4f5d84f43eaf96c7e57ea9c4c184330353 Mon Sep 17 00:00:00 2001
From: puhui999
Date: Sun, 10 Nov 2024 17:56:58 +0800
Subject: [PATCH 10/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E5=AE=8C?=
=?UTF-8?q?=E5=96=84=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=AE=A2=E6=9C=8D?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E6=94=B9=E4=B8=BA=E6=B8=B8=E6=A0=87=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2=EF=BC=8C=E6=B6=88=E6=81=AF=20JSON=20=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/chat/components/messageList.vue | 51 ++++++++++++++++++-----
pages/chat/components/messageListItem.vue | 10 ++---
pages/chat/index.vue | 9 ++--
sheep/api/promotion/kefu.js | 4 +-
sheep/util/index.js | 13 ++++++
5 files changed, 65 insertions(+), 22 deletions(-)
diff --git a/pages/chat/components/messageList.vue b/pages/chat/components/messageList.vue
index 95a19e9e..e014a068 100644
--- a/pages/chat/components/messageList.vue
+++ b/pages/chat/components/messageList.vue
@@ -34,10 +34,12 @@
import KeFuApi from '@/sheep/api/promotion/kefu';
import { isEmpty } from '@/sheep/helper/utils';
import sheep from '@/sheep';
-
+ import { formatDate } from '@/sheep/util';
+
const sys_navBar = sheep.$platform.navbar;
const messageList = ref([]); // 消息列表
const showNewMessageTip = ref(false); // 显示有新消息提示
+ const refreshMessage = ref(false); // 更新消息列表
const backToTopStyle = reactive({
'width': '100px',
'background-color': '#fff',
@@ -48,8 +50,9 @@
'alignItems': 'center',
}); // 返回顶部样式
const queryParams = reactive({
- pageNo: 1,
- pageSize: 10,
+ pageNo: 1, // 只用于触底计算
+ pageSize: 20,
+ createTime: undefined,
});
const pagingRef = ref(null); // 虚拟列表
const queryList = async (pageNo, pageSize) => {
@@ -61,21 +64,47 @@
};
// 获得消息分页列表
const getMessageList = async () => {
- const { data } = await KeFuApi.getKefuMessagePage(queryParams);
- if (isEmpty(data.list)) {
+ const { data } = await KeFuApi.getKefuMessageList(queryParams);
+ if (isEmpty(data)) {
+ pagingRef.value.completeByNoMore([], true);
return;
}
- pagingRef.value.completeByTotal(data.list, data.total);
+ if (queryParams.pageNo > 1 && refreshMessage.value) {
+ const newMessageList = [];
+ for (const message of data) {
+ if (messageList.value.some((val) => val.id === message.id)) {
+ continue;
+ }
+ newMessageList.push(message);
+ }
+ // 新消息追加到开头
+ messageList.value = [...newMessageList, ...messageList.value];
+ pagingRef.value.updateCache(); // 更新缓存
+ refreshMessage.value = false; // 更新好后重置状态
+ return;
+ }
+
+ // 设置最后一次历史查询的最后一条消息的 createTime
+ queryParams.createTime = formatDate(data.at(-1).createTime);
+ pagingRef.value.completeByNoMore(data, false);
};
/** 刷新消息列表 */
- const refreshMessageList = (message = undefined) => {
- if (message !== undefined) {
- showNewMessageTip.value = true;
+ const refreshMessageList = async (message = undefined) => {
+ if (typeof message !== 'undefined') {
// 追加数据
pagingRef.value.addChatRecordData([message], false);
- return;
+ } else {
+ queryParams.createTime = undefined;
+ refreshMessage.value = true;
+ await getMessageList();
+ }
+
+ // 若已是第一页则不做处理
+ if (queryParams.pageNo > 1) {
+ showNewMessageTip.value = true;
+ } else {
+ onScrollToUpper();
}
- pagingRef.value.reload();
};
/** 滚动到最新消息 */
const onBackToTopClick = (event) => {
diff --git a/pages/chat/components/messageListItem.vue b/pages/chat/components/messageListItem.vue
index 06a718de..a0120902 100644
--- a/pages/chat/components/messageListItem.vue
+++ b/pages/chat/components/messageListItem.vue
@@ -46,7 +46,7 @@
-
+
@@ -58,9 +58,9 @@
[],
},
});
- const getMessageContent = computed(() => (item) => JSON.parse(item.content)); // 解析消息内容
+ const getMessageContent = computed(() => (item) => jsonParse(item.content)); // 解析消息内容
//======================= 工具 =======================
diff --git a/pages/chat/index.vue b/pages/chat/index.vue
index 5b20a618..756f76e9 100644
--- a/pages/chat/index.vue
+++ b/pages/chat/index.vue
@@ -34,6 +34,7 @@
import FileApi from '@/sheep/api/infra/file';
import KeFuApi from '@/sheep/api/promotion/kefu';
import { useWebSocket } from '@/sheep/hooks/useWebSocket';
+ import { jsonParse } from '@/sheep/util';
const sys_navBar = sheep.$platform.navbar;
@@ -52,7 +53,7 @@
try {
const data = {
contentType: KeFuMessageContentTypeEnum.TEXT,
- content: chat.msg,
+ content: JSON.stringify({ text: chat.msg }),
};
await KeFuApi.sendKefuMessage(data);
await messageListRef.value.refreshMessageList();
@@ -104,7 +105,7 @@
const res = await FileApi.uploadFile(data.tempFiles[0].path);
msg = {
contentType: KeFuMessageContentTypeEnum.IMAGE,
- content: res.data,
+ content: JSON.stringify({picUrl: res.data}),
};
break;
case 'goods':
@@ -140,13 +141,13 @@
onMessage: async (data) => {
const type = data.type;
if (!type) {
- console.error('未知的消息类型:' + data.value);
+ console.error('未知的消息类型:' + data);
return;
}
// 2.2 消息类型:KEFU_MESSAGE_TYPE
if (type === WebSocketMessageTypeConstants.KEFU_MESSAGE_TYPE) {
// 刷新消息列表
- await messageListRef.value.refreshMessageList(JSON.parse(data.content));
+ await messageListRef.value.refreshMessageList(jsonParse(data.content));
return;
}
// 2.3 消息类型:KEFU_MESSAGE_ADMIN_READ
diff --git a/sheep/api/promotion/kefu.js b/sheep/api/promotion/kefu.js
index 86481ab0..6b512f75 100644
--- a/sheep/api/promotion/kefu.js
+++ b/sheep/api/promotion/kefu.js
@@ -15,9 +15,9 @@ const KeFuApi = {
},
});
},
- getKefuMessagePage: (params) => {
+ getKefuMessageList: (params) => {
return request({
- url: '/promotion/kefu-message/page',
+ url: '/promotion/kefu-message/list',
method: 'GET',
params,
custom: {
diff --git a/sheep/util/index.js b/sheep/util/index.js
index e2d8ff7d..fc975e18 100644
--- a/sheep/util/index.js
+++ b/sheep/util/index.js
@@ -131,3 +131,16 @@ export const copyValueToTarget = (target, source) => {
// 更新目标对象值
Object.assign(target, newObj)
}
+/**
+ * 解析 JSON 字符串
+ *
+ * @param str
+ */
+export function jsonParse(str) {
+ try {
+ return JSON.parse(str)
+ } catch (e) {
+ console.error(`str[${str}] 不是一个 JSON 字符串`)
+ return ''
+ }
+}
From 87c6e967f2d506f1069cd587f47dff46c78e3d12 Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Sun, 10 Nov 2024 18:53:26 +0800
Subject: [PATCH 11/14] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E5=AE=8C?=
=?UTF-8?q?=E5=96=84=E3=80=91=E5=95=86=E5=9F=8E=EF=BC=9A=E5=AE=A2=E6=9C=8D?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E6=94=B9=E4=B8=BA=E6=B8=B8=E6=A0=87=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2=EF=BC=8C=E6=B6=88=E6=81=AF=20JSON=20=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/chat/components/messageList.vue | 38 ++++++++----
pages/chat/index.vue | 39 +++++++++---
sheep/util/index.js | 87 +++++++++++++++------------
3 files changed, 103 insertions(+), 61 deletions(-)
diff --git a/pages/chat/components/messageList.vue b/pages/chat/components/messageList.vue
index e014a068..aa556e76 100644
--- a/pages/chat/components/messageList.vue
+++ b/pages/chat/components/messageList.vue
@@ -1,20 +1,35 @@
-
+
-
+
-
+
@@ -41,13 +56,13 @@
const showNewMessageTip = ref(false); // 显示有新消息提示
const refreshMessage = ref(false); // 更新消息列表
const backToTopStyle = reactive({
- 'width': '100px',
+ width: '100px',
'background-color': '#fff',
'border-radius': '30px',
'box-shadow': '0 2px 4px rgba(0, 0, 0, 0.1)',
- 'display': 'flex',
- 'justifyContent': 'center',
- 'alignItems': 'center',
+ display: 'flex',
+ justifyContent: 'center',
+ alignItems: 'center',
}); // 返回顶部样式
const queryParams = reactive({
pageNo: 1, // 只用于触底计算
@@ -106,6 +121,7 @@
onScrollToUpper();
}
};
+
/** 滚动到最新消息 */
const onBackToTopClick = (event) => {
event(false); // 禁用默认操作
diff --git a/pages/chat/index.vue b/pages/chat/index.vue
index 756f76e9..d1443a4d 100644
--- a/pages/chat/index.vue
+++ b/pages/chat/index.vue
@@ -1,17 +1,35 @@
-
+
-
+
-
-
+
+
{
- },
+ onConnected: async () => {},
// 收到消息
onMessage: async (data) => {
const type = data.type;
@@ -161,7 +181,6 @@