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

这篇具有很好参考价值的文章主要介绍了uniapp-vue3语法实现小程序全局分享(setup,mixin)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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: 'https://zzzzzzz.com/images/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: 'https://zzzzzzz.com/images/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

<script setup>
import { computed, ref } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
import { Get_newsDetails } from '../../config/api'; // 文章详情接口

const detail= reactive({}); // 文章详情


const shareData = computed(()=>{ // 分享的数据
	return {
		title: data.detail.title,
		desc: data.detail.title,
		path: '/pages/news/detail?id=' + data.detail.id,
		imageUrl: data.detail.cover
	}
})

async function getDetail() { // 获取新闻详情
	const res = await Get_newsDetails({
		id: data.id
	});
	
	detail.value = res.data
}

onLoad(async (options) => {
	data.id = options.id;
	await getDetail();
    uni.$mpShare = shareData.value // 修改uni.$mpShare的值
});

onShow(()=>{
    uni.$mpShare = shareData.value // 修改uni.$mpShare的值
})
</script>

在页面你想要修改的地方修改uni.$mpShare的值就可实现差异化, 上面代码在页面onLoad时会将其设置为初始的统一页面的值,并且在页面onUnload时也会被设置为初始的统一页面文章来源地址https://www.toymoban.com/news/detail-810662.html

到了这里,关于uniapp-vue3语法实现小程序全局分享(setup,mixin)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp实现微信小程序全局可分享功能

    uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】 主要使用 Vue.js 的 全局混入 1.创建一个全局分享的js文件。示例文件路径为:./utils/shareWx.js ,在该文件中定义全局分享的内容: 2.在项目的 main.js 文件中引入该 shareWx.js 文件, 并使用 Vue.mixin() 方法将

    2024年02月09日
    浏览(59)
  • uniapp-vue2-微信小程序-滑块验证组件wo-slider

    wo-slider是一款支持高度自定义的滑块验证组件,采用uniapp-vue2编写 采用touchstart、touchmove、touchend事件实现的滑块组件,支持H5、微信小程序(其他小程序未试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net.cn/search?q=wo-slider 使用示例

    2024年02月07日
    浏览(41)
  • uniapp-vue3-微信小程序-按钮组wo-btn-group

    采用uniapp-vue3实现, 是一款支持高度自定义的按钮组组件,支持H5、微信小程序(其他小程序未测试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id=15012 使用示例

    2024年02月07日
    浏览(46)
  • uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】

    一、在开发微信小程序的时候,发现【发送给朋友】、【分享到朋友圈】、【复制链接】功能,灰色不可用。 很常见的功能,但是这几个功能,并不是你项目建起来了就有的。 1.【发送给朋友】使用 onShareAppMessage 这个方法 如果你的小程序,发现他的【转发给朋友】的按钮时

    2024年02月12日
    浏览(56)
  • 在uniapp vue3 setup语法糖中调用onLoad、onShow等生命周期

    从 @dcloudio/uni-app 导出 可导出项:

    2024年02月16日
    浏览(46)
  • uniapp微信小程序全局实现发送给朋友、分享到朋友圈功能(不需要每个页面都配置)

    使用uniapp开发小程序的过程中需要实现: 点击右上角,展开,发送给朋友、分享到朋友圈功能 我们先看没有配置时微信的分享和转发按钮的状态: 配置完成后分享和转发按钮的状态: 接下来分享全局实现的步骤(不需要在每个页面单独配置): 在utils文件夹下新建share.js文

    2024年04月14日
    浏览(78)
  • uniapp微信小程序全局分享和自定义页面分享

    uniapp 实现微信小程序的全局 转发给好友/分享到朋友圈 的功能。主要使用 Vue.js 的 全局混入 概念。 1.在项目根目录创建mixins文件夹,然后创建全局分享的 js 文件。mixins/share.js  2.在项目的 main.js 文件中引入该 share.js 文件并使用 Vue.mixin() 方法将之全局混入: 3.自定义页

    2024年02月13日
    浏览(62)
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -全局异常统一处理实现

    锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2+vue3.2+element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibili uniapp微信小程序投票系统实战课程 (SpringBoot2+vue3.2+element plus ) ( 火爆连载更新中... )共计21条视频,包括:uniapp微信小程序投票系统实

    2024年02月03日
    浏览(42)
  • 【vue3】基础知识点-setup语法糖

    学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、comptued、pinia等如何使用 今天说vue3组合式api,setup函数 在学习过程中一开始接触到的是这样的,定义数据且都要通过return返回 最新接触到的是这样的 两种不同的写法,那区别是什么呢? 其实在script标签上直

    2024年02月13日
    浏览(42)
  • 第九章、Vue3中<script setup>语法糖

    摘要:script setup语法糖: https://cn.vuejs.org/api/sfc-script-setup.html 一、script setup语法糖用法 1.1 基本语法: 要使用这个语法,在script 中添加setup属性即可。 里面的代码最终会编译成setup()函数中的内容: 所以每次在组件实例被创建时,都会执行; 1.2 顶层绑定自动暴露给模板 当使用

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包