uni.app 使用 mixins 技术统一注入小程序页面分享到好友,分享朋友圈功能

uni.app 使用 mixins 技术统一注入小程序页面分享到好友,分享朋友圈功能

  • [1. 在utils文件夹下创建share.js](#1. 在utils文件夹下创建share.js)
  • [2. 为所有页面挂载](#2. 为所有页面挂载)
  • 3.单独页面使用

1. 在utils文件夹下创建share.js

javascript 复制代码
export default{
    data(){
        return {
		   // 默认全局分享内容
            mixinsShare:{
                title:'首页',  //分享标题
                path:'/pages/index/index', // 分享路径
                imageUrl:'',    //分享图片
                desc:'',  //描述
                content:''  //内容
            }
        }
    },

	//分享好友
    onShareAppMessage(res) {
		//不传路径 则默认获取当前路径及附带参数
		if(!this.mixinsShare.path){
			this.mixinsShare.path=getCurrentPages()[0].$page.fullPath
		}
        return {
            title:this.mixinsShare.title,
            path:this.mixinsShare.path,
            imageUrl:this.mixinsShare.imageUrl,
            desc:this.mixinsShare.desc,
            content:this.mixinsShare.content,
            success(res){
                uni.showToast({
                    title:'分享成功'
                })
            },
            fail(res){
                uni.showToast({
                    title:'分享失败',
                    icon:'none'
                })
            }
        }
    },
	// 分享朋友圈
	onShareTimeline(res) {
		//不传路径 则默认获取当前路径及附带参数
		if(!this.mixinsShare.path){
			this.mixinsShare.path=getCurrentPages()[0].$page.fullPath
		}
	    return {
	        title:this.mixinsShare.title,
	        path:this.mixinsShare.path,
	        imageUrl:this.mixinsShare.imageUrl,
	        desc:this.mixinsShare.desc,
	        content:this.mixinsShare.content,
	        success(res){
	            uni.showToast({
	                title:'分享成功'
	            })
	        },
	        fail(res){
	            uni.showToast({
	                title:'分享失败',
	                icon:'none'
	            })
	        }
	    }
	}
}

2. 为所有页面挂载

  • main.js中引入
javascript 复制代码
import share from "./utils/share.js"//全局分享小程序
Vue.mixin(share)

3.单独页面使用

javascript 复制代码
//引入
import share from "@/utils/share.js"//全局分享小程序
export default {
		mixins:[share],
		data() {
			return {
			    //这里是分享跳转的连接(会替换share.js中的mixinsShare
				mixinsShare: {
					title: '首页',
					path: 'pages/index/index',
					desc: '描述',
					content: '内容',
					imageUrl:'',    //分享图片
				},
			}
		}
	}
相关推荐
游戏开发爱好者831 分钟前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
2501_915106322 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
2501_915106323 小时前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
宠友信息4 小时前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
光影少年1 天前
AIGC + Taro / 小程序
小程序·aigc·taro
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
天空属于哈夫克31 天前
Go 语言实战:构建一个企微外部群“技术贴收藏夹”小程序后端
小程序·golang·企业微信
菜鸟una1 天前
【微信小程序+Taro 3+NutUI 3】input (nut-input) 、 textarea (nut-texteare)类型使用避坑
前端·vue.js·微信小程序·小程序·taro
计算机毕设指导61 天前
基于微信小程序的校园二手交易系统【源码文末联系】
java·spring boot·spring·微信小程序·小程序·tomcat·maven