{"version":3,"sources":["webpack:///../node_modules/core-js/modules/es.array.includes.js","webpack:///../node_modules/core-js/modules/es.object.entries.js","webpack:///../node_modules/@babel/runtime/helpers/inherits.js","webpack:///../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///../libs/login.ts","webpack:///../components/common/toast/index.scss?70ab","webpack:///../components/common/toast/index.scss","webpack:///../node_modules/core-js/modules/es.string.includes.js","webpack:///../components/common/toast/index.ts","webpack:///../libs/open-link.ts","webpack:///../node_modules/core-js/internals/string-repeat.js","webpack:///../node_modules/core-js/internals/this-number-value.js","webpack:///../node_modules/redux-thunk/es/index.js","webpack:///../node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///../node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///../node_modules/core-js/internals/not-a-regexp.js","webpack:///../node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///../node_modules/symbol-observable/es/ponyfill.js","webpack:///../node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///../node_modules/core-js/modules/es.array.every.js","webpack:///../node_modules/webpack/buildin/module.js","webpack:///../components/pay/reducer.ts","webpack:///../node_modules/core-js/modules/es.string.trim.js","webpack:///../node_modules/webpack/buildin/harmony-module.js","webpack:///../utils/type-check.tsx","webpack:///../node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///../node_modules/core-js/internals/string-trim-forced.js","webpack:///../node_modules/es6-promise/dist/es6-promise.js","webpack:///../node_modules/core-js/modules/es.reflect.construct.js","webpack:///../services/v2/order/const.ts","webpack:///../node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///../node_modules/core-js/internals/function-bind.js","webpack:///../node_modules/symbol-observable/es/index.js","webpack:///../services/login.ts","webpack:///../utils/time.ts","webpack:///../node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///../actions/api.ts","webpack:///../libs/utils.ts","webpack:///../node_modules/core-js/modules/es.promise.finally.js","webpack:///../node_modules/@babel/runtime/helpers/createClass.js","webpack:///../utils/slardar.ts","webpack:///../node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///../node_modules/core-js/modules/es.number.to-fixed.js","webpack:///../node_modules/core-js/internals/object-to-array.js"],"names":["$","$includes","includes","addToUnscopables","target","proto","forced","arrayMethodUsesToLength","ACCESSORS","1","el","this","arguments","length","undefined","$entries","entries","stat","O","setPrototypeOf","module","exports","subClass","superClass","TypeError","prototype","Object","create","constructor","value","writable","configurable","_typeof","assertThisInitialized","self","call","allNeedLogin","env","isInToutiaoProduct","isInHotsoon","isOutLogin","checkAndLogin","loginParams","Promise","resolve","reject","isInSuper","st","isLogin","then","res","login","isIOS","setTimeout","catch","err","appName","isInWechat","window","ToutiaoJSBridge","log","url","location","href","ua","navigator","userAgent","appInfo","type","bridge","supports","timeout","is_login","Number","code","e","Error","outLogin","reslove","ret","args","mobile_title","go_mobile","with_weixin","listen","content","i","options","transform","locals","push","notARegExp","requireObjectCoercible","correctIsRegExpLogic","searchString","String","indexOf","notification","timerId","createNotification","style","document","createElement","classList","add","body","appendChild","toast","duration","remove","innerText","lock","openLink","config","link","isSchema","open","openUrl","aftersaleOpenLink","control","test","PAGE_ORIGIN","withSuffix","getSuffix","qs","stringify","hide_h5_title","status_font_dark","hide_nav_bar","loading_bgcolor","status_bar_color","transLink","webviewParams","hide_back_button","hide_back_close","hide_progress_bar","bounce_disable","disable_bounces","disable_bounce","hide_bar","force_wkwebview","blackStatusBar","color","isInToutiao","isInToutiaoLite","isInVideo","isInAweme","getColorStatusBar","isInMobile","hideBar","closeAndOpen","schema","replace","reactId","openSchema","nativeHref","getExistParamInPath","paramsPath","encode","index","len","encodeURIComponent","innerParamsHandler","nativeReplace","newUrl","baseUrl","data","origin_type","urlQuery","origin_id","new_source_type","new_origin_type","area_type","page_type","new_source_id","area_id","page_id","source_type","source_id","entrance_info","come_from","buyin_track","urlPassOn","forEach","param","baseParams","parse","split","key","hasOwnProperty","filter","reduce","search","arr","getParam","toInteger","repeat","count","str","result","n","Infinity","RangeError","classof","createThunkMiddleware","extraArgument","_ref","dispatch","getState","next","action","thunk","withExtraArgument","iter","Symbol","iterator","Array","from","arrayLikeToArray","isArray","isRegExp","it","MATCH","wellKnownSymbol","METHOD_NAME","regexp","f","symbolObservablePonyfill","root","observable","_setPrototypeOf","o","p","__proto__","$every","every","arrayMethodIsStrict","STRICT_METHOD","USES_TO_LENGTH","callbackfn","webpackPolyfill","deprecate","paths","children","defineProperty","enumerable","get","l","PayStatus","PayType","GET_PAY_CONFIG","SUCCESS","FAILURE","REQUEST","GET_ABTEST_INFO","STOP_CHECK_QUEUE","START_CHECK_QUEUE","START_REQUEST_TOKEN","CHECK_QUEUE","PAY_STATUS","CREATE_ORDER","PAY_ORDER","CHECK_PAY_RESULT","DIRECT_PAY","SET_PAY_FAIL_MODAL","SET_RECENT_TOASTED","QueueStatus","isAndroid","getSourceInfo","b_type","bType","query","env_type","activity_id","extra","JSON","alkey","entrance_params","decodeURIComponent","getPayConfig","productId","orderId","shopIds","isOnlineOrder","defaultPayType","enqueueAction","queueCount","pay","actionMap","transferStatus","payStatus","GettingConfig","info","aid","apiActionWrapper","API_KEN","params","order_id","product_ids","join","is_online_order","default_pay_type","shop_ids","setPayMethod","method","payload","VALID_STATUS_TRANSITION","Init","Checking","Ready","PreCreatingOrder","CreatingOrder","GettingPayParams","OrderFail","Success","Paying","Queue","WaitingToken","Fail","current","valid","setPayStatus","console","warn","status","setPayParams","setFailure","setPayAmount","amount","setPayResult","setConfigParams","createOnlineOrder","a","getClientParams","postParams","postUrl","API_EC","isBatchOrder","isVirtual","post","can_queue","createCodOrder","checkQueue","id","payType","requestToken","getPayParams","netType","device_platform","device_type","ac","createOrder","checkPayResult","payOrder","total_amount","setDisableCod","disable","setQueueStatus","setQueueTips","text","initState","needOpen","failure","payResult","out_product_id","product_platform","final_status","product_id","shouldDisableCod","codDisabled","isCodPrevisouslySelected","directPay","getConfigParams","showPayFailModal","recentToasted","abInfo","loaded","queueStatus","IDLE","queueTips","loading","needSplitOrder","state","setPayMethodHandler","assign","orderIds","payParams","payMethodsList","computePaymethodsState","payAmount","hidePayRecommend","temai_ui","hide_pay_recommend","chosenPayMethod","toString","pop","find","paymethod","select","getPayConfigFailHandler","statePayMethodsList","codPayMethod","m","support","map","getAbtestInfo","$trim","trim","forcedStringTrimMethod","originalModule","isObject","obj","isString","ReferenceError","fails","whitespaces","name","factory","isFunction","x","vertxNext","customSchedulerFn","asap","callback","arg","queue","flush","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","channel","iterations","observer","node","onFulfillment","onRejection","parent","child","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","object","promise","nextTick","createTextNode","observe","characterData","port1","onmessage","port2","postMessage","vertx","Function","require","runOnLoop","runOnContext","attemptVertx","Math","random","substring","handleMaybeThenable","maybeThenable","then$$1","thenable","fulfill","reason","handleOwnThenable","sealed","error","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","Enumerator","Constructor","input","_instanceConstructor","_remaining","_enumerate","_eachEntry","entry","c","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","enumerator","resolver","needsResolver","initializePromise","needsNew","finally","all","race","_","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","polyfill","local","global","P","promiseToString","cast","getBuiltIn","aFunction","anObject","bind","nativeConstruct","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","sham","construct","Target","newTarget","$args","apply","instance","ActionClass","ActionType","CANCEL_ORDER","URGE_ORDER","PAY","APPLY_REFUND","CHECKOUT_REFUND","RETURN_GOODS_INFO","CONFIRM_DELIVERY","CHECKOUT_RETURN_GOODS","CANCEL_RETURN_GOODS","CHECKOUT_LOGISTICS","CHECKOUT_COMMENT","PUBLISH_COMMENT","COMMENT_WITH_COUPON","APPEND_COMMENT","GO_TO_CLASS","SHARE_ORDER","APPLY_ARBITRATE","APPLY_AFTERSALE","CANCEL_REFUND","CANCEL_ORDER_REFUND","DELETE","EDIT_ADDRESS","CHECK_VOUCHER","CHECKOUT_CERTIFICATE","FORBIDDEN_COMMENDERS","FROM_ORDER_LIST_STR","DOUYIN_ORDER_COLLECT","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","slice","factories","C","argsLength","list","that","fn","partArgs","boundFunction","concat","dismissModal","removeEventListener","resolveHandler","rejectHandler","account","done","Account","modal","agreementHtml","addEventListener","urlOrigin","loginData","sessionKey","session_key","API_ORIGIN","sess","API_USER","fixDateStr","date","formatTimeStr","num","wrapper","success","apiPromise","rejectMark","getAction","message","msg","apiError","did","device_id","Slardar","tags","genApiActions","PAGE_ERROR_TYPE","checkResponse","response","createPageError","calcPX","px","offsetWidth","genGoodsDetailSchema","request_additions","sec_author_id","enter_from","source_page","promotion_id","kol_id","author_id","item_id","meta_params","encoder","safeParse","defaultVal","camelCaseKey","mapKeys","_value","camelCase","IS_PURE","NativePromise","speciesConstructor","promiseResolve","redefine","real","onFinally","_defineProperties","props","descriptor","protoProps","staticProps","extendSlardarParamsWithAppInfo","appVersion","counter","eventName","inc","metrics","event_name","event","_getPrototypeOf","getPrototypeOf","thisNumberValue","nativeToFixed","toFixed","floor","pow","acc","fractionDigits","z","j","k","number","fractDigits","sign","multiply","c2","divide","dataToString","s","t","x2","DESCRIPTORS","objectKeys","toIndexedObject","propertyIsEnumerable","createMethod","TO_ENTRIES","keys","values"],"mappings":"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","file":"staticV3/js/269b129e.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","import bridge from './bridge';\nimport env from './env';\nimport { outLogin } from 'services/login';\nimport { log } from 'src/utils/slardar';\n\nexport const supportLogin = env.isInToutiaoProduct;\nexport const allNeedLogin = env.isInHotsoon;\n\nlet isOutLogin = false;\nexport function checkAndLogin(loginParams?: Object): Promise {\n return new Promise((resolve, reject) => {\n // 不做强制登录的端\n if (env.isInSuper || process.env.NODE_ENV === 'development') {\n return resolve({ st: 10001 });\n }\n isLogin()\n .then((res) => {\n if (!res) return login(loginParams);\n return resolve({ st: 10001 }); // 本来就已经登录了的情况\n })\n .then(() => {\n return isLogin();\n })\n .then((res: any) => {\n if (res) {\n if (!env.isIOS) {\n resolve({ st: 0 });\n }\n setTimeout(() => {\n resolve({ st: 0 });\n }, 800);\n } else {\n resolve({ st: -1 });\n }\n })\n .catch((err: any) => {\n reject(err);\n });\n });\n}\nexport function isLogin() {\n return new Promise((resolve, reject) => {\n if (env.appName === 'UNKNOWN' || env.isInWechat) {\n window.ToutiaoJSBridge &&\n window.ToutiaoJSBridge.call('appInfo', {}, (res: any) => {\n log(\n {\n url: window.location.href,\n ua: window.navigator.userAgent,\n appInfo: res\n },\n { type: 'web login' }\n );\n });\n\n return resolve(isOutLogin);\n }\n if (bridge.supports('is_login')) {\n return bridge\n .call('is_login', {}, { timeout: 1000 })\n .then((res: any) => {\n if (env.isIOS) {\n resolve(res.is_login);\n } else {\n resolve(Number(res.code) === 1);\n }\n })\n .catch((e) => {\n reject(e);\n });\n }\n if (bridge.supports('userInfo')) {\n return bridge\n .call('userInfo', {}, { timeout: 1000 })\n .then((res: any) => {\n resolve(res.code === 1 && res.is_login);\n })\n .catch((e) => {\n reject(e);\n });\n }\n return Promise.reject(new Error('not supports'));\n });\n}\n\nexport function login(loginParams?: Object) {\n if (env.appName === 'UNKNOWN' || env.isInWechat) {\n return outLogin().then(() => {\n isOutLogin = true;\n });\n }\n if (env.isInSuper) {\n return new Promise((reslove, reject) => {\n bridge.call('BDSWebApp.login', loginParams).then((res: any) => {\n if (res.ret === 'JSB_FAILED') {\n reject(new Error('登录失败'));\n } else {\n reslove();\n }\n });\n });\n }\n if (bridge.supports('login')) {\n return bridge.call('login', loginParams);\n }\n if (bridge.supports('openHotsoon')) {\n return new Promise((reslove, reject) => {\n bridge\n .call('openHotsoon', {\n type: 'login_panel',\n args: {\n mobile_title: '请登录',\n go_mobile: true,\n with_weixin: true\n }\n })\n .then((res: any) => {\n if (res.code !== 1) reject(new Error('唤起登录失败'));\n })\n .catch((err) => {\n reject(err);\n });\n bridge.listen('loginStatus', (res: any) => {\n if (Number(res.args.code) === 1) {\n return reslove(res.args);\n }\n reject(res.args);\n });\n });\n }\n return Promise.reject(new Error('not supports'));\n}\n","\nvar content = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".toast{position:fixed;background:rgba(0,0,0,0.85);color:#fff;z-index:1100;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:0.05333rem;padding:0.32rem 0.53333rem;font-size:0.34667rem;font-weight:400;line-height:0.42667rem;max-width:4.8rem;text-align:center;top:50%;left:50%;-webkit-transform:translate3d(-50%, -50%, 0);-moz-transform:translate3d(-50%, -50%, 0);transform:translate3d(-50%, -50%, 0);white-space:normal;word-break:break-all;font-family:PingFangSC-Regular, PingFangSC}.toast--hide{display:none}\\n\", \"\"]);\n\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import './index.scss';\n\nlet notification: HTMLDivElement;\n\nconst createNotification = (style?: string) => {\n const el = document.createElement('div');\n el.classList.add('toast');\n if (style) {\n el.classList.add(style);\n }\n document.body.appendChild(el);\n return el;\n};\n\nlet timerId: number | null;\n\nexport default function toast(content?: string, duration: number = 1000, style?: string) {\n // use single instance\n if (!notification) {\n notification = createNotification(style);\n }\n\n if (!content) {\n notification.classList.add('toast--hide');\n timerId = null;\n return;\n }\n\n notification.classList.remove('toast--hide');\n notification.innerText = content;\n if (!timerId) {\n timerId = window.setTimeout(() => {\n notification.classList.add('toast--hide');\n timerId = null;\n }, duration);\n }\n}\n","import * as link from '@byted/ecom-mobile-lib/lib/core/link';\nimport urlQuery from 'libs/query';\nimport { PAGE_ORIGIN } from 'config/host';\nimport qs from 'qs';\nimport env from './env';\nimport bridge from 'libs/bridge';\nimport { urlPassOn } from 'config/event';\n\ntype keyProps = string | number;\nlet lock = false;\ninterface ILinkConfigExt extends link.ILinkConfig {\n replace?: boolean;\n control?: boolean;\n blackStatusBar?: boolean;\n closeAndOpen?: boolean;\n withSuffix?: boolean;\n}\n\nexport const isSchema = (url: string) => {\n return link.isToutiaoLink(url) || link.isAwemeLink(url) || link.isSuperLink(url);\n};\n\n/* eslint-disable complexity */\nexport default function openLink(\n url: string,\n config?: ILinkConfigExt,\n options?: Record\n) {\n if (lock) {\n return;\n }\n // schema直接跳转\n if (isSchema(url)) return open(url, config);\n\n let openUrl = url;\n const aftersaleOpenLink = config && config.control;\n if (!/^https?:\\/\\//i.test(url)) {\n openUrl = PAGE_ORIGIN + url;\n }\n if (config && config.withSuffix !== false) {\n openUrl += `${openUrl.indexOf('?') !== -1 ? '&' : '?'}` + getSuffix(options, openUrl);\n }\n // hide_h5_title=0 显示开启h5 title为了向前兼容端上没有这个query时不展示前端title\n // 这部分需要拼接在h5链接上被encode,为抖音设置\n if (aftersaleOpenLink) {\n const urlParams = `&${qs.stringify({\n hide_h5_title: env.isInSuper ? 1 : 0,\n status_font_dark: 1,\n hide_nav_bar: 1,\n loading_bgcolor: 'ffffff',\n status_bar_color: 'ffffff'\n })}`;\n openUrl += urlParams;\n }\n let transLink = link.transLink(openUrl, config);\n\n if (aftersaleOpenLink) {\n const webviewParams = `&${qs.stringify({\n hide_back_button: 1,\n hide_back_close: 1,\n hide_progress_bar: 1,\n // 各个端的schema不统一,too south...\n bounce_disable: 1,\n disable_bounces: 1,\n disable_bounce: 1,\n hide_bar: env.isInSuper ? 0 : 1,\n force_wkwebview: 1\n })}`;\n transLink += webviewParams;\n }\n if (config && config.blackStatusBar) {\n transLink += getColorStatusBar('000000');\n }\n if (env.isInToutiao) {\n transLink += '&hide_search=1';\n }\n if (env.isInSuper) {\n transLink += '&need_safe_area=1';\n }\n // 如果是懂车帝环境,因为无法隐藏返回按钮,所以不隐藏头部了\n if (env.isInMobile) {\n transLink = link.transLink(openUrl, { ...(config || {}), hideBar: false });\n }\n if (config && config.closeAndOpen && bridge.supports('closeAndOpen')) {\n bridge\n .call(\n 'closeAndOpen',\n {\n schema: transLink\n },\n { timeout: 500 }\n )\n .then(\n () => {},\n () => {\n open(transLink, config);\n }\n );\n } else {\n open(transLink, config);\n }\n\n lock = true;\n setTimeout(() => {\n lock = false;\n }, 100);\n}\nfunction getColorStatusBar(color = '000000') {\n if (env.isInToutiao || env.isInToutiaoLite || (env.isInVideo && env.isIOS))\n return '&hide_status_bar=1&status_bar_color=white';\n if (env.isInAweme || env.isInVideo || env.isInHotsoon) return '&status_bar_color=' + color;\n // if (env.isInSuper) return '&hide_bar=1&hide_status_bar=1';\n return '';\n}\nexport function open(link: string, config?: ILinkConfigExt) {\n if (config && config.replace) {\n window.location.replace(link);\n } else {\n // 抖音通过jsb打开\n if (env.isInAweme) {\n return bridge\n .call('openSchema', { reactId: window.location.href, schema: link })\n .then((res: any) => {\n // TODO: 此处会误判为安卓调用失败\n if (res && res.ret === 'JSB_SUCCESS') return;\n throw new Error('JSB_FAIL');\n })\n .catch(() => {\n window.location.href = link;\n });\n }\n window.location.href = link;\n }\n}\n\n// 打开schema,对JSB调用错误不做兼容处理\nexport function openSchema(link: string, config?: ILinkConfigExt) {\n if (config && config.replace) {\n window.location.replace(link);\n } else {\n // 抖音通过jsb打开\n if (env.isInAweme) {\n bridge.call('openSchema', { reactId: window.location.href, schema: link });\n } else {\n window.location.href = link;\n }\n }\n}\n\nexport function nativeHref(url: string, options?: Record) {\n let openUrl = url;\n if (!/^https?:\\/\\//i.test(url)) {\n openUrl = PAGE_ORIGIN + url;\n }\n\n openUrl += `${openUrl.indexOf('?') !== -1 ? '&' : '?'}` + getSuffix(options);\n window.location.href = openUrl;\n}\n\n/* eslint-disable no-undefined, no-param-reassign */\nfunction getParam(data: any) {\n if (!data) {\n return '';\n }\n\n return Object.entries(data)\n .filter(([_key, value]) => value !== undefined)\n .reduce(\n (search, [key, value], i, arr) =>\n search + key + '=' + value + (i === arr.length - 1 ? '' : '&'),\n ''\n );\n}\n\nfunction getExistParamInPath(paramsPath: keyProps[], encode: boolean = false) {\n for (let index = 0, len = paramsPath.length; index < len; index++) {\n if (paramsPath[index] !== undefined)\n return encode ? encodeURIComponent(String(paramsPath[index])) : paramsPath[index];\n }\n return undefined;\n}\n\nfunction innerParamsHandler(url: string, options: any) {\n if (typeof options !== 'object') return url;\n if (!/http|https|sslocal/i.test(url)) url = PAGE_ORIGIN + url;\n if (/http[s]?/i.test(url) && url.indexOf('?') === -1) {\n url += '?';\n } else {\n url += '&';\n }\n let query = getSuffix(options);\n return url + query;\n}\n\nexport function nativeReplace(url: string, options = {}) {\n if (!/^http|https|sslocal|snssdk/i.test(url)) url = PAGE_ORIGIN + url;\n\n const newUrl = innerParamsHandler(url, options);\n location.replace(newUrl);\n}\nexport function getSuffix(options?: Record, baseUrl?: string) {\n const data = Object.create(null) as Record;\n if (typeof options !== 'object') {\n options = {};\n }\n\n data.origin_type = getExistParamInPath([options.origin_type, urlQuery.origin_type, 0]);\n data.origin_id = getExistParamInPath([options.origin_id, urlQuery.origin_id, 0]);\n data.new_source_type = getExistParamInPath([\n options.new_origin_type,\n options.area_type,\n urlQuery.new_source_type,\n (window as any).page_type,\n 0\n ]);\n data.new_source_id = getExistParamInPath([\n options.new_source_id,\n options.area_id,\n (window as any).page_id,\n 0\n ]);\n data.source_type = getExistParamInPath([\n options.source_type,\n options.area_type,\n urlQuery.source_type,\n (window as any).page_type,\n 0\n ]);\n data.source_id = getExistParamInPath([\n options.source_id,\n options.area_id,\n urlQuery.source_id,\n (window as any).page_id,\n 0\n ]);\n data.entrance_info = getExistParamInPath([options.entrance_info, urlQuery.entrance_info], true);\n data.come_from = getExistParamInPath([options.come_from, urlQuery.come_from], true);\n data.buyin_track = getExistParamInPath([urlQuery.buyin_track]);\n urlPassOn.forEach((param) => {\n data[param] = getExistParamInPath([options![param], urlQuery[param]]);\n });\n const baseParams = baseUrl ? qs.parse(baseUrl.split('?')[1] || '') : {};\n for (const key in baseParams) {\n if (baseParams.hasOwnProperty(key)) {\n delete data[key];\n }\n }\n return getParam(data);\n}\n/* eslint-enable no-undefined, no-param-reassign */\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import { apiActionWrapper, ApiResult } from 'actions/api';\nimport { ApiError } from 'types/api-error';\nimport { get, post } from 'libs/request';\nimport { AnyAction, Action, Dispatch } from 'redux';\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\nimport env from 'libs/env';\nimport query from 'libs/query';\nimport bridge from 'libs/bridge';\nimport { API_EC, API_KEN } from 'config/host';\nimport Cookie from 'js-cookie';\nimport { AxiosRequestConfig } from 'axios';\nimport { IAppInfoExt } from 'src/types/bridge';\n\nexport const GET_PAY_CONFIG: ApiAction = {\n SUCCESS: 'GET_PAY_CONFIG_SUCCESS',\n FAILURE: 'GET_PAY_CONFIG_FAILURE',\n REQUEST: 'GET_PAY_CONFIG_REQUEST'\n};\n\nexport const GET_ABTEST_INFO = {\n SUCCESS: 'GET_ABTEST_INFO_SUCCESS',\n REQUEST: 'GET_ABTEST_INFO_REQUEST',\n FAILURE: 'GET_ABTEST_INFO_FAILURE'\n};\n\nexport const STOP_CHECK_QUEUE = 'STOP_CHECK_QUEUE';\nexport const START_CHECK_QUEUE = 'START_CHECK_QUEUE';\nexport const START_REQUEST_TOKEN = 'START_REQUEST_TOKEN';\nexport const CHECK_QUEUE = 'CHECK_QUEUE';\nexport const SET_PAY_METHOD = 'SET_PAY_METHOD';\nexport const PAY_STATUS = 'PAY_STATUS';\nconst SET_PAY_PARAMS = 'SET_PAY_PARAMS';\nconst SET_FAILURE = 'SET_FAILURE';\nexport const SET_PAY_METHOD_LIST = 'SET_PAY_METHOD_LIST';\nexport const CREATE_ORDER = 'CREATE_ORDER';\nexport const PAY_ORDER = 'PAY_ORDER';\nexport const CHECK_PAY_RESULT = 'CHECK_PAY_RESULT';\nexport const SET_PAY_RESULT = 'SET_PAY_RESULT';\nconst DISABLE_COD = 'DISABLE_COD';\nexport const DIRECT_PAY = 'DIRECT_PAY';\nconst SET_CONFIG_PARAMS = 'SET_CONFIG_PARAMS';\nconst ENQUEUE_ACTION = 'ENQUEUE_ACTION';\nconst SET_PAY_AMOUNT = 'SET_PAY_AMOUNT';\nexport const PAY_TIMEOUT = 'PAY_TIMEOUT';\nexport const SET_PAY_FAIL_MODAL = 'SET_PAY_FAIL_MODAL';\nexport const SET_RECENT_TOASTED = 'SET_RECENT_TOASTED';\nexport const SET_QUEUE_STATUS = 'SET_QUEUE_STATUS';\nexport const SET_QUEUE_TIPS = 'SET_QUEUE_TIPS';\nexport interface AddressIdNamePair {\n id: string;\n name: string;\n}\n\nexport interface CouponInfo {\n coupon_id: number;\n coupon_meta_id: string;\n}\n\nexport interface OrderFormWithExtra {\n postForm?: OrderForm | MultiOrderForm;\n extraInfo?: ExtraOrderInfo;\n}\n\nexport interface ExtraOrderInfo {\n isVirtual: boolean;\n isBatchOrder: boolean;\n}\n\nexport enum PayStatus {\n Init = 'Init',\n GettingConfig = 'GettingConfig',\n Ready = 'Ready',\n PreCreatingOrder = 'PreCreatingOrder',\n CreatingOrder = 'CreatingOrder',\n OrderFail = 'OrderFail',\n GettingPayParams = 'GettingPayParams',\n Paying = 'Paying',\n Checking = 'Checking',\n Success = 'Success',\n Fail = 'Fail',\n Queue = 'Queue',\n WaitingToken = 'WaitingToken'\n}\n\nexport enum PayType {\n Wechat = 1,\n Alipay = 2\n}\n\ninterface OrderProductSubmission {\n /** 商品id */\n product_id: string;\n /** SKU id */\n combo_id: string;\n /** 购物车id, 删除购物车用 */\n cart_id?: string;\n /** 购买数量 */\n combo_num: number;\n /** 买家留言 */\n buyer_words?: string;\n /** 优惠券选择 */\n coupon_info: {\n shop?: CouponInfo;\n platform?: CouponInfo;\n };\n /** 活动id */\n campaign_id?: string;\n /** 满减id */\n shop_full_discount?: string;\n /** 页面area_type, 标记来源用 */\n /* 商品是否支持退货运费险 */\n freight_insurance: boolean;\n // 推荐人 id\n author_id?: string;\n}\n\ninterface OrderAddressSubmission {\n /** 地址信息 */\n post_addr?: {\n province: AddressIdNamePair;\n city: AddressIdNamePair;\n town: AddressIdNamePair;\n detail: string;\n tag?: string;\n };\n /** 收货人 */\n post_receiver?: string;\n /** 手机 */\n post_tel: string;\n /** 地址id */\n address_id?: number | string;\n}\n\ninterface OrderMetricsSubmission {\n /** 页面area_type, 标记来源用 */\n area_type: string;\n /** 埋点用参数 */\n source_id?: string;\n /** 埋点用参数 */\n origin_id?: string;\n /** 埋点用参数 */\n source_type?: string;\n /** 埋点用参数 */\n extra?: string;\n /** 埋点用参数 */\n report_event?: string;\n pay_type?: number;\n}\n\n/** 外部需提供的创建订单用信息 */\nexport type OrderForm = OrderProductSubmission & OrderAddressSubmission & OrderMetricsSubmission;\n\nexport interface MultiOrderForm extends OrderAddressSubmission, OrderMetricsSubmission {\n orders: OrderProductSubmission[];\n}\n\nexport interface CreateOrderAction {\n type: typeof CREATE_ORDER;\n payload?: OrderFormWithExtra;\n}\n\nexport interface InternalOrderForm extends OrderForm {\n cid?: string;\n new_source_id?: string;\n pay_type?: number;\n sub_way?: number;\n // 来源类型:1.直播间, 2.短视频, 3.文章\n s_type?: string;\n // 应用子渠道标识 0-未知;1-app;2-小程序;3-H5\n sub_b_type?: string;\n // 小程序用户 openId\n open_id?: string;\n // 主播 ID\n author_id?: string;\n // 直播间 ID\n room_id?: string;\n // 风控黄牛下单验证 token\n token: string;\n}\n\nexport interface PayOrderAction {\n type: typeof PAY_ORDER;\n payload: {\n id: string;\n area_type: string;\n total_amount?: number;\n payParams?: any;\n };\n}\n\nexport interface CreateOrderExtra {\n isVirtual: boolean;\n}\n\nconst getSchema = () => {\n const ua = window.navigator.userAgent;\n if (env.isAndroid) return 'snssdk143://';\n if (ua.indexOf('(NewsSocial') >= 0) return 'snssdk201://';\n if (ua.indexOf('(Explore') >= 0) return 'snssdk251://';\n if (ua.indexOf('(News') >= 0) return 'snssdk141://';\n\n return 'sslocal://';\n};\n\nconst { isAndroid, isInToutiaoProduct } = env;\n\nexport const getSourceInfo = () => ({\n b_type: env.bType,\n buyin_track: query.buyin_track,\n env_type: isAndroid ? (isInToutiaoProduct ? '2' : '4') : isInToutiaoProduct ? '1' : '3',\n activity_id: query.activity_id || '',\n ...(query.page_id && { page_id: query.page_id }),\n origin_type: query.origin_type || '0',\n origin_id: query.origin_id || '0',\n new_source_type: query.new_source_type || '0',\n new_source_id: query.new_source_id || '0',\n source_type: query.source_type || '0',\n source_id: query.source_id || '0',\n schema: getSchema(),\n extra: JSON.stringify({\n ...(query.alkey && { alkey: query.alkey }),\n buyin_track: query.buyin_track\n }),\n entrance_params: decodeURIComponent(query.entrance_info || '{}')\n});\n\ninterface GetPayFormsParams {\n productId?: string | string[];\n orderId?: string;\n shopIds?: string[];\n isOnlineOrder?: boolean;\n defaultPayType?: string;\n originType?: '0';\n}\n\nexport interface ApiAction {\n SUCCESS: string;\n FAILURE: string;\n REQUEST: string;\n}\n\nexport const getPayConfig = ({\n productId,\n orderId,\n shopIds,\n isOnlineOrder,\n defaultPayType\n}: GetPayFormsParams): ThunkAction => (dispatch, getState) => {\n dispatch(enqueueAction());\n const { queueCount } = getState().pay;\n let actionMap: ApiAction = {\n SUCCESS: `${GET_PAY_CONFIG.SUCCESS}_${queueCount}`,\n FAILURE: `${GET_PAY_CONFIG.FAILURE}_${queueCount}`,\n REQUEST: `${GET_PAY_CONFIG.REQUEST}_${queueCount}`\n };\n if (transferStatus(dispatch, getState().pay.payStatus, PayStatus.GettingConfig)) {\n return bridge\n .call('appInfo', {}, { timeout: 500 })\n .then(\n (info: any) => (info && info.aid ? (info.aid as string) : '0'),\n () => '0'\n )\n .then((aid) =>\n dispatch(\n apiActionWrapper(\n actionMap,\n get(`${API_KEN}/pay/getPayForms`, {\n params: {\n aid,\n ...(orderId && { order_id: orderId }),\n product_ids: Array.isArray(productId)\n ? productId.join(',')\n : productId,\n is_online_order: isOnlineOrder,\n ua: encodeURIComponent(window.navigator.userAgent),\n default_pay_type: defaultPayType,\n shop_ids: shopIds && shopIds.join(','),\n origin_type: query.origin_type || ''\n }\n })\n )\n )\n );\n }\n};\n\nexport const setPayMethod = (method: number) => {\n return {\n type: SET_PAY_METHOD,\n payload: {\n method\n }\n };\n};\n\nconst VALID_STATUS_TRANSITION: { [key in PayStatus]: PayStatus[] } = {\n [PayStatus.Init]: [PayStatus.GettingConfig, PayStatus.Checking],\n [PayStatus.GettingConfig]: [PayStatus.Ready, PayStatus.Checking],\n [PayStatus.Ready]: [\n PayStatus.Init,\n PayStatus.PreCreatingOrder,\n PayStatus.CreatingOrder,\n PayStatus.GettingPayParams,\n PayStatus.Ready,\n PayStatus.Checking,\n PayStatus.GettingConfig\n ],\n [PayStatus.PreCreatingOrder]: [\n PayStatus.Ready,\n PayStatus.CreatingOrder,\n PayStatus.PreCreatingOrder\n ],\n [PayStatus.CreatingOrder]: [\n PayStatus.OrderFail,\n PayStatus.Success,\n PayStatus.Paying,\n PayStatus.Queue,\n PayStatus.WaitingToken\n ],\n [PayStatus.OrderFail]: [\n PayStatus.Ready,\n PayStatus.PreCreatingOrder,\n PayStatus.CreatingOrder,\n PayStatus.GettingPayParams\n ],\n [PayStatus.GettingPayParams]: [PayStatus.Paying, PayStatus.OrderFail, PayStatus.Queue],\n [PayStatus.Paying]: [PayStatus.Checking, PayStatus.Fail],\n [PayStatus.Checking]: [PayStatus.Success, PayStatus.Fail],\n [PayStatus.Success]: [PayStatus.Init],\n [PayStatus.Fail]: [\n PayStatus.Paying,\n PayStatus.GettingPayParams,\n PayStatus.GettingConfig,\n PayStatus.Checking\n ],\n [PayStatus.Queue]: [PayStatus.Ready, PayStatus.Paying, PayStatus.Fail],\n [PayStatus.WaitingToken]: [PayStatus.CreatingOrder, PayStatus.OrderFail]\n};\n\nexport const transferStatus = (dispatch: Dispatch, current: PayStatus, target: PayStatus) => {\n const valid = VALID_STATUS_TRANSITION[current].includes(target);\n if (valid) return dispatch(setPayStatus(target));\n console.warn(`transfer status fail:${current}->${target}`);\n return valid;\n};\n\nexport const enqueueAction = () => {\n return {\n type: ENQUEUE_ACTION\n };\n};\n\nexport const setPayMethodList = (list: PayMethod[] | undefined) => {\n return {\n type: SET_PAY_METHOD_LIST,\n payload: list\n };\n};\n\nexport const setPayStatus = (status: PayStatus) => {\n return {\n type: PAY_STATUS,\n payload: status\n };\n};\n\nexport const setPayParams = (data: PayParams | undefined) => {\n return {\n type: SET_PAY_PARAMS,\n payload: data\n };\n};\n\nexport const setFailure = (data: ApiError | null) => {\n return {\n type: SET_FAILURE,\n payload: {\n data\n }\n };\n};\n\nexport const setPayAmount = (amount: number) => {\n return {\n type: SET_PAY_AMOUNT,\n payload: {\n amount\n }\n };\n};\n\nexport const setPayResult = (data: PayResult) => {\n return {\n type: SET_PAY_RESULT,\n payload: {\n data\n }\n };\n};\n\nexport const setConfigParams = (params: any) => {\n return {\n type: SET_CONFIG_PARAMS,\n payload: params\n };\n};\n\nexport const createOnlineOrder = async (\n data: InternalOrderForm,\n extra: ExtraOrderInfo\n): Promise => {\n const postParams = await getClientParams();\n let postUrl = `${API_EC}/order/newcreate`; // 立购提单\n\n if (extra && extra.isBatchOrder) postUrl = `${API_EC}/order/batchCreate`; // 购物车提单\n if (extra && extra.isVirtual) postUrl = `${API_EC}/order/newcreate/vtl`; // 虚拟商品提单\n return post(postUrl, data, { params: { ...postParams, can_queue: 1 } });\n};\n\nexport const createCodOrder = (data: InternalOrderForm) => {\n return post(`${API_EC}/order/create`, data);\n};\n\n/**\n * @param id 可能为orderId或者tradeNo\n * @param orderId 当存在这个值时后端回传order_id为这个值\n * @param payType 支付方式\n * @param count 轮询次数\n */\nexport const checkQueue = (id: string, orderId: string, payType: number, count: number) =>\n get(\n `${API_EC}/order/getpay?id=${id}&pay_type=${payType}&cycle_count=${count}&order_id=${orderId}`\n );\n\nexport const requestToken = () => get(`${API_EC}/tokenService/getToken?act_type=order`);\n\nexport const getPayParams = async (data: any) => {\n const postParams = await getClientParams();\n\n return post(`${API_EC}/order/createpay`, data, { params: postParams });\n};\n\nconst getClientParams = async (): Promise<{ [key: string]: string }> => {\n return new Promise((resolve) => {\n bridge\n .call('appInfo', {}, { timeout: 500 })\n .then((res) => {\n const appInfo: IAppInfoExt = res as IAppInfoExt;\n const { netType, device_platform, device_type } = appInfo;\n resolve({\n ...(netType && { ac: netType }),\n ...(device_platform && { device_platform }),\n ...(device_type && { device_type })\n });\n })\n .catch(() => resolve({}));\n });\n};\n\nexport const createOrder = (amount?: number) => {\n return {\n type: CREATE_ORDER,\n payload: {\n amount\n }\n };\n};\n\nexport const checkPayResult = (orderId: string) => {\n return {\n type: CHECK_PAY_RESULT,\n payload: { id: orderId }\n };\n};\n\nexport const payOrder = (orderId: string, amount?: number) => {\n return {\n type: PAY_ORDER,\n payload: {\n id: orderId,\n total_amount: amount\n }\n };\n};\n\nexport const setDisableCod = (disable: boolean) => ({\n type: DISABLE_COD,\n payload: disable\n});\n\nexport const setQueueStatus = (status: QueueStatus) => ({\n type: SET_QUEUE_STATUS,\n payload: status\n});\n\nexport const setQueueTips = (text: string) => ({\n type: SET_QUEUE_TIPS,\n payload: text\n});\n\nexport interface PayMethod {\n name?: string;\n type?: string;\n showName: string;\n payType: number;\n support: boolean;\n select: boolean;\n subWay?: number;\n recommend: boolean;\n plainName: string;\n weight: number;\n unsupportReason?: string;\n recommendText?: string;\n}\n\nexport interface ConfigParams {\n productId?: string;\n orderId?: string;\n}\n\nexport interface PayParams {\n orderIds?: string[];\n outTradeNo?: string;\n post_amount: string;\n order_id: string;\n total_amount: string;\n data?: {\n sdk_info: {\n url: string;\n };\n };\n}\n\nexport interface PayResult {\n out_product_id: string;\n product_platform: string;\n product_id: string;\n order_id: string;\n final_status: number;\n total_amount?: number;\n post_amount?: number;\n}\n\nexport interface AbInfoType {\n hidePayRecommend?: boolean;\n loaded: boolean;\n orderListVersion?: boolean;\n}\n\nexport enum QueueStatus {\n IDLE = 'IDLE',\n // 开始排队\n START = 'START',\n // 静默排队中\n QUEUING_SILENCE = 'QUEUING_SILENCE',\n // 排队中\n QUEUING = 'QUEUING',\n // 取消排队中\n CANCELING = 'CANCELING',\n // 取消完成\n CANCELED = 'CANCELED',\n // 排队超时\n TIMEOUT = 'TIMEOUT'\n}\nexport interface PayState {\n payMethodsList?: PayMethod[];\n chosenPayMethod?: PayMethod;\n payStatus: PayStatus;\n failure?: ApiError | null;\n payParams?: PayParams;\n needOpen: boolean; // 在获取到支付方式列表后自动打开\n getPayFormFail?: boolean;\n payResult: PayResult;\n shouldDisableCod: boolean;\n codDisabled: boolean;\n isCodPrevisouslySelected: boolean;\n directPay: number;\n getConfigParams?: ConfigParams;\n queueCount: number;\n payAmount?: number;\n showPayFailModal: boolean;\n recentToasted: boolean; // 已经展示过提示了,失败提示禁用\n abInfo: AbInfoType;\n queueStatus: QueueStatus; // 排队状态\n queueTips: string; // 排队状态文案,服务端返回\n loading: boolean;\n needSplitOrder: boolean; // 是否需要拆单支付\n}\n\nexport interface WithPayState {\n pay: PayState;\n coupon: { selected: { shop: {}; platform: {} } };\n}\n\nconst initState: PayState = {\n payStatus: PayStatus.Init,\n needOpen: false,\n failure: null,\n payResult: {\n out_product_id: '',\n product_platform: '',\n final_status: 0,\n product_id: '',\n order_id: ''\n },\n shouldDisableCod: false,\n codDisabled: false,\n isCodPrevisouslySelected: false,\n directPay: 0,\n getConfigParams: {\n productId: ''\n },\n queueCount: 0,\n showPayFailModal: false,\n recentToasted: false,\n abInfo: {\n loaded: false\n },\n queueStatus: QueueStatus.IDLE,\n queueTips: '',\n loading: false,\n needSplitOrder: false\n};\n/* eslint-disable complexity */\nexport default (state = initState, action: AnyAction): PayState => {\n if (!action || !action.type) return state;\n switch (action.type) {\n case SET_PAY_METHOD:\n return setPayMethodHandler(state, action);\n case PAY_STATUS:\n return Object.assign(state, { payStatus: action.payload });\n case SET_PAY_PARAMS:\n if (\n action.payload &&\n !action.payload.order_id &&\n Array.isArray(action.payload.orderIds)\n ) {\n return {\n ...state,\n payParams: {\n ...action.payload,\n order_id: action.payload.orderIds[0]\n }\n };\n }\n return Object.assign(state, {\n payParams: action.payload\n });\n case SET_FAILURE:\n return {\n ...state,\n failure: action.payload.data\n };\n case SET_PAY_METHOD_LIST:\n return {\n ...state,\n payMethodsList: action.payload\n };\n case SET_PAY_RESULT:\n return {\n ...state,\n payResult: action.payload.data\n };\n case DIRECT_PAY:\n return {\n ...state,\n directPay: state.directPay + action.payload\n };\n case DISABLE_COD:\n return computePaymethodsState(state, action.payload);\n case SET_CONFIG_PARAMS:\n return {\n ...state,\n getConfigParams: {\n ...state.getConfigParams,\n ...action.payload\n }\n };\n case ENQUEUE_ACTION:\n return {\n ...state,\n queueCount: state.queueCount + 1\n };\n case SET_PAY_AMOUNT:\n return {\n ...state,\n payAmount: action.payload && action.payload.amount\n };\n case PAY_TIMEOUT:\n return {\n ...state,\n showPayFailModal: true,\n recentToasted: true\n };\n case SET_PAY_FAIL_MODAL:\n return {\n ...state,\n showPayFailModal: action.payload\n };\n case SET_RECENT_TOASTED:\n return {\n ...state,\n recentToasted: action.payload\n };\n case GET_ABTEST_INFO.SUCCESS:\n return {\n ...state,\n abInfo: {\n loaded: true,\n hidePayRecommend:\n action.payload.temai_ui &&\n action.payload.temai_ui.hide_pay_recommend === true // 可能为undefined\n }\n };\n case SET_QUEUE_STATUS:\n return {\n ...state,\n queueStatus: action.payload\n };\n case SET_QUEUE_TIPS:\n return {\n ...state,\n queueTips: action.payload\n };\n }\n // 复杂action判断\n const { type } = action;\n switch (true) {\n case type.includes(GET_PAY_CONFIG.REQUEST): {\n return {\n ...state,\n payMethodsList: [],\n chosenPayMethod: undefined,\n loading: true\n };\n }\n case type.includes(GET_PAY_CONFIG.SUCCESS): {\n if (state.queueCount.toString() !== type.split('_').pop())\n return {\n ...state,\n loading: false\n };\n const payMethodsList = (action.payload.payMethodsList as PayMethod[]) || [];\n return {\n ...computePaymethodsState(\n {\n ...state,\n payMethodsList,\n chosenPayMethod: (payMethodsList || []).find(\n (paymethod) => paymethod.select\n ),\n shouldDisableCod: false,\n payStatus: VALID_STATUS_TRANSITION[state.payStatus].includes(\n PayStatus.Ready\n )\n ? PayStatus.Ready\n : state.payStatus\n },\n state.shouldDisableCod\n ),\n needSplitOrder: action.payload.needSplitOrder,\n loading: false\n };\n }\n case type.includes(GET_PAY_CONFIG.FAILURE):\n if (state.queueCount !== type.split('_').pop()) return { ...state, loading: false };\n return {\n ...getPayConfigFailHandler(state),\n loading: false\n };\n default:\n return state;\n }\n};\n\nconst setPayMethodHandler = (state: PayState, action: AnyAction) => {\n return {\n ...state,\n chosenPayMethod: (state.payMethodsList || []).find(\n (paymethod) => paymethod.payType === action.payload.method\n ),\n isCodPrevisouslySelected: false,\n payParams: undefined\n };\n};\n\nconst getPayConfigFailHandler = (state: PayState) => {\n return {\n ...state,\n payStatus: VALID_STATUS_TRANSITION[state.payStatus].includes(PayStatus.Ready)\n ? PayStatus.Ready\n : state.payStatus\n };\n};\n\nconst computePaymethodsState = (state: PayState, shouldDisableCod: boolean) => {\n const statePayMethodsList = state.payMethodsList || [];\n const codPayMethod = statePayMethodsList.find((m) => m.payType === 0);\n if (shouldDisableCod) {\n if (codPayMethod && codPayMethod.support) {\n const payMethodsList = statePayMethodsList.map((m) =>\n m === codPayMethod\n ? {\n ...m,\n support: false\n }\n : m\n );\n const isCodPrevisouslySelected = state.chosenPayMethod === codPayMethod;\n const chosenPayMethod =\n isCodPrevisouslySelected || !state.chosenPayMethod\n ? payMethodsList.find((m) => m.support && m.select) ||\n payMethodsList.find((m) => m.support)\n : state.chosenPayMethod;\n return {\n ...state,\n shouldDisableCod: shouldDisableCod,\n codDisabled: true,\n payMethodsList,\n isCodPrevisouslySelected,\n chosenPayMethod\n };\n }\n } else {\n if (codPayMethod && state.codDisabled) {\n const payMethodsList = statePayMethodsList.map((m) =>\n m === codPayMethod\n ? {\n ...m,\n support: true\n }\n : m\n );\n const chosenPayMethod = state.isCodPrevisouslySelected\n ? payMethodsList.find((m) => m.payType === 0)\n : state.chosenPayMethod;\n return {\n ...state,\n shouldDisableCod: shouldDisableCod,\n codDisabled: false,\n payMethodsList,\n chosenPayMethod,\n isCodPrevisouslySelected: false\n };\n }\n }\n return {\n ...state,\n shouldDisableCod: shouldDisableCod,\n codDisabled: false,\n chosenPayMethod:\n state.chosenPayMethod ||\n statePayMethodsList.find((m) => m.select) ||\n statePayMethodsList.find((m) => m.support)\n };\n};\n\nexport const getAbtestInfo: () => ThunkAction = () => (\n dispatch: ThunkDispatch\n) => {\n dispatch(\n apiActionWrapper(\n GET_ABTEST_INFO,\n get(`${API_EC}/index/getNewAbUiParams?token=aweme&key=douyin`)\n )\n );\n};\n\n// export const getAbtestInfo: () => ThunkAction = () => (\n// dispatch: ThunkDispatch\n// ) => {\n// dispatch(\n// apiActionWrapper(GET_ABTEST_INFO, get(`${API_EC}/index/getNewAbUiParams?token=aweme`))\n// );\n// };\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * 判断是否对象\n * @param {any} obj 被判断的元素\n * @returns {boolean} 是否是对象\n */\nexport function isObject(obj: any): boolean {\n if (obj === undefined || obj === null) {\n return false;\n }\n\n return Array.prototype.toString.call(obj) === '[object Object]';\n}\n\nexport function isString(obj: any): boolean {\n return typeof obj === 'string';\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","export const CANCEL_ORDER = '取消订单';\n\nexport const URGE_ORDER = '催发货';\n\nexport const PAY = '继续支付';\n\nexport const APPLY_REFUND = '申请退款';\n\nexport const CHECKOUT_REFUND = '查看退款';\n\nexport const RETURN_GOODS_INFO = '填写退货信息';\n\nexport const CONFIRM_DELIVERY = '确认收货';\n\nexport const CHECKOUT_RETURN_GOODS = '查看退货';\n\nexport const CANCEL_RETURN_GOODS = '取消退货';\n\nexport const CHECKOUT_LOGISTICS = '查看物流';\n\nexport const CHECKOUT_COMMENT = '查看评价';\n\nexport const PUBLISH_COMMENT = '发表评价';\n\nexport const COMMENT_WITH_COUPON = '发表评价';\n\nexport const APPEND_COMMENT = '追加评价';\n\nexport const GO_TO_CLASS = '立即体验';\n\nexport const SHARE_ORDER = '晒单';\n\nexport const APPLY_ARBITRATE = '申请客服介入';\n\nexport const APPLY_AFTERSALE = '申请售后';\n\nexport const CANCEL_REFUND = '取消退款';\n\n// 取消售前退款\nexport const CANCEL_ORDER_REFUND = '取消退款\\u200b';\n\nexport const DELETE = '删除订单';\n\nexport enum ActionClass {\n Warn = 'warning',\n ExtraWide = 'extraWide',\n SECONDARY = 'secondary',\n PRIMARY = 'primary'\n}\n\nexport enum ActionType {\n // button 是被收起状态\n FOLDING = 'folding'\n}\n\nexport const EDIT_ADDRESS = '修改地址';\n\nexport const CHECK_VOUCHER = '查看券码';\n\nexport const CHECKOUT_CERTIFICATE = '鉴定结果';\n\nexport const FORBIDDEN_COMMENDERS = ['101531655586', '99514375927'];\n\n// 订单详情页外部来源 - 特指订单中心跳如订单详情时传入的标记用于判断是否需要合并订单(不限制是否抖音, 全由 server 控制, server: 刘杰)\nexport const FROM_ORDER_LIST_STR = 'orderlist';\n\nexport const DOUYIN_ORDER_COLLECT =\n 'aweme://webview/?url=https%3A%2F%2Faweme.snssdk.com%2Ffalcon%2Fe_commerce%2Frn%2Forder_collector_new%2F%3Fstatus_bar_color%3Dffffff%26status_font_dark%3D1%26hide_nav_bar%3D1%26loading_bgcolor%3Dffffff%26enter_from%3Dshopping_assistant%26origin_type%3D9902103010&status_bar_color=ffffff&status_font_dark=1&hide_nav_bar=1&loading_bgcolor=ffffff&enter_from=shopping_assistant&origin_type=9902103010&rn_schema=aweme%3A%2F%2Freactnative%2F%3Fmodule_name%3Dpage_order_collector_new%26status_bar_color%3Dffffff%26status_font_dark%3D1%26hide_nav_bar%3D1%26loading_bgcolor%3Dffffff%26channel%3Dfe_lyon_order_collector_new%26bundle%3Dindex.js%26enter_from%3Dshopping_assistant%26origin_type%3D9902103010';\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","// promise login\nimport { Promise } from 'es6-promise';\n// @ts-ignore\nimport Account from '@byted/ecom-mobile-lib/components/login';\nimport { get, post } from 'libs/request';\nimport { API_EC, API_ORIGIN, API_USER } from 'config/host';\n\nfunction login(config = {}) {\n return new Promise((resolve, reject) => {\n let dismissModal = function () {\n document.body.removeEventListener('loginSuccess', resolveHandler);\n document.body.removeEventListener('dismissModal', rejectHandler);\n account.done();\n };\n const account = new Account({\n modal: true,\n agreementHtml:\n '我已阅读并同意“用户协议”和“隐私政策”',\n // formData: false,\n // urlOrigin: 'https://haohuo.jinritemai.com',\n ...config\n });\n const resolveHandler = function resolveHandler(e: any) {\n dismissModal();\n resolve(e.detail);\n };\n const rejectHandler = function rejectHandler() {\n dismissModal();\n reject(new Error('关闭登录'));\n };\n document.body.addEventListener('loginSuccess', resolveHandler);\n document.body.addEventListener('dismissModal', rejectHandler);\n });\n}\nexport function outLogin() {\n return login({ urlOrigin: 'https://haohuo.jinritemai.com' }).then((e: any) => {\n const loginData = e && e.data;\n const sessionKey = loginData && loginData.session_key;\n if (sessionKey) {\n return Promise.all([\n post(`${API_ORIGIN}/common/recheckSession`, { sess: sessionKey }),\n post(`${API_EC}/common/recheckSession`, { sess: sessionKey }),\n post(`${API_USER}/common/recheckSession`, { sess: sessionKey })\n ]).then(() => {\n return 'success';\n });\n }\n return '';\n });\n}\n","// 修复后端时间格式在前端计算的兼容问题,主要可能是在safari上面\nexport const fixDateStr = (date: string) => date.replace(/-/gi, '/');\n\nexport const formatTimeStr = (num: number) => {\n const len = `00${num}`.length;\n\n return `00${num}`.slice(len - 2);\n};\n\n/**\n * 把数字字符串开头的 0 去掉。\n * @param input 输入的数字字符串\n */\nfunction removeStarting0sFromString(input: string) {\n let firstNonZero = 0;\n\n while (input[firstNonZero] === '0') {\n firstNonZero += 1;\n }\n\n return input.slice(firstNonZero);\n}\n\n/**\n * 把 2018-07-20 13:55:24 转换成 7月20日 13:55\n * @param original\n */\nexport function transformToTimeWithChineseDate(original: string) {\n const month = removeStarting0sFromString(original.slice(5, 7));\n const day = removeStarting0sFromString(original.slice(8, 10));\n\n const rest = original.slice(11, -3);\n\n return `${month}月${day}日 ${rest}`;\n}\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","import { Action } from 'redux';\nimport { ThunkAction, ThunkDispatch } from 'redux-thunk';\nimport { isString } from 'utils/type-check';\nimport { ApiError } from 'types/api-error';\nimport bridge from 'src/libs/bridge';\nimport { IAppInfo } from '@byted/ecom-mobile-lib/lib/types/bridge';\nexport interface ApiResult {\n data?: {\n st?: number;\n code?: number;\n data?: R;\n msg?: string;\n };\n}\nexport type ThunkResult = ThunkAction;\nexport type ActionGen = (payload: R) => ThunkResult;\ntype StringOrActionGen = string | ActionGen;\nconst wrapper = (\n loading: StringOrActionGen,\n failure: StringOrActionGen,\n success: StringOrActionGen,\n apiPromise: Promise>,\n rejectMark?: boolean\n): ThunkAction, S, undefined, Action> => {\n const getAction = (action: StringOrActionGen, payload: any): any => {\n return isString(action)\n ? {\n type: action,\n payload: payload\n }\n : (action as ActionGen)(payload);\n };\n return (dispatch: ThunkDispatch) => {\n dispatch(getAction(loading, true));\n return apiPromise\n .then((res) => {\n if (res.data && res.data.st === 0) {\n return res.data.data;\n }\n if (res.data && res.data.code === 0) {\n return res.data.data;\n }\n // eslint-disable-next-line no-throw-literal\n throw {\n code: res && res.data && (res.data.st || res.data.code || 10),\n message: res && res.data && res.data.msg,\n data: res && res.data && res.data.data\n };\n })\n .then((result) => {\n dispatch(getAction(success, result));\n return result;\n })\n .catch((e: Error | ApiError) => {\n const apiError =\n e instanceof Error\n ? {\n code: 10000,\n message: '网络错误'\n }\n : e;\n\n dispatch(getAction(failure, apiError));\n let did = '0';\n bridge\n .call('appInfo', {}, { timeout: 500 })\n .then((res) => {\n did = (res as IAppInfo).device_id || '0';\n })\n .finally(() => {\n window.Slardar('emit', 'log', {\n value: JSON.stringify(apiError),\n tags: {\n type: 'api error',\n action: failure,\n did\n }\n });\n })\n .catch(() => {});\n\n if (rejectMark) return Promise.reject(apiError);\n });\n };\n};\n\nexport function genApiActions(type: string) {\n return {\n SUCCESS: `${type}_SUCCESS`,\n REQUEST: `${type}_REQUEST`,\n FAILURE: `${type}_FAILURE`\n };\n}\n\nexport function apiActionWrapper(\n action: {\n SUCCESS: StringOrActionGen;\n REQUEST: StringOrActionGen;\n FAILURE: StringOrActionGen;\n },\n apiPromise: Promise>,\n rejectMark: boolean = true\n) {\n return wrapper(action.REQUEST, action.FAILURE, action.SUCCESS, apiPromise, rejectMark);\n}\n\nexport default wrapper;\n","import qs from 'qs';\nimport isArray from 'lodash/isArray';\nimport map from 'lodash/map';\nimport mapKeys from 'lodash/mapKeys';\nimport camelCase from 'lodash/camelCase';\n\nexport function checkResponse(response: any) {\n if (response.data.st === 0) {\n return response.data.data;\n }\n\n throw response.data;\n}\n\nexport enum PAGE_ERROR_TYPE {\n NETWORK_ERROR = 0,\n OTHER_ERROR = 1\n}\n\nexport interface PageError {\n type: PAGE_ERROR_TYPE;\n message: string;\n}\n\n// Create page error\nexport function createPageError(type: PAGE_ERROR_TYPE, message: string): PageError {\n return {\n type,\n message\n };\n}\n\n// 将设计稿像素值换算到当前屏幕宽度下\nexport function calcPX(px: number) {\n const screenWidth = document.body.offsetWidth;\n return (px * screenWidth) / 375;\n}\n\nexport interface GoodsDetailParams {\n promotion_id: string; // 没有promotion_id就传入product_id\n item_id?: string;\n author_id: number;\n sec_author_id: number;\n source_page: string;\n entrance_info?: any;\n}\n// 商详页schema\nexport function genGoodsDetailSchema(params: GoodsDetailParams) {\n const host = 'sslocal://ec_goods_detail/';\n const request_additions = {\n sec_author_id: params.sec_author_id,\n enter_from: params.source_page\n };\n const query: any = {\n promotion_id: params.promotion_id,\n kol_id: params.author_id,\n source_page: params.source_page,\n request_additions: JSON.stringify(request_additions)\n };\n if (params.item_id) {\n query.item_id = params.item_id;\n }\n if (params.entrance_info) {\n query.meta_params = JSON.stringify({\n entrance_info: JSON.stringify(params.entrance_info)\n });\n }\n return `${host}?${qs.stringify(query, { encode: true, encoder: encodeURIComponent })}`;\n}\n\nexport const safeParse = (str: string, defaultVal = {}) => {\n try {\n return JSON.parse(str);\n } catch {\n return defaultVal;\n }\n};\n\nexport const camelCaseKey = (o: any): any => {\n if (isArray(o)) {\n return map(o, camelCaseKey);\n }\n\n return mapKeys(o, (_value, key) => camelCase(key));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","import bridge from 'libs/bridge';\n\nconst isDev = process.env.NODE_ENV !== 'production';\n\ninterface PlainObjectOf {\n [name: string]: T;\n}\n\ninterface CustomEventParams {\n event_name: string;\n metrics: PlainObjectOf;\n tags: PlainObjectOf;\n}\n\ninterface CustomLogParams {\n value: string;\n tags: PlainObjectOf;\n}\n\n// Extend slardar params with AppInfo\nasync function extendSlardarParamsWithAppInfo(params: any): Promise {\n try {\n const appInfo: any = await bridge.call('appInfo', {}, { timeout: 1000 });\n\n if (params.tags && appInfo) {\n params.tags = {\n ...params.tags,\n aid: appInfo.aid || '0',\n did: appInfo.device_id || '0',\n appName: appInfo.appName || '',\n appVersion: appInfo.appVersion || '',\n netType: appInfo.netType || ''\n };\n }\n\n return params;\n } catch (e) {\n return params;\n }\n}\n\n/**\n * Slardar 自定义打点事件指标上报\n * See: https://slardar.bytedance.net/docs/115/150/custom_analyze/\n * @param eventName\n * @param metrics\n * @param tags\n */\nexport function event(\n eventName: string,\n metrics: PlainObjectOf,\n tags?: PlainObjectOf\n): void {\n const params: CustomEventParams = {\n event_name: eventName,\n metrics,\n tags: tags || {}\n };\n\n extendSlardarParamsWithAppInfo(params)\n .then((params) => {\n if (isDev) return console.log('[Slardar Event]: ', params);\n\n window.Slardar && window.Slardar('emit', 'custom', params);\n })\n .catch(() => {});\n}\n\n/**\n * Slardar 日志上报\n * See: https://slardar.bytedance.net/docs/115/150/custom_log/\n * @param value\n * @param tags\n */\nexport function log(value: any, tags?: PlainObjectOf) {\n const params: CustomLogParams = {\n value:\n typeof value === 'string'\n ? value\n : value instanceof Error\n ? value.toString()\n : JSON.stringify(value),\n tags: tags || {}\n };\n\n extendSlardarParamsWithAppInfo(params)\n .then((params) => {\n if (isDev) return console.log('[Slardar Log]: ', params);\n\n window.Slardar && window.Slardar('emit', 'log', params);\n })\n .catch(() => {});\n}\n\n/**\n * Slardar counter\n * @param eventName\n * @param options\n * @param options.inc\n * @param options.tags\n */\nexport function counter(\n eventName: string,\n options?: { inc?: number; tags?: PlainObjectOf }\n) {\n const { inc = 1, tags = {} } = options || {};\n\n event(\n eventName,\n {\n value: inc\n },\n tags\n );\n}\n","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n"],"sourceRoot":""}