{"version":3,"sources":["weixinsdk.js"],"names":["mixin","source","p","args","Array","prototype","slice","call","arguments","target","shift","loadJs","url","callback","node","doc","createElement","charset","listen","async","src","baseElement","head","insertBefore","appendChild","onload","onerror","onreadystatechange","removeChild","test","readyState","upperCaseup","str","replace","first","toUpperCase","MicroMessengerSdk","options","agent","singleton","this","defaultConfig","debug","title","DEFAULT_TITLE","link","DEFAULT_LINK","imgUrl","DEFAULT_IMG","desc","getDescription","setShareObject","signature","ready","win","window","document","ued","getElementsByTagName","documentElement","MM_SDK_URL","location","href","eventStore","mmSdk","wx","navigator","userAgent","getShareObject","shareObject","object","self","initEvents","registerEvents","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareQZone","onMenuShareWeibo","event","events","eventType","res","shareType","errMsg","split","fire","original","getSdk","done","apply","seajs","use","getBaseConfig","_signature","weiXinReady","jsApiList","config","getSignature","data","createAppUrl","callbackName","APP_URL","encodeURIComponent","Math","random","toString","substr","setTimeout","undefined","content","metas","i","length","name","getAttribute","on","fn","push","off","fnList","splice","parameter","returned","weixinSdkInit","mesConfig"],"mappings":"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","file":"../weixinsdk.js","sourcesContent":["(function() {\r\n var win = window,\r\n doc = win.document,\r\n ued = 'undefined' !== typeof win.ued ? win.ued : win.ued = {},\r\n head = doc.head || doc.getElementsByTagName('head')[0] || doc.documentElement,\r\n baseElement = head.getElementsByTagName('base')[0],\r\n\r\n APP_URL = '//act.17173.com/weixin/index.php',\r\n MM_SDK_URL = '//res.wx.qq.com/open/js/jweixin-1.2.0.js',\r\n DEFAULT_TITLE = doc.title,\r\n DEFAULT_LINK = win.location.href,\r\n DEFAULT_IMG = 'https://ue.17173cdn.com/a/module/m/gb/2017/img/logo.png',\r\n eventStore = {},\r\n mmSdk = win.wx,\r\n signature,\r\n ready,\r\n singleton;\r\n\r\n //非微信环境则退出\r\n if (!/MicroMessenger/i.test(navigator.userAgent)) {\r\n ued.MicroMessengerSdk = function() {};\r\n return;\r\n }\r\n\r\n function mixin() {\r\n var args = Array.prototype.slice.call(arguments, 0),\r\n target = args.shift(),\r\n source, p;\r\n while ((source = args.shift())) {\r\n for (p in source) {\r\n target[p] = source[p];\r\n }\r\n }\r\n return target;\r\n }\r\n\r\n function loadJs(url, callback) {\r\n var node = doc.createElement('script');\r\n node.charset = 'utf-8';\r\n listen(node, callback);\r\n node.async = true;\r\n node.src = url;\r\n baseElement ?\r\n head.insertBefore(node, baseElement) :\r\n head.appendChild(node);\r\n }\r\n\r\n function listen(node, callback) {\r\n var supportOnload = 'onload' in node;\r\n\r\n function onload() {\r\n node.onload = node.onerror = node.onreadystatechange = null;\r\n head.removeChild(node);\r\n node = null;\r\n callback && callback();\r\n }\r\n if (supportOnload) {\r\n node.onload = onload;\r\n } else {\r\n node.onreadystatechange = function() {\r\n if (/loaded|complete/.test(node.readyState)) {\r\n onload();\r\n }\r\n };\r\n }\r\n }\r\n\r\n function upperCaseup(str) {\r\n return str.replace(/(^\\w)/ig, function(str, first) {\r\n return first.toUpperCase();\r\n });\r\n }\r\n\r\n function MicroMessengerSdk(options) {\r\n var agent = singleton || this;\r\n var defaultConfig = agent.options || {\r\n debug: false,\r\n title: DEFAULT_TITLE,\r\n link: DEFAULT_LINK,\r\n imgUrl: DEFAULT_IMG,\r\n desc: this.getDescription() || DEFAULT_LINK\r\n };\r\n\r\n options = agent.options = mixin(defaultConfig, options);\r\n\r\n agent.setShareObject({\r\n title: options.title,\r\n link: options.link,\r\n imgUrl: options.imgUrl,\r\n desc: options.desc\r\n });\r\n singleton = agent;\r\n return singleton;\r\n }\r\n\r\n MicroMessengerSdk.prototype = {\r\n\r\n getShareObject: function() {\r\n return this.shareObject;\r\n },\r\n\r\n setShareObject: function(object) {\r\n var self = this;\r\n self.shareObject = self.shareObject || {};\r\n mixin(self.shareObject, object);\r\n\r\n if (!self.initEvents) {\r\n this.registerEvents(this.shareObject);\r\n self.initEvents = true;\r\n }\r\n\r\n self.ready(function() {\r\n mmSdk.onMenuShareTimeline(self.shareObject);\r\n mmSdk.onMenuShareAppMessage(self.shareObject);\r\n mmSdk.onMenuShareQQ(self.shareObject);\r\n mmSdk.onMenuShareQZone(self.shareObject);\r\n mmSdk.onMenuShareWeibo(self.shareObject);\r\n });\r\n },\r\n\r\n /**\r\n * (shareTimeline|sendAppMessage|shareQQ|shareQZone|shareWeibo)(Success|Fail|Complete|Cancel|trigger)\r\n */\r\n /*jshint loopfunc:true */\r\n registerEvents: function(shareObject) {\r\n var self = this,\r\n event,\r\n events = ['success', 'fail', 'complete', 'cancel', 'trigger'];\r\n while ((event = events.shift())) {\r\n shareObject[event] = (function(eventType) {\r\n return function(res) {\r\n var shareType = res.errMsg ? res.errMsg.split(':')[0] : '';\r\n shareType += shareType ? upperCaseup(eventType) : eventType;\r\n self.fire(shareType, {\r\n eventType: eventType,\r\n shareType: shareType,\r\n original: arguments\r\n });\r\n };\r\n })(event);\r\n }\r\n },\r\n\r\n getSdk: function(callback) {\r\n var self = this,\r\n done;\r\n if (!mmSdk) {\r\n done = function(wx) {\r\n mmSdk = wx;\r\n callback && callback.apply(self, mmSdk);\r\n };\r\n if (win.seajs) {\r\n win.seajs.use(MM_SDK_URL, function(wx) {\r\n done(wx);\r\n });\r\n } else {\r\n loadJs(MM_SDK_URL, function() {\r\n done(win.wx);\r\n });\r\n }\r\n } else {\r\n done(mmSdk);\r\n }\r\n },\r\n\r\n ready: function(callback) {\r\n var self = this;\r\n self.getSdk(function() {\r\n self.getBaseConfig(function(_signature) {\r\n self.weiXinReady(_signature, callback);\r\n });\r\n });\r\n },\r\n\r\n weiXinReady: function(_signature, callback) {\r\n if (!ready) {\r\n _signature.debug = this.options.debug;\r\n _signature.jsApiList = [\r\n 'checkJsApi',\r\n 'onMenuShareTimeline',\r\n 'onMenuShareAppMessage',\r\n 'onMenuShareQQ',\r\n 'onMenuShareWeibo',\r\n 'onMenuShareQZone',\r\n 'hideMenuItems',\r\n 'showMenuItems',\r\n 'hideAllNonBaseMenuItem',\r\n 'showAllNonBaseMenuItem',\r\n 'translateVoice',\r\n 'startRecord',\r\n 'stopRecord',\r\n 'onVoiceRecordEnd',\r\n 'playVoice',\r\n 'onVoicePlayEnd',\r\n 'pauseVoice',\r\n 'stopVoice',\r\n 'uploadVoice',\r\n 'downloadVoice',\r\n 'chooseImage',\r\n 'previewImage',\r\n 'uploadImage',\r\n 'downloadImage',\r\n 'getNetworkType',\r\n 'openLocation',\r\n 'getLocation',\r\n 'hideOptionMenu',\r\n 'showOptionMenu',\r\n 'closeWindow',\r\n 'scanQRCode',\r\n 'chooseWXPay',\r\n 'openProductSpecificView',\r\n 'addCard',\r\n 'chooseCard',\r\n 'openCard'\r\n ];\r\n signature = _signature;\r\n mmSdk.config(_signature);\r\n mmSdk.ready(function() {\r\n ready = true;\r\n callback && callback(mmSdk);\r\n });\r\n } else {\r\n callback && callback(mmSdk);\r\n }\r\n },\r\n\r\n getBaseConfig: function(callback) {\r\n if (signature) {\r\n callback && callback(signature);\r\n } else {\r\n this.getSignature(null, function(data) {\r\n callback && callback(data);\r\n });\r\n }\r\n },\r\n\r\n createAppUrl: function(callbackName, url) {\r\n return APP_URL +\r\n '?callback=' + callbackName +\r\n '&do=weixin' +\r\n '&url=' + encodeURIComponent(url || location.href.split('#')[0]);\r\n },\r\n\r\n getSignature: function(url, callback) {\r\n var callbackName = 'weixin' + Math.random().toString(36).substr(2);\r\n win[callbackName] = function(data) {\r\n callback && callback(data);\r\n setTimeout(function() {\r\n win[callbackName] = undefined;\r\n }, 0);\r\n };\r\n loadJs(this.createAppUrl(callbackName, url));\r\n },\r\n\r\n getDescription: function() {\r\n var metas = head.getElementsByTagName('meta');\r\n var content;\r\n for (var i = 0; i < metas.length; i++) {\r\n if (metas[i].name == 'description') {\r\n content = metas[i].getAttribute('content');\r\n if(content){\r\n return content.replace(/^,/,'');\r\n }else{\r\n return null;\r\n }\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n on: function(eventType, fn) {\r\n if (!eventStore[eventType]) {\r\n eventStore[eventType] = [];\r\n }\r\n if (typeof fn === 'function') {\r\n eventStore[eventType].push(fn);\r\n }\r\n },\r\n\r\n //解除绑定\r\n off: function(eventType, fn) {\r\n var fnList;\r\n if (!eventStore[eventType]) {\r\n return;\r\n }\r\n if (!fn) {\r\n delete eventStore[eventType];\r\n } else {\r\n fnList = eventStore[eventType];\r\n for (var i = 0; i < fnList.length; i++) {\r\n if (fn === fnList[i]) {\r\n fnList.splice(i, 1);\r\n }\r\n }\r\n }\r\n },\r\n\r\n //触发事件\r\n fire: function(eventType) {\r\n var fnList = eventStore[eventType];\r\n var parameter = Array.prototype.slice.call(arguments, 1);\r\n var returned = true;\r\n if (!fnList) {\r\n return false;\r\n }\r\n for (var i = 0; i < fnList.length; i++) {\r\n if (fnList[i].apply(null, parameter) === false) {\r\n returned = false;\r\n }\r\n }\r\n return returned;\r\n }\r\n\r\n };\r\n\r\n ued.MicroMessengerSdk = MicroMessengerSdk;\r\n\r\n if (!win.wx && !ued.weixinSdkInit) {\r\n new MicroMessengerSdk(win.mesConfig);\r\n }\r\n\r\n})();\r\n"]}