我们在用 uni-app 开发微信小程序时,我们有时需要分享功能,uni-app 中只要在需要分享的页面的 js 中定义了 onShareAppMessage
(和 onLoad 等生命周期函数同级),就能实现 发送给朋友
微信小程序的分享功能。但是如果每个需要分享的页面都写一个 onShareAppMessage
,冗余代码就太多了。本文介绍通过 mixins(混入)
的方式来实现。
步骤1:创建一个 mixins 文件(如本例该文件 share.js 存放在在根目录下的文件夹 mixins 中)
export const shareMixins = { data () { return { shareData: { title: '', path: '', imageUrl: '', content: '', desc: '' } } }, //#ifdef MP-WEIXIN onShareAppMessage () { return { title: this.shareData.title, path: this.shareData.path, imageUrl: this.shareData.imageUrl, content: this.shareData.content, desc: this.shareData.desc, success: res => { console.info(res) } } }, //#endif onLoad(option) { } }
步骤2:在需要分享的页面中引入这个 mixins 对象
<template> <view></view> </template> <script> import { shareMixins} from '@/mixins/share' export default { mixins: [ shareMixins], data() { return { shareData: { title: '我是分享标题', path: '/pages/index/index?id=1' // 分享的页面路径 } } }, methods: { } } </script>