如何优雅的写小程序的分享函数

背景知识

微信小程序是可以通过点击右上角的menu来进行分享(转发)的。但是代码里面不可以写个公共函数来调用,必须每个页面写一遍,这就使得代码冗余了,业务修改的时候必须全都修改一遍,很容易忘记某一页。下面通过一种方法,先写一个公共的Page函数,在公共的Page里面写入分享代码,然后在具体的页面调用使用这个公共Page函数实现分享。

建立公共Page.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

export default function (options = {}) {
return Page({
onShareAppMessage(res) {
if (res.from === 'menu') {
// 来自右上角分享菜单
return {
title: '分享标题',
path: '页面路径',
imageUrl: '分享图片路径'
}
}
},
...options
});
}

页面调用

1
2
3
4
5
6
7
8
9
10
11
12
import Page from '../../../utils/Page.js';
Page({
// 注意,这时候Page里面不要出现onShareAppMessage函数
data: {},
onLoad(){},
onReady(){},
onShow(){},
onHide(){},
onUnload(){},
onPullDownRefresh(){},
onReachBottom(){}
})