From d12651fe8a904156509014a75475f8289209df1c Mon Sep 17 00:00:00 2001 From: wangxiaowei <1121133807@qq.com> Date: Mon, 5 Jan 2026 00:39:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A8=E5=B1=80=E5=88=86?= =?UTF-8?q?=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useShare.ts | 20 ++++++++++++++++++++ src/main.ts | 3 +++ 2 files changed, 23 insertions(+) create mode 100644 src/hooks/useShare.ts diff --git a/src/hooks/useShare.ts b/src/hooks/useShare.ts new file mode 100644 index 0000000..2fc9d5b --- /dev/null +++ b/src/hooks/useShare.ts @@ -0,0 +1,20 @@ + +export default function useShare() { + const miniShareOptions = reactive({ + // 分享标题 + title: '', + //页面 path,不建议直接配置分享哪个页面就配置哪个页面的路径,有些页面不建议分享,如订单页,所以默认都是分享首页 + path: '/pages/index/index', + // 分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4 + imageUrl: '', + }) + + return { + // 发送给朋友 + onShareAppMessage() { + return { + ...miniShareOptions, + } + } + } +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 482d672..18edb71 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,6 +4,7 @@ import App from './App.vue' import { routeInterceptor } from './router/interceptor' import { requestInterceptor } from './http/interceptor' import NavBar from '@/components/Navbar.vue' +import useShare from '@/hooks/useShare' import store from './store' import '@/style/index.scss' @@ -25,6 +26,8 @@ export function createApp() { app.provide('navbarHeight', getNavBarHeight()) app.provide('capsuleOffset', getCapsuleOffset()) + app.mixin(useShare()) + return { app, }