1 |
- var NativeCallback,NativeDataAdapter;define(["require","helper","config","pingpp","api","api","api"],function(e){function i(){if(typeof i.instance=="object")return i.instance;i.instance=this,this.getUserInfoCallback=null,this.shareCallback=null,this.getSignCallback=null,this.loginCallback=null,this.isWxAppInstalledCallback=null,this.payCallback=null,this.selectAddressCallback=null,this.chooseImageCallback=null,this.uploadImageCallbacks={},this.selectPetTypeCallback=null,this.charge=null,this.keyboardEventTimer=0,this.originalHeight=document.body.scrollHeight,this.keyboardIsOpen=!1,this.keyboardIsClose=!1}function s(){if(typeof s.instance=="object")return s.instance;s.instance=this}function o(){if(typeof o.instance=="object")return o.instance;o.instance=this,o.charge=""}var t=e("helper"),n=e("config"),r=e("pingpp");return i.prototype={getUserInfo:function(n){var r=this,i="NativeCallback.getUserInfo";t.osProxy({android:function(){var e={callback:i},t=JSON.stringify(e);window.jsapi.getUserInfo(t)},ios:function(){window.location.href="http://callclient?method=getUserInfo&callback="+i},wx:function(){e("api").getO2oUserInfo({request_from:"weixin",user_id:localStorage.getItem("wxUserID")},function(e){typeof r.getUserInfoCallback=="function"&&r.getUserInfoCallback(e)})},cb:function(){e(["../../common/js/ctk-1.0.0"],function(t){t.logged({yes:function(t){console.log("已登录",t),e("api").getO2oUserInfo({from:"chubao",accessToken:t.accessToken},function(e){typeof r.getUserInfoCallback=="function"&&r.getUserInfoCallback(e)})},no:function(n){t.login({phone:"",success:function(t){e("api").getO2oUserInfo({from:"chubao",accessToken:t.accessToken},function(e){typeof r.getUserInfoCallback=="function"&&r.getUserInfoCallback(e)})},fail:function(e){}})}})})}});var n=typeof arguments[0]=="function"?arguments[0]:null;this.getUserInfoCallback=n},back:function(){t.osProxy({android:function(){window.jsapi.exitWebView()},ios:function(){window.location.href="http://callclient?method=exitWebView"},wx:function(){e(["../../common/js/jweixin-1.0.0"],function(e){e.closeWindow()})}})},login:function(e){var n=this,r="NativeCallback.login";t.osProxy({android:function(){var e={callback:r},t=JSON.stringify(e);window.jsapi.goLogin(t)},ios:function(){window.location.href="http://callclient?method=goLogin&callback="+r}});var e=typeof arguments[0]=="function"?arguments[0]:null;this.loginCallback=e},share:function(e,n,r,i,s,o){var u={share_title:e,share_string:n,share_img_url:r?encodeURI(r):"http://common.yiguanjia.me/images/logo.png",share_url:i?encodeURI(i):"http://common.yiguanjia.me",share_app_id:s},a="NativeCallback.share";t.osProxy({android:function(){u.callback=a;var e=JSON.stringify(u);window.jsapi.doShare(e)},ios:function(){var e=JSON.stringify(u);window.location.href="http://callclient?method=doShare¶m="+e+"&callback="+a}});var o=typeof arguments[5]=="function"?arguments[5]:null;this.shareCallback=o},getSign:function(e,n){var r=this;for(var i in e)e[i]=e[i].toString();var e={sign_json_string:e},s="NativeCallback.getSign";t.osProxy({android:function(){e.callback=s;var t=JSON.stringify(e);window.jsapi.sign(t)},ios:function(){var t=JSON.stringify(e);window.location.href="http://callclient?method=sign¶m="+t+"&callback="+s},wx:function(){e.user_id=localStorage.getItem("wxUserID"),e.request_from="weixin",r.getSignCallback&&r.getSignCallback(e)}});var n=typeof arguments[1]=="function"?arguments[1]:null;this.getSignCallback=n},pay:function(e,i){var s=this,o={},u="NativeCallback.pay";t.osProxy({android:function(){o.charge=e.charge,o.callback=u;var t=JSON.stringify(o);window.jsapi.pay(t)},ios:function(){NativeDataAdapter.charge=JSON.stringify(e.charge),o.charge="NativeDataAdapter.charge";var t=JSON.stringify(o);window.location.href="http://callclient?method=pay¶m="+encodeURIComponent(t)+"&callback="+u},wx:function(){if(n.test)r.createPayment(e.charge,function(e,t){if(e=="success"){var n={success:!0};i(n)}else e=="fail"?console.log(t):e=="cancel"&&console.log(t)});else{var t=e.charge.credential.wx_pub,s=t["package"].replace("prepay_id=",""),o=e.orderInfo.booking_time_str,u=e.isSpecial;location.href="/webapp/o2o/module/pay/index.html?appId="+t.appId+"&nonceStr="+t.nonceStr+"&package="+s+"&signType="+t.signType+"&timeStamp="+t.timeStamp+"&paySign="+t.paySign+"&amount="+e.charge.amount+"&created="+e.charge.created+"&body="+e.charge.body+"&bookingTime="+o+"&isSpecial="+u}}});var i=typeof arguments[1]=="function"?arguments[1]:null;this.payCallback=i},isWxAppInstalled:function(e){var n="NativeCallback.isWxInstalled",r={};t.osProxy({android:function(){r.callback=n;var e=JSON.stringify(r);window.jsapi.isWxAppInstalled(e)},ios:function(){var e=JSON.stringify(r);window.location.href="http://callclient?method=isWxAppInstalled¶m="+e+"&callback="+n}});var e=typeof arguments[0]=="function"?arguments[0]:null;this.isWxAppInstalledCallback=e},selectAddress:function(e){var n="NativeCallback.selectAddress",r={};t.osProxy({android:function(){r.callback=n;var e=JSON.stringify(r);window.jsapi.selectAddress(e)},ios:function(){var e=JSON.stringify(r);window.location.href="http://callclient?method=selectAddress¶m="+e+"&callback="+n}});var e=typeof arguments[0]=="function"?arguments[0]:null;this.selectAddressCallback=e},openURL:function(e){if(n.appVersion<2.6)return!1;var r={url:"http://common.yiguanjia.me"};typeof e=="undefined"&&(e={});for(var i in e)r.hasOwnProperty(i)&&(r[i]=e[i]);t.osProxy({android:function(){var e=JSON.stringify(r);window.jsapi.openURL(e)},ios:function(){var e=JSON.stringify(r);window.location.href="http://callclient?method=openURL¶m="+e}})},postMessage:function(e){if(n.appVersion<2.6)return!1;var r="NativeCallback.postMessage";t.osProxy({android:function(){var t={data:JSON.stringify(e),callback:r},n=JSON.stringify(t);window.jsapi.postMessage(n)},ios:function(){var t={data:e,callback:r},n=JSON.stringify(t);window.location.href="http://callclient?method=postMessage¶m="+n}})},chooseImage:function(e,r){if(n.appVersion<2.6)return!1;var i={sourceType:["album","camera"],count:9,clip:!1,clipSize:320};typeof e=="undefined"&&(e={});for(var s in e)i.hasOwnProperty(s)&&(i[s]=e[s]);var o="NativeCallback.chooseImage";t.osProxy({android:function(){i.callback=o;var e=JSON.stringify(i);window.jsapi.chooseImage(e)},ios:function(){var e=JSON.stringify(i);window.location.href="http://callclient?method=chooseImage¶m="+e+"&callback="+o}});var r=typeof arguments[1]=="function"?arguments[1]:null;this.chooseImageCallback=r},previewImage:function(r,i){if(!n.isWX&&n.appVersion<2.6)return!1;var s={urls:r,current:i},o=JSON.stringify(s);t.osProxy({android:function(){window.jsapi.previewImage(o)},ios:function(){window.location.href="http://callclient?method=previewImage¶m="+o},wx:function(){e(["../../common/js/jweixin-1.0.0"],function(e){e.previewImage({current:i,urls:r})})}})},uploadImage:function(e,r){if(n.appVersion<2.6)return!1;var i={localId:"",isShowProgressTips:!0};typeof e=="undefined"&&(e={});for(var s in e)i.hasOwnProperty(s)&&(i[s]=e[s]);var o="NativeCallback.uploadImage";t.osProxy({android:function(){i.callback=o;var e=JSON.stringify(i);window.jsapi.uploadImage(e)},ios:function(){var e=JSON.stringify(i);window.location.href="http://callclient?method=uploadImage¶m="+e+"&callback="+o}});var r=typeof arguments[1]=="function"?arguments[1]:null;this.uploadImageCallbacks[i.localId]=r},selectPetType:function(e){var n="NativeCallback.selectPetType",r={};t.osProxy({android:function(){r.callback=n;var e=JSON.stringify(r);window.jsapi.selectPetType(e)},ios:function(){var e=JSON.stringify(r);window.location.href="http://callclient?method=selectPetType¶m="+e+"&callback="+n}});var e=typeof arguments[0]=="function"?arguments[0]:null;this.selectPetTypeCallback=e},call:function(e){var r=this;t.osProxy({android:function(){if(n.appVersion<"2.2")$(document).trigger("spa:openpanel",["simpleAlert",{message:"客服热线:"+e}]);else{var t={telephone:e},r=JSON.stringify(t);window.jsapi.call(r)}},ios:function(){window.location.href="tel:"+e}})},switchPopGesture:function(e){var n={enable:e};t.osProxy({ios:function(){var e=JSON.stringify(n);window.location.href="http://callclient?method=switchPopGesture¶m="+e}})},delegateBackButton:function(e,n){var r={enable:e,callback:"NativeCallback.back"};t.osProxy({android:function(){var e=JSON.stringify(r);window.jsapi.delegateBackButton(e)}})},registerEvent:function(e){if(!e){this.keyboardEventTimer!=0&&clearInterval(this.keyboardEventTimer);return}var n=this;this.keyboardIsOpen=!1,this.keyboardIsClose=!1,t.osProxy({android:function(){n.keyboardEventTimer=setInterval(function(){n.originalHeight>document.body.scrollHeight?n.keyboardIsOpen||(n.keyboardIsOpen=!0,n.keyboardIsClose=!1,$("input, textarea").trigger("openKeyboard")):n.keyboardIsClose||(n.keyboardIsClose=!0,n.keyboardIsOpen=!1,$("input, textarea").trigger("closeKeyboard"))},50)}})}},s.prototype={formatNativeParam:function(e){var n=t.osProxy({android:function(){var t=new RegExp("(\r\n|\r|\n)","g");return e=JSON.stringify(e).replace(t,""),JSON.parse(e)},ios:function(){return e&&e.hasOwnProperty("success")&&(e.success=="1"?e.success=!0:e.success=!1),e}});return n},getUserInfo:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.getUserInfoCallback=="function"&&n.getUserInfoCallback(t)},login:function(e){var t=this.formatNativeParam(e),n=new i;n.loginCallback!=null&&setTimeout(function(){n.getUserInfo(n.loginCallback),n.loginCallback(t)},100)},share:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.shareCallback=="function"&&n.shareCallback(t)},getSign:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.getSignCallback=="function"&&n.getSignCallback(t)},pay:function(e){var r=this.formatNativeParam(e);r.success?r.message="支付成功":t.osProxy({android:function(){if(n.appVersion<"2.2")r.message=="user_cancelled"?r.message="取消支付":r.message="支付异常,请稍后再试";else switch(r.error_code){case"fail":r.message="支付失败";break;case"cancel":r.message="取消支付";break;default:r.message="支付异常,请稍后再试"}},ios:function(){r.error_code==5?r.message="取消支付":r.message="支付异常,请稍后再试"}});var s=new i;typeof s.payCallback=="function"&&s.payCallback(r)},selectAddress:function(e){var n=this.formatNativeParam(e),r=new i;t.osProxy({android:function(){n.success&&typeof n.data=="string"&&(n.data=JSON.parse(n.data))}}),typeof r.selectAddressCallback=="function"&&r.selectAddressCallback(n)},selectPetType:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.selectPetTypeCallback=="function"&&n.selectPetTypeCallback(t)},chooseImage:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.chooseImageCallback=="function"&&n.chooseImageCallback(t)},uploadImage:function(e){var t=this.formatNativeParam(e),n=new i;e.data.localId&&typeof n.uploadImageCallbacks[e.data.localId]=="function"&&n.uploadImageCallbacks[e.data.localId](t)},isWxInstalled:function(e){var t=this.formatNativeParam(e),n=new i;typeof n.isWxAppInstalledCallback=="function"&&n.isWxAppInstalledCallback(t)},postMessage:function(n){var r=this.formatNativeParam(n);r=t.osProxy({android:function(){return r.data=JSON.parse(r.data),r},ios:function(){return r}}),e(["$"],function(e){e(document).trigger("postMessage",r)})},back:function(){e(["$"],function(e){e(document).trigger("tapBackButton")})}},t.osProxy({android:function(){if(typeof WebSocketFactory=="undefined")return!1;var e=window,t=e.WebSocket=function(e){this.socket=WebSocketFactory.getInstance(e);if(!this.socket)throw new Error("Websocket instantiation failed! Address might be wrong.");t.store[this.socket.getId()]=this};t._keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t._decode=function(e){var t="",n,r,i,s,o,u,a,f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length)s=this._keyStr.indexOf(e.charAt(f++)),o=this._keyStr.indexOf(e.charAt(f++)),u=this._keyStr.indexOf(e.charAt(f++)),a=this._keyStr.indexOf(e.charAt(f++)),n=s<<2|o>>4,r=(o&15)<<4|u>>2,i=(u&3)<<6|a,t+=String.fromCharCode(n),u!=64&&(t+=String.fromCharCode(r)),a!=64&&(t+=String.fromCharCode(i));return t=this._utf8_decode(t),t},t._utf8_decode=function(e){var t="",n=0,r=c1=c2=0;while(n<e.length)r=e.charCodeAt(n),r<128?(t+=String.fromCharCode(r),n++):r>191&&r<224?(c2=e.charCodeAt(n+1),t+=String.fromCharCode((r&31)<<6|c2&63),n+=2):(c2=e.charCodeAt(n+1),c3=e.charCodeAt(n+2),t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63),n+=3);return t},t.store={},t.onmessage=function(n){t.store[n._target].onmessage.call(e,this._decode(n._data))},t.onopen=function(n){t.store[n._target].onopen.call(e,n)},t.onclose=function(n){t.store[n._target].onclose.call(e,n)},t.onerror=function(n){t.store[n._target].onerror.call(e,n)},t.prototype.send=function(e){this.socket.send(e)},t.prototype.close=function(){this.socket.close()},t.prototype.getReadyState=function(){this.socket.getReadyState()},t.prototype.onopen=function(){throw new Error("onopen not implemented.")},t.prototype.onmessage=function(e){throw new Error("onmessage not implemented.")},t.prototype.onerror=function(e){throw new Error("onerror not implemented.")},t.prototype.onclose=function(){throw new Error("onclose not implemented.")}}}),NativeDataAdapter=new o,NativeCallback=new s,new i});
|