UNPKG

@yorkjs/wechat

Version:

process wechat auth/pay/share tool

3 lines (2 loc) 3.16 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@yorkjs/url")):"function"==typeof define&&define.amd?define(["exports","@yorkjs/url"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Url={},e.Url)}(this,(function(e,t){"use strict";var n,r="auth_page_unload_timestamp";function i(){return n}var a=navigator.userAgent;/iphone|ipad/i.test(a);var o=/android/i.test(a),s=!1;function u(){var e,t;s&&(e=r,t=i().getTimestamp(),n.storage.set("@@wechat@@_"+e,t))}function c(e,t,n,r,i){var a="appid="+r+"&redirect_uri="+encodeURIComponent(t)+"&response_type=code&scope="+n+"&state="+e;i&&(a+="&component_appid="+i),s=!0,location.href="https://open.weixin.qq.com/connect/oauth2/authorize?"+a+"#wechat_redirect"}function p(e,n){var r=t.parseUrl(e);if(!r)return e;if(r.search){var i=t.parseQuery(r.search.slice(1));if(i.state&&i.code){delete i.state,delete i.code;var a=t.stringifyQuery(i);r.search=a?"?"+a:""}}return n&&n(r),t.stringifyUrl(r)}var l={};function d(e){var t,a=i().getTimestamp(),o=(t=r,n.storage.get("@@wechat@@_"+t));return!!o&&a-o<e}var f=function(e){n=e,e.onPageLeave(u)},h=function(e,t,n,r){c(encodeURIComponent(e),t,"snsapi_userinfo",n,r)},g=function(e,t,n,r){c(encodeURIComponent(e),t,"snsapi_base",n,r)},m=function(e){var t;s=!1,t=r,n.storage.remove("@@wechat@@_"+t)},v=function(e,n){var r=function(e){var n={},r=t.parseUrl(e);if(!r.search)return n;var i=t.parseQuery(r.search.slice(1));return i.state&&i.code&&(n.code=i.code,n.state=i.state),n}(e),i=r.state,a=r.code;if(i&&a){if(!n)return r;var o=n.once;if(!function(e,t){var n=t.expireSeconds,r=t.once,i=e.state;return!(!i||n&&!d(1e3*n)||r&&l[i])}(r,n))return{};o&&(l[i]=!0)}return r},_=function(e,t,n,r,i){return void 0===i&&(i=!1),new Promise((function(a,o){e.config({debug:i,appId:t.appId,timestamp:t.timestamp,nonceStr:t.nonceStr,signature:t.signature,jsApiList:n}),e.ready((function(){e.checkJsApi({jsApiList:n,success:function(t){var n=t.checkResult;n.updateAppMessageShareData&&e.updateAppMessageShareData({title:r.title,desc:r.content,link:r.url,imgUrl:r.image}),n.updateTimelineShareData&&e.updateTimelineShareData({title:r.title,link:r.url,imgUrl:r.image}),n.onMenuShareWeibo&&e.onMenuShareWeibo({title:r.title,desc:r.content,link:r.url,imgUrl:r.image}),n.onMenuShareAppMessage&&e.onMenuShareAppMessage({title:r.title,desc:r.content,link:r.url,imgUrl:r.image}),n.onMenuShareTimeline&&e.onMenuShareTimeline({title:r.title,link:r.url,imgUrl:r.image})}})})),e.error((function(e){o(e)})),a()}))},y=function(e){return new Promise((function(t,n){window.WeixinJSBridge?window.WeixinJSBridge.invoke("getBrandWCPayRequest",e,(function(e){var r=e.err_msg;"get_brand_wcpay_request:ok"==r?t(e):"get_brand_wcpay_request:cancel"!==r&&n(r||"支付失败")})):n("缺少微信环境支持")}))},S=p,U=function(e,t){return p(e,(function(e){t&&t(e);var n=e.search&&"?"!==e.search;o&&!n&&e.hash&&(e.hash="?"+e.hash)}))};e.endAuth=m,e.getAuthQuery=v,e.init=f,e.normalizeShareUrl=U,e.normalizeUrl=S,e.pay=y,e.share=_,e.startAuth=h,e.startSilentAuth=g,e.version="2.0.0",Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=wechat.min.js.map