From c8d266199254d5f566270baf221a32cab549f0ae Mon Sep 17 00:00:00 2001
From: 15093570141 <141405260+17521612761@users.noreply.github.com>
Date: Tue, 22 Oct 2024 21:14:21 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=88=86=E4=BA=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CoreShop/core/hooks/index.ts | 1 +
.../CoreShop/core/hooks/use-share.ts | 61 +++++++++++++++
.../CoreShop/pages/goods/detail.vue | 76 ++++++++++++++-----
3 files changed, 117 insertions(+), 21 deletions(-)
create mode 100644 CoreCms.Net.Uni-App/CoreShop/core/hooks/use-share.ts
diff --git a/CoreCms.Net.Uni-App/CoreShop/core/hooks/index.ts b/CoreCms.Net.Uni-App/CoreShop/core/hooks/index.ts
index 015a01b7..932f35ab 100644
--- a/CoreCms.Net.Uni-App/CoreShop/core/hooks/index.ts
+++ b/CoreCms.Net.Uni-App/CoreShop/core/hooks/index.ts
@@ -1,3 +1,4 @@
/** 系统配置 */
export * from './systemInfo';
export * from './use-loading';
+export * from './use-share';
diff --git a/CoreCms.Net.Uni-App/CoreShop/core/hooks/use-share.ts b/CoreCms.Net.Uni-App/CoreShop/core/hooks/use-share.ts
new file mode 100644
index 00000000..b3945b4a
--- /dev/null
+++ b/CoreCms.Net.Uni-App/CoreShop/core/hooks/use-share.ts
@@ -0,0 +1,61 @@
+import { onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app';
+import { queryShare } from '@/core/api';
+import { ShareClientEnum, ShareModelEnum, ShareEnum } from '@/core/enum';
+import { handleShowToast } from '@/core/utils';
+import { UserToken } from '@/core/consts';
+
+interface RequestParam {
+ client ?: ShareClientEnum;
+ url ?: string;
+ type ?: ShareModelEnum;
+ page ?: ShareEnum;
+ params ?: any;
+ token ?: string;
+}
+
+export const useShareHook = () => {
+
+ /** 获取分享url */
+ const getShareUrl = (requestParam : RequestParam) => {
+ return new Promise(async (resolve) => {
+ let data = requestParam;
+ if (uni.getStorageSync(UserToken)) {
+ data['token'] = uni.getStorageSync(UserToken)
+ }
+ const share = await queryShare(data);
+ if (share.status) {
+ resolve(share.data);
+ } else {
+ handleShowToast(share.msg);
+ }
+ })
+ }
+
+ const shareAppMessage = (options : Page.CustomShareContent) => {
+ onShareAppMessage(() => {
+ console.log('onShareAppMessage');
+ return {
+ ...options
+ };
+ });
+ return { onShareAppMessage };
+ };
+
+ const shareTimeline = (options : Page.CustomShareContent) => {
+ onShareTimeline(() => {
+ console.log('shareTimeline');
+ return {
+ ...options
+ };
+ });
+ return { onShareTimeline };
+ };
+
+ const share = (customShareContent : Page.CustomShareContent, shareTimelineContent ?: Page.CustomShareContent) => {
+ const { onShareAppMessage } = shareAppMessage(customShareContent);
+ const { onShareTimeline } = shareTimeline(shareTimelineContent ? shareTimelineContent : customShareContent);
+ return { onShareAppMessage, onShareTimeline };
+ };
+
+ return { share, getShareUrl, shareAppMessage, shareTimeline };
+};
\ No newline at end of file
diff --git a/CoreCms.Net.Uni-App/CoreShop/pages/goods/detail.vue b/CoreCms.Net.Uni-App/CoreShop/pages/goods/detail.vue
index d14e26e2..70cdc3de 100644
--- a/CoreCms.Net.Uni-App/CoreShop/pages/goods/detail.vue
+++ b/CoreCms.Net.Uni-App/CoreShop/pages/goods/detail.vue
@@ -26,8 +26,8 @@