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:'',    //分享图片
				},
			}
		}
	}
相关推荐
黑黑的独立开发笔记44 分钟前
「 简记往来」第十五篇:小程序性能优化——首屏从2.5秒到1.2秒
性能优化·小程序·首屏优化·分包加载·setdata·简记往来
m0_5261194017 天前
iconfont我修改好颜色,但是在小程序项目是黑色的
小程序
2601_9567436817 天前
2026 上海小程序开发甄选:源码、云函数、跨端兼容技术评判
小程序·开发经验·上海
IT_张三17 天前
CSDN-项目分享-暑期备考小程序
小程序
IsJunJianXin17 天前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
Geek_Vison17 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享
小程序·uni-app·mpaas
weikecms17 天前
聚合返利CPS小程序快速搭建教程
人工智能·微信·小程序
Haibakeji18 天前
长沙餐饮门店点餐配送小程序定制开发
大数据·小程序
2501_9159184118 天前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
程序鉴定师18 天前
2026济南十大App制作公司测评(精简版):覆盖小程序、定制开发与跨平台方案
大数据·小程序