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:'',    //分享图片
				},
			}
		}
	}
相关推荐
從南走到北5 小时前
物业收费管理小程序ThinkPHP+UniApp
微信小程序·小程序·uni-app·微信公众平台
说私域6 小时前
开源AI大模型AI智能名片S2B2C商城小程序源码赋能下的“信息找人”:人工智能时代的精准零售场景
大数据·人工智能·小程序·开源·零售
说私域7 小时前
定制开发开源AI智能名片S2B2C商城小程序:破解B2B营销四大难题的新路径
人工智能·小程序·开源·零售
小倪有点菜8 小时前
微信原生小程序转uniapp过程及错误总结
微信·小程序·uni-app
雨沫相与8 小时前
微信小程序-数据加密
微信小程序·小程序
小柔说科技9 小时前
区块链+智能合约如何解决上门按摩行业的信任问题?——App开发案例
小程序·区块链·智能合约·软件开发·上门按摩·预约到家
说私域10 小时前
线上线下融合驱动:开源链动2+1模式与AI智能名片赋能高价值社群生态的机制研究
人工智能·小程序·开源·零售
忙碌的菠萝21 小时前
微信小程序页面分享
微信小程序·小程序
前端 贾公子1 天前
小程序请求加载提示防闪烁机制详解
小程序
文慧的科技江湖1 天前
充电桩运维管理工具系统的**详细功能列表** - 慧知开源充电桩平台
运维·分布式·小程序·开源·充电桩平台·充电桩开源平台