UNPKG

@icanvas/apis

Version:

这是icanvas的Api功能包

53 lines (52 loc) 1.68 kB
/** * 构造分享结构 * @param {Object} Content 分享参数 * @param {Object} Replace 可用变量 */ let GetMessage = function(Content, Replace) { let Message = Object.assign({}, typeof Content == 'function' ? Content() : Content); if (Replace) Message.title = Message.title.replace(/{.*?}/g, string => Replace[string] || string); if (Share.Query) { let Query = Object.keys(Share.Query) .map(key => key + '=' + Share.Query[key]) .join('&'); Message.query = Message.query ? Message.query + '&' + Query : Query; } return Message; }; /** * 分享功能 * @param {Object} Content 分享参数 * @param {Object} Replace 可用变量 * 打包方式为web时,暂无分享功能 */ let Share = function(Content, Replace) { if (ENV.core == 'wxgame') { let Message = GetMessage(Content, Replace); console.log('内部分享', Message); wx[Share.Key](Message); } else if (ENV.core == 'web') { let Message = GetMessage(Content, Replace); console.log('检查分享', Message); } }; /** * 打包方式为wxgame时,监听右上角胶囊分享 * @param {Function|Object} Callback 分享参数或者分享参数获取函数 * @param {Object} 可用变量 */ Share.On = function(Content, Replace) { if (ENV.core == 'wxgame') { wx[Share.On.Key](function() { let Message = GetMessage(Content, Replace); console.log('默认分享', Message); return Message; }); wx.showShareMenu({ withShareTicket: true }); } }; Share.GetMessage = GetMessage; Share.Key = 'shareAppMessage'; //分享使用的微信接口 Share.Query = {}; //默认带参数 Share.On.Key = 'onShareAppMessage'; //胶囊分享使用的原生接口 export default Share;