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

技术栈: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);
	}
})
相关推荐
计算机毕设指导68 小时前
基于微信小程序的校园食堂点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
项目題供诗9 小时前
微信小程序黑马优购(项目)(八)
微信小程序·小程序
2501_915918419 小时前
iOS 项目中证书管理常见的协作问题
android·ios·小程序·https·uni-app·iphone·webview
2501_915918419 小时前
提升 iOS 应用安全审核通过率的一种思路,把容易被拒的点先处理
android·安全·ios·小程序·uni-app·iphone·webview
00后程序员张9 小时前
APP如何快速上架Apple Store:完整上架流程与常见问题解析
android·小程序·https·uni-app·iphone·webview
Chloe.Zz10 小时前
微信小程序接入大模型实战 4:塔罗咨询室(含代码)
语言模型·微信小程序·小程序
2501_9160088910 小时前
iOS 应用发布流程中常被忽视的关键环节
android·ios·小程序·https·uni-app·iphone·webview
Q_Q51100828510 小时前
小程序基于Java Web的健身房管理系统设计和开发
java·前端·小程序
艾上编程10 小时前
第四章——桌面小程序场景之使用Tkinter制作文件格式转换器:满足日常格式转换需求
开发语言·小程序
风月歌10 小时前
小程序项目之“健康早知道”微信小程序源码(java+小程序+mysql)
java·微信小程序·小程序·毕业设计·源码