UNPKG

bcvwallet-jssdk

Version:
2 lines 5.77 kB
/*! bcvwallet-jssdk v2.0.0 */ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.bcvWallet=n():e.bcvWallet=n()}(this,function(){return function(e){var n={};function t(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:i})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(i,o,function(n){return e[n]}.bind(null,o));return i},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n,t){"use strict";function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o=navigator.userAgent.toLowerCase(),r={},a="config",c="requestPayment",u="shareWechat",d="openUrlScheme",s="download",f="scanQRCode",l="mediaShare",p="pageInit",b="navbarItemCallback";o.indexOf("Android")>-1||o.indexOf("Adr")>-1?r.platform="android":o.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?r.platform="ios":r.platform="desktop";var g=o.match(/bitcvwallet\/(ios|android)\/(\d+\.\d+(\.\d+)?)(\/lang\/(\w{1,}))?/);g?(r.isInBitcvApp=!0,r.appPlatform=g[1],r.appVersion=g[2],r.appLanguage=g[5]?g[5]:"cn"):r.isInBitcvApp=!1;var v=function(){this.config={},this.status=0,this._success=null,this._fail=null,this._failRes={}};v.prototype.update=function(e,n){this[e]=n};var m,w=new v;function y(e){if(w.config&&w.config.debug){m||((m=document.createElement("div")).setAttribute("id","bcvWalletLogs"),document.body.appendChild(m));var n=document.createElement("p");n.setAttribute("id","bcvWalletLog"),n.setAttribute("style","word-break:break-all;background:#eee;z-index:9999;"),n.style.fontSize="14px",n.innerHTML="- "+e,m.appendChild(n)}}function h(e,n,t){console.log(w.config),console.log(w.status),1===w.status?t():(y("".concat(e,"执行失败,尚未完成config初始化")),console.error("".concat(e,"执行失败,尚未完成config初始化")),O(e,{errcode:1,errmsg:"SDK尚未 config 完成",data:{}},n))}function _(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};y("开始调用事件".concat(e)),y("调用数据:"+JSON.stringify(n)),window.WebViewJavascriptBridge.callHandler(e,function(e){return e.config={appId:w.config.appId,signType:"sha1",timestamp:w.config.timestamp+"",nonceStr:w.config.nonceStr,signature:w.config.signature},e}(n),function(t){O(e,t,n)})}function O(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};switch(y("接收到".concat(e,"事件回调")),y("回调数据:"+JSON.stringify(n)),n.errcode){case"0":case 0:t.success&&t.success(n);break;case"-1":case-1:t.cancel&&t.cancel(n);break;default:t.fail&&t.fail(n)}t.complete&&t.complete(n)}var S={env:r,config:function(e){w.update("config",e),function(e){if(r.isInBitcvApp&&"android"===r.appPlatform){if(window.WebViewJavascriptBridge)return y("Android - has bridge"),e(window.WebViewJavascriptBridge);y("Android - no bridge and waiting for bridge ready"),document.addEventListener("WebViewJavascriptBridgeReady",function(){y("Android - bridge ready now"),e(window.WebViewJavascriptBridge)},!1)}else if(r.isInBitcvApp&&"ios"===r.appPlatform){if(window.WebViewJavascriptBridge)return y("iOS - has bridge"),e(WebViewJavascriptBridge);if(y("iOS - no bridge and waiting for WVJBCallbacks"),window.WebViewJavascriptBridge)return e(WebViewJavascriptBridge);if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var n=document.createElement("iframe");n.style.display="none",n.src="https://__bridge_loaded__",document.documentElement.appendChild(n),setTimeout(function(){document.documentElement.removeChild(n)},0)}else y("非bcvWallet环境,无法使用SDK相关功能"),console.warn("非bcvWallet环境,无法使用SDK相关功能")}(function(n){n.init&&n.init(function(){}),_(a,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.forEach(function(n){i(e,n,t[n])})}return e}({},e,{success:function(){w.update("status",1),w._success&&w._success()},fail:function(e){w.update("status",-1),w.update("_failRes",e),w._fail&&w._fail(e)}}))})},ready:function(e){1==w.status?(y("config ready"),e()):w.update("_success",e)},error:function(e){-1==w.status?(y("config error"),e(w._failRes)):w.update("_fail",e)},requestPayment:function(e){h(c,e,function(){_(c,e)})},shareWechat:function(e){h(u,e,function(){_(u,e)})},openUrlScheme:function(e){h(d,e,function(){_(d,e)})},download:function(e){h(s,e,function(){_(s,e)})},scanQRCode:function(e){h(f,e,function(){_(f,e)})},mediaShare:function(e){h(l,e,function(){_(l,e)})},pageInit:function(e){h(p,e,function(){"none"!==e.navbarItemType&&function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};y("开始注册事件".concat(e)),window.WebViewJavascriptBridge.registerHandler(e,n)}(b,e.navbarItemCallback),_(p,e)})}};n.default=S,e.exports=n.default}])});