UNPKG

m-share.js

Version:

h5页面分享组件、支持分享到微信、朋友圈、qq、QQ空间、QQ好友。

80 lines (76 loc) 1.98 kB
import util from "./util.js"; const wxJsSdkUrl = "//res.wx.qq.com/open/js/jweixin-1.2.0.js"; const setShareInfo = (type, info) => { switch (type) { case "wx": wx.onMenuShareAppMessage(info); // 设置分享到微信好友内容 break; case "wxline": wx.onMenuShareTimeline(info); // 设置分享到微信朋友圈内容 break; case "qq": wx.onMenuShareQQ(info); // 设置分享到微信好友内容 break; case "qzone": wx.onMenuShareQZone(info); // 设置分享到qq空间 break; } }; let isConfig = false; export default (types, config) => { const wxConfig = config.wx; const doSet = () => { const _wxConfig = Object.assign( { jsApiList: [ "onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareQZone", "onMenuShareWeibo", ], }, wxConfig ); if (!isConfig) { wx.config(_wxConfig); isConfig = true; } wx.ready(() => { try { types.forEach((item) => { const _info = { title: (config.infoMap && config.infoMap[item] && config.infoMap[item].title) || config.title, desc: (config.infoMap && config.infoMap[item] && config.infoMap[item].desc) || config.desc, link: (config.infoMap && config.infoMap[item] && config.infoMap[item].link) || config.link, imgUrl: (config.infoMap && config.infoMap[item] && config.infoMap[item].imgUrl) || config.imgUrl, }; setShareInfo(item, _info); }); } catch (e) {} }); }; if (window.wx) { doSet(); } else { util.loadScript(wxJsSdkUrl, () => { doSet(); }); } };