8 lines
13 KiB
JavaScript
8 lines
13 KiB
JavaScript
|
||
// 参考手册: https://uniapp.dcloud.net.cn/component/web-view.html#
|
||
// 文件来源: view-source:https://res.wx.qq.com/open/js/jweixin-1.6.0.js
|
||
|
||
// 调整: https://blog.csdn.net/illlllllllllll/article/details/112789644
|
||
// 1.改源码,将jweixin-1.2.0.js中第一个this改为window
|
||
|
||
!function(e,n){'function'==typeof define&&(define.amd||define.cmd)?define(function(){return n(e)}):n(e,!0)}(window,function(o,e){if(!o.jWeixin){var n,c={config:'preVerifyJSAPI',onMenuShareTimeline:'menu:share:timeline',onMenuShareAppMessage:'menu:share:appmessage',onMenuShareQQ:'menu:share:qq',onMenuShareWeibo:'menu:share:weiboApp',onMenuShareQZone:'menu:share:QZone',previewImage:'imagePreview',getLocation:'geoLocation',openProductSpecificView:'openProductViewWithPid',addCard:'batchAddCard',openCard:'batchViewCard',chooseWXPay:'getBrandWCPayRequest',openEnterpriseRedPacket:'getRecevieBizHongBaoRequest',startSearchBeacons:'startMonitoringBeacons',stopSearchBeacons:'stopMonitoringBeacons',onSearchBeacons:'onBeaconsInRange',consumeAndShareCard:'consumedShareCard',openAddress:'editAddress'},a=function(){var e={};for(var n in c)e[c[n]]=n;return e}(),i=o.document,t=i.title,r=navigator.userAgent.toLowerCase(),s=navigator.platform.toLowerCase(),d=!(!s.match('mac')&&!s.match('win')),u=-1!=r.indexOf('wxdebugger'),l=-1!=r.indexOf('micromessenger'),p=-1!=r.indexOf('android'),f=-1!=r.indexOf('iphone')||-1!=r.indexOf('ipad'),m=(n=r.match(/micromessenger\/(\d+\.\d+\.\d+)/)||r.match(/micromessenger\/(\d+\.\d+)/))?n[1]:'',g={initStartTime:L(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},h={version:1,appId:'',initTime:0,preVerifyTime:0,networkType:'',isPreVerifyOk:1,systemType:f?1:p?2:-1,clientVersion:m,url:encodeURIComponent(location.href)},v={},S={_completes:[]},y={state:0,data:{}};O(function(){g.initEndTime=L()});var I=!1,_=[],w={config:function(e){B('config',v=e);var t=!1!==v.check;O(function(){if(t)M(c.config,{verifyJsApiList:C(v.jsApiList),verifyOpenTagList:C(v.openTagList)},function(){S._complete=function(e){g.preVerifyEndTime=L(),y.state=1,y.data=e},S.success=function(e){h.isPreVerifyOk=0},S.fail=function(e){S._fail?S._fail(e):y.state=-1};var t=S._completes;return t.push(function(){!function(){if(!(d||u||v.debug||m<'6.0.2'||h.systemType<0)){var i=new Image;h.appId=v.appId,h.initTime=g.initEndTime-g.initStartTime,h.preVerifyTime=g.preVerifyEndTime-g.preVerifyStartTime,w.getNetworkType({isInnerInvoke:!0,success:function(e){h.networkType=e.networkType;var n='https://open.weixin.qq.com/sdk/report?v='+h.version+'&o='+h.isPreVerifyOk+'&s='+h.systemType+'&c='+h.clientVersion+'&a='+h.appId+'&n='+h.networkType+'&i='+h.initTime+'&p='+h.preVerifyTime+'&u='+h.url;i.src=n}})}}()}),S.complete=function(e){for(var n=0,i=t.length;n<i;++n)t[n]();S._completes=[]},S}()),g.preVerifyStartTime=L();else{y.state=1;for(var e=S._completes,n=0,i=e.length;n<i;++n)e[n]();S._completes=[]}}),w.invoke||(w.invoke=function(e,n,i){o.WeixinJSBridge&&WeixinJSBridge.invoke(e,x(n),i)},w.on=function(e,n){o.WeixinJSBridge&&WeixinJSBridge.on(e,n)})},ready:function(e){0!=y.state?e():(S._completes.push(e),!l&&v.debug&&e())},error:function(e){m<'6.0.2'||(-1==y.state?e(y.data):S._fail=e)},checkJsApi:function(e){M('checkJsApi',{jsApiList:C(e.jsApiList)},(e._complete=function(e){if(p){var n=e.checkResult;n&&(e.checkResult=JSON.parse(n))}e=function(e){var n=e.checkResult;for(var i in n){var t=a[i];t&&(n[t]=n[i],delete n[i])}return e}(e)},e))},onMenuShareTimeline:function(e){P(c.onMenuShareTimeline,{complete:function(){M('shareTimeline',{title:e.title||t,desc:e.title||t,img_url:e.imgUrl||'',link:e.link||location.href,type:e.type||'link',data_url:e.dataUrl||''},e)}},e)},onMenuShareAppMessage:function(n){P(c.onMenuShareAppMessage,{complete:function(e){'favorite'===e.scene?M('sendAppMessage',{title:n.title||t,desc:n.desc||'',link:n.link||location.href,img_url:n.imgUrl||'',type:n.type||'link',data_url:n.dataUrl||''}):M('sendAppMessage',{title:n.title||t,desc:n.desc||'',link:n.link||location.href,img_url:n.imgUrl||'',type:n.type||'link',data_url:n.dataUrl||''},n)}},n)},onMenuShareQQ:function(e){P(c.onMenuShareQQ,{complete:function(){M('shareQQ',{title:e.title||t,desc:e.desc||'',img_url:e.imgUrl||'',link:e.link||location.href},e)}},e)},onMenuShareWeibo:function(e){P(c.onMenuShareWeibo,{complete:function(){M('shareWeiboApp',{title:e.title||t,desc:e.desc||'',img_url:e.imgUrl||'',link:e.link||location.href},e)}},e)},onMenuShareQZone:function(e){P(c.onMenuShareQZone,{complete:function(){M('shareQZone',{title:e.title||t,desc:e.desc||'',img_url:e.imgUrl||'',link:e.link||location.href},e)}},e)},updateTimelineShareData:function(e){M('updateTimelineShareData',{title:e.title,link:e.link,imgUrl:e.imgUrl},e)},updateAppMessageShareData:function(e){M('updateAppMessageShareData',{title:e.title,desc:e.desc,link:e.link,imgUrl:e.imgUrl},e)},startRecord:function(e){M('startRecord',{},e)},stopRecord:function(e){M('stopRecord',{},e)},onVoiceRecordEnd:function(e){P('onVoiceRecordEnd',e)},playVoice:function(e){M('playVoice',{localId:e.localId},e)},pauseVoice:function(e){M('pauseVoice',{localId:e.localId},e)},stopVoice:function(e){M('stopVoice',{localId:e.localId},e)},onVoicePlayEnd:function(e){P('onVoicePlayEnd',e)},uploadVoice:function(e){M('uploadVoice',{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadVoice:function(e){M('downloadVoice',{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},translateVoice:function(e){M('translateVoice',{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},chooseImage:function(e){M('chooseImage',{scene:'1|2',count:e.count||9,sizeType:e.sizeType||['original','compressed'],sourceType:e.sourceType||['album','camera']},(e._complete=function(e){if(p){var n=e.localIds;try{n&&(e.localIds=JSON.parse(n))}catch(e){}}},e))},getLocation:function(e){},previewImage:function(e){M(c.previewImage,{current:e.current,urls:e.urls},e)},uploadImage:function(e){M('uploadImage',{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadImage:function(e){M('downloadImage',{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},getLocalImgData:function(e){!1===I?(I=!0,M('getLocalImgData',{localId:e.localId},(e._complete=function(e){if(I=!1,0<_.length){var n=_.shift();wx.getLocalImgData(n)}},e))):_.push(e)},getNetworkType:function(e){M('getNetworkType',{},(e._complete=function(e){e=function(e){var n=e.errMsg;e.errMsg='getNetworkType:ok';var i=e.subtype;if(delete e.subtype,i)e.networkType=i;else{var t=n.indexOf(':'),o=n.substring(t+1);switch(o){case'wifi':case'edge':case'wwan':e.networkType=o;break;default:e.errMsg='getNetworkType:fail'}}return e}(e)},e))},openLocation:function(e){M('openLocation',{latitude:e.latitude,longitude:e.longitude,name:e.name||'',address:e.address||'',scale:e.scale||28,infoUrl:e.infoUrl||''},e)},getLocation:function(e){M(c.getLocation,{type:(e=e||{}).type||'wgs84'},(e._complete=function(e){delete e.type},e))},hideOptionMenu:function(e){M('hideOptionMenu',{},e)},showOptionMenu:function(e){M('showOptionMenu',{},e)},closeWindow:function(e){M('closeWindow',{},e=e||{})},hideMenuItems:function(e){M('hideMenuItems',{menuList:e.menuList},e)},showMenuItems:function(e){M('showMenuItems',{menuList:e.menuList},e)},hideAllNonBaseMenuItem:function(e){M('hideAllNonBaseMenuItem',{},e)},showAllNonBaseMenuItem:function(e){M('showAllNonBaseMenuItem',{},e)},scanQRCode:function(e){M('scanQRCode',{needResult:(e=e||{}).needResult||0,scanType:e.scanType||['qrCode','barCode']},(e._complete=function(e){if(f){var n=e.resultStr;if(n){var i=JSON.parse(n);e.resultStr=i&&i.scan_code&&i.scan_code.scan_result}}},e))},openAddress:function(e){M(c.openAddress,{},(e._complete=function(e){e=function(e){return e.postalCode=e.addressPostalCode,delete e.addressPostalCode,e.provinceName=e.proviceFirstStageName,delete e.proviceFirstStageName,e.cityName=e.addressCitySecondStageName,delete e.addressCitySecondStageName,e.countryName=e.addressCountiesThirdStageName,delete e.addressCountiesThirdStageName,e.detailInfo=e.addressDetailInfo,delete e.addressDetailInfo,e}(e)},e))},openProductSpecificView:function(e){M(c.openProductSpecificView,{pid:e.productId,view_type:e.viewType||0,ext_info:e.extInfo},e)},addCard:function(e){for(var n=e.cardList,i=[],t=0,o=n.length;t<o;++t){var r=n[t],a={card_id:r.cardId,card_ext:r.cardExt};i.push(a)}M(c.addCard,{card_list:i},(e._complete=function(e){var n=e.card_list;if(n){for(var i=0,t=(n=JSON.parse(n)).length;i<t;++i){var o=n[i];o.cardId=o.card_id,o.cardExt=o.card_ext,o.isSuccess=!!o.is_succ,delete o.card_id,delete o.card_ext,delete o.is_succ}e.cardList=n,delete e.card_list}},e))},chooseCard:function(e){M('chooseCard',{app_id:v.appId,location_id:e.shopId||'',sign_type:e.signType||'SHA1',card_id:e.cardId||'',card_type:e.cardType||'',card_sign:e.cardSign,time_stamp:e.timestamp+'',nonce_str:e.nonceStr},(e._complete=function(e){e.cardList=e.choose_card_info,delete e.choose_card_info},e))},openCard:function(e){for(var n=e.cardList,i=[],t=0,o=n.length;t<o;++t){var r=n[t],a={card_id:r.cardId,code:r.code};i.push(a)}M(c.openCard,{card_list:i},e)},consumeAndShareCard:function(e){M(c.consumeAndShareCard,{consumedCardId:e.cardId,consumedCode:e.code},e)},chooseWXPay:function(e){M(c.chooseWXPay,V(e),e)},openEnterpriseRedPacket:function(e){M(c.openEnterpriseRedPacket,V(e),e)},startSearchBeacons:function(e){M(c.startSearchBeacons,{ticket:e.ticket},e)},stopSearchBeacons:function(e){M(c.stopSearchBeacons,{},e)},onSearchBeacons:function(e){P(c.onSearchBeacons,e)},openEnterpriseChat:function(e){M('openEnterpriseChat',{useridlist:e.userIds,chatname:e.groupName},e)},launchMiniProgram:function(e){M('launchMiniProgram',{targetAppId:e.targetAppId,path:function(e){if('string'==typeof e&&0<e.length){var n=e.split('?')[0],i=e.split('?')[1];return n+='.html',void 0!==i?n+'?'+i:n}}(e.path),envVersion:e.envVersion},e)},openBusinessView:function(e){M('openBusinessView',{businessType:e.businessType,queryString:e.queryString||'',envVersion:e.envVersion},(e._complete=function(n){if(p){var e=n.extraData;if(e)try{n.extraData=JSON.parse(e)}catch(e){n.extraData={}}}},e))},miniProgram:{navigateBack:function(e){e=e||{},O(function(){M('invokeMiniProgramAPI',{name:'navigateBack',arg:{delta:e.delta||1}},e)})},navigateTo:function(e){O(function(){M('invokeMiniProgramAPI',{name:'navigateTo',arg:{url:e.url}},e)})},redirectTo:function(e){O(function(){M('invokeMiniProgramAPI',{name:'redirectTo',arg:{url:e.url}},e)})},switchTab:function(e){O(function(){M('invokeMiniProgramAPI',{name:'switchTab',arg:{url:e.url}},e)})},reLaunch:function(e){O(function(){M('invokeMiniProgramAPI',{name:'reLaunch',arg:{url:e.url}},e)})},postMessage:function(e){O(function(){M('invokeMiniProgramAPI',{name:'postMessage',arg:e.data||{}},e)})},getEnv:function(e){O(function(){e({miniprogram:'miniprogram'===o.__wxjs_environment})})}}},T=1,k={};return i.addEventListener('error',function(e){if(!p){var n=e.target,i=n.tagName,t=n.src;if('IMG'==i||'VIDEO'==i||'AUDIO'==i||'SOURCE'==i)if(-1!=t.indexOf('wxlocalresource://')){e.preventDefault(),e.stopPropagation();var o=n['wx-id'];if(o||(o=T++,n['wx-id']=o),k[o])return;k[o]=!0,wx.ready(function(){wx.getLocalImgData({localId:t,success:function(e){n.src=e.localData}})})}}},!0),i.addEventListener('load',function(e){if(!p){var n=e.target,i=n.tagName;n.src;if('IMG'==i||'VIDEO'==i||'AUDIO'==i||'SOURCE'==i){var t=n['wx-id'];t&&(k[t]=!1)}}},!0),e&&(o.wx=o.jWeixin=w),w}function M(n,e,i){o.WeixinJSBridge?WeixinJSBridge.invoke(n,x(e),function(e){A(n,e,i)}):B(n,i)}function P(n,i,t){o.WeixinJSBridge?WeixinJSBridge.on(n,function(e){t&&t.trigger&&t.trigger(e),A(n,e,i)}):B(n,t||i)}function x(e){return(e=e||{}).appId=v.appId,e.verifyAppId=v.appId,e.verifySignType='sha1',e.verifyTimestamp=v.timestamp+'',e.verifyNonceStr=v.nonceStr,e.verifySignature=v.signature,e}function V(e){return{timeStamp:e.timestamp+'',nonceStr:e.nonceStr,package:e.package,paySign:e.paySign,signType:e.signType||'SHA1'}}function A(e,n,i){'openEnterpriseChat'!=e&&'openBusinessView'!==e||(n.errCode=n.err_code),delete n.err_code,delete n.err_desc,delete n.err_detail;var t=n.errMsg;t||(t=n.err_msg,delete n.err_msg,t=function(e,n){var i=e,t=a[i];t&&(i=t);var o='ok';if(n){var r=n.indexOf(':');'confirm'==(o=n.substring(r+1))&&(o='ok'),'failed'==o&&(o='fail'),-1!=o.indexOf('failed_')&&(o=o.substring(7)),-1!=o.indexOf('fail_')&&(o=o.substring(5)),'access denied'!=(o=(o=o.replace(/_/g,' ')).toLowerCase())&&'no permission to execute'!=o||(o='permission denied'),'config'==i&&'function not exist'==o&&(o='ok'),''==o&&(o='fail')}return n=i+':'+o}(e,t),n.errMsg=t),(i=i||{})._complete&&(i._complete(n),delete i._complete),t=n.errMsg||'',v.debug&&!i.isInnerInvoke&&alert(JSON.stringify(n));var o=t.indexOf(':');switch(t.substring(o+1)){case'ok':i.success&&i.success(n);break;case'cancel':i.cancel&&i.cancel(n);break;default:i.fail&&i.fail(n)}i.complete&&i.complete(n)}function C(e){if(e){for(var n=0,i=e.length;n<i;++n){var t=e[n],o=c[t];o&&(e[n]=o)}return e}}function B(e,n){if(!(!v.debug||n&&n.isInnerInvoke)){var i=a[e];i&&(e=i),n&&n._complete&&delete n._complete,console.log('"'+e+'",',n||'')}}function L(){return(new Date).getTime()}function O(e){l&&(o.WeixinJSBridge?e():i.addEventListener&&i.addEventListener('WeixinJSBridgeReady',e,!1))}}) |