lazy-bee 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -1
- package/index.js +1 -13
- package/package.json +1 -1
- package/src/_virtual/_plugin-vue_export-helper.js +9 -0
- package/src/components/Login/Login.vue.js +134 -0
- package/src/components/Login/LoginModal.js +48 -0
- package/src/components/Login/LoginModal.vue.js +155 -0
- package/src/components/Login/LoginPage.js +9 -0
- package/src/components/Login/LoginPage.vue.js +79 -0
- package/src/components/PayModal/PayModal.vue.js +200 -0
- package/src/components/PayModal/index.js +71 -0
- package/src/components/addScript.js +32 -0
- package/src/components/converToken.js +163 -0
- package/src/components/debug.js +9 -0
- package/src/components/share.js +30 -0
- package/src/components/trackEvent.js +63 -0
- package/src/index.js +16 -0
- package/src/style.css +1 -0
- package/src/gdp-full-H5-3.8.3.js +0 -2606
- package/src/lazy-bee.js +0 -3350
package/src/lazy-bee.js
DELETED
|
@@ -1,3350 +0,0 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var n=document.createElement("style");n.appendChild(document.createTextNode(':root,:host{--van-black: #000;--van-white: #fff;--van-gray-1: #f7f8fa;--van-gray-2: #f2f3f5;--van-gray-3: #ebedf0;--van-gray-4: #dcdee0;--van-gray-5: #c8c9cc;--van-gray-6: #969799;--van-gray-7: #646566;--van-gray-8: #323233;--van-red: #ee0a24;--van-blue: #1989fa;--van-orange: #ff976a;--van-orange-dark: #ed6a0c;--van-orange-light: #fffbe8;--van-green: #07c160;--van-gradient-red: linear-gradient(to right, #ff6034, #ee0a24);--van-gradient-orange: linear-gradient(to right, #ffd01e, #ff8917);--van-primary-color: var(--van-blue);--van-success-color: var(--van-green);--van-danger-color: var(--van-red);--van-warning-color: var(--van-orange);--van-text-color: var(--van-gray-8);--van-text-color-2: var(--van-gray-6);--van-text-color-3: var(--van-gray-5);--van-active-color: var(--van-gray-2);--van-active-opacity: .6;--van-disabled-opacity: .5;--van-background: var(--van-gray-1);--van-background-2: var(--van-white);--van-background-3: var(--van-white);--van-padding-base: 4px;--van-padding-xs: 8px;--van-padding-sm: 12px;--van-padding-md: 16px;--van-padding-lg: 24px;--van-padding-xl: 32px;--van-font-bold: 600;--van-font-size-xs: 10px;--van-font-size-sm: 12px;--van-font-size-md: 14px;--van-font-size-lg: 16px;--van-line-height-xs: 14px;--van-line-height-sm: 18px;--van-line-height-md: 20px;--van-line-height-lg: 22px;--van-base-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--van-price-font: avenir-heavy, "PingFang SC", helvetica neue, arial, sans-serif;--van-duration-base: .3s;--van-duration-fast: .2s;--van-ease-out: ease-out;--van-ease-in: ease-in;--van-border-color: var(--van-gray-3);--van-border-width: 1px;--van-radius-sm: 2px;--van-radius-md: 4px;--van-radius-lg: 8px;--van-radius-max: 999px}.van-theme-dark{--van-text-color: #f5f5f5;--van-text-color-2: #707070;--van-text-color-3: #4d4d4d;--van-border-color: #3a3a3c;--van-active-color: #3a3a3c;--van-background: #000;--van-background-2: #1c1c1e;--van-background-3: #37363b}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--van-base-font)}a{text-decoration:none}input,button,textarea{color:inherit;font:inherit}a:focus,input:focus,button:focus,textarea:focus,[class*=van-]:focus{outline:none}ol,ul{margin:0;padding:0;list-style:none}@keyframes van-slide-up-enter{0%{transform:translate3d(0,100%,0)}}@keyframes van-slide-up-leave{to{transform:translate3d(0,100%,0)}}@keyframes van-slide-down-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-leave{to{transform:translate3d(0,-100%,0)}}@keyframes van-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-leave{to{transform:translate3d(-100%,0,0)}}@keyframes van-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes van-slide-right-leave{to{transform:translate3d(100%,0,0)}}@keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.van-fade-enter-active{animation:var(--van-duration-base) van-fade-in both var(--van-ease-out)}.van-fade-leave-active{animation:var(--van-duration-base) van-fade-out both var(--van-ease-in)}.van-slide-up-enter-active{animation:van-slide-up-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-up-leave-active{animation:van-slide-up-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-down-enter-active{animation:van-slide-down-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-down-leave-active{animation:van-slide-down-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-left-enter-active{animation:van-slide-left-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-left-leave-active{animation:van-slide-left-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-right-enter-active{animation:van-slide-right-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-right-leave-active{animation:van-slide-right-leave var(--van-duration-base) both var(--van-ease-in)}.van-clearfix:after{display:table;clear:both;content:""}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-break:anywhere;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;line-break:anywhere;-webkit-box-orient:vertical}.van-safe-area-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-haptics-feedback{cursor:pointer}.van-haptics-feedback:active{opacity:var(--van-active-opacity)}[class*=van-hairline]:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--van-border-color);transform:scale(.5)}.van-hairline,.van-hairline--top,.van-hairline--left,.van-hairline--right,.van-hairline--bottom,.van-hairline--surround,.van-hairline--top-bottom{position:relative}.van-hairline--top:after{border-top-width:var(--van-border-width)}.van-hairline--left:after{border-left-width:var(--van-border-width)}.van-hairline--right:after{border-right-width:var(--van-border-width)}.van-hairline--bottom:after{border-bottom-width:var(--van-border-width)}.van-hairline--top-bottom:after,.van-hairline-unset--top-bottom:after{border-width:var(--van-border-width) 0}.van-hairline--surround:after{border-width:var(--van-border-width)}:root,:host{--van-badge-size: 16px;--van-badge-color: var(--van-white);--van-badge-padding: 0 3px;--van-badge-font-size: var(--van-font-size-sm);--van-badge-font-weight: var(--van-font-bold);--van-badge-border-width: var(--van-border-width);--van-badge-background: var(--van-danger-color);--van-badge-dot-color: var(--van-danger-color);--van-badge-dot-size: 8px;--van-badge-font: -apple-system-font, helvetica neue, arial, sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font);line-height:1.2;text-align:center;background:var(--van-badge-background);border:var(--van-badge-border-width) solid var(--van-background-2);border-radius:var(--van-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge__wrapper{position:relative;display:inline-block}.van-icon{position:relative;display:inline-block;font:14px/1 vant-icon;font:normal normal normal 14px/1 var(--van-icon-font-family, "vant-icon");font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.van-icon:before{display:inline-block}.van-icon-arrow-double-left:before{content:""}.van-icon-arrow-double-right:before{content:""}.van-icon-contact:before{content:""}.van-icon-notes:before{content:""}.van-icon-records:before{content:""}.van-icon-cash-back-record:before{content:""}.van-icon-newspaper:before{content:""}.van-icon-discount:before{content:""}.van-icon-completed:before{content:""}.van-icon-user:before{content:""}.van-icon-description:before{content:""}.van-icon-list-switch:before{content:""}.van-icon-list-switching:before{content:""}.van-icon-link-o:before{content:""}.van-icon-miniprogram-o:before{content:""}.van-icon-qq:before{content:""}.van-icon-wechat-moments:before{content:""}.van-icon-weibo:before{content:""}.van-icon-cash-o:before{content:""}.van-icon-guide-o:before{content:""}.van-icon-invitation:before{content:""}.van-icon-shield-o:before{content:""}.van-icon-exchange:before{content:""}.van-icon-eye:before{content:""}.van-icon-enlarge:before{content:""}.van-icon-expand-o:before{content:""}.van-icon-eye-o:before{content:""}.van-icon-expand:before{content:""}.van-icon-filter-o:before{content:""}.van-icon-fire:before{content:""}.van-icon-fail:before{content:""}.van-icon-failure:before{content:""}.van-icon-fire-o:before{content:""}.van-icon-flag-o:before{content:""}.van-icon-font:before{content:""}.van-icon-font-o:before{content:""}.van-icon-gem-o:before{content:""}.van-icon-flower-o:before{content:""}.van-icon-gem:before{content:""}.van-icon-gift-card:before{content:""}.van-icon-friends:before{content:""}.van-icon-friends-o:before{content:""}.van-icon-gold-coin:before{content:""}.van-icon-gold-coin-o:before{content:""}.van-icon-good-job-o:before{content:""}.van-icon-gift:before{content:""}.van-icon-gift-o:before{content:""}.van-icon-gift-card-o:before{content:""}.van-icon-good-job:before{content:""}.van-icon-home-o:before{content:""}.van-icon-goods-collect:before{content:""}.van-icon-graphic:before{content:""}.van-icon-goods-collect-o:before{content:""}.van-icon-hot-o:before{content:""}.van-icon-info:before{content:""}.van-icon-hotel-o:before{content:""}.van-icon-info-o:before{content:""}.van-icon-hot-sale-o:before{content:""}.van-icon-hot:before{content:""}.van-icon-like:before{content:""}.van-icon-idcard:before{content:""}.van-icon-like-o:before{content:""}.van-icon-hot-sale:before{content:""}.van-icon-location-o:before{content:""}.van-icon-location:before{content:""}.van-icon-label:before{content:""}.van-icon-lock:before{content:""}.van-icon-label-o:before{content:""}.van-icon-map-marked:before{content:""}.van-icon-logistics:before{content:""}.van-icon-manager:before{content:""}.van-icon-more:before{content:""}.van-icon-live:before{content:""}.van-icon-manager-o:before{content:""}.van-icon-medal:before{content:""}.van-icon-more-o:before{content:""}.van-icon-music-o:before{content:""}.van-icon-music:before{content:""}.van-icon-new-arrival-o:before{content:""}.van-icon-medal-o:before{content:""}.van-icon-new-o:before{content:""}.van-icon-free-postage:before{content:""}.van-icon-newspaper-o:before{content:""}.van-icon-new-arrival:before{content:""}.van-icon-minus:before{content:""}.van-icon-orders-o:before{content:""}.van-icon-new:before{content:""}.van-icon-paid:before{content:""}.van-icon-notes-o:before{content:""}.van-icon-other-pay:before{content:""}.van-icon-pause-circle:before{content:""}.van-icon-pause:before{content:""}.van-icon-pause-circle-o:before{content:""}.van-icon-peer-pay:before{content:""}.van-icon-pending-payment:before{content:""}.van-icon-passed:before{content:""}.van-icon-plus:before{content:""}.van-icon-phone-circle-o:before{content:""}.van-icon-phone-o:before{content:""}.van-icon-printer:before{content:""}.van-icon-photo-fail:before{content:""}.van-icon-phone:before{content:""}.van-icon-photo-o:before{content:""}.van-icon-play-circle:before{content:""}.van-icon-play:before{content:""}.van-icon-phone-circle:before{content:""}.van-icon-point-gift-o:before{content:""}.van-icon-point-gift:before{content:""}.van-icon-play-circle-o:before{content:""}.van-icon-shrink:before{content:""}.van-icon-photo:before{content:""}.van-icon-qr:before{content:""}.van-icon-qr-invalid:before{content:""}.van-icon-question-o:before{content:""}.van-icon-revoke:before{content:""}.van-icon-replay:before{content:""}.van-icon-service:before{content:""}.van-icon-question:before{content:""}.van-icon-search:before{content:""}.van-icon-refund-o:before{content:""}.van-icon-service-o:before{content:""}.van-icon-scan:before{content:""}.van-icon-share:before{content:""}.van-icon-send-gift-o:before{content:""}.van-icon-share-o:before{content:""}.van-icon-setting:before{content:""}.van-icon-points:before{content:""}.van-icon-photograph:before{content:""}.van-icon-shop:before{content:""}.van-icon-shop-o:before{content:""}.van-icon-shop-collect-o:before{content:""}.van-icon-shop-collect:before{content:""}.van-icon-smile:before{content:""}.van-icon-shopping-cart-o:before{content:""}.van-icon-sign:before{content:""}.van-icon-sort:before{content:""}.van-icon-star-o:before{content:""}.van-icon-smile-comment-o:before{content:""}.van-icon-stop:before{content:""}.van-icon-stop-circle-o:before{content:""}.van-icon-smile-o:before{content:""}.van-icon-star:before{content:""}.van-icon-success:before{content:""}.van-icon-stop-circle:before{content:""}.van-icon-records-o:before{content:""}.van-icon-shopping-cart:before{content:""}.van-icon-tosend:before{content:""}.van-icon-todo-list:before{content:""}.van-icon-thumb-circle-o:before{content:""}.van-icon-thumb-circle:before{content:""}.van-icon-umbrella-circle:before{content:""}.van-icon-underway:before{content:""}.van-icon-upgrade:before{content:""}.van-icon-todo-list-o:before{content:""}.van-icon-tv-o:before{content:""}.van-icon-underway-o:before{content:""}.van-icon-user-o:before{content:""}.van-icon-vip-card-o:before{content:""}.van-icon-vip-card:before{content:""}.van-icon-send-gift:before{content:""}.van-icon-wap-home:before{content:""}.van-icon-wap-nav:before{content:""}.van-icon-volume-o:before{content:""}.van-icon-video:before{content:""}.van-icon-wap-home-o:before{content:""}.van-icon-volume:before{content:""}.van-icon-warning:before{content:""}.van-icon-weapp-nav:before{content:""}.van-icon-wechat-pay:before{content:""}.van-icon-warning-o:before{content:""}.van-icon-wechat:before{content:""}.van-icon-setting-o:before{content:""}.van-icon-youzan-shield:before{content:""}.van-icon-warn-o:before{content:""}.van-icon-smile-comment:before{content:""}.van-icon-user-circle-o:before{content:""}.van-icon-video-o:before{content:""}.van-icon-add-square:before{content:""}.van-icon-add:before{content:""}.van-icon-arrow-down:before{content:""}.van-icon-arrow-up:before{content:""}.van-icon-arrow:before{content:""}.van-icon-after-sale:before{content:""}.van-icon-add-o:before{content:""}.van-icon-alipay:before{content:""}.van-icon-ascending:before{content:""}.van-icon-apps-o:before{content:""}.van-icon-aim:before{content:""}.van-icon-award:before{content:""}.van-icon-arrow-left:before{content:""}.van-icon-award-o:before{content:""}.van-icon-audio:before{content:""}.van-icon-bag-o:before{content:""}.van-icon-balance-list:before{content:""}.van-icon-back-top:before{content:""}.van-icon-bag:before{content:""}.van-icon-balance-pay:before{content:""}.van-icon-balance-o:before{content:""}.van-icon-bar-chart-o:before{content:""}.van-icon-bars:before{content:""}.van-icon-balance-list-o:before{content:""}.van-icon-birthday-cake-o:before{content:""}.van-icon-bookmark:before{content:""}.van-icon-bill:before{content:""}.van-icon-bell:before{content:""}.van-icon-browsing-history-o:before{content:""}.van-icon-browsing-history:before{content:""}.van-icon-bookmark-o:before{content:""}.van-icon-bulb-o:before{content:""}.van-icon-bullhorn-o:before{content:""}.van-icon-bill-o:before{content:""}.van-icon-calendar-o:before{content:""}.van-icon-brush-o:before{content:""}.van-icon-card:before{content:""}.van-icon-cart-o:before{content:""}.van-icon-cart-circle:before{content:""}.van-icon-cart-circle-o:before{content:""}.van-icon-cart:before{content:""}.van-icon-cash-on-deliver:before{content:""}.van-icon-cash-back-record-o:before{content:""}.van-icon-cashier-o:before{content:""}.van-icon-chart-trending-o:before{content:""}.van-icon-certificate:before{content:""}.van-icon-chat:before{content:""}.van-icon-clear:before{content:""}.van-icon-chat-o:before{content:""}.van-icon-checked:before{content:""}.van-icon-clock:before{content:""}.van-icon-clock-o:before{content:""}.van-icon-close:before{content:""}.van-icon-closed-eye:before{content:""}.van-icon-circle:before{content:""}.van-icon-cluster-o:before{content:""}.van-icon-column:before{content:""}.van-icon-comment-circle-o:before{content:""}.van-icon-cluster:before{content:""}.van-icon-comment:before{content:""}.van-icon-comment-o:before{content:""}.van-icon-comment-circle:before{content:""}.van-icon-completed-o:before{content:""}.van-icon-credit-pay:before{content:""}.van-icon-coupon:before{content:""}.van-icon-debit-pay:before{content:""}.van-icon-coupon-o:before{content:""}.van-icon-contact-o:before{content:""}.van-icon-descending:before{content:""}.van-icon-desktop-o:before{content:""}.van-icon-diamond-o:before{content:""}.van-icon-description-o:before{content:""}.van-icon-delete:before{content:""}.van-icon-diamond:before{content:""}.van-icon-delete-o:before{content:""}.van-icon-cross:before{content:""}.van-icon-edit:before{content:""}.van-icon-ellipsis:before{content:""}.van-icon-down:before{content:""}.van-icon-discount-o:before{content:""}.van-icon-ecard-pay:before{content:""}.van-icon-envelop-o:before{content:""}@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/woff2;charset=utf-8;base64,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) format("woff2"),url(//at.alicdn.com/t/c/font_2553510_ciljc7axaw7.woff?t=1705587463221) format("woff")}.van-icon__image{display:block;width:1em;height:1em;object-fit:contain}:root,:host{--van-loading-text-color: var(--van-text-color-2);--van-loading-text-font-size: var(--van-font-size-md);--van-loading-spinner-color: var(--van-gray-5);--van-loading-spinner-size: 30px;--van-loading-spinner-duration: .8s}.van-loading{position:relative;color:var(--van-loading-spinner-color);font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:var(--van-loading-spinner-size);max-width:100%;height:var(--van-loading-spinner-size);max-height:100%;vertical-align:middle;animation:van-rotate var(--van-loading-spinner-duration) linear infinite}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{animation-duration:2s}.van-loading__line{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__line:before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:var(--van-padding-xs);color:var(--van-loading-text-color);font-size:var(--van-loading-text-font-size);vertical-align:middle}.van-loading--vertical{display:flex;flex-direction:column;align-items:center}.van-loading--vertical .van-loading__text{margin:var(--van-padding-xs) 0 0}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__line--1{transform:rotate(30deg);opacity:1}.van-loading__line--2{transform:rotate(60deg);opacity:.9375}.van-loading__line--3{transform:rotate(90deg);opacity:.875}.van-loading__line--4{transform:rotate(120deg);opacity:.8125}.van-loading__line--5{transform:rotate(150deg);opacity:.75}.van-loading__line--6{transform:rotate(180deg);opacity:.6875}.van-loading__line--7{transform:rotate(210deg);opacity:.625}.van-loading__line--8{transform:rotate(240deg);opacity:.5625}.van-loading__line--9{transform:rotate(270deg);opacity:.5}.van-loading__line--10{transform:rotate(300deg);opacity:.4375}.van-loading__line--11{transform:rotate(330deg);opacity:.375}.van-loading__line--12{transform:rotate(360deg);opacity:.3125}:root,:host{--van-overlay-z-index: 1;--van-overlay-background: rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background)}:root,:host{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: 16px;--van-popup-close-icon-size: 22px;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: 16px;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}:root,:host{--van-toast-max-width: 70%;--van-toast-font-size: var(--van-font-size-md);--van-toast-text-color: var(--van-white);--van-toast-loading-icon-color: var(--van-white);--van-toast-line-height: var(--van-line-height-md);--van-toast-radius: var(--van-radius-lg);--van-toast-background: rgba(0, 0, 0, .7);--van-toast-icon-size: 36px;--van-toast-text-min-width: 96px;--van-toast-text-padding: var(--van-padding-xs) var(--van-padding-sm);--van-toast-default-padding: var(--van-padding-md);--van-toast-default-width: 88px;--van-toast-default-min-height: 88px;--van-toast-position-top-distance: 20%;--van-toast-position-bottom-distance: 20%}.van-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--van-duration-fast);width:var(--van-toast-default-width);max-width:var(--van-toast-max-width);min-height:var(--van-toast-default-min-height);padding:var(--van-toast-default-padding);color:var(--van-toast-text-color);font-size:var(--van-toast-font-size);line-height:var(--van-toast-line-height);white-space:pre-wrap;word-break:break-all;text-align:center;background:var(--van-toast-background);border-radius:var(--van-toast-radius)}.van-toast--break-normal{word-break:normal;word-wrap:normal}.van-toast--break-word{word-break:normal;word-wrap:break-word}.van-toast--unclickable{overflow:hidden;cursor:not-allowed}.van-toast--unclickable *{pointer-events:none}.van-toast--text,.van-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--van-toast-text-min-width);min-height:0;padding:var(--van-toast-text-padding)}.van-toast--text .van-toast__text,.van-toast--html .van-toast__text{margin-top:0}.van-toast--top{top:var(--van-toast-position-top-distance)}.van-toast--bottom{top:auto;bottom:var(--van-toast-position-bottom-distance)}.van-toast__icon{font-size:var(--van-toast-icon-size)}.van-toast__loading{padding:var(--van-padding-base);color:var(--van-toast-loading-icon-color)}.van-toast__text{margin-top:var(--van-padding-xs)}.login-modal[data-v-b29b5494]{width:85vw;box-sizing:border-box;padding:8vw 4vw 4vw;border-radius:4vw;background:#fff}.login-modal__logo[data-v-b29b5494]{display:block;width:40%;margin:0 auto 2.666667vw}.login-modal__colse[data-v-b29b5494]{color:#999;background:#f2f2f2;width:5.4vw;height:5.4vw;border-radius:50%;position:absolute;top:2vw;right:3vw;display:flex;justify-content:center;align-items:center;line-height:1em;font-size:3.733333vw}.login-modal[data-v-b29b5494] .login__mobile,.login-modal[data-v-b29b5494] .login__sms{position:relative;display:flex;padding:3.2vw 4.266667vw}.login-modal[data-v-b29b5494] .login__mobile:after,.login-modal[data-v-b29b5494] .login__sms:after{content:"";position:absolute;box-sizing:border-box;pointer-events:none;right:4.266667vw;bottom:0;left:4.266667vw;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.login-modal[data-v-b29b5494] .login__mobile-value,.login-modal[data-v-b29b5494] .login__sms-value{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:#323233;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto;flex:1;font-size:3.733333vw}.login-modal[data-v-b29b5494] .login__mobile-value::-webkit-input-placeholder,.login-modal[data-v-b29b5494] .login__sms-value::-webkit-input-placeholder{color:#c8c9cc}.login-modal[data-v-b29b5494] .login__sms-btn,.login-modal[data-v-b29b5494] .login__sms-countdown{color:#0089fe;font-size:3.466667vw}.login-modal[data-v-b29b5494] .login__btn{height:10.666667vw;line-height:10.666667vw;text-align:center;border-radius:5.333334vw;background-image:-webkit-linear-gradient(left,#ffdb69 0%,#ffa641 100%);background-image:linear-gradient(90deg,#ffdb69,#ffa641);font-size:4.266667vw;color:#7f4300;border:0;width:90%;margin:6.666667vw auto 2.666667vw}.login-page[data-v-88cefd34]{background:#f5f7fa;width:100vw;height:100vh;box-sizing:border-box;padding-top:9%}.login-page__logo[data-v-88cefd34]{display:block;margin:0 auto;width:36%}.login-page__tips[data-v-88cefd34]{text-align:center;line-height:12vw;font-size:4.266667vw;color:#006eff;margin:0 0 2.666667vw}.login-page[data-v-88cefd34] .login__mobile,.login-page[data-v-88cefd34] .login__sms{display:flex;margin:0 12% 4.666667vw;height:12vw;border:1px solid #dbdbdb;border-radius:6vw;align-items:center;position:relative;overflow:hidden}.login-page[data-v-88cefd34] .login__mobile:before,.login-page[data-v-88cefd34] .login__sms:before{content:"";width:9.066667vw;height:9.066667vw;position:absolute;top:1.466667vw;left:2vw}.login-page[data-v-88cefd34] .login__mobile:before{background:url(data:image/webp;base64,UklGRpgBAABXRUJQVlA4WAoAAAAQAAAAGwAAIwAAQUxQSHsAAAABcFpr29o8KlFZoqqaGUbqAPVdI5sUPWkmyTLM+f7Kqogw2rZNTEe7I6A2sX0Be1IDGpZvnU+5zpZvNWDpmwYChukvwXnoiOgPB/w1Qmv/79RuILSLUwD+fSh0/+VJYbUtyhv5/jiznI2WXt925kbztq1p2dtW/AlKvwQAVlA4IKAAAAAwBgCdASocACQAPrlQnUunJSKhurZoAOAXCWwAvvmuuA/in5KuYBdgG8igQb+A0cSBhAEB78frPcggAP6cX/90X//Brgg35IokBnwOJ8hJxXH8h/7fRadNiCcEyPRZyvn8AAl/55GUKgkYb/k8if+iBKz7vGS+hlLOO1n2t/erH3W+HgSXN8z0hI93XqV03jiXDuvObRTWiz9BsHMlyAAAUFNBSU4AAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQRDAAAAAAAOUGJlVwEQAAYAMgAAAAA=) no-repeat center center / auto 90%}.login-page[data-v-88cefd34] .login__sms:before{background:url(data:image/webp;base64,UklGRogCAABXRUJQVlA4WAoAAAAQAAAAGwAAIQAAQUxQSFEBAAABkKtt2yFJb41tZrbNNfM5g7Vt27btzLb3LGx7qwbPohRtHBETINeFD+8XyOeoBSaY86P8iJrwivY169t5OTbKS9nKj3CtXKq8AR9WlNrldm+dcvwJcKm7bHtfBh4fm9LaLbuDfx8vL5HL0hVP+LedX6fXDciR54JB6878gkfy/dH/QODOC+G+BR6GfL+MbbBefq2GnYanqFsHQiQtgMOB8lQEJwI1FU4Fy5uWwoERcCVErh7bGVsBbkfI5ZPO12aIjYwD8DBWLkOtV+fpYafAjaeT5bYn50Zw0MHzPoYlfrMy/cm0viVoOef8OckSKeYlw/0YwLNoSf2wunhr+kVf/TuPz9VeSt8yR7bGPj63uGv+wC7DToF7sYa5GWqyO1DOxlw4nWGXdY7OWYZc93/Bz801AYGNOy2e95PXuHU/wTTh5+pY+Zg+48HXrw9mpMklAFZQOCC6AAAA8AQAnQEqHAAiAD7RVKRMKCSjojVUCAEAGglsALsvNHgCnAPYA58j2IQYiDiOKwh4AP7paR/84l6BbA+xn/5BihpjWUOoH/3/6UrRltJf1Eme859cvnzVi5i/l+f/yV+Z/4/52EVP6bykZ4W4pBIzvjhSVD7BXiER6MEeJ9SnZTrK8+93XxykptRkQgM0Hqewuw+X43t6zhHvrWEgDxtlBBX9RBqH/8GUmRa//wZSZwPK9u+LegKlWAAAUFNBSU4AAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQRDAAAAAAAOUGJlVwEQAAYAMgAAAAA=) no-repeat center center / auto 90%}.login-page[data-v-88cefd34] .login__mobile-value,.login-page[data-v-88cefd34] .login__sms-value{width:100%;height:100%;background:transparent;border:0;box-sizing:border-box;padding:0 4vw 0 12vw;resize:none;-webkit-user-select:auto;user-select:auto;flex:1}.login-page[data-v-88cefd34] .login__sms-btn,.login-page[data-v-88cefd34] .login__sms-countdown{width:40%;height:100%;text-align:center;line-height:12vw;color:#006eff;font-size:4vw}.login-page[data-v-88cefd34] .login__btn{display:block;margin:5.333333vw 12%;background:linear-gradient(180deg,#0973ff,#3d90ff);height:11.733333vw;line-height:11.733333vw;border-radius:5.866667vw;text-align:center;color:#fff;font-size:4vw}.pay-modal__title{position:relative}.pay-modal__title p{font-size:4.8vw;color:#333;line-height:6.666667vw;text-align:center;padding:5.333333vw 0 2.666667vw;font-weight:700;margin:0}.pay-modal__title span{position:absolute;top:1vw;right:2vw;color:#c8c9cc;width:7vw;height:7vw;display:flex;justify-content:center;align-items:center;font-size:6vw;font-weight:100}.pay-modal__info{display:flex;justify-content:space-between;align-items:center;margin:0 5.333333vw}.pay-modal__info span:first-child{font-size:3.733333vw;color:#666}.pay-modal__info span:last-child{font-size:3.733333vw;color:#333}.pay-modal__field{margin:3.2vw 5.333333vw;align-items:center;justify-content:space-between;height:12.8vw;padding:0 1em;border-radius:6.4vw;border:1px solid #ccc;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center}.pay-modal__field-input{display:block;box-sizing:border-box;height:100%;border:0;flex:1;font-size:4.266667vw;color:#333}.input-solt__input::-webkit-input-placeholder{color:#c8c9cc}.pay-modal__field-send,.pay-modal__field-countdown{width:6em;text-align:center;color:#ff5a18}.pay-modal__btns{margin:0 5.333333vw}.pay-modal__btn--confirm{height:13.066667vw;line-height:13.066667vw;text-align:center;background:-webkit-linear-gradient(right,#f40 0%,#ff7200 100%);background:linear-gradient(270deg,#f40,#ff7200);border-radius:6.533333vw;font-weight:700;font-size:4.8vw;color:#fff;margin:5.333333vw 0}.pay-modal__btn--cancel{margin:6.666667vw auto;width:5em;font-size:4.266667vw;color:#666;line-height:5.866667vw;text-align:center}')),document.head.appendChild(n)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
import { Get as ne } from "lazy-koala";
|
|
3
|
-
import { onUnmounted as mt, onDeactivated as Se, isRef as Xt, watch as V, onMounted as me, nextTick as gt, onActivated as Qe, unref as be, ref as U, reactive as yt, getCurrentInstance as Re, defineComponent as re, computed as ge, createVNode as K, onBeforeUnmount as At, provide as xt, watchEffect as $t, inject as en, mergeProps as he, Transition as wt, Teleport as bt, withDirectives as pe, vShow as Bt, Fragment as Ct, createApp as tn, openBlock as W, createElementBlock as I, createElementVNode as F, vModelText as Ue, toDisplayString as de, createBlock as ie, withCtx as kt, createCommentVNode as St, h as Be, render as ce, renderList as nn } from "vue";
|
|
4
|
-
var _ = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
5
|
-
function ye(e) {
|
|
6
|
-
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
7
|
-
}
|
|
8
|
-
function rn(e) {
|
|
9
|
-
if (e.__esModule) return e;
|
|
10
|
-
var t = e.default;
|
|
11
|
-
if (typeof t == "function") {
|
|
12
|
-
var n = function r() {
|
|
13
|
-
return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
|
|
14
|
-
};
|
|
15
|
-
n.prototype = t.prototype;
|
|
16
|
-
} else n = {};
|
|
17
|
-
return Object.defineProperty(n, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
|
|
18
|
-
var i = Object.getOwnPropertyDescriptor(e, r);
|
|
19
|
-
Object.defineProperty(n, r, i.get ? i : {
|
|
20
|
-
enumerable: !0,
|
|
21
|
-
get: function() {
|
|
22
|
-
return e[r];
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}), n;
|
|
26
|
-
}
|
|
27
|
-
var Et = { exports: {} };
|
|
28
|
-
function on(e) {
|
|
29
|
-
throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
30
|
-
}
|
|
31
|
-
var Pe = { exports: {} };
|
|
32
|
-
const an = {}, sn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
33
|
-
__proto__: null,
|
|
34
|
-
default: an
|
|
35
|
-
}, Symbol.toStringTag, { value: "Module" })), cn = /* @__PURE__ */ rn(sn);
|
|
36
|
-
var Ye;
|
|
37
|
-
function G() {
|
|
38
|
-
return Ye || (Ye = 1, function(e, t) {
|
|
39
|
-
(function(n, r) {
|
|
40
|
-
e.exports = r();
|
|
41
|
-
})(_, function() {
|
|
42
|
-
var n = n || function(r, i) {
|
|
43
|
-
var s;
|
|
44
|
-
if (typeof window < "u" && window.crypto && (s = window.crypto), typeof self < "u" && self.crypto && (s = self.crypto), typeof globalThis < "u" && globalThis.crypto && (s = globalThis.crypto), !s && typeof window < "u" && window.msCrypto && (s = window.msCrypto), !s && typeof _ < "u" && _.crypto && (s = _.crypto), !s && typeof on == "function")
|
|
45
|
-
try {
|
|
46
|
-
s = cn;
|
|
47
|
-
} catch {
|
|
48
|
-
}
|
|
49
|
-
var h = function() {
|
|
50
|
-
if (s) {
|
|
51
|
-
if (typeof s.getRandomValues == "function")
|
|
52
|
-
try {
|
|
53
|
-
return s.getRandomValues(new Uint32Array(1))[0];
|
|
54
|
-
} catch {
|
|
55
|
-
}
|
|
56
|
-
if (typeof s.randomBytes == "function")
|
|
57
|
-
try {
|
|
58
|
-
return s.randomBytes(4).readInt32LE();
|
|
59
|
-
} catch {
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
throw new Error("Native crypto module could not be used to get secure random number.");
|
|
63
|
-
}, l = Object.create || /* @__PURE__ */ function() {
|
|
64
|
-
function u() {
|
|
65
|
-
}
|
|
66
|
-
return function(a) {
|
|
67
|
-
var v;
|
|
68
|
-
return u.prototype = a, v = new u(), u.prototype = null, v;
|
|
69
|
-
};
|
|
70
|
-
}(), k = {}, o = k.lib = {}, x = o.Base = /* @__PURE__ */ function() {
|
|
71
|
-
return {
|
|
72
|
-
/**
|
|
73
|
-
* Creates a new object that inherits from this object.
|
|
74
|
-
*
|
|
75
|
-
* @param {Object} overrides Properties to copy into the new object.
|
|
76
|
-
*
|
|
77
|
-
* @return {Object} The new object.
|
|
78
|
-
*
|
|
79
|
-
* @static
|
|
80
|
-
*
|
|
81
|
-
* @example
|
|
82
|
-
*
|
|
83
|
-
* var MyType = CryptoJS.lib.Base.extend({
|
|
84
|
-
* field: 'value',
|
|
85
|
-
*
|
|
86
|
-
* method: function () {
|
|
87
|
-
* }
|
|
88
|
-
* });
|
|
89
|
-
*/
|
|
90
|
-
extend: function(u) {
|
|
91
|
-
var a = l(this);
|
|
92
|
-
return u && a.mixIn(u), (!a.hasOwnProperty("init") || this.init === a.init) && (a.init = function() {
|
|
93
|
-
a.$super.init.apply(this, arguments);
|
|
94
|
-
}), a.init.prototype = a, a.$super = this, a;
|
|
95
|
-
},
|
|
96
|
-
/**
|
|
97
|
-
* Extends this object and runs the init method.
|
|
98
|
-
* Arguments to create() will be passed to init().
|
|
99
|
-
*
|
|
100
|
-
* @return {Object} The new object.
|
|
101
|
-
*
|
|
102
|
-
* @static
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
*
|
|
106
|
-
* var instance = MyType.create();
|
|
107
|
-
*/
|
|
108
|
-
create: function() {
|
|
109
|
-
var u = this.extend();
|
|
110
|
-
return u.init.apply(u, arguments), u;
|
|
111
|
-
},
|
|
112
|
-
/**
|
|
113
|
-
* Initializes a newly created object.
|
|
114
|
-
* Override this method to add some logic when your objects are created.
|
|
115
|
-
*
|
|
116
|
-
* @example
|
|
117
|
-
*
|
|
118
|
-
* var MyType = CryptoJS.lib.Base.extend({
|
|
119
|
-
* init: function () {
|
|
120
|
-
* // ...
|
|
121
|
-
* }
|
|
122
|
-
* });
|
|
123
|
-
*/
|
|
124
|
-
init: function() {
|
|
125
|
-
},
|
|
126
|
-
/**
|
|
127
|
-
* Copies properties into this object.
|
|
128
|
-
*
|
|
129
|
-
* @param {Object} properties The properties to mix in.
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
*
|
|
133
|
-
* MyType.mixIn({
|
|
134
|
-
* field: 'value'
|
|
135
|
-
* });
|
|
136
|
-
*/
|
|
137
|
-
mixIn: function(u) {
|
|
138
|
-
for (var a in u)
|
|
139
|
-
u.hasOwnProperty(a) && (this[a] = u[a]);
|
|
140
|
-
u.hasOwnProperty("toString") && (this.toString = u.toString);
|
|
141
|
-
},
|
|
142
|
-
/**
|
|
143
|
-
* Creates a copy of this object.
|
|
144
|
-
*
|
|
145
|
-
* @return {Object} The clone.
|
|
146
|
-
*
|
|
147
|
-
* @example
|
|
148
|
-
*
|
|
149
|
-
* var clone = instance.clone();
|
|
150
|
-
*/
|
|
151
|
-
clone: function() {
|
|
152
|
-
return this.init.prototype.extend(this);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
}(), d = o.WordArray = x.extend({
|
|
156
|
-
/**
|
|
157
|
-
* Initializes a newly created word array.
|
|
158
|
-
*
|
|
159
|
-
* @param {Array} words (Optional) An array of 32-bit words.
|
|
160
|
-
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
|
|
161
|
-
*
|
|
162
|
-
* @example
|
|
163
|
-
*
|
|
164
|
-
* var wordArray = CryptoJS.lib.WordArray.create();
|
|
165
|
-
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
|
|
166
|
-
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
|
|
167
|
-
*/
|
|
168
|
-
init: function(u, a) {
|
|
169
|
-
u = this.words = u || [], a != i ? this.sigBytes = a : this.sigBytes = u.length * 4;
|
|
170
|
-
},
|
|
171
|
-
/**
|
|
172
|
-
* Converts this word array to a string.
|
|
173
|
-
*
|
|
174
|
-
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
|
|
175
|
-
*
|
|
176
|
-
* @return {string} The stringified word array.
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
*
|
|
180
|
-
* var string = wordArray + '';
|
|
181
|
-
* var string = wordArray.toString();
|
|
182
|
-
* var string = wordArray.toString(CryptoJS.enc.Utf8);
|
|
183
|
-
*/
|
|
184
|
-
toString: function(u) {
|
|
185
|
-
return (u || p).stringify(this);
|
|
186
|
-
},
|
|
187
|
-
/**
|
|
188
|
-
* Concatenates a word array to this word array.
|
|
189
|
-
*
|
|
190
|
-
* @param {WordArray} wordArray The word array to append.
|
|
191
|
-
*
|
|
192
|
-
* @return {WordArray} This word array.
|
|
193
|
-
*
|
|
194
|
-
* @example
|
|
195
|
-
*
|
|
196
|
-
* wordArray1.concat(wordArray2);
|
|
197
|
-
*/
|
|
198
|
-
concat: function(u) {
|
|
199
|
-
var a = this.words, v = u.words, S = this.sigBytes, w = u.sigBytes;
|
|
200
|
-
if (this.clamp(), S % 4)
|
|
201
|
-
for (var D = 0; D < w; D++) {
|
|
202
|
-
var H = v[D >>> 2] >>> 24 - D % 4 * 8 & 255;
|
|
203
|
-
a[S + D >>> 2] |= H << 24 - (S + D) % 4 * 8;
|
|
204
|
-
}
|
|
205
|
-
else
|
|
206
|
-
for (var M = 0; M < w; M += 4)
|
|
207
|
-
a[S + M >>> 2] = v[M >>> 2];
|
|
208
|
-
return this.sigBytes += w, this;
|
|
209
|
-
},
|
|
210
|
-
/**
|
|
211
|
-
* Removes insignificant bits.
|
|
212
|
-
*
|
|
213
|
-
* @example
|
|
214
|
-
*
|
|
215
|
-
* wordArray.clamp();
|
|
216
|
-
*/
|
|
217
|
-
clamp: function() {
|
|
218
|
-
var u = this.words, a = this.sigBytes;
|
|
219
|
-
u[a >>> 2] &= 4294967295 << 32 - a % 4 * 8, u.length = r.ceil(a / 4);
|
|
220
|
-
},
|
|
221
|
-
/**
|
|
222
|
-
* Creates a copy of this word array.
|
|
223
|
-
*
|
|
224
|
-
* @return {WordArray} The clone.
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
*
|
|
228
|
-
* var clone = wordArray.clone();
|
|
229
|
-
*/
|
|
230
|
-
clone: function() {
|
|
231
|
-
var u = x.clone.call(this);
|
|
232
|
-
return u.words = this.words.slice(0), u;
|
|
233
|
-
},
|
|
234
|
-
/**
|
|
235
|
-
* Creates a word array filled with random bytes.
|
|
236
|
-
*
|
|
237
|
-
* @param {number} nBytes The number of random bytes to generate.
|
|
238
|
-
*
|
|
239
|
-
* @return {WordArray} The random word array.
|
|
240
|
-
*
|
|
241
|
-
* @static
|
|
242
|
-
*
|
|
243
|
-
* @example
|
|
244
|
-
*
|
|
245
|
-
* var wordArray = CryptoJS.lib.WordArray.random(16);
|
|
246
|
-
*/
|
|
247
|
-
random: function(u) {
|
|
248
|
-
for (var a = [], v = 0; v < u; v += 4)
|
|
249
|
-
a.push(h());
|
|
250
|
-
return new d.init(a, u);
|
|
251
|
-
}
|
|
252
|
-
}), f = k.enc = {}, p = f.Hex = {
|
|
253
|
-
/**
|
|
254
|
-
* Converts a word array to a hex string.
|
|
255
|
-
*
|
|
256
|
-
* @param {WordArray} wordArray The word array.
|
|
257
|
-
*
|
|
258
|
-
* @return {string} The hex string.
|
|
259
|
-
*
|
|
260
|
-
* @static
|
|
261
|
-
*
|
|
262
|
-
* @example
|
|
263
|
-
*
|
|
264
|
-
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
|
|
265
|
-
*/
|
|
266
|
-
stringify: function(u) {
|
|
267
|
-
for (var a = u.words, v = u.sigBytes, S = [], w = 0; w < v; w++) {
|
|
268
|
-
var D = a[w >>> 2] >>> 24 - w % 4 * 8 & 255;
|
|
269
|
-
S.push((D >>> 4).toString(16)), S.push((D & 15).toString(16));
|
|
270
|
-
}
|
|
271
|
-
return S.join("");
|
|
272
|
-
},
|
|
273
|
-
/**
|
|
274
|
-
* Converts a hex string to a word array.
|
|
275
|
-
*
|
|
276
|
-
* @param {string} hexStr The hex string.
|
|
277
|
-
*
|
|
278
|
-
* @return {WordArray} The word array.
|
|
279
|
-
*
|
|
280
|
-
* @static
|
|
281
|
-
*
|
|
282
|
-
* @example
|
|
283
|
-
*
|
|
284
|
-
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
|
|
285
|
-
*/
|
|
286
|
-
parse: function(u) {
|
|
287
|
-
for (var a = u.length, v = [], S = 0; S < a; S += 2)
|
|
288
|
-
v[S >>> 3] |= parseInt(u.substr(S, 2), 16) << 24 - S % 8 * 4;
|
|
289
|
-
return new d.init(v, a / 2);
|
|
290
|
-
}
|
|
291
|
-
}, P = f.Latin1 = {
|
|
292
|
-
/**
|
|
293
|
-
* Converts a word array to a Latin1 string.
|
|
294
|
-
*
|
|
295
|
-
* @param {WordArray} wordArray The word array.
|
|
296
|
-
*
|
|
297
|
-
* @return {string} The Latin1 string.
|
|
298
|
-
*
|
|
299
|
-
* @static
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
*
|
|
303
|
-
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
|
|
304
|
-
*/
|
|
305
|
-
stringify: function(u) {
|
|
306
|
-
for (var a = u.words, v = u.sigBytes, S = [], w = 0; w < v; w++) {
|
|
307
|
-
var D = a[w >>> 2] >>> 24 - w % 4 * 8 & 255;
|
|
308
|
-
S.push(String.fromCharCode(D));
|
|
309
|
-
}
|
|
310
|
-
return S.join("");
|
|
311
|
-
},
|
|
312
|
-
/**
|
|
313
|
-
* Converts a Latin1 string to a word array.
|
|
314
|
-
*
|
|
315
|
-
* @param {string} latin1Str The Latin1 string.
|
|
316
|
-
*
|
|
317
|
-
* @return {WordArray} The word array.
|
|
318
|
-
*
|
|
319
|
-
* @static
|
|
320
|
-
*
|
|
321
|
-
* @example
|
|
322
|
-
*
|
|
323
|
-
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
|
|
324
|
-
*/
|
|
325
|
-
parse: function(u) {
|
|
326
|
-
for (var a = u.length, v = [], S = 0; S < a; S++)
|
|
327
|
-
v[S >>> 2] |= (u.charCodeAt(S) & 255) << 24 - S % 4 * 8;
|
|
328
|
-
return new d.init(v, a);
|
|
329
|
-
}
|
|
330
|
-
}, y = f.Utf8 = {
|
|
331
|
-
/**
|
|
332
|
-
* Converts a word array to a UTF-8 string.
|
|
333
|
-
*
|
|
334
|
-
* @param {WordArray} wordArray The word array.
|
|
335
|
-
*
|
|
336
|
-
* @return {string} The UTF-8 string.
|
|
337
|
-
*
|
|
338
|
-
* @static
|
|
339
|
-
*
|
|
340
|
-
* @example
|
|
341
|
-
*
|
|
342
|
-
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
343
|
-
*/
|
|
344
|
-
stringify: function(u) {
|
|
345
|
-
try {
|
|
346
|
-
return decodeURIComponent(escape(P.stringify(u)));
|
|
347
|
-
} catch {
|
|
348
|
-
throw new Error("Malformed UTF-8 data");
|
|
349
|
-
}
|
|
350
|
-
},
|
|
351
|
-
/**
|
|
352
|
-
* Converts a UTF-8 string to a word array.
|
|
353
|
-
*
|
|
354
|
-
* @param {string} utf8Str The UTF-8 string.
|
|
355
|
-
*
|
|
356
|
-
* @return {WordArray} The word array.
|
|
357
|
-
*
|
|
358
|
-
* @static
|
|
359
|
-
*
|
|
360
|
-
* @example
|
|
361
|
-
*
|
|
362
|
-
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
363
|
-
*/
|
|
364
|
-
parse: function(u) {
|
|
365
|
-
return P.parse(unescape(encodeURIComponent(u)));
|
|
366
|
-
}
|
|
367
|
-
}, E = o.BufferedBlockAlgorithm = x.extend({
|
|
368
|
-
/**
|
|
369
|
-
* Resets this block algorithm's data buffer to its initial state.
|
|
370
|
-
*
|
|
371
|
-
* @example
|
|
372
|
-
*
|
|
373
|
-
* bufferedBlockAlgorithm.reset();
|
|
374
|
-
*/
|
|
375
|
-
reset: function() {
|
|
376
|
-
this._data = new d.init(), this._nDataBytes = 0;
|
|
377
|
-
},
|
|
378
|
-
/**
|
|
379
|
-
* Adds new data to this block algorithm's buffer.
|
|
380
|
-
*
|
|
381
|
-
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
|
|
382
|
-
*
|
|
383
|
-
* @example
|
|
384
|
-
*
|
|
385
|
-
* bufferedBlockAlgorithm._append('data');
|
|
386
|
-
* bufferedBlockAlgorithm._append(wordArray);
|
|
387
|
-
*/
|
|
388
|
-
_append: function(u) {
|
|
389
|
-
typeof u == "string" && (u = y.parse(u)), this._data.concat(u), this._nDataBytes += u.sigBytes;
|
|
390
|
-
},
|
|
391
|
-
/**
|
|
392
|
-
* Processes available data blocks.
|
|
393
|
-
*
|
|
394
|
-
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
|
|
395
|
-
*
|
|
396
|
-
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
|
|
397
|
-
*
|
|
398
|
-
* @return {WordArray} The processed data.
|
|
399
|
-
*
|
|
400
|
-
* @example
|
|
401
|
-
*
|
|
402
|
-
* var processedData = bufferedBlockAlgorithm._process();
|
|
403
|
-
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
|
|
404
|
-
*/
|
|
405
|
-
_process: function(u) {
|
|
406
|
-
var a, v = this._data, S = v.words, w = v.sigBytes, D = this.blockSize, H = D * 4, M = w / H;
|
|
407
|
-
u ? M = r.ceil(M) : M = r.max((M | 0) - this._minBufferSize, 0);
|
|
408
|
-
var c = M * D, m = r.min(c * 4, w);
|
|
409
|
-
if (c) {
|
|
410
|
-
for (var O = 0; O < c; O += D)
|
|
411
|
-
this._doProcessBlock(S, O);
|
|
412
|
-
a = S.splice(0, c), v.sigBytes -= m;
|
|
413
|
-
}
|
|
414
|
-
return new d.init(a, m);
|
|
415
|
-
},
|
|
416
|
-
/**
|
|
417
|
-
* Creates a copy of this object.
|
|
418
|
-
*
|
|
419
|
-
* @return {Object} The clone.
|
|
420
|
-
*
|
|
421
|
-
* @example
|
|
422
|
-
*
|
|
423
|
-
* var clone = bufferedBlockAlgorithm.clone();
|
|
424
|
-
*/
|
|
425
|
-
clone: function() {
|
|
426
|
-
var u = x.clone.call(this);
|
|
427
|
-
return u._data = this._data.clone(), u;
|
|
428
|
-
},
|
|
429
|
-
_minBufferSize: 0
|
|
430
|
-
});
|
|
431
|
-
o.Hasher = E.extend({
|
|
432
|
-
/**
|
|
433
|
-
* Configuration options.
|
|
434
|
-
*/
|
|
435
|
-
cfg: x.extend(),
|
|
436
|
-
/**
|
|
437
|
-
* Initializes a newly created hasher.
|
|
438
|
-
*
|
|
439
|
-
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
|
|
440
|
-
*
|
|
441
|
-
* @example
|
|
442
|
-
*
|
|
443
|
-
* var hasher = CryptoJS.algo.SHA256.create();
|
|
444
|
-
*/
|
|
445
|
-
init: function(u) {
|
|
446
|
-
this.cfg = this.cfg.extend(u), this.reset();
|
|
447
|
-
},
|
|
448
|
-
/**
|
|
449
|
-
* Resets this hasher to its initial state.
|
|
450
|
-
*
|
|
451
|
-
* @example
|
|
452
|
-
*
|
|
453
|
-
* hasher.reset();
|
|
454
|
-
*/
|
|
455
|
-
reset: function() {
|
|
456
|
-
E.reset.call(this), this._doReset();
|
|
457
|
-
},
|
|
458
|
-
/**
|
|
459
|
-
* Updates this hasher with a message.
|
|
460
|
-
*
|
|
461
|
-
* @param {WordArray|string} messageUpdate The message to append.
|
|
462
|
-
*
|
|
463
|
-
* @return {Hasher} This hasher.
|
|
464
|
-
*
|
|
465
|
-
* @example
|
|
466
|
-
*
|
|
467
|
-
* hasher.update('message');
|
|
468
|
-
* hasher.update(wordArray);
|
|
469
|
-
*/
|
|
470
|
-
update: function(u) {
|
|
471
|
-
return this._append(u), this._process(), this;
|
|
472
|
-
},
|
|
473
|
-
/**
|
|
474
|
-
* Finalizes the hash computation.
|
|
475
|
-
* Note that the finalize operation is effectively a destructive, read-once operation.
|
|
476
|
-
*
|
|
477
|
-
* @param {WordArray|string} messageUpdate (Optional) A final message update.
|
|
478
|
-
*
|
|
479
|
-
* @return {WordArray} The hash.
|
|
480
|
-
*
|
|
481
|
-
* @example
|
|
482
|
-
*
|
|
483
|
-
* var hash = hasher.finalize();
|
|
484
|
-
* var hash = hasher.finalize('message');
|
|
485
|
-
* var hash = hasher.finalize(wordArray);
|
|
486
|
-
*/
|
|
487
|
-
finalize: function(u) {
|
|
488
|
-
u && this._append(u);
|
|
489
|
-
var a = this._doFinalize();
|
|
490
|
-
return a;
|
|
491
|
-
},
|
|
492
|
-
blockSize: 16,
|
|
493
|
-
/**
|
|
494
|
-
* Creates a shortcut function to a hasher's object interface.
|
|
495
|
-
*
|
|
496
|
-
* @param {Hasher} hasher The hasher to create a helper for.
|
|
497
|
-
*
|
|
498
|
-
* @return {Function} The shortcut function.
|
|
499
|
-
*
|
|
500
|
-
* @static
|
|
501
|
-
*
|
|
502
|
-
* @example
|
|
503
|
-
*
|
|
504
|
-
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
|
|
505
|
-
*/
|
|
506
|
-
_createHelper: function(u) {
|
|
507
|
-
return function(a, v) {
|
|
508
|
-
return new u.init(v).finalize(a);
|
|
509
|
-
};
|
|
510
|
-
},
|
|
511
|
-
/**
|
|
512
|
-
* Creates a shortcut function to the HMAC's object interface.
|
|
513
|
-
*
|
|
514
|
-
* @param {Hasher} hasher The hasher to use in this HMAC helper.
|
|
515
|
-
*
|
|
516
|
-
* @return {Function} The shortcut function.
|
|
517
|
-
*
|
|
518
|
-
* @static
|
|
519
|
-
*
|
|
520
|
-
* @example
|
|
521
|
-
*
|
|
522
|
-
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
|
|
523
|
-
*/
|
|
524
|
-
_createHmacHelper: function(u) {
|
|
525
|
-
return function(a, v) {
|
|
526
|
-
return new z.HMAC.init(u, v).finalize(a);
|
|
527
|
-
};
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
var z = k.algo = {};
|
|
531
|
-
return k;
|
|
532
|
-
}(Math);
|
|
533
|
-
return n;
|
|
534
|
-
});
|
|
535
|
-
}(Pe)), Pe.exports;
|
|
536
|
-
}
|
|
537
|
-
var Oe = { exports: {} }, qe;
|
|
538
|
-
function un() {
|
|
539
|
-
return qe || (qe = 1, function(e, t) {
|
|
540
|
-
(function(n, r) {
|
|
541
|
-
e.exports = r(G());
|
|
542
|
-
})(_, function(n) {
|
|
543
|
-
return function() {
|
|
544
|
-
var r = n, i = r.lib, s = i.WordArray, h = r.enc;
|
|
545
|
-
h.Base64 = {
|
|
546
|
-
/**
|
|
547
|
-
* Converts a word array to a Base64 string.
|
|
548
|
-
*
|
|
549
|
-
* @param {WordArray} wordArray The word array.
|
|
550
|
-
*
|
|
551
|
-
* @return {string} The Base64 string.
|
|
552
|
-
*
|
|
553
|
-
* @static
|
|
554
|
-
*
|
|
555
|
-
* @example
|
|
556
|
-
*
|
|
557
|
-
* var base64String = CryptoJS.enc.Base64.stringify(wordArray);
|
|
558
|
-
*/
|
|
559
|
-
stringify: function(k) {
|
|
560
|
-
var o = k.words, x = k.sigBytes, d = this._map;
|
|
561
|
-
k.clamp();
|
|
562
|
-
for (var f = [], p = 0; p < x; p += 3)
|
|
563
|
-
for (var P = o[p >>> 2] >>> 24 - p % 4 * 8 & 255, y = o[p + 1 >>> 2] >>> 24 - (p + 1) % 4 * 8 & 255, E = o[p + 2 >>> 2] >>> 24 - (p + 2) % 4 * 8 & 255, z = P << 16 | y << 8 | E, u = 0; u < 4 && p + u * 0.75 < x; u++)
|
|
564
|
-
f.push(d.charAt(z >>> 6 * (3 - u) & 63));
|
|
565
|
-
var a = d.charAt(64);
|
|
566
|
-
if (a)
|
|
567
|
-
for (; f.length % 4; )
|
|
568
|
-
f.push(a);
|
|
569
|
-
return f.join("");
|
|
570
|
-
},
|
|
571
|
-
/**
|
|
572
|
-
* Converts a Base64 string to a word array.
|
|
573
|
-
*
|
|
574
|
-
* @param {string} base64Str The Base64 string.
|
|
575
|
-
*
|
|
576
|
-
* @return {WordArray} The word array.
|
|
577
|
-
*
|
|
578
|
-
* @static
|
|
579
|
-
*
|
|
580
|
-
* @example
|
|
581
|
-
*
|
|
582
|
-
* var wordArray = CryptoJS.enc.Base64.parse(base64String);
|
|
583
|
-
*/
|
|
584
|
-
parse: function(k) {
|
|
585
|
-
var o = k.length, x = this._map, d = this._reverseMap;
|
|
586
|
-
if (!d) {
|
|
587
|
-
d = this._reverseMap = [];
|
|
588
|
-
for (var f = 0; f < x.length; f++)
|
|
589
|
-
d[x.charCodeAt(f)] = f;
|
|
590
|
-
}
|
|
591
|
-
var p = x.charAt(64);
|
|
592
|
-
if (p) {
|
|
593
|
-
var P = k.indexOf(p);
|
|
594
|
-
P !== -1 && (o = P);
|
|
595
|
-
}
|
|
596
|
-
return l(k, o, d);
|
|
597
|
-
},
|
|
598
|
-
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
|
599
|
-
};
|
|
600
|
-
function l(k, o, x) {
|
|
601
|
-
for (var d = [], f = 0, p = 0; p < o; p++)
|
|
602
|
-
if (p % 4) {
|
|
603
|
-
var P = x[k.charCodeAt(p - 1)] << p % 4 * 2, y = x[k.charCodeAt(p)] >>> 6 - p % 4 * 2, E = P | y;
|
|
604
|
-
d[f >>> 2] |= E << 24 - f % 4 * 8, f++;
|
|
605
|
-
}
|
|
606
|
-
return s.create(d, f);
|
|
607
|
-
}
|
|
608
|
-
}(), n.enc.Base64;
|
|
609
|
-
});
|
|
610
|
-
}(Oe)), Oe.exports;
|
|
611
|
-
}
|
|
612
|
-
var De = { exports: {} }, Xe;
|
|
613
|
-
function ln() {
|
|
614
|
-
return Xe || (Xe = 1, function(e, t) {
|
|
615
|
-
(function(n, r) {
|
|
616
|
-
e.exports = r(G());
|
|
617
|
-
})(_, function(n) {
|
|
618
|
-
return function(r) {
|
|
619
|
-
var i = n, s = i.lib, h = s.WordArray, l = s.Hasher, k = i.algo, o = [];
|
|
620
|
-
(function() {
|
|
621
|
-
for (var y = 0; y < 64; y++)
|
|
622
|
-
o[y] = r.abs(r.sin(y + 1)) * 4294967296 | 0;
|
|
623
|
-
})();
|
|
624
|
-
var x = k.MD5 = l.extend({
|
|
625
|
-
_doReset: function() {
|
|
626
|
-
this._hash = new h.init([
|
|
627
|
-
1732584193,
|
|
628
|
-
4023233417,
|
|
629
|
-
2562383102,
|
|
630
|
-
271733878
|
|
631
|
-
]);
|
|
632
|
-
},
|
|
633
|
-
_doProcessBlock: function(y, E) {
|
|
634
|
-
for (var z = 0; z < 16; z++) {
|
|
635
|
-
var u = E + z, a = y[u];
|
|
636
|
-
y[u] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360;
|
|
637
|
-
}
|
|
638
|
-
var v = this._hash.words, S = y[E + 0], w = y[E + 1], D = y[E + 2], H = y[E + 3], M = y[E + 4], c = y[E + 5], m = y[E + 6], O = y[E + 7], A = y[E + 8], T = y[E + 9], L = y[E + 10], j = y[E + 11], J = y[E + 12], Y = y[E + 13], q = y[E + 14], X = y[E + 15], g = v[0], b = v[1], B = v[2], C = v[3];
|
|
639
|
-
g = d(g, b, B, C, S, 7, o[0]), C = d(C, g, b, B, w, 12, o[1]), B = d(B, C, g, b, D, 17, o[2]), b = d(b, B, C, g, H, 22, o[3]), g = d(g, b, B, C, M, 7, o[4]), C = d(C, g, b, B, c, 12, o[5]), B = d(B, C, g, b, m, 17, o[6]), b = d(b, B, C, g, O, 22, o[7]), g = d(g, b, B, C, A, 7, o[8]), C = d(C, g, b, B, T, 12, o[9]), B = d(B, C, g, b, L, 17, o[10]), b = d(b, B, C, g, j, 22, o[11]), g = d(g, b, B, C, J, 7, o[12]), C = d(C, g, b, B, Y, 12, o[13]), B = d(B, C, g, b, q, 17, o[14]), b = d(b, B, C, g, X, 22, o[15]), g = f(g, b, B, C, w, 5, o[16]), C = f(C, g, b, B, m, 9, o[17]), B = f(B, C, g, b, j, 14, o[18]), b = f(b, B, C, g, S, 20, o[19]), g = f(g, b, B, C, c, 5, o[20]), C = f(C, g, b, B, L, 9, o[21]), B = f(B, C, g, b, X, 14, o[22]), b = f(b, B, C, g, M, 20, o[23]), g = f(g, b, B, C, T, 5, o[24]), C = f(C, g, b, B, q, 9, o[25]), B = f(B, C, g, b, H, 14, o[26]), b = f(b, B, C, g, A, 20, o[27]), g = f(g, b, B, C, Y, 5, o[28]), C = f(C, g, b, B, D, 9, o[29]), B = f(B, C, g, b, O, 14, o[30]), b = f(b, B, C, g, J, 20, o[31]), g = p(g, b, B, C, c, 4, o[32]), C = p(C, g, b, B, A, 11, o[33]), B = p(B, C, g, b, j, 16, o[34]), b = p(b, B, C, g, q, 23, o[35]), g = p(g, b, B, C, w, 4, o[36]), C = p(C, g, b, B, M, 11, o[37]), B = p(B, C, g, b, O, 16, o[38]), b = p(b, B, C, g, L, 23, o[39]), g = p(g, b, B, C, Y, 4, o[40]), C = p(C, g, b, B, S, 11, o[41]), B = p(B, C, g, b, H, 16, o[42]), b = p(b, B, C, g, m, 23, o[43]), g = p(g, b, B, C, T, 4, o[44]), C = p(C, g, b, B, J, 11, o[45]), B = p(B, C, g, b, X, 16, o[46]), b = p(b, B, C, g, D, 23, o[47]), g = P(g, b, B, C, S, 6, o[48]), C = P(C, g, b, B, O, 10, o[49]), B = P(B, C, g, b, q, 15, o[50]), b = P(b, B, C, g, c, 21, o[51]), g = P(g, b, B, C, J, 6, o[52]), C = P(C, g, b, B, H, 10, o[53]), B = P(B, C, g, b, L, 15, o[54]), b = P(b, B, C, g, w, 21, o[55]), g = P(g, b, B, C, A, 6, o[56]), C = P(C, g, b, B, X, 10, o[57]), B = P(B, C, g, b, m, 15, o[58]), b = P(b, B, C, g, Y, 21, o[59]), g = P(g, b, B, C, M, 6, o[60]), C = P(C, g, b, B, j, 10, o[61]), B = P(B, C, g, b, D, 15, o[62]), b = P(b, B, C, g, T, 21, o[63]), v[0] = v[0] + g | 0, v[1] = v[1] + b | 0, v[2] = v[2] + B | 0, v[3] = v[3] + C | 0;
|
|
640
|
-
},
|
|
641
|
-
_doFinalize: function() {
|
|
642
|
-
var y = this._data, E = y.words, z = this._nDataBytes * 8, u = y.sigBytes * 8;
|
|
643
|
-
E[u >>> 5] |= 128 << 24 - u % 32;
|
|
644
|
-
var a = r.floor(z / 4294967296), v = z;
|
|
645
|
-
E[(u + 64 >>> 9 << 4) + 15] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360, E[(u + 64 >>> 9 << 4) + 14] = (v << 8 | v >>> 24) & 16711935 | (v << 24 | v >>> 8) & 4278255360, y.sigBytes = (E.length + 1) * 4, this._process();
|
|
646
|
-
for (var S = this._hash, w = S.words, D = 0; D < 4; D++) {
|
|
647
|
-
var H = w[D];
|
|
648
|
-
w[D] = (H << 8 | H >>> 24) & 16711935 | (H << 24 | H >>> 8) & 4278255360;
|
|
649
|
-
}
|
|
650
|
-
return S;
|
|
651
|
-
},
|
|
652
|
-
clone: function() {
|
|
653
|
-
var y = l.clone.call(this);
|
|
654
|
-
return y._hash = this._hash.clone(), y;
|
|
655
|
-
}
|
|
656
|
-
});
|
|
657
|
-
function d(y, E, z, u, a, v, S) {
|
|
658
|
-
var w = y + (E & z | ~E & u) + a + S;
|
|
659
|
-
return (w << v | w >>> 32 - v) + E;
|
|
660
|
-
}
|
|
661
|
-
function f(y, E, z, u, a, v, S) {
|
|
662
|
-
var w = y + (E & u | z & ~u) + a + S;
|
|
663
|
-
return (w << v | w >>> 32 - v) + E;
|
|
664
|
-
}
|
|
665
|
-
function p(y, E, z, u, a, v, S) {
|
|
666
|
-
var w = y + (E ^ z ^ u) + a + S;
|
|
667
|
-
return (w << v | w >>> 32 - v) + E;
|
|
668
|
-
}
|
|
669
|
-
function P(y, E, z, u, a, v, S) {
|
|
670
|
-
var w = y + (z ^ (E | ~u)) + a + S;
|
|
671
|
-
return (w << v | w >>> 32 - v) + E;
|
|
672
|
-
}
|
|
673
|
-
i.MD5 = l._createHelper(x), i.HmacMD5 = l._createHmacHelper(x);
|
|
674
|
-
}(Math), n.MD5;
|
|
675
|
-
});
|
|
676
|
-
}(De)), De.exports;
|
|
677
|
-
}
|
|
678
|
-
var Te = { exports: {} }, Le = { exports: {} }, $e;
|
|
679
|
-
function fn() {
|
|
680
|
-
return $e || ($e = 1, function(e, t) {
|
|
681
|
-
(function(n, r) {
|
|
682
|
-
e.exports = r(G());
|
|
683
|
-
})(_, function(n) {
|
|
684
|
-
return function() {
|
|
685
|
-
var r = n, i = r.lib, s = i.WordArray, h = i.Hasher, l = r.algo, k = [], o = l.SHA1 = h.extend({
|
|
686
|
-
_doReset: function() {
|
|
687
|
-
this._hash = new s.init([
|
|
688
|
-
1732584193,
|
|
689
|
-
4023233417,
|
|
690
|
-
2562383102,
|
|
691
|
-
271733878,
|
|
692
|
-
3285377520
|
|
693
|
-
]);
|
|
694
|
-
},
|
|
695
|
-
_doProcessBlock: function(x, d) {
|
|
696
|
-
for (var f = this._hash.words, p = f[0], P = f[1], y = f[2], E = f[3], z = f[4], u = 0; u < 80; u++) {
|
|
697
|
-
if (u < 16)
|
|
698
|
-
k[u] = x[d + u] | 0;
|
|
699
|
-
else {
|
|
700
|
-
var a = k[u - 3] ^ k[u - 8] ^ k[u - 14] ^ k[u - 16];
|
|
701
|
-
k[u] = a << 1 | a >>> 31;
|
|
702
|
-
}
|
|
703
|
-
var v = (p << 5 | p >>> 27) + z + k[u];
|
|
704
|
-
u < 20 ? v += (P & y | ~P & E) + 1518500249 : u < 40 ? v += (P ^ y ^ E) + 1859775393 : u < 60 ? v += (P & y | P & E | y & E) - 1894007588 : v += (P ^ y ^ E) - 899497514, z = E, E = y, y = P << 30 | P >>> 2, P = p, p = v;
|
|
705
|
-
}
|
|
706
|
-
f[0] = f[0] + p | 0, f[1] = f[1] + P | 0, f[2] = f[2] + y | 0, f[3] = f[3] + E | 0, f[4] = f[4] + z | 0;
|
|
707
|
-
},
|
|
708
|
-
_doFinalize: function() {
|
|
709
|
-
var x = this._data, d = x.words, f = this._nDataBytes * 8, p = x.sigBytes * 8;
|
|
710
|
-
return d[p >>> 5] |= 128 << 24 - p % 32, d[(p + 64 >>> 9 << 4) + 14] = Math.floor(f / 4294967296), d[(p + 64 >>> 9 << 4) + 15] = f, x.sigBytes = d.length * 4, this._process(), this._hash;
|
|
711
|
-
},
|
|
712
|
-
clone: function() {
|
|
713
|
-
var x = h.clone.call(this);
|
|
714
|
-
return x._hash = this._hash.clone(), x;
|
|
715
|
-
}
|
|
716
|
-
});
|
|
717
|
-
r.SHA1 = h._createHelper(o), r.HmacSHA1 = h._createHmacHelper(o);
|
|
718
|
-
}(), n.SHA1;
|
|
719
|
-
});
|
|
720
|
-
}(Le)), Le.exports;
|
|
721
|
-
}
|
|
722
|
-
var ze = { exports: {} }, et;
|
|
723
|
-
function dn() {
|
|
724
|
-
return et || (et = 1, function(e, t) {
|
|
725
|
-
(function(n, r) {
|
|
726
|
-
e.exports = r(G());
|
|
727
|
-
})(_, function(n) {
|
|
728
|
-
(function() {
|
|
729
|
-
var r = n, i = r.lib, s = i.Base, h = r.enc, l = h.Utf8, k = r.algo;
|
|
730
|
-
k.HMAC = s.extend({
|
|
731
|
-
/**
|
|
732
|
-
* Initializes a newly created HMAC.
|
|
733
|
-
*
|
|
734
|
-
* @param {Hasher} hasher The hash algorithm to use.
|
|
735
|
-
* @param {WordArray|string} key The secret key.
|
|
736
|
-
*
|
|
737
|
-
* @example
|
|
738
|
-
*
|
|
739
|
-
* var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
|
|
740
|
-
*/
|
|
741
|
-
init: function(o, x) {
|
|
742
|
-
o = this._hasher = new o.init(), typeof x == "string" && (x = l.parse(x));
|
|
743
|
-
var d = o.blockSize, f = d * 4;
|
|
744
|
-
x.sigBytes > f && (x = o.finalize(x)), x.clamp();
|
|
745
|
-
for (var p = this._oKey = x.clone(), P = this._iKey = x.clone(), y = p.words, E = P.words, z = 0; z < d; z++)
|
|
746
|
-
y[z] ^= 1549556828, E[z] ^= 909522486;
|
|
747
|
-
p.sigBytes = P.sigBytes = f, this.reset();
|
|
748
|
-
},
|
|
749
|
-
/**
|
|
750
|
-
* Resets this HMAC to its initial state.
|
|
751
|
-
*
|
|
752
|
-
* @example
|
|
753
|
-
*
|
|
754
|
-
* hmacHasher.reset();
|
|
755
|
-
*/
|
|
756
|
-
reset: function() {
|
|
757
|
-
var o = this._hasher;
|
|
758
|
-
o.reset(), o.update(this._iKey);
|
|
759
|
-
},
|
|
760
|
-
/**
|
|
761
|
-
* Updates this HMAC with a message.
|
|
762
|
-
*
|
|
763
|
-
* @param {WordArray|string} messageUpdate The message to append.
|
|
764
|
-
*
|
|
765
|
-
* @return {HMAC} This HMAC instance.
|
|
766
|
-
*
|
|
767
|
-
* @example
|
|
768
|
-
*
|
|
769
|
-
* hmacHasher.update('message');
|
|
770
|
-
* hmacHasher.update(wordArray);
|
|
771
|
-
*/
|
|
772
|
-
update: function(o) {
|
|
773
|
-
return this._hasher.update(o), this;
|
|
774
|
-
},
|
|
775
|
-
/**
|
|
776
|
-
* Finalizes the HMAC computation.
|
|
777
|
-
* Note that the finalize operation is effectively a destructive, read-once operation.
|
|
778
|
-
*
|
|
779
|
-
* @param {WordArray|string} messageUpdate (Optional) A final message update.
|
|
780
|
-
*
|
|
781
|
-
* @return {WordArray} The HMAC.
|
|
782
|
-
*
|
|
783
|
-
* @example
|
|
784
|
-
*
|
|
785
|
-
* var hmac = hmacHasher.finalize();
|
|
786
|
-
* var hmac = hmacHasher.finalize('message');
|
|
787
|
-
* var hmac = hmacHasher.finalize(wordArray);
|
|
788
|
-
*/
|
|
789
|
-
finalize: function(o) {
|
|
790
|
-
var x = this._hasher, d = x.finalize(o);
|
|
791
|
-
x.reset();
|
|
792
|
-
var f = x.finalize(this._oKey.clone().concat(d));
|
|
793
|
-
return f;
|
|
794
|
-
}
|
|
795
|
-
});
|
|
796
|
-
})();
|
|
797
|
-
});
|
|
798
|
-
}(ze)), ze.exports;
|
|
799
|
-
}
|
|
800
|
-
var tt;
|
|
801
|
-
function Pt() {
|
|
802
|
-
return tt || (tt = 1, function(e, t) {
|
|
803
|
-
(function(n, r, i) {
|
|
804
|
-
e.exports = r(G(), fn(), dn());
|
|
805
|
-
})(_, function(n) {
|
|
806
|
-
return function() {
|
|
807
|
-
var r = n, i = r.lib, s = i.Base, h = i.WordArray, l = r.algo, k = l.MD5, o = l.EvpKDF = s.extend({
|
|
808
|
-
/**
|
|
809
|
-
* Configuration options.
|
|
810
|
-
*
|
|
811
|
-
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
|
|
812
|
-
* @property {Hasher} hasher The hash algorithm to use. Default: MD5
|
|
813
|
-
* @property {number} iterations The number of iterations to perform. Default: 1
|
|
814
|
-
*/
|
|
815
|
-
cfg: s.extend({
|
|
816
|
-
keySize: 128 / 32,
|
|
817
|
-
hasher: k,
|
|
818
|
-
iterations: 1
|
|
819
|
-
}),
|
|
820
|
-
/**
|
|
821
|
-
* Initializes a newly created key derivation function.
|
|
822
|
-
*
|
|
823
|
-
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
|
|
824
|
-
*
|
|
825
|
-
* @example
|
|
826
|
-
*
|
|
827
|
-
* var kdf = CryptoJS.algo.EvpKDF.create();
|
|
828
|
-
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });
|
|
829
|
-
* var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });
|
|
830
|
-
*/
|
|
831
|
-
init: function(x) {
|
|
832
|
-
this.cfg = this.cfg.extend(x);
|
|
833
|
-
},
|
|
834
|
-
/**
|
|
835
|
-
* Derives a key from a password.
|
|
836
|
-
*
|
|
837
|
-
* @param {WordArray|string} password The password.
|
|
838
|
-
* @param {WordArray|string} salt A salt.
|
|
839
|
-
*
|
|
840
|
-
* @return {WordArray} The derived key.
|
|
841
|
-
*
|
|
842
|
-
* @example
|
|
843
|
-
*
|
|
844
|
-
* var key = kdf.compute(password, salt);
|
|
845
|
-
*/
|
|
846
|
-
compute: function(x, d) {
|
|
847
|
-
for (var f, p = this.cfg, P = p.hasher.create(), y = h.create(), E = y.words, z = p.keySize, u = p.iterations; E.length < z; ) {
|
|
848
|
-
f && P.update(f), f = P.update(x).finalize(d), P.reset();
|
|
849
|
-
for (var a = 1; a < u; a++)
|
|
850
|
-
f = P.finalize(f), P.reset();
|
|
851
|
-
y.concat(f);
|
|
852
|
-
}
|
|
853
|
-
return y.sigBytes = z * 4, y;
|
|
854
|
-
}
|
|
855
|
-
});
|
|
856
|
-
r.EvpKDF = function(x, d, f) {
|
|
857
|
-
return o.create(f).compute(x, d);
|
|
858
|
-
};
|
|
859
|
-
}(), n.EvpKDF;
|
|
860
|
-
});
|
|
861
|
-
}(Te)), Te.exports;
|
|
862
|
-
}
|
|
863
|
-
var Me = { exports: {} }, nt;
|
|
864
|
-
function Ze() {
|
|
865
|
-
return nt || (nt = 1, function(e, t) {
|
|
866
|
-
(function(n, r, i) {
|
|
867
|
-
e.exports = r(G(), Pt());
|
|
868
|
-
})(_, function(n) {
|
|
869
|
-
n.lib.Cipher || function(r) {
|
|
870
|
-
var i = n, s = i.lib, h = s.Base, l = s.WordArray, k = s.BufferedBlockAlgorithm, o = i.enc;
|
|
871
|
-
o.Utf8;
|
|
872
|
-
var x = o.Base64, d = i.algo, f = d.EvpKDF, p = s.Cipher = k.extend({
|
|
873
|
-
/**
|
|
874
|
-
* Configuration options.
|
|
875
|
-
*
|
|
876
|
-
* @property {WordArray} iv The IV to use for this operation.
|
|
877
|
-
*/
|
|
878
|
-
cfg: h.extend(),
|
|
879
|
-
/**
|
|
880
|
-
* Creates this cipher in encryption mode.
|
|
881
|
-
*
|
|
882
|
-
* @param {WordArray} key The key.
|
|
883
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
884
|
-
*
|
|
885
|
-
* @return {Cipher} A cipher instance.
|
|
886
|
-
*
|
|
887
|
-
* @static
|
|
888
|
-
*
|
|
889
|
-
* @example
|
|
890
|
-
*
|
|
891
|
-
* var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
|
|
892
|
-
*/
|
|
893
|
-
createEncryptor: function(c, m) {
|
|
894
|
-
return this.create(this._ENC_XFORM_MODE, c, m);
|
|
895
|
-
},
|
|
896
|
-
/**
|
|
897
|
-
* Creates this cipher in decryption mode.
|
|
898
|
-
*
|
|
899
|
-
* @param {WordArray} key The key.
|
|
900
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
901
|
-
*
|
|
902
|
-
* @return {Cipher} A cipher instance.
|
|
903
|
-
*
|
|
904
|
-
* @static
|
|
905
|
-
*
|
|
906
|
-
* @example
|
|
907
|
-
*
|
|
908
|
-
* var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
|
|
909
|
-
*/
|
|
910
|
-
createDecryptor: function(c, m) {
|
|
911
|
-
return this.create(this._DEC_XFORM_MODE, c, m);
|
|
912
|
-
},
|
|
913
|
-
/**
|
|
914
|
-
* Initializes a newly created cipher.
|
|
915
|
-
*
|
|
916
|
-
* @param {number} xformMode Either the encryption or decryption transormation mode constant.
|
|
917
|
-
* @param {WordArray} key The key.
|
|
918
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
919
|
-
*
|
|
920
|
-
* @example
|
|
921
|
-
*
|
|
922
|
-
* var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });
|
|
923
|
-
*/
|
|
924
|
-
init: function(c, m, O) {
|
|
925
|
-
this.cfg = this.cfg.extend(O), this._xformMode = c, this._key = m, this.reset();
|
|
926
|
-
},
|
|
927
|
-
/**
|
|
928
|
-
* Resets this cipher to its initial state.
|
|
929
|
-
*
|
|
930
|
-
* @example
|
|
931
|
-
*
|
|
932
|
-
* cipher.reset();
|
|
933
|
-
*/
|
|
934
|
-
reset: function() {
|
|
935
|
-
k.reset.call(this), this._doReset();
|
|
936
|
-
},
|
|
937
|
-
/**
|
|
938
|
-
* Adds data to be encrypted or decrypted.
|
|
939
|
-
*
|
|
940
|
-
* @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
|
|
941
|
-
*
|
|
942
|
-
* @return {WordArray} The data after processing.
|
|
943
|
-
*
|
|
944
|
-
* @example
|
|
945
|
-
*
|
|
946
|
-
* var encrypted = cipher.process('data');
|
|
947
|
-
* var encrypted = cipher.process(wordArray);
|
|
948
|
-
*/
|
|
949
|
-
process: function(c) {
|
|
950
|
-
return this._append(c), this._process();
|
|
951
|
-
},
|
|
952
|
-
/**
|
|
953
|
-
* Finalizes the encryption or decryption process.
|
|
954
|
-
* Note that the finalize operation is effectively a destructive, read-once operation.
|
|
955
|
-
*
|
|
956
|
-
* @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
|
|
957
|
-
*
|
|
958
|
-
* @return {WordArray} The data after final processing.
|
|
959
|
-
*
|
|
960
|
-
* @example
|
|
961
|
-
*
|
|
962
|
-
* var encrypted = cipher.finalize();
|
|
963
|
-
* var encrypted = cipher.finalize('data');
|
|
964
|
-
* var encrypted = cipher.finalize(wordArray);
|
|
965
|
-
*/
|
|
966
|
-
finalize: function(c) {
|
|
967
|
-
c && this._append(c);
|
|
968
|
-
var m = this._doFinalize();
|
|
969
|
-
return m;
|
|
970
|
-
},
|
|
971
|
-
keySize: 128 / 32,
|
|
972
|
-
ivSize: 128 / 32,
|
|
973
|
-
_ENC_XFORM_MODE: 1,
|
|
974
|
-
_DEC_XFORM_MODE: 2,
|
|
975
|
-
/**
|
|
976
|
-
* Creates shortcut functions to a cipher's object interface.
|
|
977
|
-
*
|
|
978
|
-
* @param {Cipher} cipher The cipher to create a helper for.
|
|
979
|
-
*
|
|
980
|
-
* @return {Object} An object with encrypt and decrypt shortcut functions.
|
|
981
|
-
*
|
|
982
|
-
* @static
|
|
983
|
-
*
|
|
984
|
-
* @example
|
|
985
|
-
*
|
|
986
|
-
* var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);
|
|
987
|
-
*/
|
|
988
|
-
_createHelper: /* @__PURE__ */ function() {
|
|
989
|
-
function c(m) {
|
|
990
|
-
return typeof m == "string" ? M : w;
|
|
991
|
-
}
|
|
992
|
-
return function(m) {
|
|
993
|
-
return {
|
|
994
|
-
encrypt: function(O, A, T) {
|
|
995
|
-
return c(A).encrypt(m, O, A, T);
|
|
996
|
-
},
|
|
997
|
-
decrypt: function(O, A, T) {
|
|
998
|
-
return c(A).decrypt(m, O, A, T);
|
|
999
|
-
}
|
|
1000
|
-
};
|
|
1001
|
-
};
|
|
1002
|
-
}()
|
|
1003
|
-
});
|
|
1004
|
-
s.StreamCipher = p.extend({
|
|
1005
|
-
_doFinalize: function() {
|
|
1006
|
-
var c = this._process(!0);
|
|
1007
|
-
return c;
|
|
1008
|
-
},
|
|
1009
|
-
blockSize: 1
|
|
1010
|
-
});
|
|
1011
|
-
var P = i.mode = {}, y = s.BlockCipherMode = h.extend({
|
|
1012
|
-
/**
|
|
1013
|
-
* Creates this mode for encryption.
|
|
1014
|
-
*
|
|
1015
|
-
* @param {Cipher} cipher A block cipher instance.
|
|
1016
|
-
* @param {Array} iv The IV words.
|
|
1017
|
-
*
|
|
1018
|
-
* @static
|
|
1019
|
-
*
|
|
1020
|
-
* @example
|
|
1021
|
-
*
|
|
1022
|
-
* var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);
|
|
1023
|
-
*/
|
|
1024
|
-
createEncryptor: function(c, m) {
|
|
1025
|
-
return this.Encryptor.create(c, m);
|
|
1026
|
-
},
|
|
1027
|
-
/**
|
|
1028
|
-
* Creates this mode for decryption.
|
|
1029
|
-
*
|
|
1030
|
-
* @param {Cipher} cipher A block cipher instance.
|
|
1031
|
-
* @param {Array} iv The IV words.
|
|
1032
|
-
*
|
|
1033
|
-
* @static
|
|
1034
|
-
*
|
|
1035
|
-
* @example
|
|
1036
|
-
*
|
|
1037
|
-
* var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);
|
|
1038
|
-
*/
|
|
1039
|
-
createDecryptor: function(c, m) {
|
|
1040
|
-
return this.Decryptor.create(c, m);
|
|
1041
|
-
},
|
|
1042
|
-
/**
|
|
1043
|
-
* Initializes a newly created mode.
|
|
1044
|
-
*
|
|
1045
|
-
* @param {Cipher} cipher A block cipher instance.
|
|
1046
|
-
* @param {Array} iv The IV words.
|
|
1047
|
-
*
|
|
1048
|
-
* @example
|
|
1049
|
-
*
|
|
1050
|
-
* var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);
|
|
1051
|
-
*/
|
|
1052
|
-
init: function(c, m) {
|
|
1053
|
-
this._cipher = c, this._iv = m;
|
|
1054
|
-
}
|
|
1055
|
-
}), E = P.CBC = function() {
|
|
1056
|
-
var c = y.extend();
|
|
1057
|
-
c.Encryptor = c.extend({
|
|
1058
|
-
/**
|
|
1059
|
-
* Processes the data block at offset.
|
|
1060
|
-
*
|
|
1061
|
-
* @param {Array} words The data words to operate on.
|
|
1062
|
-
* @param {number} offset The offset where the block starts.
|
|
1063
|
-
*
|
|
1064
|
-
* @example
|
|
1065
|
-
*
|
|
1066
|
-
* mode.processBlock(data.words, offset);
|
|
1067
|
-
*/
|
|
1068
|
-
processBlock: function(O, A) {
|
|
1069
|
-
var T = this._cipher, L = T.blockSize;
|
|
1070
|
-
m.call(this, O, A, L), T.encryptBlock(O, A), this._prevBlock = O.slice(A, A + L);
|
|
1071
|
-
}
|
|
1072
|
-
}), c.Decryptor = c.extend({
|
|
1073
|
-
/**
|
|
1074
|
-
* Processes the data block at offset.
|
|
1075
|
-
*
|
|
1076
|
-
* @param {Array} words The data words to operate on.
|
|
1077
|
-
* @param {number} offset The offset where the block starts.
|
|
1078
|
-
*
|
|
1079
|
-
* @example
|
|
1080
|
-
*
|
|
1081
|
-
* mode.processBlock(data.words, offset);
|
|
1082
|
-
*/
|
|
1083
|
-
processBlock: function(O, A) {
|
|
1084
|
-
var T = this._cipher, L = T.blockSize, j = O.slice(A, A + L);
|
|
1085
|
-
T.decryptBlock(O, A), m.call(this, O, A, L), this._prevBlock = j;
|
|
1086
|
-
}
|
|
1087
|
-
});
|
|
1088
|
-
function m(O, A, T) {
|
|
1089
|
-
var L, j = this._iv;
|
|
1090
|
-
j ? (L = j, this._iv = r) : L = this._prevBlock;
|
|
1091
|
-
for (var J = 0; J < T; J++)
|
|
1092
|
-
O[A + J] ^= L[J];
|
|
1093
|
-
}
|
|
1094
|
-
return c;
|
|
1095
|
-
}(), z = i.pad = {}, u = z.Pkcs7 = {
|
|
1096
|
-
/**
|
|
1097
|
-
* Pads data using the algorithm defined in PKCS #5/7.
|
|
1098
|
-
*
|
|
1099
|
-
* @param {WordArray} data The data to pad.
|
|
1100
|
-
* @param {number} blockSize The multiple that the data should be padded to.
|
|
1101
|
-
*
|
|
1102
|
-
* @static
|
|
1103
|
-
*
|
|
1104
|
-
* @example
|
|
1105
|
-
*
|
|
1106
|
-
* CryptoJS.pad.Pkcs7.pad(wordArray, 4);
|
|
1107
|
-
*/
|
|
1108
|
-
pad: function(c, m) {
|
|
1109
|
-
for (var O = m * 4, A = O - c.sigBytes % O, T = A << 24 | A << 16 | A << 8 | A, L = [], j = 0; j < A; j += 4)
|
|
1110
|
-
L.push(T);
|
|
1111
|
-
var J = l.create(L, A);
|
|
1112
|
-
c.concat(J);
|
|
1113
|
-
},
|
|
1114
|
-
/**
|
|
1115
|
-
* Unpads data that had been padded using the algorithm defined in PKCS #5/7.
|
|
1116
|
-
*
|
|
1117
|
-
* @param {WordArray} data The data to unpad.
|
|
1118
|
-
*
|
|
1119
|
-
* @static
|
|
1120
|
-
*
|
|
1121
|
-
* @example
|
|
1122
|
-
*
|
|
1123
|
-
* CryptoJS.pad.Pkcs7.unpad(wordArray);
|
|
1124
|
-
*/
|
|
1125
|
-
unpad: function(c) {
|
|
1126
|
-
var m = c.words[c.sigBytes - 1 >>> 2] & 255;
|
|
1127
|
-
c.sigBytes -= m;
|
|
1128
|
-
}
|
|
1129
|
-
};
|
|
1130
|
-
s.BlockCipher = p.extend({
|
|
1131
|
-
/**
|
|
1132
|
-
* Configuration options.
|
|
1133
|
-
*
|
|
1134
|
-
* @property {Mode} mode The block mode to use. Default: CBC
|
|
1135
|
-
* @property {Padding} padding The padding strategy to use. Default: Pkcs7
|
|
1136
|
-
*/
|
|
1137
|
-
cfg: p.cfg.extend({
|
|
1138
|
-
mode: E,
|
|
1139
|
-
padding: u
|
|
1140
|
-
}),
|
|
1141
|
-
reset: function() {
|
|
1142
|
-
var c;
|
|
1143
|
-
p.reset.call(this);
|
|
1144
|
-
var m = this.cfg, O = m.iv, A = m.mode;
|
|
1145
|
-
this._xformMode == this._ENC_XFORM_MODE ? c = A.createEncryptor : (c = A.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == c ? this._mode.init(this, O && O.words) : (this._mode = c.call(A, this, O && O.words), this._mode.__creator = c);
|
|
1146
|
-
},
|
|
1147
|
-
_doProcessBlock: function(c, m) {
|
|
1148
|
-
this._mode.processBlock(c, m);
|
|
1149
|
-
},
|
|
1150
|
-
_doFinalize: function() {
|
|
1151
|
-
var c, m = this.cfg.padding;
|
|
1152
|
-
return this._xformMode == this._ENC_XFORM_MODE ? (m.pad(this._data, this.blockSize), c = this._process(!0)) : (c = this._process(!0), m.unpad(c)), c;
|
|
1153
|
-
},
|
|
1154
|
-
blockSize: 128 / 32
|
|
1155
|
-
});
|
|
1156
|
-
var a = s.CipherParams = h.extend({
|
|
1157
|
-
/**
|
|
1158
|
-
* Initializes a newly created cipher params object.
|
|
1159
|
-
*
|
|
1160
|
-
* @param {Object} cipherParams An object with any of the possible cipher parameters.
|
|
1161
|
-
*
|
|
1162
|
-
* @example
|
|
1163
|
-
*
|
|
1164
|
-
* var cipherParams = CryptoJS.lib.CipherParams.create({
|
|
1165
|
-
* ciphertext: ciphertextWordArray,
|
|
1166
|
-
* key: keyWordArray,
|
|
1167
|
-
* iv: ivWordArray,
|
|
1168
|
-
* salt: saltWordArray,
|
|
1169
|
-
* algorithm: CryptoJS.algo.AES,
|
|
1170
|
-
* mode: CryptoJS.mode.CBC,
|
|
1171
|
-
* padding: CryptoJS.pad.PKCS7,
|
|
1172
|
-
* blockSize: 4,
|
|
1173
|
-
* formatter: CryptoJS.format.OpenSSL
|
|
1174
|
-
* });
|
|
1175
|
-
*/
|
|
1176
|
-
init: function(c) {
|
|
1177
|
-
this.mixIn(c);
|
|
1178
|
-
},
|
|
1179
|
-
/**
|
|
1180
|
-
* Converts this cipher params object to a string.
|
|
1181
|
-
*
|
|
1182
|
-
* @param {Format} formatter (Optional) The formatting strategy to use.
|
|
1183
|
-
*
|
|
1184
|
-
* @return {string} The stringified cipher params.
|
|
1185
|
-
*
|
|
1186
|
-
* @throws Error If neither the formatter nor the default formatter is set.
|
|
1187
|
-
*
|
|
1188
|
-
* @example
|
|
1189
|
-
*
|
|
1190
|
-
* var string = cipherParams + '';
|
|
1191
|
-
* var string = cipherParams.toString();
|
|
1192
|
-
* var string = cipherParams.toString(CryptoJS.format.OpenSSL);
|
|
1193
|
-
*/
|
|
1194
|
-
toString: function(c) {
|
|
1195
|
-
return (c || this.formatter).stringify(this);
|
|
1196
|
-
}
|
|
1197
|
-
}), v = i.format = {}, S = v.OpenSSL = {
|
|
1198
|
-
/**
|
|
1199
|
-
* Converts a cipher params object to an OpenSSL-compatible string.
|
|
1200
|
-
*
|
|
1201
|
-
* @param {CipherParams} cipherParams The cipher params object.
|
|
1202
|
-
*
|
|
1203
|
-
* @return {string} The OpenSSL-compatible string.
|
|
1204
|
-
*
|
|
1205
|
-
* @static
|
|
1206
|
-
*
|
|
1207
|
-
* @example
|
|
1208
|
-
*
|
|
1209
|
-
* var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);
|
|
1210
|
-
*/
|
|
1211
|
-
stringify: function(c) {
|
|
1212
|
-
var m, O = c.ciphertext, A = c.salt;
|
|
1213
|
-
return A ? m = l.create([1398893684, 1701076831]).concat(A).concat(O) : m = O, m.toString(x);
|
|
1214
|
-
},
|
|
1215
|
-
/**
|
|
1216
|
-
* Converts an OpenSSL-compatible string to a cipher params object.
|
|
1217
|
-
*
|
|
1218
|
-
* @param {string} openSSLStr The OpenSSL-compatible string.
|
|
1219
|
-
*
|
|
1220
|
-
* @return {CipherParams} The cipher params object.
|
|
1221
|
-
*
|
|
1222
|
-
* @static
|
|
1223
|
-
*
|
|
1224
|
-
* @example
|
|
1225
|
-
*
|
|
1226
|
-
* var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);
|
|
1227
|
-
*/
|
|
1228
|
-
parse: function(c) {
|
|
1229
|
-
var m, O = x.parse(c), A = O.words;
|
|
1230
|
-
return A[0] == 1398893684 && A[1] == 1701076831 && (m = l.create(A.slice(2, 4)), A.splice(0, 4), O.sigBytes -= 16), a.create({ ciphertext: O, salt: m });
|
|
1231
|
-
}
|
|
1232
|
-
}, w = s.SerializableCipher = h.extend({
|
|
1233
|
-
/**
|
|
1234
|
-
* Configuration options.
|
|
1235
|
-
*
|
|
1236
|
-
* @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL
|
|
1237
|
-
*/
|
|
1238
|
-
cfg: h.extend({
|
|
1239
|
-
format: S
|
|
1240
|
-
}),
|
|
1241
|
-
/**
|
|
1242
|
-
* Encrypts a message.
|
|
1243
|
-
*
|
|
1244
|
-
* @param {Cipher} cipher The cipher algorithm to use.
|
|
1245
|
-
* @param {WordArray|string} message The message to encrypt.
|
|
1246
|
-
* @param {WordArray} key The key.
|
|
1247
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
1248
|
-
*
|
|
1249
|
-
* @return {CipherParams} A cipher params object.
|
|
1250
|
-
*
|
|
1251
|
-
* @static
|
|
1252
|
-
*
|
|
1253
|
-
* @example
|
|
1254
|
-
*
|
|
1255
|
-
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);
|
|
1256
|
-
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });
|
|
1257
|
-
* var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
|
1258
|
-
*/
|
|
1259
|
-
encrypt: function(c, m, O, A) {
|
|
1260
|
-
A = this.cfg.extend(A);
|
|
1261
|
-
var T = c.createEncryptor(O, A), L = T.finalize(m), j = T.cfg;
|
|
1262
|
-
return a.create({
|
|
1263
|
-
ciphertext: L,
|
|
1264
|
-
key: O,
|
|
1265
|
-
iv: j.iv,
|
|
1266
|
-
algorithm: c,
|
|
1267
|
-
mode: j.mode,
|
|
1268
|
-
padding: j.padding,
|
|
1269
|
-
blockSize: c.blockSize,
|
|
1270
|
-
formatter: A.format
|
|
1271
|
-
});
|
|
1272
|
-
},
|
|
1273
|
-
/**
|
|
1274
|
-
* Decrypts serialized ciphertext.
|
|
1275
|
-
*
|
|
1276
|
-
* @param {Cipher} cipher The cipher algorithm to use.
|
|
1277
|
-
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
|
|
1278
|
-
* @param {WordArray} key The key.
|
|
1279
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
1280
|
-
*
|
|
1281
|
-
* @return {WordArray} The plaintext.
|
|
1282
|
-
*
|
|
1283
|
-
* @static
|
|
1284
|
-
*
|
|
1285
|
-
* @example
|
|
1286
|
-
*
|
|
1287
|
-
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
|
1288
|
-
* var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });
|
|
1289
|
-
*/
|
|
1290
|
-
decrypt: function(c, m, O, A) {
|
|
1291
|
-
A = this.cfg.extend(A), m = this._parse(m, A.format);
|
|
1292
|
-
var T = c.createDecryptor(O, A).finalize(m.ciphertext);
|
|
1293
|
-
return T;
|
|
1294
|
-
},
|
|
1295
|
-
/**
|
|
1296
|
-
* Converts serialized ciphertext to CipherParams,
|
|
1297
|
-
* else assumed CipherParams already and returns ciphertext unchanged.
|
|
1298
|
-
*
|
|
1299
|
-
* @param {CipherParams|string} ciphertext The ciphertext.
|
|
1300
|
-
* @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
|
|
1301
|
-
*
|
|
1302
|
-
* @return {CipherParams} The unserialized ciphertext.
|
|
1303
|
-
*
|
|
1304
|
-
* @static
|
|
1305
|
-
*
|
|
1306
|
-
* @example
|
|
1307
|
-
*
|
|
1308
|
-
* var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);
|
|
1309
|
-
*/
|
|
1310
|
-
_parse: function(c, m) {
|
|
1311
|
-
return typeof c == "string" ? m.parse(c, this) : c;
|
|
1312
|
-
}
|
|
1313
|
-
}), D = i.kdf = {}, H = D.OpenSSL = {
|
|
1314
|
-
/**
|
|
1315
|
-
* Derives a key and IV from a password.
|
|
1316
|
-
*
|
|
1317
|
-
* @param {string} password The password to derive from.
|
|
1318
|
-
* @param {number} keySize The size in words of the key to generate.
|
|
1319
|
-
* @param {number} ivSize The size in words of the IV to generate.
|
|
1320
|
-
* @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.
|
|
1321
|
-
*
|
|
1322
|
-
* @return {CipherParams} A cipher params object with the key, IV, and salt.
|
|
1323
|
-
*
|
|
1324
|
-
* @static
|
|
1325
|
-
*
|
|
1326
|
-
* @example
|
|
1327
|
-
*
|
|
1328
|
-
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
|
|
1329
|
-
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
|
|
1330
|
-
*/
|
|
1331
|
-
execute: function(c, m, O, A, T) {
|
|
1332
|
-
if (A || (A = l.random(64 / 8)), T)
|
|
1333
|
-
var L = f.create({ keySize: m + O, hasher: T }).compute(c, A);
|
|
1334
|
-
else
|
|
1335
|
-
var L = f.create({ keySize: m + O }).compute(c, A);
|
|
1336
|
-
var j = l.create(L.words.slice(m), O * 4);
|
|
1337
|
-
return L.sigBytes = m * 4, a.create({ key: L, iv: j, salt: A });
|
|
1338
|
-
}
|
|
1339
|
-
}, M = s.PasswordBasedCipher = w.extend({
|
|
1340
|
-
/**
|
|
1341
|
-
* Configuration options.
|
|
1342
|
-
*
|
|
1343
|
-
* @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL
|
|
1344
|
-
*/
|
|
1345
|
-
cfg: w.cfg.extend({
|
|
1346
|
-
kdf: H
|
|
1347
|
-
}),
|
|
1348
|
-
/**
|
|
1349
|
-
* Encrypts a message using a password.
|
|
1350
|
-
*
|
|
1351
|
-
* @param {Cipher} cipher The cipher algorithm to use.
|
|
1352
|
-
* @param {WordArray|string} message The message to encrypt.
|
|
1353
|
-
* @param {string} password The password.
|
|
1354
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
1355
|
-
*
|
|
1356
|
-
* @return {CipherParams} A cipher params object.
|
|
1357
|
-
*
|
|
1358
|
-
* @static
|
|
1359
|
-
*
|
|
1360
|
-
* @example
|
|
1361
|
-
*
|
|
1362
|
-
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');
|
|
1363
|
-
* var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });
|
|
1364
|
-
*/
|
|
1365
|
-
encrypt: function(c, m, O, A) {
|
|
1366
|
-
A = this.cfg.extend(A);
|
|
1367
|
-
var T = A.kdf.execute(O, c.keySize, c.ivSize, A.salt, A.hasher);
|
|
1368
|
-
A.iv = T.iv;
|
|
1369
|
-
var L = w.encrypt.call(this, c, m, T.key, A);
|
|
1370
|
-
return L.mixIn(T), L;
|
|
1371
|
-
},
|
|
1372
|
-
/**
|
|
1373
|
-
* Decrypts serialized ciphertext using a password.
|
|
1374
|
-
*
|
|
1375
|
-
* @param {Cipher} cipher The cipher algorithm to use.
|
|
1376
|
-
* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
|
|
1377
|
-
* @param {string} password The password.
|
|
1378
|
-
* @param {Object} cfg (Optional) The configuration options to use for this operation.
|
|
1379
|
-
*
|
|
1380
|
-
* @return {WordArray} The plaintext.
|
|
1381
|
-
*
|
|
1382
|
-
* @static
|
|
1383
|
-
*
|
|
1384
|
-
* @example
|
|
1385
|
-
*
|
|
1386
|
-
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });
|
|
1387
|
-
* var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });
|
|
1388
|
-
*/
|
|
1389
|
-
decrypt: function(c, m, O, A) {
|
|
1390
|
-
A = this.cfg.extend(A), m = this._parse(m, A.format);
|
|
1391
|
-
var T = A.kdf.execute(O, c.keySize, c.ivSize, m.salt, A.hasher);
|
|
1392
|
-
A.iv = T.iv;
|
|
1393
|
-
var L = w.decrypt.call(this, c, m, T.key, A);
|
|
1394
|
-
return L;
|
|
1395
|
-
}
|
|
1396
|
-
});
|
|
1397
|
-
}();
|
|
1398
|
-
});
|
|
1399
|
-
}(Me)), Me.exports;
|
|
1400
|
-
}
|
|
1401
|
-
(function(e, t) {
|
|
1402
|
-
(function(n, r, i) {
|
|
1403
|
-
e.exports = r(G(), un(), ln(), Pt(), Ze());
|
|
1404
|
-
})(_, function(n) {
|
|
1405
|
-
return function() {
|
|
1406
|
-
var r = n, i = r.lib, s = i.BlockCipher, h = r.algo, l = [], k = [], o = [], x = [], d = [], f = [], p = [], P = [], y = [], E = [];
|
|
1407
|
-
(function() {
|
|
1408
|
-
for (var a = [], v = 0; v < 256; v++)
|
|
1409
|
-
v < 128 ? a[v] = v << 1 : a[v] = v << 1 ^ 283;
|
|
1410
|
-
for (var S = 0, w = 0, v = 0; v < 256; v++) {
|
|
1411
|
-
var D = w ^ w << 1 ^ w << 2 ^ w << 3 ^ w << 4;
|
|
1412
|
-
D = D >>> 8 ^ D & 255 ^ 99, l[S] = D, k[D] = S;
|
|
1413
|
-
var H = a[S], M = a[H], c = a[M], m = a[D] * 257 ^ D * 16843008;
|
|
1414
|
-
o[S] = m << 24 | m >>> 8, x[S] = m << 16 | m >>> 16, d[S] = m << 8 | m >>> 24, f[S] = m;
|
|
1415
|
-
var m = c * 16843009 ^ M * 65537 ^ H * 257 ^ S * 16843008;
|
|
1416
|
-
p[D] = m << 24 | m >>> 8, P[D] = m << 16 | m >>> 16, y[D] = m << 8 | m >>> 24, E[D] = m, S ? (S = H ^ a[a[a[c ^ H]]], w ^= a[a[w]]) : S = w = 1;
|
|
1417
|
-
}
|
|
1418
|
-
})();
|
|
1419
|
-
var z = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], u = h.AES = s.extend({
|
|
1420
|
-
_doReset: function() {
|
|
1421
|
-
var a;
|
|
1422
|
-
if (!(this._nRounds && this._keyPriorReset === this._key)) {
|
|
1423
|
-
for (var v = this._keyPriorReset = this._key, S = v.words, w = v.sigBytes / 4, D = this._nRounds = w + 6, H = (D + 1) * 4, M = this._keySchedule = [], c = 0; c < H; c++)
|
|
1424
|
-
c < w ? M[c] = S[c] : (a = M[c - 1], c % w ? w > 6 && c % w == 4 && (a = l[a >>> 24] << 24 | l[a >>> 16 & 255] << 16 | l[a >>> 8 & 255] << 8 | l[a & 255]) : (a = a << 8 | a >>> 24, a = l[a >>> 24] << 24 | l[a >>> 16 & 255] << 16 | l[a >>> 8 & 255] << 8 | l[a & 255], a ^= z[c / w | 0] << 24), M[c] = M[c - w] ^ a);
|
|
1425
|
-
for (var m = this._invKeySchedule = [], O = 0; O < H; O++) {
|
|
1426
|
-
var c = H - O;
|
|
1427
|
-
if (O % 4)
|
|
1428
|
-
var a = M[c];
|
|
1429
|
-
else
|
|
1430
|
-
var a = M[c - 4];
|
|
1431
|
-
O < 4 || c <= 4 ? m[O] = a : m[O] = p[l[a >>> 24]] ^ P[l[a >>> 16 & 255]] ^ y[l[a >>> 8 & 255]] ^ E[l[a & 255]];
|
|
1432
|
-
}
|
|
1433
|
-
}
|
|
1434
|
-
},
|
|
1435
|
-
encryptBlock: function(a, v) {
|
|
1436
|
-
this._doCryptBlock(a, v, this._keySchedule, o, x, d, f, l);
|
|
1437
|
-
},
|
|
1438
|
-
decryptBlock: function(a, v) {
|
|
1439
|
-
var S = a[v + 1];
|
|
1440
|
-
a[v + 1] = a[v + 3], a[v + 3] = S, this._doCryptBlock(a, v, this._invKeySchedule, p, P, y, E, k);
|
|
1441
|
-
var S = a[v + 1];
|
|
1442
|
-
a[v + 1] = a[v + 3], a[v + 3] = S;
|
|
1443
|
-
},
|
|
1444
|
-
_doCryptBlock: function(a, v, S, w, D, H, M, c) {
|
|
1445
|
-
for (var m = this._nRounds, O = a[v] ^ S[0], A = a[v + 1] ^ S[1], T = a[v + 2] ^ S[2], L = a[v + 3] ^ S[3], j = 4, J = 1; J < m; J++) {
|
|
1446
|
-
var Y = w[O >>> 24] ^ D[A >>> 16 & 255] ^ H[T >>> 8 & 255] ^ M[L & 255] ^ S[j++], q = w[A >>> 24] ^ D[T >>> 16 & 255] ^ H[L >>> 8 & 255] ^ M[O & 255] ^ S[j++], X = w[T >>> 24] ^ D[L >>> 16 & 255] ^ H[O >>> 8 & 255] ^ M[A & 255] ^ S[j++], g = w[L >>> 24] ^ D[O >>> 16 & 255] ^ H[A >>> 8 & 255] ^ M[T & 255] ^ S[j++];
|
|
1447
|
-
O = Y, A = q, T = X, L = g;
|
|
1448
|
-
}
|
|
1449
|
-
var Y = (c[O >>> 24] << 24 | c[A >>> 16 & 255] << 16 | c[T >>> 8 & 255] << 8 | c[L & 255]) ^ S[j++], q = (c[A >>> 24] << 24 | c[T >>> 16 & 255] << 16 | c[L >>> 8 & 255] << 8 | c[O & 255]) ^ S[j++], X = (c[T >>> 24] << 24 | c[L >>> 16 & 255] << 16 | c[O >>> 8 & 255] << 8 | c[A & 255]) ^ S[j++], g = (c[L >>> 24] << 24 | c[O >>> 16 & 255] << 16 | c[A >>> 8 & 255] << 8 | c[T & 255]) ^ S[j++];
|
|
1450
|
-
a[v] = Y, a[v + 1] = q, a[v + 2] = X, a[v + 3] = g;
|
|
1451
|
-
},
|
|
1452
|
-
keySize: 256 / 32
|
|
1453
|
-
});
|
|
1454
|
-
r.AES = s._createHelper(u);
|
|
1455
|
-
}(), n.AES;
|
|
1456
|
-
});
|
|
1457
|
-
})(Et);
|
|
1458
|
-
var vn = Et.exports;
|
|
1459
|
-
const hn = /* @__PURE__ */ ye(vn);
|
|
1460
|
-
var Ot = { exports: {} };
|
|
1461
|
-
(function(e, t) {
|
|
1462
|
-
(function(n, r) {
|
|
1463
|
-
e.exports = r(G());
|
|
1464
|
-
})(_, function(n) {
|
|
1465
|
-
return n.enc.Utf8;
|
|
1466
|
-
});
|
|
1467
|
-
})(Ot);
|
|
1468
|
-
var pn = Ot.exports;
|
|
1469
|
-
const mn = /* @__PURE__ */ ye(pn);
|
|
1470
|
-
var Dt = { exports: {} };
|
|
1471
|
-
(function(e, t) {
|
|
1472
|
-
(function(n, r, i) {
|
|
1473
|
-
e.exports = r(G(), Ze());
|
|
1474
|
-
})(_, function(n) {
|
|
1475
|
-
return n.mode.ECB = function() {
|
|
1476
|
-
var r = n.lib.BlockCipherMode.extend();
|
|
1477
|
-
return r.Encryptor = r.extend({
|
|
1478
|
-
processBlock: function(i, s) {
|
|
1479
|
-
this._cipher.encryptBlock(i, s);
|
|
1480
|
-
}
|
|
1481
|
-
}), r.Decryptor = r.extend({
|
|
1482
|
-
processBlock: function(i, s) {
|
|
1483
|
-
this._cipher.decryptBlock(i, s);
|
|
1484
|
-
}
|
|
1485
|
-
}), r;
|
|
1486
|
-
}(), n.mode.ECB;
|
|
1487
|
-
});
|
|
1488
|
-
})(Dt);
|
|
1489
|
-
var gn = Dt.exports;
|
|
1490
|
-
const yn = /* @__PURE__ */ ye(gn);
|
|
1491
|
-
var Tt = { exports: {} };
|
|
1492
|
-
(function(e, t) {
|
|
1493
|
-
(function(n, r, i) {
|
|
1494
|
-
e.exports = r(G(), Ze());
|
|
1495
|
-
})(_, function(n) {
|
|
1496
|
-
return n.pad.Pkcs7;
|
|
1497
|
-
});
|
|
1498
|
-
})(Tt);
|
|
1499
|
-
var An = Tt.exports;
|
|
1500
|
-
const xn = /* @__PURE__ */ ye(An);
|
|
1501
|
-
var Lt = { exports: {} };
|
|
1502
|
-
(function(e, t) {
|
|
1503
|
-
(function(n, r) {
|
|
1504
|
-
e.exports = r(G());
|
|
1505
|
-
})(_, function(n) {
|
|
1506
|
-
return n.enc.Hex;
|
|
1507
|
-
});
|
|
1508
|
-
})(Lt);
|
|
1509
|
-
var wn = Lt.exports;
|
|
1510
|
-
const bn = /* @__PURE__ */ ye(wn);
|
|
1511
|
-
function rt(e, t, n = "base64") {
|
|
1512
|
-
const r = hn.encrypt(
|
|
1513
|
-
e,
|
|
1514
|
-
mn.parse(t),
|
|
1515
|
-
{
|
|
1516
|
-
mode: yn,
|
|
1517
|
-
padding: xn
|
|
1518
|
-
}
|
|
1519
|
-
);
|
|
1520
|
-
return n === "base64" ? r.toString() : n === "hex" ? r.ciphertext.toString(bn) : e;
|
|
1521
|
-
}
|
|
1522
|
-
const Bn = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (e) => {
|
|
1523
|
-
const t = Math.random() * 16 | 0;
|
|
1524
|
-
return (e == "x" ? t : t & 3 | 8).toString(16);
|
|
1525
|
-
}), Cn = navigator.userAgent.toLowerCase();
|
|
1526
|
-
function zt() {
|
|
1527
|
-
return Cn.includes("leadeon");
|
|
1528
|
-
}
|
|
1529
|
-
function Mt(e, t = "") {
|
|
1530
|
-
const n = new URLSearchParams(e), r = Object.fromEntries(n.entries());
|
|
1531
|
-
return t ? r[t] || "" : r;
|
|
1532
|
-
}
|
|
1533
|
-
function Fe(e = "") {
|
|
1534
|
-
return Mt(window.location.search, e);
|
|
1535
|
-
}
|
|
1536
|
-
function We(e = "") {
|
|
1537
|
-
const t = window.location.hash || "";
|
|
1538
|
-
return Mt(t.split("?")[1] || "", e);
|
|
1539
|
-
}
|
|
1540
|
-
function kn(e = "") {
|
|
1541
|
-
return e ? Fe(e) || We(e) : {
|
|
1542
|
-
search: Fe(),
|
|
1543
|
-
hash: We()
|
|
1544
|
-
};
|
|
1545
|
-
}
|
|
1546
|
-
function Sn(e) {
|
|
1547
|
-
return /^1\d{10}$/.test(e);
|
|
1548
|
-
}
|
|
1549
|
-
function Ht(e, t = 6) {
|
|
1550
|
-
return new RegExp(`^\\d{${t}}$`).test(e);
|
|
1551
|
-
}
|
|
1552
|
-
const jt = ({ timer: e = 59, onTick: t = () => {
|
|
1553
|
-
} }) => {
|
|
1554
|
-
let n = e;
|
|
1555
|
-
return new Promise((r, i) => {
|
|
1556
|
-
const s = () => {
|
|
1557
|
-
n < 1 ? r("倒计时结束") : t(n);
|
|
1558
|
-
try {
|
|
1559
|
-
setTimeout(() => {
|
|
1560
|
-
n -= 1, s();
|
|
1561
|
-
}, 1e3);
|
|
1562
|
-
} catch (h) {
|
|
1563
|
-
i(h);
|
|
1564
|
-
}
|
|
1565
|
-
};
|
|
1566
|
-
s();
|
|
1567
|
-
});
|
|
1568
|
-
};
|
|
1569
|
-
function En() {
|
|
1570
|
-
}
|
|
1571
|
-
const ee = Object.assign, Ne = typeof window < "u", Ee = (e) => e !== null && typeof e == "object", $ = (e) => e != null, _e = (e) => typeof e == "function", Pn = (e) => Ee(e) && _e(e.then) && _e(e.catch), Kt = (e) => typeof e == "number" || /^\d+(\.\d+)?$/.test(e), On = () => Ne ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : !1;
|
|
1572
|
-
function ot(e, t) {
|
|
1573
|
-
const n = t.split(".");
|
|
1574
|
-
let r = e;
|
|
1575
|
-
return n.forEach((i) => {
|
|
1576
|
-
var s;
|
|
1577
|
-
r = Ee(r) && (s = r[i]) != null ? s : "";
|
|
1578
|
-
}), r;
|
|
1579
|
-
}
|
|
1580
|
-
function Dn(e, t, n) {
|
|
1581
|
-
return t.reduce(
|
|
1582
|
-
(r, i) => (r[i] = e[i], r),
|
|
1583
|
-
{}
|
|
1584
|
-
);
|
|
1585
|
-
}
|
|
1586
|
-
const Ce = null, R = [Number, String], te = {
|
|
1587
|
-
type: Boolean,
|
|
1588
|
-
default: !0
|
|
1589
|
-
}, Tn = (e) => ({
|
|
1590
|
-
type: Number,
|
|
1591
|
-
default: e
|
|
1592
|
-
}), Z = (e) => ({
|
|
1593
|
-
type: String,
|
|
1594
|
-
default: e
|
|
1595
|
-
});
|
|
1596
|
-
var Ge = typeof window < "u";
|
|
1597
|
-
function Ut(e) {
|
|
1598
|
-
let t;
|
|
1599
|
-
me(() => {
|
|
1600
|
-
e(), gt(() => {
|
|
1601
|
-
t = !0;
|
|
1602
|
-
});
|
|
1603
|
-
}), Qe(() => {
|
|
1604
|
-
t && e();
|
|
1605
|
-
});
|
|
1606
|
-
}
|
|
1607
|
-
function Ft(e, t, n = {}) {
|
|
1608
|
-
if (!Ge)
|
|
1609
|
-
return;
|
|
1610
|
-
const { target: r = window, passive: i = !1, capture: s = !1 } = n;
|
|
1611
|
-
let h = !1, l;
|
|
1612
|
-
const k = (d) => {
|
|
1613
|
-
if (h)
|
|
1614
|
-
return;
|
|
1615
|
-
const f = be(d);
|
|
1616
|
-
f && !l && (f.addEventListener(e, t, {
|
|
1617
|
-
capture: s,
|
|
1618
|
-
passive: i
|
|
1619
|
-
}), l = !0);
|
|
1620
|
-
}, o = (d) => {
|
|
1621
|
-
if (h)
|
|
1622
|
-
return;
|
|
1623
|
-
const f = be(d);
|
|
1624
|
-
f && l && (f.removeEventListener(e, t, s), l = !1);
|
|
1625
|
-
};
|
|
1626
|
-
mt(() => o(r)), Se(() => o(r)), Ut(() => k(r));
|
|
1627
|
-
let x;
|
|
1628
|
-
return Xt(r) && (x = V(r, (d, f) => {
|
|
1629
|
-
o(f), k(d);
|
|
1630
|
-
})), () => {
|
|
1631
|
-
x == null || x(), o(r), h = !0;
|
|
1632
|
-
};
|
|
1633
|
-
}
|
|
1634
|
-
var Ae, He;
|
|
1635
|
-
function Ln() {
|
|
1636
|
-
if (!Ae && (Ae = U(0), He = U(0), Ge)) {
|
|
1637
|
-
const e = () => {
|
|
1638
|
-
Ae.value = window.innerWidth, He.value = window.innerHeight;
|
|
1639
|
-
};
|
|
1640
|
-
e(), window.addEventListener("resize", e, { passive: !0 }), window.addEventListener("orientationchange", e, { passive: !0 });
|
|
1641
|
-
}
|
|
1642
|
-
return { width: Ae, height: He };
|
|
1643
|
-
}
|
|
1644
|
-
var zn = /scroll|auto|overlay/i, Mn = Ge ? window : void 0;
|
|
1645
|
-
function Hn(e) {
|
|
1646
|
-
return e.tagName !== "HTML" && e.tagName !== "BODY" && e.nodeType === 1;
|
|
1647
|
-
}
|
|
1648
|
-
function jn(e, t = Mn) {
|
|
1649
|
-
let n = e;
|
|
1650
|
-
for (; n && n !== t && Hn(n); ) {
|
|
1651
|
-
const { overflowY: r } = window.getComputedStyle(n);
|
|
1652
|
-
if (zn.test(r))
|
|
1653
|
-
return n;
|
|
1654
|
-
n = n.parentNode;
|
|
1655
|
-
}
|
|
1656
|
-
return t;
|
|
1657
|
-
}
|
|
1658
|
-
On();
|
|
1659
|
-
const Kn = (e) => e.stopPropagation();
|
|
1660
|
-
function Wt(e, t) {
|
|
1661
|
-
(typeof e.cancelable != "boolean" || e.cancelable) && e.preventDefault(), Kn(e);
|
|
1662
|
-
}
|
|
1663
|
-
Ln();
|
|
1664
|
-
function N(e) {
|
|
1665
|
-
if ($(e))
|
|
1666
|
-
return Kt(e) ? `${e}px` : String(e);
|
|
1667
|
-
}
|
|
1668
|
-
function Un(e) {
|
|
1669
|
-
if ($(e)) {
|
|
1670
|
-
if (Array.isArray(e))
|
|
1671
|
-
return {
|
|
1672
|
-
width: N(e[0]),
|
|
1673
|
-
height: N(e[1])
|
|
1674
|
-
};
|
|
1675
|
-
const t = N(e);
|
|
1676
|
-
return {
|
|
1677
|
-
width: t,
|
|
1678
|
-
height: t
|
|
1679
|
-
};
|
|
1680
|
-
}
|
|
1681
|
-
}
|
|
1682
|
-
function Fn(e) {
|
|
1683
|
-
const t = {};
|
|
1684
|
-
return e !== void 0 && (t.zIndex = +e), t;
|
|
1685
|
-
}
|
|
1686
|
-
const Wn = /-(\w)/g, _t = (e) => e.replace(Wn, (t, n) => n.toUpperCase()), _n = (e) => e.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, ""), { hasOwnProperty: Jn } = Object.prototype;
|
|
1687
|
-
function Qn(e, t, n) {
|
|
1688
|
-
const r = t[n];
|
|
1689
|
-
$(r) && (!Jn.call(e, n) || !Ee(r) ? e[n] = r : e[n] = Jt(Object(e[n]), r));
|
|
1690
|
-
}
|
|
1691
|
-
function Jt(e, t) {
|
|
1692
|
-
return Object.keys(t).forEach((n) => {
|
|
1693
|
-
Qn(e, t, n);
|
|
1694
|
-
}), e;
|
|
1695
|
-
}
|
|
1696
|
-
var Rn = {
|
|
1697
|
-
name: "姓名",
|
|
1698
|
-
tel: "电话",
|
|
1699
|
-
save: "保存",
|
|
1700
|
-
clear: "清空",
|
|
1701
|
-
cancel: "取消",
|
|
1702
|
-
confirm: "确认",
|
|
1703
|
-
delete: "删除",
|
|
1704
|
-
loading: "加载中...",
|
|
1705
|
-
noCoupon: "暂无优惠券",
|
|
1706
|
-
nameEmpty: "请填写姓名",
|
|
1707
|
-
addContact: "添加联系人",
|
|
1708
|
-
telInvalid: "请填写正确的电话",
|
|
1709
|
-
vanCalendar: {
|
|
1710
|
-
end: "结束",
|
|
1711
|
-
start: "开始",
|
|
1712
|
-
title: "日期选择",
|
|
1713
|
-
weekdays: ["日", "一", "二", "三", "四", "五", "六"],
|
|
1714
|
-
monthTitle: (e, t) => `${e}年${t}月`,
|
|
1715
|
-
rangePrompt: (e) => `最多选择 ${e} 天`
|
|
1716
|
-
},
|
|
1717
|
-
vanCascader: {
|
|
1718
|
-
select: "请选择"
|
|
1719
|
-
},
|
|
1720
|
-
vanPagination: {
|
|
1721
|
-
prev: "上一页",
|
|
1722
|
-
next: "下一页"
|
|
1723
|
-
},
|
|
1724
|
-
vanPullRefresh: {
|
|
1725
|
-
pulling: "下拉即可刷新...",
|
|
1726
|
-
loosing: "释放即可刷新..."
|
|
1727
|
-
},
|
|
1728
|
-
vanSubmitBar: {
|
|
1729
|
-
label: "合计:"
|
|
1730
|
-
},
|
|
1731
|
-
vanCoupon: {
|
|
1732
|
-
unlimited: "无门槛",
|
|
1733
|
-
discount: (e) => `${e}折`,
|
|
1734
|
-
condition: (e) => `满${e}元可用`
|
|
1735
|
-
},
|
|
1736
|
-
vanCouponCell: {
|
|
1737
|
-
title: "优惠券",
|
|
1738
|
-
count: (e) => `${e}张可用`
|
|
1739
|
-
},
|
|
1740
|
-
vanCouponList: {
|
|
1741
|
-
exchange: "兑换",
|
|
1742
|
-
close: "不使用",
|
|
1743
|
-
enable: "可用",
|
|
1744
|
-
disabled: "不可用",
|
|
1745
|
-
placeholder: "输入优惠码"
|
|
1746
|
-
},
|
|
1747
|
-
vanAddressEdit: {
|
|
1748
|
-
area: "地区",
|
|
1749
|
-
areaEmpty: "请选择地区",
|
|
1750
|
-
addressEmpty: "请填写详细地址",
|
|
1751
|
-
addressDetail: "详细地址",
|
|
1752
|
-
defaultAddress: "设为默认收货地址"
|
|
1753
|
-
},
|
|
1754
|
-
vanAddressList: {
|
|
1755
|
-
add: "新增地址"
|
|
1756
|
-
}
|
|
1757
|
-
};
|
|
1758
|
-
const at = U("zh-CN"), st = yt({
|
|
1759
|
-
"zh-CN": Rn
|
|
1760
|
-
}), Zn = {
|
|
1761
|
-
messages() {
|
|
1762
|
-
return st[at.value];
|
|
1763
|
-
},
|
|
1764
|
-
use(e, t) {
|
|
1765
|
-
at.value = e, this.add({ [e]: t });
|
|
1766
|
-
},
|
|
1767
|
-
add(e = {}) {
|
|
1768
|
-
Jt(st, e);
|
|
1769
|
-
}
|
|
1770
|
-
};
|
|
1771
|
-
var Nn = Zn;
|
|
1772
|
-
function Gn(e) {
|
|
1773
|
-
const t = _t(e) + ".";
|
|
1774
|
-
return (n, ...r) => {
|
|
1775
|
-
const i = Nn.messages(), s = ot(i, t + n) || ot(i, n);
|
|
1776
|
-
return _e(s) ? s(...r) : s;
|
|
1777
|
-
};
|
|
1778
|
-
}
|
|
1779
|
-
function Je(e, t) {
|
|
1780
|
-
return t ? typeof t == "string" ? ` ${e}--${t}` : Array.isArray(t) ? t.reduce(
|
|
1781
|
-
(n, r) => n + Je(e, r),
|
|
1782
|
-
""
|
|
1783
|
-
) : Object.keys(t).reduce(
|
|
1784
|
-
(n, r) => n + (t[r] ? Je(e, r) : ""),
|
|
1785
|
-
""
|
|
1786
|
-
) : "";
|
|
1787
|
-
}
|
|
1788
|
-
function In(e) {
|
|
1789
|
-
return (t, n) => (t && typeof t != "string" && (n = t, t = ""), t = t ? `${e}__${t}` : e, `${t}${Je(t, n)}`);
|
|
1790
|
-
}
|
|
1791
|
-
function oe(e) {
|
|
1792
|
-
const t = `van-${e}`;
|
|
1793
|
-
return [
|
|
1794
|
-
t,
|
|
1795
|
-
In(t),
|
|
1796
|
-
Gn(t)
|
|
1797
|
-
];
|
|
1798
|
-
}
|
|
1799
|
-
const Vn = "van-haptics-feedback", it = 5;
|
|
1800
|
-
function Yn(e, {
|
|
1801
|
-
args: t = [],
|
|
1802
|
-
done: n,
|
|
1803
|
-
canceled: r,
|
|
1804
|
-
error: i
|
|
1805
|
-
}) {
|
|
1806
|
-
if (e) {
|
|
1807
|
-
const s = e.apply(null, t);
|
|
1808
|
-
Pn(s) ? s.then((h) => {
|
|
1809
|
-
h ? n() : r && r();
|
|
1810
|
-
}).catch(i || En) : s ? n() : r && r();
|
|
1811
|
-
} else
|
|
1812
|
-
n();
|
|
1813
|
-
}
|
|
1814
|
-
function ue(e) {
|
|
1815
|
-
return e.install = (t) => {
|
|
1816
|
-
const { name: n } = e;
|
|
1817
|
-
n && (t.component(n, e), t.component(_t(`-${n}`), e));
|
|
1818
|
-
}, e;
|
|
1819
|
-
}
|
|
1820
|
-
const qn = Symbol();
|
|
1821
|
-
function Qt(e) {
|
|
1822
|
-
const t = Re();
|
|
1823
|
-
t && ee(t.proxy, e);
|
|
1824
|
-
}
|
|
1825
|
-
const [Xn, ct] = oe("badge"), $n = {
|
|
1826
|
-
dot: Boolean,
|
|
1827
|
-
max: R,
|
|
1828
|
-
tag: Z("div"),
|
|
1829
|
-
color: String,
|
|
1830
|
-
offset: Array,
|
|
1831
|
-
content: R,
|
|
1832
|
-
showZero: te,
|
|
1833
|
-
position: Z("top-right")
|
|
1834
|
-
};
|
|
1835
|
-
var er = re({
|
|
1836
|
-
name: Xn,
|
|
1837
|
-
props: $n,
|
|
1838
|
-
setup(e, {
|
|
1839
|
-
slots: t
|
|
1840
|
-
}) {
|
|
1841
|
-
const n = () => {
|
|
1842
|
-
if (t.content)
|
|
1843
|
-
return !0;
|
|
1844
|
-
const {
|
|
1845
|
-
content: l,
|
|
1846
|
-
showZero: k
|
|
1847
|
-
} = e;
|
|
1848
|
-
return $(l) && l !== "" && (k || l !== 0 && l !== "0");
|
|
1849
|
-
}, r = () => {
|
|
1850
|
-
const {
|
|
1851
|
-
dot: l,
|
|
1852
|
-
max: k,
|
|
1853
|
-
content: o
|
|
1854
|
-
} = e;
|
|
1855
|
-
if (!l && n())
|
|
1856
|
-
return t.content ? t.content() : $(k) && Kt(o) && +o > +k ? `${k}+` : o;
|
|
1857
|
-
}, i = (l) => l.startsWith("-") ? l.replace("-", "") : `-${l}`, s = ge(() => {
|
|
1858
|
-
const l = {
|
|
1859
|
-
background: e.color
|
|
1860
|
-
};
|
|
1861
|
-
if (e.offset) {
|
|
1862
|
-
const [k, o] = e.offset, {
|
|
1863
|
-
position: x
|
|
1864
|
-
} = e, [d, f] = x.split("-");
|
|
1865
|
-
t.default ? (typeof o == "number" ? l[d] = N(d === "top" ? o : -o) : l[d] = d === "top" ? N(o) : i(o), typeof k == "number" ? l[f] = N(f === "left" ? k : -k) : l[f] = f === "left" ? N(k) : i(k)) : (l.marginTop = N(o), l.marginLeft = N(k));
|
|
1866
|
-
}
|
|
1867
|
-
return l;
|
|
1868
|
-
}), h = () => {
|
|
1869
|
-
if (n() || e.dot)
|
|
1870
|
-
return K("div", {
|
|
1871
|
-
class: ct([e.position, {
|
|
1872
|
-
dot: e.dot,
|
|
1873
|
-
fixed: !!t.default
|
|
1874
|
-
}]),
|
|
1875
|
-
style: s.value
|
|
1876
|
-
}, [r()]);
|
|
1877
|
-
};
|
|
1878
|
-
return () => {
|
|
1879
|
-
if (t.default) {
|
|
1880
|
-
const {
|
|
1881
|
-
tag: l
|
|
1882
|
-
} = e;
|
|
1883
|
-
return K(l, {
|
|
1884
|
-
class: ct("wrapper")
|
|
1885
|
-
}, {
|
|
1886
|
-
default: () => [t.default(), h()]
|
|
1887
|
-
});
|
|
1888
|
-
}
|
|
1889
|
-
return h();
|
|
1890
|
-
};
|
|
1891
|
-
}
|
|
1892
|
-
});
|
|
1893
|
-
const tr = ue(er);
|
|
1894
|
-
let Rt = 2e3;
|
|
1895
|
-
const nr = () => ++Rt, rr = (e) => {
|
|
1896
|
-
Rt = e;
|
|
1897
|
-
}, [Zt, or] = oe("config-provider"), Nt = Symbol(Zt), ar = {
|
|
1898
|
-
tag: Z("div"),
|
|
1899
|
-
theme: Z("light"),
|
|
1900
|
-
zIndex: Number,
|
|
1901
|
-
themeVars: Object,
|
|
1902
|
-
themeVarsDark: Object,
|
|
1903
|
-
themeVarsLight: Object,
|
|
1904
|
-
themeVarsScope: Z("local"),
|
|
1905
|
-
iconPrefix: String
|
|
1906
|
-
};
|
|
1907
|
-
function sr(e) {
|
|
1908
|
-
return e.replace(/([a-zA-Z])(\d)/g, "$1-$2");
|
|
1909
|
-
}
|
|
1910
|
-
function ir(e) {
|
|
1911
|
-
const t = {};
|
|
1912
|
-
return Object.keys(e).forEach((n) => {
|
|
1913
|
-
const r = sr(_n(n));
|
|
1914
|
-
t[`--van-${r}`] = e[n];
|
|
1915
|
-
}), t;
|
|
1916
|
-
}
|
|
1917
|
-
function xe(e = {}, t = {}) {
|
|
1918
|
-
Object.keys(e).forEach((n) => {
|
|
1919
|
-
e[n] !== t[n] && document.documentElement.style.setProperty(n, e[n]);
|
|
1920
|
-
}), Object.keys(t).forEach((n) => {
|
|
1921
|
-
e[n] || document.documentElement.style.removeProperty(n);
|
|
1922
|
-
});
|
|
1923
|
-
}
|
|
1924
|
-
re({
|
|
1925
|
-
name: Zt,
|
|
1926
|
-
props: ar,
|
|
1927
|
-
setup(e, {
|
|
1928
|
-
slots: t
|
|
1929
|
-
}) {
|
|
1930
|
-
const n = ge(() => ir(ee({}, e.themeVars, e.theme === "dark" ? e.themeVarsDark : e.themeVarsLight)));
|
|
1931
|
-
if (Ne) {
|
|
1932
|
-
const r = () => {
|
|
1933
|
-
document.documentElement.classList.add(`van-theme-${e.theme}`);
|
|
1934
|
-
}, i = (s = e.theme) => {
|
|
1935
|
-
document.documentElement.classList.remove(`van-theme-${s}`);
|
|
1936
|
-
};
|
|
1937
|
-
V(() => e.theme, (s, h) => {
|
|
1938
|
-
h && i(h), r();
|
|
1939
|
-
}, {
|
|
1940
|
-
immediate: !0
|
|
1941
|
-
}), Qe(r), Se(i), At(i), V(n, (s, h) => {
|
|
1942
|
-
e.themeVarsScope === "global" && xe(s, h);
|
|
1943
|
-
}), V(() => e.themeVarsScope, (s, h) => {
|
|
1944
|
-
h === "global" && xe({}, n.value), s === "global" && xe(n.value, {});
|
|
1945
|
-
}), e.themeVarsScope === "global" && xe(n.value, {});
|
|
1946
|
-
}
|
|
1947
|
-
return xt(Nt, e), $t(() => {
|
|
1948
|
-
e.zIndex !== void 0 && rr(e.zIndex);
|
|
1949
|
-
}), () => K(e.tag, {
|
|
1950
|
-
class: or(),
|
|
1951
|
-
style: e.themeVarsScope === "local" ? n.value : void 0
|
|
1952
|
-
}, {
|
|
1953
|
-
default: () => {
|
|
1954
|
-
var r;
|
|
1955
|
-
return [(r = t.default) == null ? void 0 : r.call(t)];
|
|
1956
|
-
}
|
|
1957
|
-
});
|
|
1958
|
-
}
|
|
1959
|
-
});
|
|
1960
|
-
const [cr, ut] = oe("icon"), ur = (e) => e == null ? void 0 : e.includes("/"), lr = {
|
|
1961
|
-
dot: Boolean,
|
|
1962
|
-
tag: Z("i"),
|
|
1963
|
-
name: String,
|
|
1964
|
-
size: R,
|
|
1965
|
-
badge: R,
|
|
1966
|
-
color: String,
|
|
1967
|
-
badgeProps: Object,
|
|
1968
|
-
classPrefix: String
|
|
1969
|
-
};
|
|
1970
|
-
var fr = re({
|
|
1971
|
-
name: cr,
|
|
1972
|
-
props: lr,
|
|
1973
|
-
setup(e, {
|
|
1974
|
-
slots: t
|
|
1975
|
-
}) {
|
|
1976
|
-
const n = en(Nt, null), r = ge(() => e.classPrefix || (n == null ? void 0 : n.iconPrefix) || ut());
|
|
1977
|
-
return () => {
|
|
1978
|
-
const {
|
|
1979
|
-
tag: i,
|
|
1980
|
-
dot: s,
|
|
1981
|
-
name: h,
|
|
1982
|
-
size: l,
|
|
1983
|
-
badge: k,
|
|
1984
|
-
color: o
|
|
1985
|
-
} = e, x = ur(h);
|
|
1986
|
-
return K(tr, he({
|
|
1987
|
-
dot: s,
|
|
1988
|
-
tag: i,
|
|
1989
|
-
class: [r.value, x ? "" : `${r.value}-${h}`],
|
|
1990
|
-
style: {
|
|
1991
|
-
color: o,
|
|
1992
|
-
fontSize: N(l)
|
|
1993
|
-
},
|
|
1994
|
-
content: k
|
|
1995
|
-
}, e.badgeProps), {
|
|
1996
|
-
default: () => {
|
|
1997
|
-
var d;
|
|
1998
|
-
return [(d = t.default) == null ? void 0 : d.call(t), x && K("img", {
|
|
1999
|
-
class: ut("image"),
|
|
2000
|
-
src: h
|
|
2001
|
-
}, null)];
|
|
2002
|
-
}
|
|
2003
|
-
});
|
|
2004
|
-
};
|
|
2005
|
-
}
|
|
2006
|
-
});
|
|
2007
|
-
const Gt = ue(fr), [dr, ve] = oe("loading"), vr = Array(12).fill(null).map((e, t) => K("i", {
|
|
2008
|
-
class: ve("line", String(t + 1))
|
|
2009
|
-
}, null)), hr = K("svg", {
|
|
2010
|
-
class: ve("circular"),
|
|
2011
|
-
viewBox: "25 25 50 50"
|
|
2012
|
-
}, [K("circle", {
|
|
2013
|
-
cx: "50",
|
|
2014
|
-
cy: "50",
|
|
2015
|
-
r: "20",
|
|
2016
|
-
fill: "none"
|
|
2017
|
-
}, null)]), pr = {
|
|
2018
|
-
size: R,
|
|
2019
|
-
type: Z("circular"),
|
|
2020
|
-
color: String,
|
|
2021
|
-
vertical: Boolean,
|
|
2022
|
-
textSize: R,
|
|
2023
|
-
textColor: String
|
|
2024
|
-
};
|
|
2025
|
-
var mr = re({
|
|
2026
|
-
name: dr,
|
|
2027
|
-
props: pr,
|
|
2028
|
-
setup(e, {
|
|
2029
|
-
slots: t
|
|
2030
|
-
}) {
|
|
2031
|
-
const n = ge(() => ee({
|
|
2032
|
-
color: e.color
|
|
2033
|
-
}, Un(e.size))), r = () => {
|
|
2034
|
-
const s = e.type === "spinner" ? vr : hr;
|
|
2035
|
-
return K("span", {
|
|
2036
|
-
class: ve("spinner", e.type),
|
|
2037
|
-
style: n.value
|
|
2038
|
-
}, [t.icon ? t.icon() : s]);
|
|
2039
|
-
}, i = () => {
|
|
2040
|
-
var s;
|
|
2041
|
-
if (t.default)
|
|
2042
|
-
return K("span", {
|
|
2043
|
-
class: ve("text"),
|
|
2044
|
-
style: {
|
|
2045
|
-
fontSize: N(e.textSize),
|
|
2046
|
-
color: (s = e.textColor) != null ? s : e.color
|
|
2047
|
-
}
|
|
2048
|
-
}, [t.default()]);
|
|
2049
|
-
};
|
|
2050
|
-
return () => {
|
|
2051
|
-
const {
|
|
2052
|
-
type: s,
|
|
2053
|
-
vertical: h
|
|
2054
|
-
} = e;
|
|
2055
|
-
return K("div", {
|
|
2056
|
-
class: ve([s, {
|
|
2057
|
-
vertical: h
|
|
2058
|
-
}]),
|
|
2059
|
-
"aria-live": "polite",
|
|
2060
|
-
"aria-busy": !0
|
|
2061
|
-
}, [r(), i()]);
|
|
2062
|
-
};
|
|
2063
|
-
}
|
|
2064
|
-
});
|
|
2065
|
-
const gr = ue(mr), yr = {
|
|
2066
|
-
// whether to show popup
|
|
2067
|
-
show: Boolean,
|
|
2068
|
-
// z-index
|
|
2069
|
-
zIndex: R,
|
|
2070
|
-
// whether to show overlay
|
|
2071
|
-
overlay: te,
|
|
2072
|
-
// transition duration
|
|
2073
|
-
duration: R,
|
|
2074
|
-
// teleport
|
|
2075
|
-
teleport: [String, Object],
|
|
2076
|
-
// prevent body scroll
|
|
2077
|
-
lockScroll: te,
|
|
2078
|
-
// whether to lazy render
|
|
2079
|
-
lazyRender: te,
|
|
2080
|
-
// callback function before close
|
|
2081
|
-
beforeClose: Function,
|
|
2082
|
-
// overlay custom style
|
|
2083
|
-
overlayStyle: Object,
|
|
2084
|
-
// overlay custom class name
|
|
2085
|
-
overlayClass: Ce,
|
|
2086
|
-
// Initial rendering animation
|
|
2087
|
-
transitionAppear: Boolean,
|
|
2088
|
-
// whether to close popup when overlay is clicked
|
|
2089
|
-
closeOnClickOverlay: te
|
|
2090
|
-
};
|
|
2091
|
-
function Ar(e, t) {
|
|
2092
|
-
return e > t ? "horizontal" : t > e ? "vertical" : "";
|
|
2093
|
-
}
|
|
2094
|
-
function xr() {
|
|
2095
|
-
const e = U(0), t = U(0), n = U(0), r = U(0), i = U(0), s = U(0), h = U(""), l = U(!0), k = () => h.value === "vertical", o = () => h.value === "horizontal", x = () => {
|
|
2096
|
-
n.value = 0, r.value = 0, i.value = 0, s.value = 0, h.value = "", l.value = !0;
|
|
2097
|
-
};
|
|
2098
|
-
return {
|
|
2099
|
-
move: (p) => {
|
|
2100
|
-
const P = p.touches[0];
|
|
2101
|
-
n.value = (P.clientX < 0 ? 0 : P.clientX) - e.value, r.value = P.clientY - t.value, i.value = Math.abs(n.value), s.value = Math.abs(r.value);
|
|
2102
|
-
const y = 10;
|
|
2103
|
-
(!h.value || i.value < y && s.value < y) && (h.value = Ar(i.value, s.value)), l.value && (i.value > it || s.value > it) && (l.value = !1);
|
|
2104
|
-
},
|
|
2105
|
-
start: (p) => {
|
|
2106
|
-
x(), e.value = p.touches[0].clientX, t.value = p.touches[0].clientY;
|
|
2107
|
-
},
|
|
2108
|
-
reset: x,
|
|
2109
|
-
startX: e,
|
|
2110
|
-
startY: t,
|
|
2111
|
-
deltaX: n,
|
|
2112
|
-
deltaY: r,
|
|
2113
|
-
offsetX: i,
|
|
2114
|
-
offsetY: s,
|
|
2115
|
-
direction: h,
|
|
2116
|
-
isVertical: k,
|
|
2117
|
-
isHorizontal: o,
|
|
2118
|
-
isTap: l
|
|
2119
|
-
};
|
|
2120
|
-
}
|
|
2121
|
-
let le = 0;
|
|
2122
|
-
const lt = "van-overflow-hidden";
|
|
2123
|
-
function wr(e, t) {
|
|
2124
|
-
const n = xr(), r = "01", i = "10", s = (x) => {
|
|
2125
|
-
n.move(x);
|
|
2126
|
-
const d = n.deltaY.value > 0 ? i : r, f = jn(
|
|
2127
|
-
x.target,
|
|
2128
|
-
e.value
|
|
2129
|
-
), { scrollHeight: p, offsetHeight: P, scrollTop: y } = f;
|
|
2130
|
-
let E = "11";
|
|
2131
|
-
y === 0 ? E = P >= p ? "00" : "01" : y + P >= p && (E = "10"), E !== "11" && n.isVertical() && !(parseInt(E, 2) & parseInt(d, 2)) && Wt(x);
|
|
2132
|
-
}, h = () => {
|
|
2133
|
-
document.addEventListener("touchstart", n.start), document.addEventListener("touchmove", s, { passive: !1 }), le || document.body.classList.add(lt), le++;
|
|
2134
|
-
}, l = () => {
|
|
2135
|
-
le && (document.removeEventListener("touchstart", n.start), document.removeEventListener("touchmove", s), le--, le || document.body.classList.remove(lt));
|
|
2136
|
-
}, k = () => t() && h(), o = () => t() && l();
|
|
2137
|
-
Ut(k), Se(o), At(o), V(t, (x) => {
|
|
2138
|
-
x ? h() : l();
|
|
2139
|
-
});
|
|
2140
|
-
}
|
|
2141
|
-
function It(e) {
|
|
2142
|
-
const t = U(!1);
|
|
2143
|
-
return V(
|
|
2144
|
-
e,
|
|
2145
|
-
(n) => {
|
|
2146
|
-
n && (t.value = n);
|
|
2147
|
-
},
|
|
2148
|
-
{ immediate: !0 }
|
|
2149
|
-
), (n) => () => t.value ? n() : null;
|
|
2150
|
-
}
|
|
2151
|
-
const ft = () => {
|
|
2152
|
-
var e;
|
|
2153
|
-
const { scopeId: t } = ((e = Re()) == null ? void 0 : e.vnode) || {};
|
|
2154
|
-
return t ? { [t]: "" } : null;
|
|
2155
|
-
}, [br, Br] = oe("overlay"), Cr = {
|
|
2156
|
-
show: Boolean,
|
|
2157
|
-
zIndex: R,
|
|
2158
|
-
duration: R,
|
|
2159
|
-
className: Ce,
|
|
2160
|
-
lockScroll: te,
|
|
2161
|
-
lazyRender: te,
|
|
2162
|
-
customStyle: Object,
|
|
2163
|
-
teleport: [String, Object]
|
|
2164
|
-
};
|
|
2165
|
-
var kr = re({
|
|
2166
|
-
name: br,
|
|
2167
|
-
props: Cr,
|
|
2168
|
-
setup(e, {
|
|
2169
|
-
slots: t
|
|
2170
|
-
}) {
|
|
2171
|
-
const n = U(), r = It(() => e.show || !e.lazyRender), i = (h) => {
|
|
2172
|
-
e.lockScroll && Wt(h);
|
|
2173
|
-
}, s = r(() => {
|
|
2174
|
-
var h;
|
|
2175
|
-
const l = ee(Fn(e.zIndex), e.customStyle);
|
|
2176
|
-
return $(e.duration) && (l.animationDuration = `${e.duration}s`), pe(K("div", {
|
|
2177
|
-
ref: n,
|
|
2178
|
-
style: l,
|
|
2179
|
-
class: [Br(), e.className]
|
|
2180
|
-
}, [(h = t.default) == null ? void 0 : h.call(t)]), [[Bt, e.show]]);
|
|
2181
|
-
});
|
|
2182
|
-
return Ft("touchmove", i, {
|
|
2183
|
-
target: n
|
|
2184
|
-
}), () => {
|
|
2185
|
-
const h = K(wt, {
|
|
2186
|
-
name: "van-fade",
|
|
2187
|
-
appear: !0
|
|
2188
|
-
}, {
|
|
2189
|
-
default: s
|
|
2190
|
-
});
|
|
2191
|
-
return e.teleport ? K(bt, {
|
|
2192
|
-
to: e.teleport
|
|
2193
|
-
}, {
|
|
2194
|
-
default: () => [h]
|
|
2195
|
-
}) : h;
|
|
2196
|
-
};
|
|
2197
|
-
}
|
|
2198
|
-
});
|
|
2199
|
-
const Sr = ue(kr), Er = ee({}, yr, {
|
|
2200
|
-
round: Boolean,
|
|
2201
|
-
position: Z("center"),
|
|
2202
|
-
closeIcon: Z("cross"),
|
|
2203
|
-
closeable: Boolean,
|
|
2204
|
-
transition: String,
|
|
2205
|
-
iconPrefix: String,
|
|
2206
|
-
closeOnPopstate: Boolean,
|
|
2207
|
-
closeIconPosition: Z("top-right"),
|
|
2208
|
-
destroyOnClose: Boolean,
|
|
2209
|
-
safeAreaInsetTop: Boolean,
|
|
2210
|
-
safeAreaInsetBottom: Boolean
|
|
2211
|
-
}), [Pr, dt] = oe("popup");
|
|
2212
|
-
var Or = re({
|
|
2213
|
-
name: Pr,
|
|
2214
|
-
inheritAttrs: !1,
|
|
2215
|
-
props: Er,
|
|
2216
|
-
emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
|
|
2217
|
-
setup(e, {
|
|
2218
|
-
emit: t,
|
|
2219
|
-
attrs: n,
|
|
2220
|
-
slots: r
|
|
2221
|
-
}) {
|
|
2222
|
-
let i, s;
|
|
2223
|
-
const h = U(), l = U(), k = It(() => e.show || !e.lazyRender), o = ge(() => {
|
|
2224
|
-
const w = {
|
|
2225
|
-
zIndex: h.value
|
|
2226
|
-
};
|
|
2227
|
-
if ($(e.duration)) {
|
|
2228
|
-
const D = e.position === "center" ? "animationDuration" : "transitionDuration";
|
|
2229
|
-
w[D] = `${e.duration}s`;
|
|
2230
|
-
}
|
|
2231
|
-
return w;
|
|
2232
|
-
}), x = () => {
|
|
2233
|
-
i || (i = !0, h.value = e.zIndex !== void 0 ? +e.zIndex : nr(), t("open"));
|
|
2234
|
-
}, d = () => {
|
|
2235
|
-
i && Yn(e.beforeClose, {
|
|
2236
|
-
done() {
|
|
2237
|
-
i = !1, t("close"), t("update:show", !1);
|
|
2238
|
-
}
|
|
2239
|
-
});
|
|
2240
|
-
}, f = (w) => {
|
|
2241
|
-
t("clickOverlay", w), e.closeOnClickOverlay && d();
|
|
2242
|
-
}, p = () => {
|
|
2243
|
-
if (e.overlay)
|
|
2244
|
-
return K(Sr, he({
|
|
2245
|
-
show: e.show,
|
|
2246
|
-
class: e.overlayClass,
|
|
2247
|
-
zIndex: h.value,
|
|
2248
|
-
duration: e.duration,
|
|
2249
|
-
customStyle: e.overlayStyle,
|
|
2250
|
-
role: e.closeOnClickOverlay ? "button" : void 0,
|
|
2251
|
-
tabindex: e.closeOnClickOverlay ? 0 : void 0
|
|
2252
|
-
}, ft(), {
|
|
2253
|
-
onClick: f
|
|
2254
|
-
}), {
|
|
2255
|
-
default: r["overlay-content"]
|
|
2256
|
-
});
|
|
2257
|
-
}, P = (w) => {
|
|
2258
|
-
t("clickCloseIcon", w), d();
|
|
2259
|
-
}, y = () => {
|
|
2260
|
-
if (e.closeable)
|
|
2261
|
-
return K(Gt, {
|
|
2262
|
-
role: "button",
|
|
2263
|
-
tabindex: 0,
|
|
2264
|
-
name: e.closeIcon,
|
|
2265
|
-
class: [dt("close-icon", e.closeIconPosition), Vn],
|
|
2266
|
-
classPrefix: e.iconPrefix,
|
|
2267
|
-
onClick: P
|
|
2268
|
-
}, null);
|
|
2269
|
-
};
|
|
2270
|
-
let E;
|
|
2271
|
-
const z = () => {
|
|
2272
|
-
E && clearTimeout(E), E = setTimeout(() => {
|
|
2273
|
-
t("opened");
|
|
2274
|
-
});
|
|
2275
|
-
}, u = () => t("closed"), a = (w) => t("keydown", w), v = k(() => {
|
|
2276
|
-
var w;
|
|
2277
|
-
const {
|
|
2278
|
-
destroyOnClose: D,
|
|
2279
|
-
round: H,
|
|
2280
|
-
position: M,
|
|
2281
|
-
safeAreaInsetTop: c,
|
|
2282
|
-
safeAreaInsetBottom: m,
|
|
2283
|
-
show: O
|
|
2284
|
-
} = e;
|
|
2285
|
-
if (!(!O && D))
|
|
2286
|
-
return pe(K("div", he({
|
|
2287
|
-
ref: l,
|
|
2288
|
-
style: o.value,
|
|
2289
|
-
role: "dialog",
|
|
2290
|
-
tabindex: 0,
|
|
2291
|
-
class: [dt({
|
|
2292
|
-
round: H,
|
|
2293
|
-
[M]: M
|
|
2294
|
-
}), {
|
|
2295
|
-
"van-safe-area-top": c,
|
|
2296
|
-
"van-safe-area-bottom": m
|
|
2297
|
-
}],
|
|
2298
|
-
onKeydown: a
|
|
2299
|
-
}, n, ft()), [(w = r.default) == null ? void 0 : w.call(r), y()]), [[Bt, O]]);
|
|
2300
|
-
}), S = () => {
|
|
2301
|
-
const {
|
|
2302
|
-
position: w,
|
|
2303
|
-
transition: D,
|
|
2304
|
-
transitionAppear: H
|
|
2305
|
-
} = e, M = w === "center" ? "van-fade" : `van-popup-slide-${w}`;
|
|
2306
|
-
return K(wt, {
|
|
2307
|
-
name: D || M,
|
|
2308
|
-
appear: H,
|
|
2309
|
-
onAfterEnter: z,
|
|
2310
|
-
onAfterLeave: u
|
|
2311
|
-
}, {
|
|
2312
|
-
default: v
|
|
2313
|
-
});
|
|
2314
|
-
};
|
|
2315
|
-
return V(() => e.show, (w) => {
|
|
2316
|
-
w && !i && (x(), n.tabindex === 0 && gt(() => {
|
|
2317
|
-
var D;
|
|
2318
|
-
(D = l.value) == null || D.focus();
|
|
2319
|
-
})), !w && i && (i = !1, t("close"));
|
|
2320
|
-
}), Qt({
|
|
2321
|
-
popupRef: l
|
|
2322
|
-
}), wr(l, () => e.show && e.lockScroll), Ft("popstate", () => {
|
|
2323
|
-
e.closeOnPopstate && (d(), s = !1);
|
|
2324
|
-
}), me(() => {
|
|
2325
|
-
e.show && x();
|
|
2326
|
-
}), Qe(() => {
|
|
2327
|
-
s && (t("update:show", !0), s = !1);
|
|
2328
|
-
}), Se(() => {
|
|
2329
|
-
e.show && e.teleport && (d(), s = !0);
|
|
2330
|
-
}), xt(qn, () => e.show), () => e.teleport ? K(bt, {
|
|
2331
|
-
to: e.teleport
|
|
2332
|
-
}, {
|
|
2333
|
-
default: () => [p(), S()]
|
|
2334
|
-
}) : K(Ct, null, [p(), S()]);
|
|
2335
|
-
}
|
|
2336
|
-
});
|
|
2337
|
-
const Ie = ue(Or);
|
|
2338
|
-
let fe = 0;
|
|
2339
|
-
function Dr(e) {
|
|
2340
|
-
e ? (fe || document.body.classList.add("van-toast--unclickable"), fe++) : fe && (fe--, fe || document.body.classList.remove("van-toast--unclickable"));
|
|
2341
|
-
}
|
|
2342
|
-
const [Tr, ae] = oe("toast"), Lr = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"], zr = {
|
|
2343
|
-
icon: String,
|
|
2344
|
-
show: Boolean,
|
|
2345
|
-
type: Z("text"),
|
|
2346
|
-
overlay: Boolean,
|
|
2347
|
-
message: R,
|
|
2348
|
-
iconSize: R,
|
|
2349
|
-
duration: Tn(2e3),
|
|
2350
|
-
position: Z("middle"),
|
|
2351
|
-
teleport: [String, Object],
|
|
2352
|
-
wordBreak: String,
|
|
2353
|
-
className: Ce,
|
|
2354
|
-
iconPrefix: String,
|
|
2355
|
-
transition: Z("van-fade"),
|
|
2356
|
-
loadingType: String,
|
|
2357
|
-
forbidClick: Boolean,
|
|
2358
|
-
overlayClass: Ce,
|
|
2359
|
-
overlayStyle: Object,
|
|
2360
|
-
closeOnClick: Boolean,
|
|
2361
|
-
closeOnClickOverlay: Boolean,
|
|
2362
|
-
zIndex: R
|
|
2363
|
-
};
|
|
2364
|
-
var Vt = re({
|
|
2365
|
-
name: Tr,
|
|
2366
|
-
props: zr,
|
|
2367
|
-
emits: ["update:show"],
|
|
2368
|
-
setup(e, {
|
|
2369
|
-
emit: t,
|
|
2370
|
-
slots: n
|
|
2371
|
-
}) {
|
|
2372
|
-
let r, i = !1;
|
|
2373
|
-
const s = () => {
|
|
2374
|
-
const d = e.show && e.forbidClick;
|
|
2375
|
-
i !== d && (i = d, Dr(i));
|
|
2376
|
-
}, h = (d) => t("update:show", d), l = () => {
|
|
2377
|
-
e.closeOnClick && h(!1);
|
|
2378
|
-
}, k = () => clearTimeout(r), o = () => {
|
|
2379
|
-
const {
|
|
2380
|
-
icon: d,
|
|
2381
|
-
type: f,
|
|
2382
|
-
iconSize: p,
|
|
2383
|
-
iconPrefix: P,
|
|
2384
|
-
loadingType: y
|
|
2385
|
-
} = e;
|
|
2386
|
-
if (d || f === "success" || f === "fail")
|
|
2387
|
-
return K(Gt, {
|
|
2388
|
-
name: d || f,
|
|
2389
|
-
size: p,
|
|
2390
|
-
class: ae("icon"),
|
|
2391
|
-
classPrefix: P
|
|
2392
|
-
}, null);
|
|
2393
|
-
if (f === "loading")
|
|
2394
|
-
return K(gr, {
|
|
2395
|
-
class: ae("loading"),
|
|
2396
|
-
size: p,
|
|
2397
|
-
type: y
|
|
2398
|
-
}, null);
|
|
2399
|
-
}, x = () => {
|
|
2400
|
-
const {
|
|
2401
|
-
type: d,
|
|
2402
|
-
message: f
|
|
2403
|
-
} = e;
|
|
2404
|
-
if (n.message)
|
|
2405
|
-
return K("div", {
|
|
2406
|
-
class: ae("text")
|
|
2407
|
-
}, [n.message()]);
|
|
2408
|
-
if ($(f) && f !== "")
|
|
2409
|
-
return d === "html" ? K("div", {
|
|
2410
|
-
key: 0,
|
|
2411
|
-
class: ae("text"),
|
|
2412
|
-
innerHTML: String(f)
|
|
2413
|
-
}, null) : K("div", {
|
|
2414
|
-
class: ae("text")
|
|
2415
|
-
}, [f]);
|
|
2416
|
-
};
|
|
2417
|
-
return V(() => [e.show, e.forbidClick], s), V(() => [e.show, e.type, e.message, e.duration], () => {
|
|
2418
|
-
k(), e.show && e.duration > 0 && (r = setTimeout(() => {
|
|
2419
|
-
h(!1);
|
|
2420
|
-
}, e.duration));
|
|
2421
|
-
}), me(s), mt(s), () => K(Ie, he({
|
|
2422
|
-
class: [ae([e.position, e.wordBreak === "normal" ? "break-normal" : e.wordBreak, {
|
|
2423
|
-
[e.type]: !e.icon
|
|
2424
|
-
}]), e.className],
|
|
2425
|
-
lockScroll: !1,
|
|
2426
|
-
onClick: l,
|
|
2427
|
-
onClosed: k,
|
|
2428
|
-
"onUpdate:show": h
|
|
2429
|
-
}, Dn(e, Lr)), {
|
|
2430
|
-
default: () => [o(), x()]
|
|
2431
|
-
});
|
|
2432
|
-
}
|
|
2433
|
-
});
|
|
2434
|
-
function Mr() {
|
|
2435
|
-
const e = yt({
|
|
2436
|
-
show: !1
|
|
2437
|
-
}), t = (i) => {
|
|
2438
|
-
e.show = i;
|
|
2439
|
-
}, n = (i) => {
|
|
2440
|
-
ee(e, i, { transitionAppear: !0 }), t(!0);
|
|
2441
|
-
}, r = () => t(!1);
|
|
2442
|
-
return Qt({ open: n, close: r, toggle: t }), {
|
|
2443
|
-
open: n,
|
|
2444
|
-
close: r,
|
|
2445
|
-
state: e,
|
|
2446
|
-
toggle: t
|
|
2447
|
-
};
|
|
2448
|
-
}
|
|
2449
|
-
function Hr(e) {
|
|
2450
|
-
const t = tn(e), n = document.createElement("div");
|
|
2451
|
-
return document.body.appendChild(n), {
|
|
2452
|
-
instance: t.mount(n),
|
|
2453
|
-
unmount() {
|
|
2454
|
-
t.unmount(), document.body.removeChild(n);
|
|
2455
|
-
}
|
|
2456
|
-
};
|
|
2457
|
-
}
|
|
2458
|
-
const jr = {
|
|
2459
|
-
icon: "",
|
|
2460
|
-
type: "text",
|
|
2461
|
-
message: "",
|
|
2462
|
-
className: "",
|
|
2463
|
-
overlay: !1,
|
|
2464
|
-
onClose: void 0,
|
|
2465
|
-
onOpened: void 0,
|
|
2466
|
-
duration: 2e3,
|
|
2467
|
-
teleport: "body",
|
|
2468
|
-
iconSize: void 0,
|
|
2469
|
-
iconPrefix: void 0,
|
|
2470
|
-
position: "middle",
|
|
2471
|
-
transition: "van-fade",
|
|
2472
|
-
forbidClick: !1,
|
|
2473
|
-
loadingType: void 0,
|
|
2474
|
-
overlayClass: "",
|
|
2475
|
-
overlayStyle: void 0,
|
|
2476
|
-
closeOnClick: !1,
|
|
2477
|
-
closeOnClickOverlay: !1
|
|
2478
|
-
};
|
|
2479
|
-
let se = [], Ve = !1, vt = ee({}, jr);
|
|
2480
|
-
const Kr = /* @__PURE__ */ new Map();
|
|
2481
|
-
function Ur(e) {
|
|
2482
|
-
return Ee(e) ? e : {
|
|
2483
|
-
message: e
|
|
2484
|
-
};
|
|
2485
|
-
}
|
|
2486
|
-
function Fr() {
|
|
2487
|
-
const {
|
|
2488
|
-
instance: e,
|
|
2489
|
-
unmount: t
|
|
2490
|
-
} = Hr({
|
|
2491
|
-
setup() {
|
|
2492
|
-
const n = U(""), {
|
|
2493
|
-
open: r,
|
|
2494
|
-
state: i,
|
|
2495
|
-
close: s,
|
|
2496
|
-
toggle: h
|
|
2497
|
-
} = Mr(), l = () => {
|
|
2498
|
-
Ve && (se = se.filter((o) => o !== e), t());
|
|
2499
|
-
}, k = () => K(Vt, he(i, {
|
|
2500
|
-
onClosed: l,
|
|
2501
|
-
"onUpdate:show": h
|
|
2502
|
-
}), null);
|
|
2503
|
-
return V(n, (o) => {
|
|
2504
|
-
i.message = o;
|
|
2505
|
-
}), Re().render = k, {
|
|
2506
|
-
open: r,
|
|
2507
|
-
close: s,
|
|
2508
|
-
message: n
|
|
2509
|
-
};
|
|
2510
|
-
}
|
|
2511
|
-
});
|
|
2512
|
-
return e;
|
|
2513
|
-
}
|
|
2514
|
-
function Wr() {
|
|
2515
|
-
if (!se.length || Ve) {
|
|
2516
|
-
const e = Fr();
|
|
2517
|
-
se.push(e);
|
|
2518
|
-
}
|
|
2519
|
-
return se[se.length - 1];
|
|
2520
|
-
}
|
|
2521
|
-
function _r(e = {}) {
|
|
2522
|
-
if (!Ne)
|
|
2523
|
-
return {};
|
|
2524
|
-
const t = Wr(), n = Ur(e);
|
|
2525
|
-
return t.open(ee({}, vt, Kr.get(n.type || vt.type), n)), t;
|
|
2526
|
-
}
|
|
2527
|
-
const Jr = (e = !0) => {
|
|
2528
|
-
Ve = e;
|
|
2529
|
-
};
|
|
2530
|
-
ue(Vt);
|
|
2531
|
-
Jr();
|
|
2532
|
-
const Q = (e) => {
|
|
2533
|
-
_r(e);
|
|
2534
|
-
};
|
|
2535
|
-
function Yt() {
|
|
2536
|
-
return new Promise((e, t) => {
|
|
2537
|
-
if (window.leadeon)
|
|
2538
|
-
e("leadeon.js加载成功");
|
|
2539
|
-
else {
|
|
2540
|
-
const n = document.createElement("script");
|
|
2541
|
-
n.src = "https://res.app.coc.10086.cn/appother/js/public/leadeon.js", n.type = "text/javascript", n.crossOrigin = "anonymous", n.onload = function() {
|
|
2542
|
-
e("leadeon.js加载成功");
|
|
2543
|
-
}, n.onerror = function() {
|
|
2544
|
-
t("leadeon.js加载失败");
|
|
2545
|
-
}, document.getElementsByTagName("head")[0].appendChild(n);
|
|
2546
|
-
}
|
|
2547
|
-
});
|
|
2548
|
-
}
|
|
2549
|
-
function Qr() {
|
|
2550
|
-
return new Promise((e, t) => {
|
|
2551
|
-
if (window.showCommonShareBox)
|
|
2552
|
-
e("share.js加载成功");
|
|
2553
|
-
else {
|
|
2554
|
-
const n = document.createElement("script");
|
|
2555
|
-
n.src = "https://wap.cq.10086.cn/mapp/activities/act2023/share/js/share.js", n.type = "text/javascript", n.crossOrigin = "anonymous", n.onload = function() {
|
|
2556
|
-
e("share.js加载成功");
|
|
2557
|
-
}, n.onerror = function() {
|
|
2558
|
-
t("share.js加载失败");
|
|
2559
|
-
}, document.getElementsByTagName("head")[0].appendChild(n);
|
|
2560
|
-
}
|
|
2561
|
-
});
|
|
2562
|
-
}
|
|
2563
|
-
const we = {
|
|
2564
|
-
urlToken: {
|
|
2565
|
-
// 来自url中的token, 需要转化为mcToken, 重庆本地和集团名称一样, 默认按重庆本地
|
|
2566
|
-
name: "token",
|
|
2567
|
-
// 名称
|
|
2568
|
-
position: "all",
|
|
2569
|
-
// 位置 search | hash | all
|
|
2570
|
-
type: "cq"
|
|
2571
|
-
// cq | jt
|
|
2572
|
-
},
|
|
2573
|
-
myToken: {
|
|
2574
|
-
// mytoken原商城token, 商城2.0以后需要转化为mctoken
|
|
2575
|
-
name: "mytoken",
|
|
2576
|
-
position: "all"
|
|
2577
|
-
// 位置 search | hash | all
|
|
2578
|
-
},
|
|
2579
|
-
appToken: {
|
|
2580
|
-
sourceId: ""
|
|
2581
|
-
},
|
|
2582
|
-
sessToken: {
|
|
2583
|
-
// 本地存储token, 也是登录判断标识, 各项目可能不一致
|
|
2584
|
-
name: "token",
|
|
2585
|
-
// 名称
|
|
2586
|
-
position: "session"
|
|
2587
|
-
// 位置 session | local
|
|
2588
|
-
},
|
|
2589
|
-
mcToken: {
|
|
2590
|
-
// 商城2.0以后的token, 等同sessToken, 可放url中
|
|
2591
|
-
name: "mctoken",
|
|
2592
|
-
position: "all"
|
|
2593
|
-
// 位置 search | hash | all
|
|
2594
|
-
},
|
|
2595
|
-
host: ""
|
|
2596
|
-
// 接口, 仅支持商城2.0及以上, 集团app内会自动转化
|
|
2597
|
-
};
|
|
2598
|
-
function Rr(e) {
|
|
2599
|
-
return new Promise((t, n) => {
|
|
2600
|
-
leadeon.checkSessionIsvalid({
|
|
2601
|
-
debug: !1,
|
|
2602
|
-
success: function(r) {
|
|
2603
|
-
String(r.status) === "1" && leadeon.getYDRZToken({
|
|
2604
|
-
debug: !1,
|
|
2605
|
-
sourceId: e,
|
|
2606
|
-
success: function(i) {
|
|
2607
|
-
t(i.token);
|
|
2608
|
-
},
|
|
2609
|
-
error: function(i) {
|
|
2610
|
-
n(i);
|
|
2611
|
-
}
|
|
2612
|
-
});
|
|
2613
|
-
},
|
|
2614
|
-
error: function(r) {
|
|
2615
|
-
n(r);
|
|
2616
|
-
}
|
|
2617
|
-
});
|
|
2618
|
-
});
|
|
2619
|
-
}
|
|
2620
|
-
function je(e, t) {
|
|
2621
|
-
if (t === "search")
|
|
2622
|
-
return Fe(e);
|
|
2623
|
-
if (t === "hash")
|
|
2624
|
-
return We(e);
|
|
2625
|
-
if (t === "all")
|
|
2626
|
-
return kn(e);
|
|
2627
|
-
}
|
|
2628
|
-
function lo(e = {}) {
|
|
2629
|
-
return Object.keys(we).forEach((t) => {
|
|
2630
|
-
we[t] instanceof Object ? e[t] = Object.assign(we[t], e[t]) : e[t] = e[t] || we[t];
|
|
2631
|
-
}), new Promise((t, n) => {
|
|
2632
|
-
if (!e.host) {
|
|
2633
|
-
n("缺少host");
|
|
2634
|
-
return;
|
|
2635
|
-
}
|
|
2636
|
-
const r = ((l) => {
|
|
2637
|
-
if (l.position === "local")
|
|
2638
|
-
return localStorage.getItem(l.name);
|
|
2639
|
-
if (l.position === "session")
|
|
2640
|
-
return sessionStorage.getItem(l.name);
|
|
2641
|
-
})(e.sessToken);
|
|
2642
|
-
if (r) {
|
|
2643
|
-
t({
|
|
2644
|
-
token: r,
|
|
2645
|
-
from: "sessToken"
|
|
2646
|
-
});
|
|
2647
|
-
return;
|
|
2648
|
-
}
|
|
2649
|
-
const i = je(e.mcToken.name, e.mcToken.position);
|
|
2650
|
-
if (i) {
|
|
2651
|
-
t({
|
|
2652
|
-
token: i,
|
|
2653
|
-
from: "mcToken"
|
|
2654
|
-
});
|
|
2655
|
-
return;
|
|
2656
|
-
}
|
|
2657
|
-
const s = je(e.urlToken.name, e.urlToken.position);
|
|
2658
|
-
if (s) {
|
|
2659
|
-
ne(
|
|
2660
|
-
`${e.host}/api/user/loginReturnJsonToken`,
|
|
2661
|
-
{
|
|
2662
|
-
from: e.urlToken.type === "jt" ? "JT" : "CQAPP",
|
|
2663
|
-
data: e.urlToken.type === "jt" ? s : JSON.stringify({ ticket: s })
|
|
2664
|
-
}
|
|
2665
|
-
).then((l) => {
|
|
2666
|
-
t({
|
|
2667
|
-
token: l.data,
|
|
2668
|
-
from: "urlToken"
|
|
2669
|
-
});
|
|
2670
|
-
}).catch((l) => {
|
|
2671
|
-
n(l);
|
|
2672
|
-
});
|
|
2673
|
-
return;
|
|
2674
|
-
}
|
|
2675
|
-
const h = je(e.myToken.name, e.myToken.position);
|
|
2676
|
-
if (h) {
|
|
2677
|
-
ne(
|
|
2678
|
-
`${e.host}/api/user/entryFromThirdPartyJson`,
|
|
2679
|
-
{
|
|
2680
|
-
data: h
|
|
2681
|
-
}
|
|
2682
|
-
).then((l) => {
|
|
2683
|
-
t({
|
|
2684
|
-
token: l.data,
|
|
2685
|
-
from: "urlToken"
|
|
2686
|
-
});
|
|
2687
|
-
}).catch((l) => {
|
|
2688
|
-
n(l);
|
|
2689
|
-
});
|
|
2690
|
-
return;
|
|
2691
|
-
}
|
|
2692
|
-
if (zt()) {
|
|
2693
|
-
if (!e.appToken.sourceId) {
|
|
2694
|
-
n("缺少sourceId");
|
|
2695
|
-
return;
|
|
2696
|
-
}
|
|
2697
|
-
Yt().then(() => {
|
|
2698
|
-
Rr(e.appToken.sourceId).then((l) => {
|
|
2699
|
-
ne(
|
|
2700
|
-
`${e.host}/api/user/loginReturnJsonToken`,
|
|
2701
|
-
{
|
|
2702
|
-
from: "JT",
|
|
2703
|
-
data: l
|
|
2704
|
-
}
|
|
2705
|
-
).then((k) => {
|
|
2706
|
-
t({
|
|
2707
|
-
token: k.data,
|
|
2708
|
-
from: "appToken"
|
|
2709
|
-
});
|
|
2710
|
-
}).catch((k) => {
|
|
2711
|
-
n(k);
|
|
2712
|
-
});
|
|
2713
|
-
}).catch((l) => n(l));
|
|
2714
|
-
}).catch((l) => n(l));
|
|
2715
|
-
return;
|
|
2716
|
-
}
|
|
2717
|
-
n("未登录");
|
|
2718
|
-
});
|
|
2719
|
-
}
|
|
2720
|
-
function fo({ title: e, content: t, link: n, imgUrl: r }) {
|
|
2721
|
-
zt() ? Yt().then(() => {
|
|
2722
|
-
window.leadeon.shareMessage({
|
|
2723
|
-
debug: !1,
|
|
2724
|
-
shareChannelArray: ["0", "1", "2", "3", "4", "5", "6", "7"],
|
|
2725
|
-
title: e,
|
|
2726
|
-
content: t,
|
|
2727
|
-
link: n,
|
|
2728
|
-
imgUrl: r,
|
|
2729
|
-
success: function() {
|
|
2730
|
-
},
|
|
2731
|
-
error: function(i) {
|
|
2732
|
-
}
|
|
2733
|
-
});
|
|
2734
|
-
}) : Qr().then(() => {
|
|
2735
|
-
window.showCommonShareBox(
|
|
2736
|
-
[0, 1, 2, 3, 4, 5],
|
|
2737
|
-
e,
|
|
2738
|
-
t,
|
|
2739
|
-
n,
|
|
2740
|
-
r,
|
|
2741
|
-
!0
|
|
2742
|
-
);
|
|
2743
|
-
});
|
|
2744
|
-
}
|
|
2745
|
-
const Zr = "data:image/webp;base64,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", Nr = { class: "login__content" }, Gr = { class: "login__mobile" }, Ir = { class: "login__sms" }, Vr = {
|
|
2746
|
-
key: 0,
|
|
2747
|
-
class: "login__sms-countdown"
|
|
2748
|
-
}, ke = {
|
|
2749
|
-
__name: "Login",
|
|
2750
|
-
props: ["close", "auto", "host", "aesKey"],
|
|
2751
|
-
emits: ["onSend", "onLogin", "onSuccess"],
|
|
2752
|
-
setup(e, { emit: t }) {
|
|
2753
|
-
const n = e, r = t, i = U(""), s = U(""), h = U(!1), l = U(59), k = () => {
|
|
2754
|
-
h.value || (h.value = !0, jt({
|
|
2755
|
-
timer: 59,
|
|
2756
|
-
onTick(p) {
|
|
2757
|
-
l.value = p;
|
|
2758
|
-
}
|
|
2759
|
-
}).then(() => {
|
|
2760
|
-
l.value = 59;
|
|
2761
|
-
}));
|
|
2762
|
-
}, o = () => {
|
|
2763
|
-
if (!i.value) {
|
|
2764
|
-
Q("请输入手机号");
|
|
2765
|
-
return;
|
|
2766
|
-
}
|
|
2767
|
-
if (!Sn(i.value)) {
|
|
2768
|
-
Q("请输入正确的手机号");
|
|
2769
|
-
return;
|
|
2770
|
-
}
|
|
2771
|
-
return !0;
|
|
2772
|
-
}, x = () => {
|
|
2773
|
-
if (!s.value) {
|
|
2774
|
-
Q("请输入验证码");
|
|
2775
|
-
return;
|
|
2776
|
-
}
|
|
2777
|
-
if (!Ht(s.value)) {
|
|
2778
|
-
Q("请输入正确的验证码");
|
|
2779
|
-
return;
|
|
2780
|
-
}
|
|
2781
|
-
return !0;
|
|
2782
|
-
};
|
|
2783
|
-
function d() {
|
|
2784
|
-
if (!n.auto) {
|
|
2785
|
-
r(
|
|
2786
|
-
"onSend",
|
|
2787
|
-
{ mobile: i.value },
|
|
2788
|
-
k
|
|
2789
|
-
);
|
|
2790
|
-
return;
|
|
2791
|
-
}
|
|
2792
|
-
h.value || o() && ne(
|
|
2793
|
-
`${n.host}/api/user/sendSmsUseSingleSignOn`,
|
|
2794
|
-
{
|
|
2795
|
-
encryptMobile: rt(i.value, "yhcqbendiqruanyi", "hex")
|
|
2796
|
-
},
|
|
2797
|
-
{
|
|
2798
|
-
failMsg: !0,
|
|
2799
|
-
loading: !0,
|
|
2800
|
-
errMsg: !0
|
|
2801
|
-
}
|
|
2802
|
-
).then(() => {
|
|
2803
|
-
k(), Q("发送成功");
|
|
2804
|
-
});
|
|
2805
|
-
}
|
|
2806
|
-
function f() {
|
|
2807
|
-
if (!n.auto) {
|
|
2808
|
-
n.close ? r(
|
|
2809
|
-
"onLogin",
|
|
2810
|
-
{ mobile: i.value, sms: s.value },
|
|
2811
|
-
n.close
|
|
2812
|
-
) : r(
|
|
2813
|
-
"onLogin",
|
|
2814
|
-
{ mobile: i.value, sms: s.value }
|
|
2815
|
-
);
|
|
2816
|
-
return;
|
|
2817
|
-
}
|
|
2818
|
-
o() && x() && ne(
|
|
2819
|
-
`${n.host}/api/user/loginUseSingleSignOn`,
|
|
2820
|
-
{
|
|
2821
|
-
encryptMobile: rt(i.value, "yhcqbendiqruanyi", "hex"),
|
|
2822
|
-
code: s.value
|
|
2823
|
-
},
|
|
2824
|
-
{
|
|
2825
|
-
failMsg: !0,
|
|
2826
|
-
loading: !0,
|
|
2827
|
-
errMsg: !0
|
|
2828
|
-
}
|
|
2829
|
-
).then((p) => {
|
|
2830
|
-
const P = p.data || p.respMsg;
|
|
2831
|
-
P ? n.close ? r(
|
|
2832
|
-
"onSuccess",
|
|
2833
|
-
{ token: P, close: n.close }
|
|
2834
|
-
) : r(
|
|
2835
|
-
"onSuccess",
|
|
2836
|
-
{ token: P }
|
|
2837
|
-
) : Q("缺少有效令牌");
|
|
2838
|
-
});
|
|
2839
|
-
}
|
|
2840
|
-
return (p, P) => (W(), I("div", Nr, [
|
|
2841
|
-
F("div", Gr, [
|
|
2842
|
-
pe(F("input", {
|
|
2843
|
-
class: "login__mobile-value",
|
|
2844
|
-
placeholder: "请输入手机号",
|
|
2845
|
-
maxlength: "11",
|
|
2846
|
-
"onUpdate:modelValue": P[0] || (P[0] = (y) => i.value = y)
|
|
2847
|
-
}, null, 512), [
|
|
2848
|
-
[Ue, i.value]
|
|
2849
|
-
])
|
|
2850
|
-
]),
|
|
2851
|
-
F("div", Ir, [
|
|
2852
|
-
pe(F("input", {
|
|
2853
|
-
class: "login__sms-value",
|
|
2854
|
-
placeholder: "请输入验证码",
|
|
2855
|
-
maxlength: "6",
|
|
2856
|
-
"onUpdate:modelValue": P[1] || (P[1] = (y) => s.value = y)
|
|
2857
|
-
}, null, 512), [
|
|
2858
|
-
[Ue, s.value]
|
|
2859
|
-
]),
|
|
2860
|
-
h.value ? (W(), I("span", Vr, "还有" + de(l.value) + "s", 1)) : (W(), I("span", {
|
|
2861
|
-
key: 1,
|
|
2862
|
-
class: "login__sms-btn",
|
|
2863
|
-
onClick: d
|
|
2864
|
-
}, "获取验证码"))
|
|
2865
|
-
]),
|
|
2866
|
-
F("div", {
|
|
2867
|
-
class: "login__btn",
|
|
2868
|
-
onClick: f
|
|
2869
|
-
}, "登录")
|
|
2870
|
-
]));
|
|
2871
|
-
}
|
|
2872
|
-
}, qt = (e, t) => {
|
|
2873
|
-
const n = e.__vccOpts || e;
|
|
2874
|
-
for (const [r, i] of t)
|
|
2875
|
-
n[r] = i;
|
|
2876
|
-
return n;
|
|
2877
|
-
}, Yr = { class: "login-modal" }, qr = {
|
|
2878
|
-
__name: "LoginModal",
|
|
2879
|
-
props: [
|
|
2880
|
-
"auto",
|
|
2881
|
-
"host",
|
|
2882
|
-
"aesKey",
|
|
2883
|
-
"sendSMS",
|
|
2884
|
-
"login",
|
|
2885
|
-
"closeable",
|
|
2886
|
-
"resolve",
|
|
2887
|
-
"reject",
|
|
2888
|
-
"clear"
|
|
2889
|
-
],
|
|
2890
|
-
setup(e) {
|
|
2891
|
-
const t = e, n = U(!0);
|
|
2892
|
-
function r(s) {
|
|
2893
|
-
t.resolve(s);
|
|
2894
|
-
}
|
|
2895
|
-
function i() {
|
|
2896
|
-
n.value = !1, setTimeout(() => {
|
|
2897
|
-
t.clear();
|
|
2898
|
-
}, 500);
|
|
2899
|
-
}
|
|
2900
|
-
return me(() => {
|
|
2901
|
-
if (t.auto) {
|
|
2902
|
-
if (!t.host) {
|
|
2903
|
-
t.reject("缺少host");
|
|
2904
|
-
return;
|
|
2905
|
-
}
|
|
2906
|
-
t.aesKey || t.reject("缺少aesKey");
|
|
2907
|
-
}
|
|
2908
|
-
}), (s, h) => (W(), ie(be(Ie), {
|
|
2909
|
-
show: n.value,
|
|
2910
|
-
"onUpdate:show": h[0] || (h[0] = (l) => n.value = l),
|
|
2911
|
-
round: "",
|
|
2912
|
-
"close-on-click-overlay": !1,
|
|
2913
|
-
position: "center"
|
|
2914
|
-
}, {
|
|
2915
|
-
default: kt(() => [
|
|
2916
|
-
F("div", Yr, [
|
|
2917
|
-
h[1] || (h[1] = F("img", {
|
|
2918
|
-
class: "login-modal__logo",
|
|
2919
|
-
src: Zr
|
|
2920
|
-
}, null, -1)),
|
|
2921
|
-
e.closeable ? (W(), I("span", {
|
|
2922
|
-
key: 0,
|
|
2923
|
-
class: "login-modal__colse",
|
|
2924
|
-
onClick: i
|
|
2925
|
-
}, "×")) : St("", !0),
|
|
2926
|
-
e.auto ? (W(), ie(ke, {
|
|
2927
|
-
key: 1,
|
|
2928
|
-
auto: !0,
|
|
2929
|
-
close: i,
|
|
2930
|
-
host: e.host,
|
|
2931
|
-
aesKey: e.aesKey,
|
|
2932
|
-
onOnSuccess: r
|
|
2933
|
-
}, null, 8, ["host", "aesKey"])) : (W(), ie(ke, {
|
|
2934
|
-
key: 2,
|
|
2935
|
-
close: i,
|
|
2936
|
-
onOnSend: e.sendSMS,
|
|
2937
|
-
onOnLogin: e.login
|
|
2938
|
-
}, null, 8, ["onOnSend", "onOnLogin"]))
|
|
2939
|
-
])
|
|
2940
|
-
]),
|
|
2941
|
-
_: 1
|
|
2942
|
-
}, 8, ["show"]));
|
|
2943
|
-
}
|
|
2944
|
-
}, ht = /* @__PURE__ */ qt(qr, [["__scopeId", "data-v-b29b5494"]]), vo = ({
|
|
2945
|
-
sendSMS: e = () => {
|
|
2946
|
-
},
|
|
2947
|
-
// 发送验证码
|
|
2948
|
-
login: t = () => {
|
|
2949
|
-
},
|
|
2950
|
-
// 登录
|
|
2951
|
-
closeable: n = !1,
|
|
2952
|
-
// 关闭按钮
|
|
2953
|
-
auto: r = !1,
|
|
2954
|
-
// 自动登录
|
|
2955
|
-
host: i = "",
|
|
2956
|
-
// 接口地址
|
|
2957
|
-
aesKey: s = ""
|
|
2958
|
-
// 密钥
|
|
2959
|
-
}) => {
|
|
2960
|
-
const h = () => {
|
|
2961
|
-
ce(null, document.body);
|
|
2962
|
-
};
|
|
2963
|
-
if (r)
|
|
2964
|
-
return new Promise((l, k) => {
|
|
2965
|
-
const o = Be(ht, {
|
|
2966
|
-
host: i,
|
|
2967
|
-
aesKey: s,
|
|
2968
|
-
closeable: n,
|
|
2969
|
-
auto: r,
|
|
2970
|
-
resolve: l,
|
|
2971
|
-
reject: k,
|
|
2972
|
-
clear: h
|
|
2973
|
-
});
|
|
2974
|
-
ce(o, document.body);
|
|
2975
|
-
});
|
|
2976
|
-
{
|
|
2977
|
-
const l = Be(ht, {
|
|
2978
|
-
sendSMS: e,
|
|
2979
|
-
login: t,
|
|
2980
|
-
closeable: n,
|
|
2981
|
-
auto: r,
|
|
2982
|
-
clear: h
|
|
2983
|
-
});
|
|
2984
|
-
ce(l, document.body);
|
|
2985
|
-
}
|
|
2986
|
-
}, Xr = "data:image/webp;base64,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", $r = { class: "login-page" }, eo = {
|
|
2987
|
-
__name: "LoginPage",
|
|
2988
|
-
props: [
|
|
2989
|
-
"auto",
|
|
2990
|
-
"host",
|
|
2991
|
-
"aesKey",
|
|
2992
|
-
"sendSMS",
|
|
2993
|
-
"login",
|
|
2994
|
-
"success"
|
|
2995
|
-
],
|
|
2996
|
-
setup(e) {
|
|
2997
|
-
return (t, n) => (W(), I("div", $r, [
|
|
2998
|
-
n[0] || (n[0] = F("img", {
|
|
2999
|
-
class: "login-page__logo",
|
|
3000
|
-
src: Xr
|
|
3001
|
-
}, null, -1)),
|
|
3002
|
-
n[1] || (n[1] = F("p", { class: "login-page__tips" }, "短信验证码登录", -1)),
|
|
3003
|
-
e.auto ? (W(), ie(ke, {
|
|
3004
|
-
key: 0,
|
|
3005
|
-
auto: !0,
|
|
3006
|
-
host: e.host,
|
|
3007
|
-
aesKey: e.aesKey,
|
|
3008
|
-
onOnSuccess: e.success
|
|
3009
|
-
}, null, 8, ["host", "aesKey", "onOnSuccess"])) : (W(), ie(ke, {
|
|
3010
|
-
key: 1,
|
|
3011
|
-
onOnSend: e.sendSMS,
|
|
3012
|
-
onOnLogin: e.login
|
|
3013
|
-
}, null, 8, ["onOnSend", "onOnLogin"]))
|
|
3014
|
-
]));
|
|
3015
|
-
}
|
|
3016
|
-
}, to = /* @__PURE__ */ qt(eo, [["__scopeId", "data-v-88cefd34"]]), ho = {
|
|
3017
|
-
install(e) {
|
|
3018
|
-
e.component("LoginPage", to);
|
|
3019
|
-
}
|
|
3020
|
-
}, no = { class: "pay-modal__title" }, ro = { class: "pay-modal__field" }, oo = ["value"], ao = { class: "pay-modal__field" }, so = {
|
|
3021
|
-
key: 0,
|
|
3022
|
-
class: "pay-modal__field-countdown"
|
|
3023
|
-
}, pt = {
|
|
3024
|
-
__name: "PayModal",
|
|
3025
|
-
props: [
|
|
3026
|
-
"maskMobile",
|
|
3027
|
-
"info",
|
|
3028
|
-
"title",
|
|
3029
|
-
"showConfirmButton",
|
|
3030
|
-
"showCancelButton",
|
|
3031
|
-
"confirmButtonText",
|
|
3032
|
-
"cancelButtonText",
|
|
3033
|
-
"closeable",
|
|
3034
|
-
"auto",
|
|
3035
|
-
"host",
|
|
3036
|
-
"token",
|
|
3037
|
-
"pid",
|
|
3038
|
-
"goodsList",
|
|
3039
|
-
"sendSMS",
|
|
3040
|
-
"pay",
|
|
3041
|
-
"resolve",
|
|
3042
|
-
"reject",
|
|
3043
|
-
"clear"
|
|
3044
|
-
],
|
|
3045
|
-
setup(e) {
|
|
3046
|
-
const t = e, n = U(!0), r = U(""), i = U(""), s = U(!1), h = U(59), l = () => {
|
|
3047
|
-
n.value = !1, setTimeout(() => {
|
|
3048
|
-
t.clear();
|
|
3049
|
-
}, 500);
|
|
3050
|
-
};
|
|
3051
|
-
me(() => {
|
|
3052
|
-
if (!t.auto) {
|
|
3053
|
-
if (t.host) {
|
|
3054
|
-
t.reject("缺少host");
|
|
3055
|
-
return;
|
|
3056
|
-
}
|
|
3057
|
-
if (t.token) {
|
|
3058
|
-
t.reject("缺少token");
|
|
3059
|
-
return;
|
|
3060
|
-
}
|
|
3061
|
-
if (t.pid) {
|
|
3062
|
-
t.reject("缺少pid");
|
|
3063
|
-
return;
|
|
3064
|
-
}
|
|
3065
|
-
if (t.goodsList) {
|
|
3066
|
-
t.reject("缺少goodsList");
|
|
3067
|
-
return;
|
|
3068
|
-
}
|
|
3069
|
-
}
|
|
3070
|
-
});
|
|
3071
|
-
const k = () => {
|
|
3072
|
-
s.value || (s.value = !0, jt({
|
|
3073
|
-
timer: 59,
|
|
3074
|
-
onTick(d) {
|
|
3075
|
-
h.value = d;
|
|
3076
|
-
}
|
|
3077
|
-
}).then(() => {
|
|
3078
|
-
h.value = 59;
|
|
3079
|
-
}));
|
|
3080
|
-
};
|
|
3081
|
-
function o() {
|
|
3082
|
-
if (console.log("0000"), !t.auto) {
|
|
3083
|
-
t.sendSMS(k);
|
|
3084
|
-
return;
|
|
3085
|
-
}
|
|
3086
|
-
s.value || (i.value = Bn(), ne(
|
|
3087
|
-
`${t.host}/api/order/sendSmsCode?token=${t.token}`,
|
|
3088
|
-
{
|
|
3089
|
-
body: JSON.stringify({
|
|
3090
|
-
pid: t.pid,
|
|
3091
|
-
goodsList: t.goodsList,
|
|
3092
|
-
requestNumber: i.value
|
|
3093
|
-
})
|
|
3094
|
-
},
|
|
3095
|
-
{
|
|
3096
|
-
loading: !0,
|
|
3097
|
-
failMsg: !1,
|
|
3098
|
-
errMsg: !0
|
|
3099
|
-
}
|
|
3100
|
-
).then(
|
|
3101
|
-
() => {
|
|
3102
|
-
Q("发送成功,请注意查收"), k();
|
|
3103
|
-
},
|
|
3104
|
-
(d) => {
|
|
3105
|
-
d.respMsg.includes("用户身份受限") ? Q("当前号码不符合活动参与资格,请使用符合资格的号码参与活动") : Q(d.respMsg);
|
|
3106
|
-
}
|
|
3107
|
-
));
|
|
3108
|
-
}
|
|
3109
|
-
function x() {
|
|
3110
|
-
if (!t.auto) {
|
|
3111
|
-
t.pay({ sms: r.value }, l);
|
|
3112
|
-
return;
|
|
3113
|
-
}
|
|
3114
|
-
if (!r.value) {
|
|
3115
|
-
Q("请输入验证码");
|
|
3116
|
-
return;
|
|
3117
|
-
}
|
|
3118
|
-
if (!Ht(r.value)) {
|
|
3119
|
-
Q("请输入正确的验证码");
|
|
3120
|
-
return;
|
|
3121
|
-
}
|
|
3122
|
-
ne(
|
|
3123
|
-
`${t.host}/api/order/placeOrder?token=${t.token}`,
|
|
3124
|
-
{
|
|
3125
|
-
body: JSON.stringify({
|
|
3126
|
-
pid: t.pid,
|
|
3127
|
-
goodsList: t.goodsList,
|
|
3128
|
-
smsCode: r.value,
|
|
3129
|
-
requestNumber: i.value
|
|
3130
|
-
})
|
|
3131
|
-
},
|
|
3132
|
-
{
|
|
3133
|
-
loading: !0,
|
|
3134
|
-
failMsg: !1,
|
|
3135
|
-
errMsg: !0
|
|
3136
|
-
}
|
|
3137
|
-
).then(
|
|
3138
|
-
(d) => {
|
|
3139
|
-
const f = d.data[0];
|
|
3140
|
-
t.resolve({ orderId: f }), l();
|
|
3141
|
-
},
|
|
3142
|
-
(d) => {
|
|
3143
|
-
d.respMsg.includes("验证码不存在") ? Q("验证码错误") : Q(d.respMsg);
|
|
3144
|
-
}
|
|
3145
|
-
);
|
|
3146
|
-
}
|
|
3147
|
-
return (d, f) => (W(), ie(be(Ie), {
|
|
3148
|
-
show: n.value,
|
|
3149
|
-
"onUpdate:show": f[1] || (f[1] = (p) => n.value = p),
|
|
3150
|
-
round: "",
|
|
3151
|
-
class: "pay-modal",
|
|
3152
|
-
closeable: !1,
|
|
3153
|
-
"close-on-click-overlay": !1,
|
|
3154
|
-
position: "bottom"
|
|
3155
|
-
}, {
|
|
3156
|
-
default: kt(() => [
|
|
3157
|
-
F("div", no, [
|
|
3158
|
-
F("p", null, de(e.title), 1),
|
|
3159
|
-
e.closeable ? (W(), I("span", {
|
|
3160
|
-
key: 0,
|
|
3161
|
-
onClick: l
|
|
3162
|
-
}, "×")) : St("", !0)
|
|
3163
|
-
]),
|
|
3164
|
-
(W(!0), I(Ct, null, nn(e.info, (p) => (W(), I("div", {
|
|
3165
|
-
class: "pay-modal__info",
|
|
3166
|
-
key: p.name + Math.round()
|
|
3167
|
-
}, [
|
|
3168
|
-
F("span", null, de(p.name), 1),
|
|
3169
|
-
F("span", null, de(p.value), 1)
|
|
3170
|
-
]))), 128)),
|
|
3171
|
-
F("div", ro, [
|
|
3172
|
-
F("input", {
|
|
3173
|
-
class: "pay-modal__field-input",
|
|
3174
|
-
type: "text",
|
|
3175
|
-
maxlength: "11",
|
|
3176
|
-
value: e.maskMobile,
|
|
3177
|
-
readonly: "",
|
|
3178
|
-
placeholder: "请输入手机号"
|
|
3179
|
-
}, null, 8, oo)
|
|
3180
|
-
]),
|
|
3181
|
-
F("div", ao, [
|
|
3182
|
-
pe(F("input", {
|
|
3183
|
-
"onUpdate:modelValue": f[0] || (f[0] = (p) => r.value = p),
|
|
3184
|
-
class: "pay-modal__field-input",
|
|
3185
|
-
maxlength: "6",
|
|
3186
|
-
type: "text",
|
|
3187
|
-
placeholder: "请输入验证码"
|
|
3188
|
-
}, null, 512), [
|
|
3189
|
-
[Ue, r.value]
|
|
3190
|
-
]),
|
|
3191
|
-
s.value ? (W(), I("span", so, "还有" + de(h.value) + "s", 1)) : (W(), I("span", {
|
|
3192
|
-
key: 1,
|
|
3193
|
-
class: "pay-modal__field-send",
|
|
3194
|
-
onClick: o
|
|
3195
|
-
}, "获取验证码"))
|
|
3196
|
-
]),
|
|
3197
|
-
F("div", { class: "pay-modal__btns" }, [
|
|
3198
|
-
F("div", {
|
|
3199
|
-
class: "pay-modal__btn--confirm",
|
|
3200
|
-
onClick: x
|
|
3201
|
-
}, "确认下单"),
|
|
3202
|
-
F("div", {
|
|
3203
|
-
class: "pay-modal__btn--cancel",
|
|
3204
|
-
onClick: l
|
|
3205
|
-
}, "我在想想")
|
|
3206
|
-
])
|
|
3207
|
-
]),
|
|
3208
|
-
_: 1
|
|
3209
|
-
}, 8, ["show"]));
|
|
3210
|
-
}
|
|
3211
|
-
}, po = ({
|
|
3212
|
-
// 必填
|
|
3213
|
-
maskMobile: e = "",
|
|
3214
|
-
info: t = [],
|
|
3215
|
-
// 可选
|
|
3216
|
-
title: n = "订购确认",
|
|
3217
|
-
showConfirmButton: r = !0,
|
|
3218
|
-
showCancelButton: i = !0,
|
|
3219
|
-
confirmButtonText: s = "确认下单",
|
|
3220
|
-
cancelButtonText: h = "我再想想",
|
|
3221
|
-
closeable: l = !1,
|
|
3222
|
-
auto: k = !1,
|
|
3223
|
-
// 手动
|
|
3224
|
-
sendSMS: o = () => {
|
|
3225
|
-
},
|
|
3226
|
-
pay: x = () => {
|
|
3227
|
-
},
|
|
3228
|
-
// 自动
|
|
3229
|
-
host: d = "",
|
|
3230
|
-
token: f = "",
|
|
3231
|
-
pid: p = "",
|
|
3232
|
-
goodsList: P = null
|
|
3233
|
-
}) => {
|
|
3234
|
-
const y = () => {
|
|
3235
|
-
ce(null, document.body);
|
|
3236
|
-
};
|
|
3237
|
-
if (k)
|
|
3238
|
-
return new Promise((E, z) => {
|
|
3239
|
-
const u = Be(pt, {
|
|
3240
|
-
maskMobile: e,
|
|
3241
|
-
info: t,
|
|
3242
|
-
title: n,
|
|
3243
|
-
showConfirmButton: r,
|
|
3244
|
-
showCancelButton: i,
|
|
3245
|
-
confirmButtonText: s,
|
|
3246
|
-
cancelButtonText: h,
|
|
3247
|
-
closeable: l,
|
|
3248
|
-
auto: k,
|
|
3249
|
-
host: d,
|
|
3250
|
-
token: f,
|
|
3251
|
-
pid: p,
|
|
3252
|
-
goodsList: P,
|
|
3253
|
-
resolve: E,
|
|
3254
|
-
reject: z,
|
|
3255
|
-
clear: y
|
|
3256
|
-
});
|
|
3257
|
-
ce(u, document.body);
|
|
3258
|
-
});
|
|
3259
|
-
{
|
|
3260
|
-
const E = Be(pt, {
|
|
3261
|
-
maskMobile: e,
|
|
3262
|
-
info: t,
|
|
3263
|
-
title: n,
|
|
3264
|
-
showConfirmButton: r,
|
|
3265
|
-
showCancelButton: i,
|
|
3266
|
-
confirmButtonText: s,
|
|
3267
|
-
cancelButtonText: h,
|
|
3268
|
-
closeable: l,
|
|
3269
|
-
auto: k,
|
|
3270
|
-
sendSMS: o,
|
|
3271
|
-
pay: x,
|
|
3272
|
-
clear: y
|
|
3273
|
-
});
|
|
3274
|
-
ce(E, document.body);
|
|
3275
|
-
}
|
|
3276
|
-
};
|
|
3277
|
-
let Ke = null;
|
|
3278
|
-
class io {
|
|
3279
|
-
constructor(t = {}) {
|
|
3280
|
-
if (Ke)
|
|
3281
|
-
return Ke;
|
|
3282
|
-
window.gdp = window.gdp || function() {
|
|
3283
|
-
(window.gdp.q = window.gdp.q || []).push(arguments);
|
|
3284
|
-
}, this.options = Object.assign({
|
|
3285
|
-
scriptName: "https://res.coc.10086.cn/res/res1/chama-h5sdk/gdp-full-3.8.6.js",
|
|
3286
|
-
generalProps: {}
|
|
3287
|
-
}, t), this.init(), Ke = this;
|
|
3288
|
-
}
|
|
3289
|
-
init() {
|
|
3290
|
-
if (!this.options.generalProps.WT_cid) throw new Error("缺少WT_cid");
|
|
3291
|
-
if (!this.options.generalProps.WT_clientID) throw new Error("缺少WT_clientID");
|
|
3292
|
-
if (!this.options.generalProps.WT_channelid) throw new Error("WT_channelid");
|
|
3293
|
-
const t = document.createElement("script");
|
|
3294
|
-
t.src = this.options.scriptName, t.type = "text/javascript", t.async = !0, t.onload = function() {
|
|
3295
|
-
}, document.getElementsByTagName("head")[0].appendChild(t);
|
|
3296
|
-
const n = sessionStorage.getItem("debug") === "true";
|
|
3297
|
-
window._gr_ignore_local_rule = !!n, window.gdp("init", "9e4e5fa7244c6b6e", "b23efeab1461679b", {
|
|
3298
|
-
host: "jiguang.coc.10086.cn",
|
|
3299
|
-
autotrack: !!n,
|
|
3300
|
-
// 关闭无埋点事件发送,生产环境设置为关闭。
|
|
3301
|
-
compress: !n,
|
|
3302
|
-
// 开启数据压缩模式,整体报文加密,生产环境设置为开启。
|
|
3303
|
-
hashtag: !n,
|
|
3304
|
-
// 开启页面URL混淆采集,生产环境设置为开启。
|
|
3305
|
-
scheme: "https"
|
|
3306
|
-
});
|
|
3307
|
-
const r = Object.assign({
|
|
3308
|
-
WT_cid: this.options.channelid,
|
|
3309
|
-
WT_clientID: this.options.channelid,
|
|
3310
|
-
WT_loginProvince: "230",
|
|
3311
|
-
// 登录号码归属地省编码
|
|
3312
|
-
WT_loginCity: "023",
|
|
3313
|
-
// 登录号码归属地市编码
|
|
3314
|
-
WT_prov: "230",
|
|
3315
|
-
// 用户登陆省份和定位省份取最新值
|
|
3316
|
-
WT_city: "023",
|
|
3317
|
-
// 用户登陆地市和定位地市取最新值
|
|
3318
|
-
XY_member: "游客",
|
|
3319
|
-
// 超市会员等级
|
|
3320
|
-
XY_login_status: "0",
|
|
3321
|
-
// 登录状态
|
|
3322
|
-
WT_mc_ev: "210315_QYCS_230",
|
|
3323
|
-
// 营销活动码
|
|
3324
|
-
XY_environment: "production",
|
|
3325
|
-
// 环境
|
|
3326
|
-
WT_channelid: this.options.channelid
|
|
3327
|
-
// 事件编码
|
|
3328
|
-
}, this.options.generalProps);
|
|
3329
|
-
window.gdp("setGeneralProps", r);
|
|
3330
|
-
}
|
|
3331
|
-
}
|
|
3332
|
-
const mo = {
|
|
3333
|
-
init(e) {
|
|
3334
|
-
new io(e);
|
|
3335
|
-
}
|
|
3336
|
-
}, go = {
|
|
3337
|
-
install() {
|
|
3338
|
-
localStorage.getItem("debug") !== "true" && (console.log = () => {
|
|
3339
|
-
});
|
|
3340
|
-
}
|
|
3341
|
-
};
|
|
3342
|
-
export {
|
|
3343
|
-
go as Debug,
|
|
3344
|
-
vo as LoginModal,
|
|
3345
|
-
ho as LoginPage,
|
|
3346
|
-
po as PayModal,
|
|
3347
|
-
lo as converToken,
|
|
3348
|
-
fo as share,
|
|
3349
|
-
mo as trackEvent
|
|
3350
|
-
};
|