前言
最近做微信小程序分享给好友,然基本上所有页面都使用 Component
实现的,现在需要分享功能,折腾了一番,实现如下。
效果
使用Page页面
全局分享
// app.js
!function(){
var PageTmp = Page;
Page = function (pageConfig) {
// 设置全局默认分享
pageConfig = Object.assign({
onShareAppMessage:function () {
return {
title: 'Page自定义全局分享',
imageUrl: '/public/img/cat.jpg',
path: '/pages/index/index'
};
}
},pageConfig);
PageTmp(pageConfig);
};
}();
单页面分享
onShareAppMessage: function (res) {
return {
title: 'Page自定义单页面分享',
imageUrl: '/public/img/cat.jpg',
path: '/pages/index/index'
}
}
使用Component组件
全局分享
// app.js
!function(){
// 获取页面配置进行页面分享配置
var ComponentTmp = Component;
Component = function (componentConfig) {
// 设置全局默认分享
let tmpMethods = Object.assign({
onShareAppMessage () {
return {
title: 'Component自定义全局分享',
imageUrl: '/public/img/cat.jpg',
path: '/pages/index/index'
};
}
}, componentConfig.methods);
componentConfig.methods = tmpMethods
ComponentTmp(componentConfig);
};
}();
单页面分享
methods: {
onShareAppMessage () {
return {
title: 'Component自定义单页面分享',
imageUrl: '/public/img/cat.jpg',
path: '/pages/index/index'
};
},
}
总结
Page
页面和Component
组件有很多相似之处,完全可以将Page
转换成Component
,如有必要。