From f6289c0cae204771252c6f96a09efc6a22b79fbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E5=BF=97=E5=86=9B?= <543024265@qq.com>
Date: Tue, 8 Jul 2025 17:27:27 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=B8=B4=E6=97=B6?=
=?UTF-8?q?=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../put-account/investment-guidelines/index.vue | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/src/views/property-marketing/put-account/investment-guidelines/index.vue b/src/views/property-marketing/put-account/investment-guidelines/index.vue
index b72fec8..d35dc09 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/index.vue
@@ -40,15 +40,11 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -171,7 +167,7 @@ const timerRef = ref(null);
const startTask = () => {
//todo 暂时注释
- return
+ return;
if (timerRef.value !== null) return;
timerRef.value = setInterval(async () => {
try {
From 0c7d9086c829351fd909ba4d0e8b4dc7de18d4c3 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Tue, 8 Jul 2025 17:51:02 +0800
Subject: [PATCH 2/5] =?UTF-8?q?perf:=20=E5=8E=BB=E6=8E=89=E7=99=BE?=
=?UTF-8?q?=E5=88=86=E6=AF=94=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../account-detail/components/account-info/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue b/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
index 851ce48..5b3d2a6 100644
--- a/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
+++ b/src/views/property-marketing/media-account/account-detail/components/account-info/index.vue
@@ -80,7 +80,7 @@
>
- {{ `${(detailData[field.dataIndex] * 100).toFixed(2)}%` }}
+ {{ `${detailData[field.dataIndex]}%` }}
From 9bd1bee0c80142b8f99e31cc9f974d9fcba76602 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Tue, 8 Jul 2025 18:11:41 +0800
Subject: [PATCH 3/5] =?UTF-8?q?perf:=20=E6=89=AB=E7=A0=81=E9=80=BB?=
=?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/account-table/index.vue | 12 +++++++-----
.../components/add-account-modal/index.vue | 8 ++++----
.../components/authorized-account-modal/index.vue | 11 +++++++----
.../components/reauthorize-account-modal/index.vue | 14 +++++++++-----
4 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue b/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
index 6494858..9e0f558 100644
--- a/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/account-table/index.vue
@@ -107,8 +107,8 @@
-
-
+
+
@@ -166,11 +166,13 @@ const openDelete = (item) => {
};
const handleReauthorize = (item) => {
- const isUnauthorized = isUnauthorizedStatus(item.status);
+ console.log({ item });
+ const { id, platform, status } = item;
+ const isUnauthorized = isUnauthorizedStatus(status);
if (isUnauthorized) {
- authorizedAccountModalRef.value?.open(item.id);
+ authorizedAccountModalRef.value?.open(id, platform);
} else {
- reauthorizeAccountModalRef.value?.open(item.id);
+ reauthorizeAccountModalRef.value?.open(id, platform);
}
};
diff --git a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
index 1e96ffb..567df68 100644
--- a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue
@@ -124,7 +124,7 @@
-
+
@@ -322,15 +322,15 @@ async function onSubmit() {
if (isEdit.value) {
onClose();
} else {
- startAuthorized(data?.id);
+ startAuthorized(data?.id, data?.platform);
}
}
}
});
}
-const startAuthorized = (id) => {
- authorizedAccountModalRef.value.open(id);
+const startAuthorized = (id, platform) => {
+ authorizedAccountModalRef.value.open(id, platform);
};
const handleDownloadTemplate = async () => {
diff --git a/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
index 33de039..b0ece06 100644
--- a/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/authorized-account-modal/index.vue
@@ -34,7 +34,7 @@
-
+
@@ -55,7 +55,7 @@
请点击刷新
- 请使用抖音扫码,将公司账号绑定至灵机平台。
+ 请使用{{ platform }}扫码,将公司账号绑定至灵机平台。
@@ -88,7 +88,7 @@ const isSuccess = ref(false);
const failReason = ref('');
const progress = ref(0);
const id = ref('');
-
+const platform = ref('');
const isFailLoadQrCode = ref(false);
const qrCodeUrl = ref('');
const qrCodeLoading = ref(false);
@@ -103,8 +103,9 @@ const confirmBtnText = computed(() => {
return isSuccess.value ? '继续添加' : '重新扫码';
});
-const open = (accountId) => {
+const open = (accountId, platformCode) => {
id.value = accountId;
+ platform.value = platformCode === 0 ? '抖音' : '小红书';
getAuthorizedQrCode();
visible.value = true;
};
@@ -114,6 +115,7 @@ const resetTaskFields = () => {
isCompleted.value = false;
isSuccess.value = false;
failReason.value = '';
+ platform.value = '';
progress.value = 0;
qrCodeUrl.value = '';
qrCodeLoading.value = false;
@@ -168,6 +170,7 @@ const startStatusPolling = () => {
clearFakeProgressTimer();
clearStatusPollingTimer();
isLoading.value = false;
+ emits('update');
}
}
}, 2000);
diff --git a/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
index b3372d2..2013748 100644
--- a/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
+++ b/src/views/property-marketing/media-account/account-manage/components/reauthorize-account-modal/index.vue
@@ -34,7 +34,7 @@
-
+
@@ -55,7 +55,7 @@
请点击刷新
- 请使用抖音扫码,将公司账号绑定至灵机平台。
+ 请使用{{ platform }}扫码,将公司账号绑定至灵机平台。
@@ -106,24 +106,25 @@
import { defineExpose, ref, onUnmounted } from 'vue';
import { getMediaAccountsAuthorizedStatus, getAuthorizedImage } from '@/api/all/propertyMarketing';
-import icon1 from '@/assets/img/media-account/icon-warn.png';
+import icon1 from '@/assets/img/media-account/icon-default-qrcode.png';
import icon2 from '@/assets/img/media-account/icon-feedback-success.png';
import icon3 from '@/assets/img/media-account/icon-feedback-fail.png';
import icon4 from '@/assets/img/media-account/icon-warn-1.png';
+const emits = defineEmits(['update']);
const OVERDUE_TIME = 30000; // 失效时间
const TASK_STEP = {
default: 1,
loading: 2,
end: 3,
};
-
const visible = ref(false);
const isOverdue = ref(false); // 二维码失效
const isSuccess = ref(false);
const failReason = ref('');
const progress = ref(0);
const id = ref('');
+const platform = ref('');
const isFailLoadQrCode = ref(false);
const qrCodeUrl = ref('');
@@ -153,8 +154,9 @@ const confirmBtnText = computed(() => {
return '';
});
-const open = (accountId) => {
+const open = (accountId, platformCode) => {
id.value = accountId;
+ platform.value = platformCode === 0 ? '抖音' : '小红书';
getAuthorizedQrCode();
visible.value = true;
};
@@ -162,6 +164,7 @@ const resetTaskFields = () => {
isOverdue.value = false;
isSuccess.value = false;
failReason.value = '';
+ platform.value = '';
progress.value = 0;
qrCodeUrl.value = '';
qrCodeLoading.value = false;
@@ -200,6 +203,7 @@ const startStatusPolling = () => {
progress.value = 1;
clearFakeProgressTimer();
clearStatusPollingTimer();
+ emits('update');
}
}
}, 2000);
From 7d2d4e31f71847225d82b902e30290f7e8f2d696 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Tue, 8 Jul 2025 18:16:45 +0800
Subject: [PATCH 4/5] =?UTF-8?q?style:=20=E6=96=87=E6=A1=88=E9=87=8A?=
=?UTF-8?q?=E4=B9=89=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../media-account/account-detail/constants.ts | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/views/property-marketing/media-account/account-detail/constants.ts b/src/views/property-marketing/media-account/account-detail/constants.ts
index 206dead..076a8b1 100644
--- a/src/views/property-marketing/media-account/account-detail/constants.ts
+++ b/src/views/property-marketing/media-account/account-detail/constants.ts
@@ -40,8 +40,12 @@ export const getAccountInfoFields = (dateType: string, showMore: boolean) => {
],
[
{ title: 'AI评价', dataIndex: 'ai_evaluation' },
- { title: '粉丝量', dataIndex: 'fans_number', tooltip: '粉丝量' },
- { title: '总赞藏数', dataIndex: 'like_collect_number', tooltip: '总赞藏数' },
+ { title: '粉丝量', dataIndex: 'fans_number', tooltip: '账号的当前粉丝总数。' },
+ {
+ title: '总赞藏数',
+ dataIndex: 'like_collect_number',
+ tooltip: '账号所有内容获得的点赞数与收藏数总和,用于衡量历史内容的整体吸引力与认可度。',
+ },
],
];
const customFields = groupArrayBySize(CUSTOM_FIELDS, 4, dateType);
From d7704bd63199d52ff53ccc550b7cf2865c50266e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E5=BF=97=E5=86=9B?= <543024265@qq.com>
Date: Tue, 8 Jul 2025 20:05:26 +0800
Subject: [PATCH 5/5] =?UTF-8?q?feat(property-marketing):=20=E9=87=8D?=
=?UTF-8?q?=E6=9E=84=E6=9C=88=E5=BA=A6=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=B9=B6=E4=BC=98=E5=8C=96AI=E5=88=86?=
=?UTF-8?q?=E6=9E=90=E4=BA=A4=E4=BA=92=E6=B5=81=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/month-data/index.vue | 63 ++++++++++++-------
.../components/table-data/listSearchForm.vue | 17 ++---
.../table-data/placementGuideList.vue | 18 ++----
.../investment-guidelines/index.vue | 60 +++++++++++++-----
4 files changed, 100 insertions(+), 58 deletions(-)
diff --git a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
index 87135fb..b99e439 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
@@ -11,20 +11,11 @@
-
- {{ item.text }}
-
+
+
+ {{ line.text }}
+
-
-
-
-
-
-
-
-
-
-
@@ -34,20 +25,48 @@
import { IconQuestionCircle } from '@arco-design/web-vue/es/icon';
import { defineProps } from 'vue';
-const colorMap = {
- purple: 'purple',
- orange: 'orange',
-};
const props = defineProps({
overview: {
- type: Array,
- default: () => [],
+ type: Object,
+ default: () => ({
+ text: '',
+ parts: [],
+ }),
},
});
-
-const getColor = (highlight?: string) => {
- return highlight ? colorMap[highlight] : undefined;
+const classMap = {
+ purple: 'month-text-blue',
+ black: 'month-text-black',
+ orange: 'orange',
+ red: 'month-text-red',
};
+
+const formattedText = computed(() => {
+ console.log(props.overview, 'props.overview');
+ const { text, parts } = props.overview;
+ if (!text || !parts) return [];
+
+ // 替换占位符
+ let resultText = text;
+ parts.forEach((part) => {
+ const key = Object.keys(part)[0];
+ resultText = resultText.replace(`{${key}}`, part[key]);
+ });
+
+ // 按分号拆分并保留颜色信息
+ return resultText.split(';').map((line) => {
+ const matchedPart = parts.find((part) => line.includes(part[Object.keys(part)[0]]));
+ return {
+ text: line.trim(),
+ highlight: matchedPart?.highlight || 'black',
+ };
+ });
+});
+
+const getCss = (highlight?: string) => {
+ return highlight ? classMap[highlight] : undefined;
+};
+
console.log(props.overview, 'overvie333');