微信小程序全局配置分享功能

技术栈:Taro+vue3

需求:所有页面均可实现分享转发功能,且指定跳转到统一页面

方法一:

每个页面单独配置分享转发功能

javascript 复制代码
<script setup lang="ts">
import { useShareAppMessage } from '@tarojs/taro'

// 每个vue文件页面配置 enableShareAppMessage
definePageConfig({
  navigationBarTitleText: '首页',
  enableShareAppMessage: true
})

// 使用 useShareAppMessage 钩子来自定义分享内容,并指定跳转路径为首页。
useShareAppMessage((res) => {
  console.log('share', res)
  return {
    title: '欢迎访问我们的小程序', // 自定义分享标题
    path: '/pages/index/index' // 指定跳转到首页
  }
})
</script>

方法二:

进行全局配置

注意: Taro 没有直接提供全局设置分享内容的方法

可以通过覆盖 Taro 的 Page 函数,为每个页面添加全局默认的分享配置。这样,所有页面都会自动具备相同的分享功能,而无需在每个页面单独配置。

javascript 复制代码
// app.ts
const app = createApp({
	//@ts-ignore
	// 先保存原生Page函数
	const originPage = Page
	// @ts-ignore
	// 通过直接赋值方式,覆盖Taro的Page函数
	Page = (pageConfig)=>{
		const globalShareConfig = {
			// 设置全局默认分享
			onShareAppMessage:(res:any) => {
				if(res.from === 'button') {
					console.log(res.target)
				}
				return {
					path: 'pages/index/index'
				}
			}
		}
		// 全局默认的分享配置 globalShareConfig 和页面的原始配置 pageConfig 合并到一个新的对象 newPageConfig
		const newPageConfig = Object.assign({},globalShareConfig,pageConfig)
		// 使用原始Page函数创建页面实例
	  return originPage(newPageConfig);
	}
})
相关推荐
小时前端1 小时前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker21 小时前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker21 小时前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者4 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround5 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround5 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌5 天前
小程序——布局示例
小程序
码云数智-大飞5 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54595 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序
Slow菜鸟5 天前
微信小程序开发(二)目录结构完全指南
微信小程序·小程序