创建一个混入
javascript
export default {
data() {
return {
//设置默认的分享参数
//如果页面不设置share,就触发这个默认的分享
share: {
title: '商会宝',//自定义标题
path: `/pages/home/home?appId=${uni.getStorageSync("appid")}`, //默认跳转首页
imageUrl: '', //可设置默认分享图,不设置默认截取头部5:4
}
}
},
onShareAppMessage(res) { //发送给朋友
// let that = this;
console.log(this.share)
return {
title: this.share.title,
path: this.share.path,
imageUrl: this.share.imageUrl,
success(res) {
console.log('success(res)==', res);
uni.showToast({
title: '分享成功'
})
},
fail(res) {
console.log('fail(res)==', res);
uni.showToast({
title: '分享失败',
icon: 'none'
})
}
}
},
onShareTimeline(res) { //分享到朋友圈
//下面的代码是获取页面栈,自动分享,如果有自定义分享的话,可以单个页面设置
// let that = this
// 动态获取当前页面栈
// let pages = getCurrentPages(); //获取所有页面栈实例列表
// let nowPage = pages[pages.length - 1]; //当前页页面实例
// // let prevPage = pages[pages.length - 2]; //上一页页面实例
// that.share.path = `/${nowPage.route}`
return {
title: this.share.title,
path: this.share.path,
imageUrl: this.share.imageUrl,
success(res) {
console.log('success(res)==', res);
uni.showToast({
title: '分享成功'
})
},
fail(res) {
console.log('fail(res)==', res);
uni.showToast({
title: '分享失败',
icon: 'none'
})
}
}
},
}
在main.js文件里面进入引入挂载
javascript
// 全局分享
// 小程序分享的封装
import share from "./utils/share.js"
Vue.mixin(share)
然后在每个页面使用this.share就可以获取混入的data,进行修改即可