uniapp-vue3语法实现小程序全局分享(setup,mixin)
创始人
2024-11-10 00:36:06

uniapp-vue3语法实现小程序全局分享(setup,mixin)

随着vue3的普及uniapp官方也支持了vue3语法的编写

相信大家在开发过程中肯定碰到过小程序所有页面都要开启分享功能的需求;指定的页面(如:文章详情页)有单独的配置,而非单独配置的页面(如:付费的订单详情页)都是统一跳转到首页

我的做法如下:

1. 创建share.js

// utils/share.js export default { 	onLoad(){ // 创建时设置统一页面的默认值 		uni.$mpShare = { 			title: 'xxxx', 			desc: 'yyyy', 			path: '/pages/tabList/index', 			imageUrl: '/zb_users/upload/2024/csdn/fx.jpg' 		} 	}, 	onShareAppMessage() { //发送给朋友 		console.log(uni.$mpShare); 		return uni.$mpShare 	}, 	onShareTimeline() { //分享到朋友圈 		return uni.$mpShare 	},     onUnload(){ // 关闭页面时重置 		uni.$mpShare = { 			title: 'xxxx', 			desc: 'yyyy', 			path: '/pages/tabList/index', 			imageUrl: '/zb_users/upload/2024/csdn/fx.jpg' 		} 	} };

2. main.js引入share.js文件

// main.js import App from './App' import { 	createSSRApp } from 'vue'  import share from '/utils/share' // 引入share.js  export function createApp() { 	const app = createSSRApp(App) 	app.mixin(Share) // 使用mixin全局混入 	uni.$u.config.unit = 'rpx' 	return { 		app 	} }

此时小程序所有页的分享功能都打开并且都统一跳转到首页分享的图片也是统一的

3. 修改需要单独配置分享的页面

// pages/news/news.vue  

在页面你想要修改的地方修改uni.$mpShare的值就可实现差异化, 上面代码在页面onLoad时会将其设置为初始的统一页面的值,并且在页面onUnload时也会被设置为初始的统一页面

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...