{"version":3,"file":"index.0ac036da.js","sources":["../../src/components/ZCContext/index.tsx","../../src/ZRender/context.tsx","../../src/ZRender/helper.ts","../../src/ZRender/index.tsx","../../src/components/Icon/zcicon.js","../../src/components/Icon/index.tsx","../../src/components/Messsage/index.tsx","../../src/api/lib/request.ts","../../src/api/index.ts","../../src/components/Modal/Message/index.tsx","../../src/components/Modal/Tips/index.tsx","../../src/components/Modal/Wrap/index.tsx","../../src/components/Modal/Render/index.tsx","../../src/components/Modal/index.tsx","../../src/components/SlideCaptcha/refresh/index.tsx","../../src/components/SlideCaptcha/drag/index.tsx","../../src/components/SlideCaptcha/content/index.tsx","../../src/components/SlideCaptcha/index.tsx","../../src/pages/_global/capt/index.tsx","../../src/pages/_global/login.tsx","../../src/pages/_global/index.tsx"],"sourcesContent":["import React, {useReducer} from \"react\";\r\n\r\n\r\ninterface IProps{\r\n children?:any\r\n}\r\n\r\nexport interface IZCState{\r\n clickDom?:any,\r\n messageQuene?:any\r\n}\r\nexport enum ZCEvent { addMessage,addClickDom }\r\n\r\n\r\nexport const ZCContext = React.createContext<{state?:IZCState,dispatch:(e?:{type?:ZCEvent,state?:any})=>void}>({dispatch:()=>{}});\r\n\r\nexport const ZCProvider = (props:IProps)=>{\r\n\r\n const { children } = props;\r\n const reducer = (state: any,action:{type:ZCEvent,state?:IZCState}) => {\r\n switch (action.type) {\r\n // 全局window 点击事件\r\n case ZCEvent.addClickDom:\r\n return {...state, clickDom:action.state};\r\n // Message组件队列\r\n case ZCEvent.addMessage:\r\n return {...state, messageQuene:[...state.messageQuene,action.state]};\r\n default:\r\n return state;\r\n }\r\n }\r\n\r\n const [state] = useReducer(reducer, {\r\n clickDom: undefined,//当前活动项\r\n messageQuene: []\r\n });\r\n\r\n\r\n // useEffect(()=>{\r\n // document.onclick = (e: any) => {\r\n // dispatch({type: ZCEvent.addClickDom, state: e.target})\r\n // }\r\n // },[])\r\n\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n\r\n}","import React, { useReducer } from \"react\";\r\n\r\n\r\ninterface IProps{\r\n children?:any\r\n}\r\n\r\nexport interface IAppState{\r\n isLogin?:any,\r\n showLogin?:any\r\n}\r\nexport enum APPEvent { SETISLOGIN,SHOWLOGIN }\r\n\r\n\r\nexport const AppContext = React.createContext({});\r\n\r\nexport const AppProvider = (props:IProps)=>{\r\n\r\n const { children } = props;\r\n const reducer = (state: any,action:{type:APPEvent,state?:IAppState}) => {\r\n switch (action.type) {\r\n case APPEvent.SETISLOGIN:\r\n return {...state, isLogin:action.state?.isLogin}\r\n case APPEvent.SHOWLOGIN:\r\n return {...state, showLogin:action.state?.showLogin};\r\n default:\r\n return state;\r\n }\r\n }\r\n\r\n const [state, dispatch] = useReducer(reducer, {\r\n isLogin:undefined,//当前活动项\r\n showLogin:false\r\n });\r\n\r\n \r\n\r\n return (\r\n \r\n {children} \r\n \r\n )\r\n\r\n}","\r\n\r\n// 获取[ui=control]标签上的参数 data- target app\r\nexport const getUITagParams = (item:any)=>{\r\n const attr: NamedNodeMap = item?.attributes || [];\r\n const params: any = {};\r\n let trigger = \"\";\r\n let app = \"\";\r\n for(let i = 0;i{\r\n let selectDataDom = key.split(' ').reduce((r:any,item:any)=>{\r\n let splitData = undefined;\r\n if(item.includes('/')){\r\n splitData = {index:item.split('/')[1]*1-1,name:item.split('/')[0]}\r\n }\r\n\r\n switch(item.charAt(0)) {\r\n case '.':\r\n r = splitData?(r.getElementsByClassName(splitData.name.replace('.',''))[splitData.index]):(r.getElementsByClassName(item.replace('.','')));\r\n break;\r\n case '#':\r\n r = r.getElementByTagId(item.replace('#',''));\r\n break;\r\n default:\r\n r = splitData?(r.getElementsByTagName(splitData.name)[splitData.index]):r.getElementsByTagName(item);\r\n break;\r\n }\r\n return r;\r\n },specialDom||this.current)\r\n return selectDataDom.length==1?selectDataDom[0]:selectDataDom;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import '@/assets/css/index.less'\r\nimport { ZCProvider } from \"@/components/ZCContext\"\r\nimport React from \"react\"\r\nimport ReactDOM from \"react-dom\"\r\nimport { AppProvider } from \"./context\"\r\nimport { getUITagParams, ZDom } from \"./helper\"\r\nimport { IPage, IRenderItem, IUIAttrParams } from \"./interface\"\r\n\r\n// 插入单个app\r\n\r\nconst insertApp = (tagParams: IUIAttrParams, uidom: any, slotDom: any, getComp?: any) => {\r\n const Zdom = new ZDom(uidom);\r\n ReactDOM.render(\r\n \r\n \r\n \r\n {getComp({...tagParams, $: Zdom.$, uidom})}\r\n \r\n \r\n ,\r\n slotDom\r\n )\r\n}\r\n\r\nclass InsertApps {\r\n renderList: IRenderItem[]\r\n getComp?: any\r\n\r\n constructor(comp: any) {\r\n this.renderList = [];\r\n this.getComp = comp;\r\n }\r\n\r\n render = (type?: number) => {\r\n if (type === 1) {\r\n this.renderSingle()\r\n } else if (type === 2) {\r\n this.renderSingle()\r\n } else {\r\n this.renderTree();\r\n }\r\n }\r\n\r\n renderSingle = () => {\r\n for (let i = 0; i < this.renderList.length; i++) {\r\n const item = this.renderList[i];\r\n insertApp(item.params, item.uiDom, item.slotDom || item.uiDom, this.getComp);\r\n }\r\n }\r\n //\r\n // renderTest = (RenderItem: IRenderItem) => {\r\n // // for (let i = 0; i < this.renderList.length; i++) {\r\n // const item = RenderItem;\r\n // insertApp(item.params, item.uiDom, item.slotDom || item.uiDom, this.getComp);\r\n // // }\r\n // }\r\n\r\n\r\n renderTree = () => {\r\n // 获取最外层app的 dom \r\n const mainAppRenderItemIndex = this.renderList.findIndex(item => item.slotDom.length > 0);\r\n // 最外层所有的 slotDom\r\n const slotDomArray = this.renderList[mainAppRenderItemIndex].slotDom;\r\n // 过滤其他child的 slotDom 剩下的就是 最外层的 slotDom\r\n const currentSlotDom = slotDomArray.filter((item: any) => {\r\n return !this.renderList.some(rItem => {\r\n return rItem.slotDom == item\r\n })\r\n });\r\n // 替换最外层 slotDom\r\n this.renderList[mainAppRenderItemIndex].slotDom = currentSlotDom[0]\r\n //遍历插入\r\n for (let i = 0; i < this.renderList.length; i++) {\r\n const item = this.renderList[i];\r\n insertApp(item.params, item.uiDom, item.slotDom || item.uiDom, this.getComp);\r\n }\r\n }\r\n addRenderItem = (RenderItem: IRenderItem) => {\r\n this.renderList.push(RenderItem)\r\n }\r\n}\r\n\r\nexport const AppRender = (pageConfig: IPage, getComp?: any) => {\r\n const root: any = document.querySelectorAll('*[ui=control]');\r\n const uiList = Array.from(root);\r\n // 1:遍历所有的节点: 要求 一个ui=control 对应一个 control='slot'; \r\n // 2:例外情况:如果 没有 control=slot 则会默认添加一个(覆盖当前节点)。 \r\n // 3:!! 嵌套的情况下必须一一对应,不可省略control=slot !!多层嵌套暂不支持\r\n const insertApps = new InsertApps(getComp);\r\n for (let i = 0; i < uiList.length; i++) {\r\n const item: any = uiList[i];\r\n const tagParams = getUITagParams(item);\r\n if (pageConfig.type === 1) {\r\n // ui='contrl'单个:\r\n const slotDom = item.querySelector('[control=slot]');\r\n const renderItem: IRenderItem = {\r\n app: tagParams.app,\r\n uiDom: item,\r\n slotDom,\r\n params: tagParams,\r\n jsxPath: pageConfig.app\r\n }\r\n insertApps.addRenderItem(renderItem)\r\n } else if (pageConfig.type === 2) {\r\n const slotDom = item.querySelector('[control=slot]');\r\n const renderItem: IRenderItem = {\r\n app: pageConfig.app[i],\r\n uiDom: item,\r\n slotDom,\r\n params: {...tagParams, jsxPath: pageConfig.app[i]},\r\n jsxPath: pageConfig.app[i]\r\n }\r\n insertApps.addRenderItem(renderItem)\r\n } else {\r\n // ui='contrl'嵌套:\r\n const slotDoms = item.querySelectorAll('*[control=slot]');\r\n const slotDomArray = Array.from(slotDoms);\r\n const renderItems: IRenderItem = {\r\n app: tagParams.app,\r\n uiDom: item,\r\n slotDom: slotDomArray.length == 1 ? slotDomArray[0] : slotDomArray,\r\n params: {...tagParams},\r\n jsxPath: pageConfig.app[tagParams.app]\r\n }\r\n insertApps.addRenderItem(renderItems)\r\n }\r\n }\r\n insertApps.render(pageConfig.type);\r\n}\r\n\r\n// export const GlobalRender = (pageConfig: { app: string | [], type: number }, getComp?: any) => {\r\n// const root: any = document.querySelectorAll('*[ui=gcontrol]');\r\n// const uiList = Array.from(root);\r\n// // 1:遍历所有的节点: 要求 一个ui=control 对应一个 control='slot';\r\n// // 2:例外情况:如果 没有 control=slot 则会默认添加一个(覆盖当前节点)。\r\n// // 3:!! 嵌套的情况下必须一一对应,不可省略control=slot !!多层嵌套暂不支持\r\n// const insertApps = new InsertApps(getComp);\r\n// // const isSingle = (typeof pageConfig.app == 'string')\r\n// for (let i = 0; i < uiList.length; i++) {\r\n// const item: any = uiList[i];\r\n// const tagParams = getUITagParams(item);\r\n// if (pageConfig.type === 1) {\r\n// // ui='contrl'单个:\r\n// const slotDom = item.querySelector('[gcontrol=slot]');\r\n// const renderItem: IRenderItem = {\r\n// app: tagParams.app,\r\n// uiDom: item,\r\n// slotDom: slotDom,\r\n// params: {...tagParams},\r\n// jsxPath: pageConfig.app\r\n// }\r\n// insertApps.addRenderItem(renderItem)\r\n// } else {\r\n// // ui='contrl'嵌套:\r\n// const slotDoms = item.querySelectorAll('*[gcontrol=slot]');\r\n// const slotDomArray = Array.from(slotDoms);\r\n// const renderItems: IRenderItem = {\r\n// app: tagParams.app,\r\n// uiDom: item,\r\n// slotDom: slotDomArray.length == 1 ? slotDomArray[0] : slotDomArray,\r\n// params: {...tagParams},\r\n// jsxPath: pageConfig.app[tagParams.app]\r\n// }\r\n// insertApps.addRenderItem(renderItems)\r\n// }\r\n// }\r\n// insertApps.render(pageConfig.type);\r\n// }","!function(t){var e,c,o,n,i,l='',a=(a=document.getElementsByTagName(\"script\"))[a.length-1].getAttribute(\"data-injectcss\"),s=function(t,e){e.parentNode.insertBefore(t,e)};if(a&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write(\"\")}catch(t){console&&console.log(t)}}function d(){i||(i=!0,o())}function h(){try{n.documentElement.doScroll(\"left\")}catch(t){return void setTimeout(h,50)}d()}e=function(){var t,e;(e=document.createElement(\"div\")).innerHTML=l,l=null,(t=e.getElementsByTagName(\"svg\")[0])&&(t.setAttribute(\"aria-hidden\",\"true\"),t.style.position=\"absolute\",t.style.width=0,t.style.height=0,t.style.overflow=\"hidden\",e=t,(t=document.body).firstChild?s(e,t.firstChild):t.appendChild(e))},document.addEventListener?~[\"complete\",\"loaded\",\"interactive\"].indexOf(document.readyState)?setTimeout(e,0):(c=function(){document.removeEventListener(\"DOMContentLoaded\",c,!1),e()},document.addEventListener(\"DOMContentLoaded\",c,!1)):document.attachEvent&&(o=e,n=t.document,i=!1,h(),n.onreadystatechange=function(){\"complete\"==n.readyState&&(n.onreadystatechange=null,d())})}(window);","import React from \"react\";\r\nimport './index.less'\r\nimport './zcicon'\r\n\r\ninterface Props extends Omit, ''> {\r\n type: 'icon-success'|'icon-warn'|'icon-error'|'icon-empty'|'icon-back'|'icon-search'|'icon-exit'|'icon-delete'\r\n style?:any \r\n className?:any\r\n}\r\n\r\n\r\n\r\nconst ZIcon = (props:Props) => {\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default ZIcon;\r\n","import React, { ReactNode, useEffect, useMemo } from \"react\";\r\nimport ReactDOM, { unmountComponentAtNode } from \"react-dom\";\r\nimport ZIcon from \"../Icon\";\r\nimport './index.css'\r\n\r\n\r\nexport type MessageProps = {\r\n\trootDom: HTMLElement; //这个用来干掉parentDom 这个可以常驻\r\n\tparentDom: Element | DocumentFragment; //这个是挂载点 要unmount卸载 完毕后卸载挂载点 注意!一共2步卸载,别漏了\r\n\tcontent: ReactNode;\r\n type:'success'|'error'|'warn'\r\n};\r\nexport type IMessage = {\r\n success?:any,\r\n warn?:any,\r\n error?:any\r\n};\r\n\r\n\r\nlet wrap: HTMLElement;\r\nexport const createMessage = (props:{type?:any}) => {\r\n\treturn (content: ReactNode) => {\r\n\t\tif (typeof document === \"undefined\") {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!wrap) {\r\n\t\t\t//如果有的话,说明已经调用过这个函数了,这个空div就可以一直复用\r\n\t\t\twrap = document.createElement(\"div\");\r\n\t\t\twrap.style.cssText = `line-height:1.5;\r\n text-align:center;\r\n color: #333;\r\n box-sizing: border-box;\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n position: fixed;\r\n dispaly:flex;\r\n flex-direction:column;\r\n z-index: 100000;\r\n width: 100%;\r\n top: 16px;\r\n left: 0;\r\n pointer-events: none;`;\r\n if (wrap) {\r\n document.body && document.body.appendChild(wrap); //挂body上\r\n }\r\n\t\t}\r\n\t\tconst divs = document.createElement(\"div\");\r\n\t\twrap.appendChild(divs);\r\n const { type } = props;\r\n\r\n ReactDOM.render(\r\n\t\t\t,\r\n\t\t\tdivs\r\n\t\t);\r\n\t};\r\n};\r\n\r\n\r\n\r\nexport const Message:IMessage = {};\r\nMessage.success = createMessage({type:'success'});\r\nMessage.warn = createMessage({type:'warn'});\r\nMessage.error = createMessage({type:'error'});\r\n\r\n\r\n\r\n\r\nexport function MessageComp(props: MessageProps) {\r\n\tconst { rootDom, parentDom, content , type } = props;\r\n\r\n\tconst unmount = useMemo(() => {\r\n\t\treturn () => {\r\n\t\t\tif (parentDom && rootDom) {\r\n\t\t\t\tunmountComponentAtNode(parentDom);\r\n\t\t\t\trootDom.removeChild(parentDom);\r\n\t\t\t}\r\n\t\t};\r\n\t}, [parentDom, rootDom]);\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tunmount();\r\n\t\t}, 2000);\r\n\t}, [unmount]);\r\n\r\n\treturn (\r\n
    \r\n
  • \r\n
    \r\n \r\n {content} \r\n
    \r\n
  • \r\n
\r\n );\r\n}\r\n","import {Message} from '@/components/Messsage';\r\nimport axios from 'axios';\r\n// import {object2Query, query2Object} from \"@/utils/ZUtils\";\r\n/**\r\n * 自定义Axios实例\r\n */\r\nconst request: any = axios.create({\r\n baseURL: \"\",\r\n timeout: 60000,\r\n});\r\n// 请求防抖\r\nlet list: Record = {}\r\n\r\n// 添加请求拦截器\r\nrequest.interceptors.request.use(function (config: any) {\r\n if (list[config.url]) {\r\n return\r\n }\r\n list[config.url] = true\r\n config.headers = {\r\n // \"token\": get('XSRF-TOKEN')\r\n \"X-Requested-With\": 'XMLHttpRequest'\r\n };\r\n return config;\r\n}, (error: any) => {\r\n console.log(error)\r\n return Promise.reject(error);\r\n});\r\n\r\n\r\nrequest.interceptors.response.use((response: any) => {\r\n setTimeout(() => {\r\n list = {}\r\n }, 200)\r\n if (response.data.state) {\r\n return response.data;\r\n } else {\r\n if (response.data.message && !response.request.responseURL.includes('deliverskill/ChangePDF')) {\r\n Message.error(response.data.message);\r\n }\r\n if (response.data.message) {\r\n // Message.error(response.data.message);\r\n return Promise.reject(response);\r\n }\r\n }\r\n}, (error: any) => {\r\n if (Object.keys(list)?.length) {\r\n list = {}\r\n return\r\n }\r\n list = {}\r\n console.log(error)\r\n if (error.code == 401) {\r\n localStorage.removeItem(\"token\");\r\n }\r\n // Message.error('接口异常')\r\n if (error && error.response) {\r\n console.log(error.response)\r\n }\r\n return Promise.reject(error);\r\n});\r\n\r\n\r\n// 定义对外Get、Post、File请求\r\nexport default request;","import request from './lib/request';\r\n\r\nexport interface IExtraOrder {\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tuserName?: string,\r\n\tphone?: string,\r\n\tname?: string,\r\n\tskuNum?: number,\r\n\tbox?: number,\r\n\tdeliverNos?: [],\r\n\tremark?: string,\r\n\tfiles?: [],\r\n\tstatus?: number,\r\n\tpayStatus?: number,\r\n\tfee?: number,\r\n\ttypes?: [],\r\n\tptime?: string,\r\n\tpaytime?: string,\r\n\tdone?: string,\r\n\tboxed?: boolean,\r\n\textraItems?: [],\r\n\tuseBoxes?: number,\r\n\tpayfee?: number\r\n}\r\nexport interface IGoods {\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tsku?: string,\r\n\tuserName?: string,\r\n\tcn?: string,\r\n\ten?: string,\r\n\tcnCode?: string,\r\n\tusCode?: string,\r\n\tweight?: number,\r\n\tdeclare?: number,\r\n\tmaterial?: string,\r\n\tbrand?: string,\r\n\tbrandType?: string,\r\n\tpic?: string,\r\n\tspecs?: string,\r\n\tspecAddPirce?: string,\r\n\tpdf?: string,\r\n\texam?: number,\r\n\tadminRemark?: string,\r\n\tuserRemark?: string,\r\n\turl?: string,\r\n\tspecials?: [],\r\n\tstock?: number,\r\n\tlastShipment?: string\r\n}\r\nexport interface IPack {\r\n\tid?: number,\r\n\tpid?: number,\r\n\tuserId?: number,\r\n\tuserName?: string,\r\n\tsize?: [],\r\n\tkg?: number,\r\n\tfeeKg?: number,\r\n\tcns?: string,\r\n\tremark?: string,\r\n\tptime?: string,\r\n\tpackItems?: []\r\n}\r\nexport interface IWareBook {\r\n\tid?: number,\r\n\tloginId?: number,\r\n\tuserName?: string,\r\n\tcode?: string,\r\n\tmemo?: string,\r\n\tptime?: string,\r\n\tutime?: string,\r\n\tstatus?: number\r\n}\r\nexport interface IWareParam {\r\n\tpageSize?: number,\r\n\tpage?: number,\r\n\ttotal?: number,\r\n\tremote?: boolean,\r\n\tcode?: string,\r\n\tcountry?: string\r\n}\r\nexport interface ITimeBook {\r\n\tid?: number,\r\n\tloginId?: number,\r\n\tuserName?: string,\r\n\ttimeId?: number,\r\n\tmemo?: string,\r\n\tptime?: string,\r\n\tutime?: string,\r\n\tstatus?: number\r\n}\r\nexport interface ISpeAddParam {\r\n\tname?: string,\r\n\tcountry?: string,\r\n\tmethod?: number\r\n}\r\nexport interface IShipParam {\r\n\tname?: string,\r\n\ttype?: string,\r\n\tcountry?: string\r\n}\r\n\r\nexport interface IResQuery {\r\n\tpageSize?: number,\r\n\tpage?: number,\r\n\ttotal?: number,\r\n\tkey?: string,\r\n\ttype?: any\r\n}\r\n\r\nexport interface IShipOrder {\r\n\textraId?: number,\r\n\tspecadd?: number,\r\n\tpid?: number,\r\n\tchild?: number,\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tbusinessId?: number,\r\n\tuserPhone?: string,\r\n\tcountry?: string,\r\n\tno?: string,\r\n\tdeliverNo?: string,\r\n\tdeliverFee?: number,\r\n\tdeliverStatus?: any,\r\n\tcwareId?: number,\r\n\tinsurer?: string,\r\n\tinsurfee?: number,\r\n\treferenceId?: string,\r\n\tshipmentId?: string,\r\n\taddressId?: number,\r\n\ttopAddr?: any,\r\n\ttopSender?: any,\r\n\taddr?: string,\r\n\tsender?: string,\r\n\tship?: number,\r\n\tpreShip?: number,\r\n\tunitPrice?: number,\r\n\tlastUnitPrice?: number,\r\n\tfeeUser?: number,\r\n\tfeeComp?: number,\r\n\tquantity?: number,\r\n\tbox?: number,\r\n\tboxPics?: [],\r\n\tboxPdf?: string,\r\n\tdeclare?: number,\r\n\tdcur?: string,\r\n\tdeliver?: string,\r\n\tdeliverType?: any,\r\n\tchannel?: string,\r\n\tchannelCode?: string,\r\n\ttemplateId?: number,\r\n\ttemplateName?: string,\r\n\tmethod?: any,\r\n\tdays?: string,\r\n\tstate?: any,\r\n\tpaymentState?: any,\r\n\twareCode?: string,\r\n\tsupplyCode?: string,\r\n\texams?: [],\r\n\tweight?: number,\r\n\tlastFeeKg?: number,\r\n\tfeeWeight?: number,\r\n\tsize?: number,\r\n\ttraces?: [],\r\n\tmemo?: string,\r\n\tremark?: string,\r\n\tlog?: [],\r\n\tptime?: string,\r\n\ttrack17Key?: string,\r\n\tgoods?: string,\r\n\tloss?: number,\r\n\tremote?: boolean,\r\n\tboxDtoList?: []\r\n}\r\n\r\nexport interface IShipOrder {\r\n\textraId?: number,\r\n\tspecadd?: number,\r\n\tpid?: number,\r\n\tchild?: number,\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tbusinessId?: number,\r\n\tuserPhone?: string,\r\n\tcountry?: string,\r\n\tno?: string,\r\n\tdeliverNo?: string,\r\n\tdeliverFee?: number,\r\n\tdeliverStatus?: any,\r\n\tcwareId?: number,\r\n\tinsurer?: string,\r\n\tinsurfee?: number,\r\n\treferenceId?: string,\r\n\tshipmentId?: string,\r\n\taddressId?: number,\r\n\ttopAddr?: any,\r\n\ttopSender?: any,\r\n\taddr?: string,\r\n\tsender?: string,\r\n\tship?: number,\r\n\tpreShip?: number,\r\n\tunitPrice?: number,\r\n\tlastUnitPrice?: number,\r\n\tfeeUser?: number,\r\n\tfeeComp?: number,\r\n\tquantity?: number,\r\n\tbox?: number,\r\n\tboxPics?: [],\r\n\tboxPdf?: string,\r\n\tdeclare?: number,\r\n\tdcur?: string,\r\n\tdeliver?: string,\r\n\tdeliverType?: any,\r\n\tchannel?: string,\r\n\tchannelCode?: string,\r\n\ttemplateId?: number,\r\n\ttemplateName?: string,\r\n\tmethod?: any,\r\n\tdays?: string,\r\n\tstate?: any,\r\n\tpaymentState?: any,\r\n\twareCode?: string,\r\n\tsupplyCode?: string,\r\n\texams?: [],\r\n\tweight?: number,\r\n\tlastFeeKg?: number,\r\n\tfeeWeight?: number,\r\n\tsize?: number,\r\n\ttraces?: [],\r\n\tmemo?: string,\r\n\tremark?: string,\r\n\tlog?: [],\r\n\tptime?: string,\r\n\ttrack17Key?: string,\r\n\tgoods?: string,\r\n\tloss?: number,\r\n\tremote?: boolean,\r\n\tboxDtoList?: []\r\n}\r\n\r\nexport interface IShipOrderMemo {\r\n\torderId?: number,\r\n\tmemo?: string\r\n}\r\n\r\nexport interface IShipDeliverNo {\r\n\torderId?: number,\r\n\tdeliverNo?: string\r\n}\r\n\r\nexport interface IBoxPdf {\r\n\torderId?: number,\r\n\tpdfUrl?: string\r\n}\r\nexport interface IBoxImg {\r\n\torderId?: number,\r\n\tboxPics?: []\r\n}\r\n\r\nexport interface IBoxImg {\r\n\torderId?: number,\r\n\tboxPics?: []\r\n}\r\n\r\nexport interface IShipOrder {\r\n\textraId?: number,\r\n\tspecadd?: number,\r\n\tpid?: number,\r\n\tchild?: number,\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tbusinessId?: number,\r\n\tuserPhone?: string,\r\n\tcountry?: string,\r\n\tno?: string,\r\n\tdeliverNo?: string,\r\n\tdeliverFee?: number,\r\n\tdeliverStatus?: any,\r\n\tcwareId?: number,\r\n\tinsurer?: string,\r\n\tinsurfee?: number,\r\n\treferenceId?: string,\r\n\tshipmentId?: string,\r\n\taddressId?: number,\r\n\ttopAddr?: any,\r\n\ttopSender?: any,\r\n\taddr?: string,\r\n\tsender?: string,\r\n\tship?: number,\r\n\tpreShip?: number,\r\n\tunitPrice?: number,\r\n\tlastUnitPrice?: number,\r\n\tfeeUser?: number,\r\n\tfeeComp?: number,\r\n\tquantity?: number,\r\n\tbox?: number,\r\n\tboxPics?: [],\r\n\tboxPdf?: string,\r\n\tdeclare?: number,\r\n\tdcur?: string,\r\n\tdeliver?: string,\r\n\tdeliverType?: any,\r\n\tchannel?: string,\r\n\tchannelCode?: string,\r\n\ttemplateId?: number,\r\n\ttemplateName?: string,\r\n\tmethod?: any,\r\n\tdays?: string,\r\n\tstate?: any,\r\n\tpaymentState?: any,\r\n\twareCode?: string,\r\n\tsupplyCode?: string,\r\n\texams?: [],\r\n\tweight?: number,\r\n\tlastFeeKg?: number,\r\n\tfeeWeight?: number,\r\n\tsize?: number,\r\n\ttraces?: [],\r\n\tmemo?: string,\r\n\tremark?: string,\r\n\tlog?: [],\r\n\tptime?: string,\r\n\ttrack17Key?: string,\r\n\tgoods?: string,\r\n\tloss?: number,\r\n\tremote?: boolean,\r\n\tboxDtoList?: []\r\n}\r\n\r\nexport interface ITrackTrace {\r\n\torderId?: number,\r\n\tregist17?: boolean,\r\n\ttraceNo?: string,\r\n\tcompanyId?: number,\r\n\ttrack17Key?: number,\r\n\ttraceName?: string,\r\n\tmethod?: any,\r\n\tcountry?: string,\r\n\tstate?: any\r\n}\r\nexport interface ISupplier {\r\n\torderId?: number,\r\n\torderNo?: string,\r\n\ttrack17Key?: number,\r\n\ttrackNo?: [],\r\n\tshipmentId?: string,\r\n\tcompanyId?: number\r\n}\r\nexport interface IKOrderResult {\r\n\tsign?: string,\r\n\ttimestamp?: string,\r\n\tcontent?: []\r\n}\r\nexport interface ISFOrderStateBack {\r\n\trequestId?: string,\r\n\ttimestamp?: number,\r\n\torderState?: []\r\n}\r\nexport interface IHLLOrderStateBack {\r\n\tserial_no?: string,\r\n\taction?: string,\r\n\tcreate_time?: number,\r\n\tdata?: any\r\n}\r\nexport interface IChannelParam {\r\n\tid?: number,\r\n\tcountryCode?: string,\r\n\tmethod?: number\r\n}\r\nexport interface IAddress {\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tloginName?: string,\r\n\tisDefault?: boolean,\r\n\tptime?: string,\r\n\ttopAddr?: any,\r\n\taddr?: string\r\n}\r\nexport interface ILogin {\r\n\tphone?: string,\r\n\tpassword?: string,\r\n\ttype?: any,\r\n\tid?: string,\r\n\ttrack?: any,\r\n\tcaptcha?: string,\r\n\tjoint?: string\r\n}\r\nexport interface INewPwd {\r\n\tphone?: string,\r\n\tpassword?: string,\r\n\tnewPassword?: string,\r\n\tcaptcha?: string\r\n}\r\nexport interface ISendCaptcha {\r\n\tipAddress?: string,\r\n\tphone?: string,\r\n\tcaptchaType?: any\r\n}\r\nexport interface IGetAmzFee {\r\n\tcountryCode?: string,\r\n\tproductType?: any,\r\n\theight?: number,\r\n\theightIn?: number,\r\n\tlength?: number,\r\n\tlengthIn?: number,\r\n\twidth?: number,\r\n\twidthIn?: number,\r\n\tweight?: number,\r\n\tweightLb?: number\r\n}\r\nexport interface IShipOrder {\r\n\textraId?: number,\r\n\tspecadd?: number,\r\n\tpid?: number,\r\n\tchild?: number,\r\n\tid?: number,\r\n\tuserId?: number,\r\n\tbusinessId?: number,\r\n\tuserPhone?: string,\r\n\tcountry?: string,\r\n\tno?: string,\r\n\tdeliverNo?: string,\r\n\tdeliverFee?: number,\r\n\tdeliverStatus?: any,\r\n\tcwareId?: number,\r\n\tinsurer?: string,\r\n\tinsurfee?: number,\r\n\treferenceId?: string,\r\n\tshipmentId?: string,\r\n\taddressId?: number,\r\n\ttopAddr?: any,\r\n\ttopSender?: any,\r\n\taddr?: string,\r\n\tsender?: string,\r\n\tship?: number,\r\n\tpreShip?: number,\r\n\tunitPrice?: number,\r\n\tlastUnitPrice?: number,\r\n\tfeeUser?: number,\r\n\tfeeComp?: number,\r\n\tquantity?: number,\r\n\tbox?: number,\r\n\tboxPics?: [],\r\n\tboxPdf?: string,\r\n\tdeclare?: number,\r\n\tdcur?: string,\r\n\tdeliver?: string,\r\n\tdeliverType?: any,\r\n\tchannel?: string,\r\n\tchannelCode?: string,\r\n\ttemplateId?: number,\r\n\ttemplateName?: string,\r\n\tmethod?: any,\r\n\tdays?: string,\r\n\tstate?: any,\r\n\tpaymentState?: any,\r\n\twareCode?: string,\r\n\tsupplyCode?: string,\r\n\texams?: [],\r\n\tweight?: number,\r\n\tlastFeeKg?: number,\r\n\tfeeWeight?: number,\r\n\tsize?: number,\r\n\ttraces?: [],\r\n\tmemo?: string,\r\n\tremark?: string,\r\n\tlog?: [],\r\n\tptime?: string,\r\n\ttrack17Key?: string,\r\n\tgoods?: string,\r\n\tloss?: number,\r\n\tremote?: boolean,\r\n\tboxDtoList?: []\r\n}\r\n \r\nexport const Api = {\r\n\tExtraOrder: {\r\n\t\tCreateExtraOrder: (params: IExtraOrder) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/extraorder/CreateExtraOrder', data: params})\r\n\t\t},\r\n\t\tGetCurrent: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/GetCurrent'})\r\n\t\t},\r\n\t\tFinish: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/Finish', params: params})\r\n\t\t},\r\n\t\tGetDetail: (params: { OrderId: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/Detail', params: params})\r\n\t\t},\r\n\t\tGetOrderList: (params: { KeyWord?: string, Status?: any, PayStatus?: any, Begin?: string, End?: string, StartPayTime?: string, EndPayTime?: string, BusinessId?: number, PageSize?: number, Page?: number, Total?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/GetOrderList', params: params})\r\n\t\t},\r\n\t\tGetConfigs: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/GetConfigs'})\r\n\t\t},\r\n\t\tBoxDetail: (params: { OrderId: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/BoxDetail', params: params})\r\n\t\t},\r\n\t\tCreateTopOrder: (params: { OrderId: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/extraorder/CreateTopOrder', params: params})\r\n\t\t},\r\n\t},\r\n\tGoods: {\r\n\t\tGetGoodsList: (params: { UserId?: number, Keyword?: string, Country?: string, Method?: any, HasSpecial?: any, PageSize?: number, Page?: number, Total?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/goods/GetGoodsList', params: params})\r\n\t\t},\r\n\t\tGetSpecialAddPrice: (params: { Country?: string, Method?: any, Ids?: any }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/goods/GetSpecialAddPrice', params: params})\r\n\t\t},\r\n\t\tSaveGoods: (params: IGoods) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/goods/SaveGoods', data: params})\r\n\t\t},\r\n\t\tUploadGoods: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/goods/UploadGoods', data: params})\r\n\t\t},\r\n\t\tDeleteGoods: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/goods/DeleteGoods', params: params})\r\n\t\t},\r\n\t\tBatchDelete: (params: { ids: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/goods/BatchDelete', params: params})\r\n\t\t},\r\n\t},\r\n\tPack: {\r\n\t\tGetPackList: (params: { Keyword?: string, UserId?: number, UserName?: string, cn?: string, PageSize?: number, Page?: number, Total?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/pack/List', params: params})\r\n\t\t},\r\n\t\tSavePack: (params: IPack) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/pack/Save', data: params})\r\n\t\t},\r\n\t\tDeleteById: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/pack/Delete', params: params})\r\n\t\t},\r\n\t},\r\n\tWareBook: {\r\n\t\tAddZwarebook: (params: IWareBook) => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/warebook/AddZwarebook', data: params})\r\n\t\t},\r\n\t\tGetZwarebookList: (params: { wareCode?: string, status?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/warebook/ZwarebookList', params: params})\r\n\t\t},\r\n\t},\r\n\tWare: {\r\n\t\tGetWareList: (params: IWareParam) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/ware/List', data: params})\r\n\t\t},\r\n\t\tGetZwareCodeList: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/ware/GetZwareCodeList'})\r\n\t\t},\r\n\t\tGetWareByCode: (params: { wareCode: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/ware/GetWareByCode', params: params})\r\n\t\t},\r\n\t\tGetWareAndGroup: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/ware/GetWareAndGroup'})\r\n\t\t},\r\n\t},\r\n\tTimeBook: {\r\n\t\tAddTimebook: (params: ITimeBook) => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/timebook/AddTimebook', data: params})\r\n\t\t},\r\n\t\tGetTimebookList: (params: { timeId?: number, status?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/timebook/TimebookList', params: params})\r\n\t\t},\r\n\t},\r\n\tSpecial: {\r\n\t\tGetSpeAddList: (params: ISpeAddParam) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/special/SpeAddList', data: params})\r\n\t\t},\r\n\t},\r\n\tShip: {\r\n\t\tGetShipList: (params: IShipParam) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/ship/GetShipList', data: params})\r\n\t\t},\r\n\t},\r\n\tResource: {\r\n\t\tGetResourceList: (params: IResQuery) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/resource/GetResourceList', data: params})\r\n\t\t},\r\n\t\tGetDetail: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/resource/GetDetail', params: params})\r\n\t\t},\r\n\t},\r\n\tOrder: {\r\n\t\tGetListByGood: (params: { Goodsid?: number, PageSize?: number, Page?: number, Total?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/order/GetListByGood', params: params})\r\n\t\t},\r\n\t\tGetZorderList: (params: { Keyword?: string, Country?: string, CompanyId?: number, OrderState?: any, PaymentState?: any, Method?: any, StartTime?: string, EndTime?: string, PageSize?: number, Page?: number, Total?: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/order/GetZorderList', params: params})\r\n\t\t},\r\n\t\tGetOrderDetail: (params: { orderId: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/order/GetOrderDetail', params: params})\r\n\t\t},\r\n\t\tCreateOrder: (params: IShipOrder) => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/order/CreateOrder', data: params})\r\n\t\t},\r\n\t\tChooseChannel: (params: IShipOrder) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/ChooseChannel', data: params})\r\n\t\t},\r\n\t\tUpdateMemo: (params: IShipOrderMemo) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/UpdateMemo', data: params})\r\n\t\t},\r\n\t\tSaveDeliverNo: (params: IShipDeliverNo) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/SaveDeliverNo', data: params})\r\n\t\t},\r\n\t\tSaveBoxPdf: (params: IBoxPdf) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/SaveBoxPdf', data: params})\r\n\t\t},\r\n\t\tUploadBoxImg: (params: IBoxImg) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/UploadBoxImg', data: params})\r\n\t\t},\r\n\t\tDeleteBoxImg: (params: IBoxImg) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/DeleteBoxImg', data: params})\r\n\t\t},\r\n\t\tGetDeliverFee: (params: IShipOrder) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/DeliverFee', data: params})\r\n\t\t},\r\n\t\tUploadShipment: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/UploadShipment', data: params})\r\n\t\t},\r\n\t\tGetTraceDetail: (params: ITrackTrace) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/GetTraceDetail', data: params})\r\n\t\t},\r\n\t\tGetOrderLabel: (params: ISupplier) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/GetOrderLabel', data: params})\r\n\t\t},\r\n\t\tReceiveSdgj: () => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/order/ReceiveSdgj'})\r\n\t\t},\r\n\t},\r\n\tInsure: {\r\n\t\tReceiveKOrders: (params: IKOrderResult) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/insure/ReceiveKOrders', data: params})\r\n\t\t},\r\n\t},\r\n\tDivision: {\r\n\t\tInit: () => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/division/Init'})\r\n\t\t},\r\n\t\tGetHotCitys: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/division/GetHotCitys'})\r\n\t\t},\r\n\t\tGetDivisions: (params?: { ParentCode: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/division/GetDivisions', params: params})\r\n\t\t},\r\n\t},\r\n\tDeliver: {\r\n\t\tDepponPrice: (params: { dStateReceive: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliver/depponPrice', data: params})\r\n\t\t},\r\n\t\tSFPrice: (params: { sfFee: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliver/SFPrice', data: params})\r\n\t\t},\r\n\t\tSFOrderState: (params: ISFOrderStateBack) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliver/SFOrderState', data: params})\r\n\t\t},\r\n\t\tKYOrderState: (params: { kYRouteBacks: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliver/KYOrderState', data: params})\r\n\t\t},\r\n\t\tHLLOrderState: (params: IHLLOrderStateBack) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliver/HLLOrderState', data: params})\r\n\t\t},\r\n\t},\r\n\tCountry: {\r\n\t\tGetZcountryList: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetZcountryList'})\r\n\t\t},\r\n\t\tGetAreaList: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetAreaList'})\r\n\t\t},\r\n\t\tGetAreaList2: (params?: { country: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetAreaList2', params: params})\r\n\t\t},\r\n\t\tGetEUCountrys: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetEUCountrys'})\r\n\t\t},\r\n\t\tGetWareCountrys: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetWareCountrys'})\r\n\t\t},\r\n\t\tGetOriginList: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/country/GetOriginList'})\r\n\t\t},\r\n\t},\r\n\tChannel: {\r\n\t\tGetDetailById: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/channel/Detail', params: params})\r\n\t\t},\r\n\t\tGetChannelList: (params: IChannelParam) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/channel/List', data: params})\r\n\t\t},\r\n\t},\r\n\tAddress: {\r\n\t\tGetAddressList: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/address/GetAddressList'})\r\n\t\t},\r\n\t\tSaveAddress: (params: IAddress) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/address/SaveAddress', data: params})\r\n\t\t},\r\n\t\tDeleteAddress: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'DELETE', url: '/api/top/address/DeleteAddress', params: params})\r\n\t\t},\r\n\t\tSetDefault: (params: { id: number }) => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/address/SetDefault', params: params})\r\n\t\t},\r\n\t\tGetDefault: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/address/GetDefault'})\r\n\t\t},\r\n\t},\r\n\tAccount: {\r\n\t\tGetUserDetail: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/account/Detail'})\r\n\t\t},\r\n\t\tLoginAsync: (params: ILogin) => {\r\n\t\t\treturn request({method: 'PUT', url: '/api/top/account/login', data: params})\r\n\t\t},\r\n\t\tExistAsync: (params: { phone: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/account/exist', params: params})\r\n\t\t},\r\n\t\tresetPwdAsync: (params: INewPwd) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/account/resetPwd', data: params})\r\n\t\t},\r\n\t\tLogoutAsync: () => {\r\n\t\t\treturn request({method: 'DELETE', url: '/api/top/account/logout'})\r\n\t\t},\r\n\t\tSendCaptchaAsync: (params: ISendCaptcha) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/account/send-captcha', data: params})\r\n\t\t},\r\n\t},\r\n\tTool: {\r\n\t\tChangePDF: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliverskill/ChangePDF', data: params})\r\n\t\t},\r\n\t\tGetPDF: (params: { fileName: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/deliverskill/DownloadPDF', params: params})\r\n\t\t},\r\n\t\tGetTRexs: (params: { CountryCode: string }) => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/deliverskill/GetTRexs', params: params})\r\n\t\t},\r\n\t\tGetLastAmzFee: (params: IGetAmzFee) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliverskill/GetLastAmzFee', data: params})\r\n\t\t},\r\n\t\tImportUsAmzFee: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliverskill/ImportUsAmzFee', data: params})\r\n\t\t},\r\n\t\tImportEuAmzFee: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/deliverskill/ImportEuAmzFee', data: params})\r\n\t\t},\r\n\t},\r\n\tPrice: {\r\n\t\tGetLastPrice: (params: IShipOrder) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/price/GetLastPrice', data: params})\r\n\t\t},\r\n\t},\r\n\tOss: {\r\n\t\tGetToken: () => {\r\n\t\t\treturn request({method: 'GET', url: '/api/top/oss/GetToken'})\r\n\t\t},\r\n\t\tUploadImg: (params: { ImgType?: any, Files?: any }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/oss/UploadImg', data: params})\r\n\t\t},\r\n\t\tUploadEXl: (params: { ExlType?: any, Files?: any }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/oss/UploadExl', data: params})\r\n\t\t},\r\n\t\tUploadDocuments: (params: { files: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/oss/UploadDocuments', data: params})\r\n\t\t},\r\n\t\tUploadBoxPDF: (params: { file: undefined }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/oss/UploadBoxPDF', data: params})\r\n\t\t},\r\n\t\tUploadSkuLabel: (params: { Sku?: string, file?: any }) => {\r\n\t\t\treturn request({method: 'POST', url: '/api/top/oss/UploadSkuLabel', data: params})\r\n\t\t},\r\n\t},\r\n}","import React from \"react\";\r\nimport '../index.css';\r\nimport { IModalProps } from \"../interface\";\r\n\r\n\r\ninterface IProps extends IModalProps{\r\n visible:boolean,\r\n showCancel?:boolean,\r\n showConfirm?:boolean,\r\n icon?:React.ReactNode,\r\n children?:React.ReactNode,\r\n maxHeight?:number\r\n}\r\n\r\nconst ModalMessage = (props:IProps)=>{\r\n\r\n\r\n const {title, content, onOk, onCancel, showCancel, showConfirm, icon, okText = '确认'} = props;\r\n\r\n const onConfirmBtnClick = (e:any)=>{\r\n e.stopPropagation()\r\n onOk&&onOk();\r\n }\r\n\r\n\r\n const onCancelBtnClick = (e:any)=>{\r\n e.stopPropagation();\r\n onCancel&&onCancel();\r\n }\r\n\r\n\r\n return (\r\n
\r\n {title &&
{icon}{title}
}\r\n
×
\r\n
{content}
\r\n
\r\n {showCancel && }\r\n {showConfirm && }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ModalMessage;","import React, { useEffect } from \"react\";\r\nimport '../index.css';\r\nimport { IModalProps } from \"../interface\";\r\n\r\n\r\ninterface IProps extends IModalProps{\r\n visible:boolean,\r\n showCancel?:boolean,\r\n showConfirm?:boolean,\r\n icon?:React.ReactNode\r\n}\r\n\r\nconst MessageTips = (props:IProps)=>{\r\n\r\n\r\n const { title,icon,during,onCancel } = props;\r\n \r\n useEffect(()=>{\r\n setTimeout(()=>{\r\n onCancel&&onCancel();\r\n },during||1000)\r\n },[])\r\n\r\n\r\n return (\r\n \r\n {icon}\r\n {title}\r\n \r\n )\r\n}\r\n\r\nexport default MessageTips;","// import { isParentDom } from \"@/components/ZCUtil\";\r\nimport React, { useRef } from \"react\";\r\nimport '../index.css';\r\nimport { IModalProps } from \"../interface\";\r\nimport ModalMessage from \"../Message\";\r\nimport { ModalMessageTypes } from \"../Render\";\r\nimport MessageTips from \"../Tips\";\r\n\r\n\r\ninterface IProps extends IModalProps{\r\n visible:boolean,\r\n showCancel?:boolean,\r\n showConfirm?:boolean,\r\n icon?:React.ReactNode,\r\n children?:React.ReactNode,\r\n type?:ModalMessageTypes,\r\n width?:number,\r\n maxHeight?: any\r\n}\r\n\r\nconst ModalWrap = (props:IProps)=>{\r\n\r\n const {onCancel, visible, onOk, type, width} = props;\r\n const containerRef = useRef();\r\n\r\n const onCancelBtnClick = (e?:any)=>{\r\n e?.stopPropagation()\r\n onCancel && onCancel();\r\n }\r\n\r\n const onOkCallBack = ()=> {\r\n onOk && onOk()\r\n onCancel && onCancel();\r\n }\r\n\r\n const doCancel = (e?:any)=> {\r\n // if(e&&!isParentDom(e.target,containerRef.current)){\r\n // onCancel && onCancel()\r\n // }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n {type !== 'tips' &&\r\n }\r\n {type == 'tips' && }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ModalWrap;","import ZIcon from \"@/components/Icon\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { IModalProps } from \"../interface\";\r\nimport ModalWrap from \"../Wrap\";\r\n\r\nexport interface IModalConfirmProps extends Omit {\r\n onCancel?: () => void\r\n}\r\n\r\nexport type ModalMessageTypes = 'info' | 'warn' | 'tips' | 'confirm' | 'error'\r\n\r\nexport const DialogRender = (props: IModalConfirmProps, type: ModalMessageTypes) => {\r\n\r\n const onClose = () => {\r\n closeModal();\r\n props.onCancel && props.onCancel();\r\n \r\n }\r\n\r\n\r\n const FlagIcon = {\r\n 'info':,\r\n 'warn':,\r\n 'tips':,\r\n 'confirm':,\r\n 'error':\r\n }\r\n\r\n // body 添加节点\r\n const div = document.createElement('div');\r\n document.body.append(div);\r\n document.body.setAttribute('class', 'zc-modal-scrolling');\r\n\r\n\r\n function render() {\r\n setTimeout(() => {\r\n ReactDOM.render( onClose()} onOk={props.onOk} />, div);\r\n })\r\n }\r\n function closeModal() {\r\n const unmountResult = ReactDOM.unmountComponentAtNode(div);\r\n if (unmountResult && div.parentNode) {\r\n div.parentNode.removeChild(div);\r\n document.body.removeAttribute('class');\r\n }\r\n }\r\n render();\r\n}\r\n\r\n\r\nexport default DialogRender;","import React, { useEffect } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { IModalProps } from \"./interface\";\r\nimport DialogRender from \"./Render\";\r\nimport ModalWrap from \"./Wrap\";\r\n\r\n\r\ninterface IModalComp extends IModalProps {\r\n children?: React.ReactNode,\r\n visible: boolean,\r\n width?: any,\r\n footer?: boolean,\r\n maxHeight?: any\r\n}\r\n\r\n\r\nconst Modal = (props: IModalComp) => {\r\n const {onCancel, onOk, visible, footer} = props;\r\n const doCancel = () => onCancel?.()\r\n useEffect(()=>{\r\n if(visible){\r\n document.body.setAttribute('class', 'zc-modal-scrolling');\r\n }else{\r\n document.body.removeAttribute('class');\r\n }\r\n\r\n // 按下esc 隐藏弹窗 \r\n document.addEventListener(\"keydown\",(e)=>{\r\n if(e.code=='Escape'){\r\n onCancel && onCancel()\r\n }\r\n });\r\n return ()=>{\r\n document.removeEventListener(\"keydown\",()=>{});\r\n }\r\n },[visible])\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n {\r\n createPortal(\r\n {\r\n onOk && onOk();\r\n doCancel();\r\n }}/>\r\n , document.body)\r\n }\r\n \r\n )\r\n};\r\n\r\n\r\nModal.confirm = (e: IModalProps) => DialogRender(e, 'confirm');\r\nModal.error = (e: IModalProps) => DialogRender(e, 'error')\r\nModal.warn = (e: IModalProps) => DialogRender(e, 'warn')\r\nModal.tips = (e: string, during?: number) => DialogRender({title: e, during: during}, 'tips')\r\nModal.info = (e: IModalProps) => DialogRender(e, 'warn')\r\n\r\nexport default Modal;\r\n\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n handleRefresh: () => void\r\n setVisible: any\r\n}\r\n\r\nconst CaptchaRefresh = (props: Props) => {\r\n // const {setVisible} = props\r\n\r\n return (\r\n
\r\n 滑动验证\r\n {/*
setVisible(false)}>X
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*
刷新
*/}\r\n {/*
*/}\r\n
\r\n )\r\n}\r\nexport default CaptchaRefresh","import React from \"react\";\r\nimport {captchaProps} from \"@/components/SlideCaptcha/interface\";\r\n\r\ninterface Props extends captchaProps {\r\n isOk: boolean\r\n barHeight: number\r\n handleDragStart: any\r\n dragLeft: number\r\n barWidth: number\r\n}\r\n\r\nconst CaptchaDrag = (props: Props) => {\r\n const {\r\n text,\r\n handlerIconWidth,\r\n handlerIconHeigth,\r\n isOk,\r\n barHeight,\r\n width,\r\n circle,\r\n progressBarBg,\r\n radius,\r\n background,\r\n handleDragStart,\r\n dragLeft,\r\n barWidth,\r\n } = props\r\n\r\n\r\n const progressBarStyle = () => {\r\n return {\r\n background: progressBarBg,\r\n height: barHeight + \"px\",\r\n width: barWidth,\r\n borderRadius: circle\r\n ? barHeight / 2 + \"px 0 0 \" + barHeight / 2 + \"px\"\r\n : radius,\r\n }\r\n }\r\n const dragVerifyStyle = () => {\r\n return {\r\n width,\r\n background,\r\n height: barHeight + \"px\",\r\n lineHeight: barHeight + \"px\",\r\n borderRadius: circle ? barHeight / 2 + \"px\" : radius,\r\n };\r\n }\r\n return (\r\n
\r\n
\r\n
{text}
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n )\r\n}\r\nexport default CaptchaDrag","import React from \"react\";\r\nimport {captchaProps} from \"@/components/SlideCaptcha/interface\";\r\n\r\ninterface Props extends captchaProps {\r\n showVerifyLoadding: boolean\r\n showGenerateLoadding: boolean\r\n isPassing: number\r\n dragLeft: number\r\n}\r\n\r\nconst CaptchaImage = (props: Props) => {\r\n\r\n const {\r\n showVerifyLoadding,\r\n showGenerateLoadding,\r\n isPassing,\r\n successTip,\r\n width,\r\n height,\r\n src,\r\n sliderSrc,\r\n dragLeft\r\n } = props\r\n\r\n return (\r\n
\r\n {src && || ''}\r\n {sliderSrc &&\r\n || ''}\r\n\r\n {isPassing > 1 &&
\r\n
\r\n {isPassing === 2 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n || isPassing === 3 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n
{isPassing === 2 && successTip}
\r\n
|| ''}\r\n\r\n {showGenerateLoadding &&\r\n
\r\n
\r\n
加载中...
\r\n
\r\n || ''}\r\n\r\n {showVerifyLoadding &&\r\n
\r\n
\r\n
\r\n
\r\n || ''}\r\n\r\n
\r\n )\r\n}\r\nexport default CaptchaImage","import React, {useEffect, useState} from \"react\";\r\nimport CaptchaRefresh from \"./refresh\";\r\nimport CaptchaDrag from \"./drag\";\r\nimport CaptchaImage from \"./content\";\r\nimport './index.less'\r\nimport {captchaProps} from \"./interface\";\r\n\r\n\r\ninterface Props extends captchaProps {\r\n onFinish?: (params: T) => void\r\n status?: number\r\n setVisible: any\r\n}\r\n\r\nlet move: boolean = false\r\nlet x: number = 0\r\nlet y: number = 0\r\nlet startSlidingTime: any\r\nlet isFinish: boolean = false\r\n\r\nconst SlideCaptcha = (props: Props) => {\r\n\r\n const {\r\n width = 340,\r\n height = 212,\r\n handlerIconWidth = 16,\r\n handlerIconHeigth = 16,\r\n barHeight = 40,\r\n circle = false,\r\n radius = '4px',\r\n progressBarBg = '#76c61d',\r\n background = '#eee',\r\n text = '按住滑块拖动',\r\n successTip = '验证通过,超过80%用户',\r\n failTip = '验证未通过,拖动滑块将悬浮图像正确合并',\r\n onFinish,\r\n src,\r\n sliderSrc,\r\n status = 1,\r\n setVisible\r\n } = props\r\n\r\n\r\n const [isPassing, setIsPassing] = useState(1)\r\n const [showGenerateLoadding, setShowGenerateLoadding] = useState(false)\r\n const [showVerifyLoadding, setShowVerifyLoadding] = useState(false)\r\n const [isOk, setIsOk] = useState(false)\r\n const [tracks, setTracks] = useState([])\r\n const [dragLeft, setDragLeft] = useState(0) // 滑块偏移\r\n const [barWidth, setBarWidth] = useState(0) // 滑块拖动覆盖\r\n\r\n\r\n // 开始拖动\r\n const handleDragStart = (e: any) => {\r\n if (isPassing === 1 && src && sliderSrc && !isFinish) {\r\n window.addEventListener(\"touchmove\", handleDragMoving);\r\n window.addEventListener(\"touchend\", handleDragFinish);\r\n window.addEventListener(\"mousemove\", handleDragMoving);\r\n window.addEventListener(\"mouseup\", handleDragFinish);\r\n move = true\r\n x = e.pageX || e.touches[0].pageX\r\n y = e.pageY || e.touches[0].pageY\r\n startSlidingTime = new Date()\r\n\r\n }\r\n }\r\n // 拖动\r\n const handleDragMoving = (e: any) => {\r\n if (move && isPassing === 1 && src && sliderSrc && !isFinish) {\r\n let _x = (e.pageX || e.touches[0].pageX) - x;\r\n let _y = (e.pageY || e.touches[0].pageY) - y;\r\n setDragLeft(_x)\r\n setBarWidth(_x + barHeight / 2)\r\n const _tracks = tracks\r\n _tracks.push({\r\n x: _x,\r\n y: _y,\r\n t: new Date().getTime() - startSlidingTime.getTime(),\r\n })\r\n setTracks(_tracks)\r\n }\r\n }\r\n\r\n // 停止\r\n const handleDragFinish = () => {\r\n if (move && isPassing === 1 && src && sliderSrc && !isFinish) {\r\n move = false\r\n isFinish = true\r\n removeEventListeners()\r\n onFinish?.({\r\n backgroundImageWidth: width,\r\n backgroundImageHeight: height,\r\n sliderImageWidth: 68,\r\n sliderImageHeight: height,\r\n startTime: startSlidingTime,\r\n endTime: new Date(),\r\n tracks: tracks,\r\n })\r\n }\r\n }\r\n\r\n // 移除鼠标事件\r\n const removeEventListeners = () => {\r\n window.removeEventListener(\"touchmove\", handleDragMoving);\r\n window.removeEventListener(\"touchend\", handleDragFinish);\r\n window.removeEventListener(\"mousemove\", handleDragMoving);\r\n window.removeEventListener(\"mouseup\", handleDragFinish);\r\n }\r\n\r\n const handleRefresh = () => {\r\n x = 0\r\n y = 0\r\n isFinish = false\r\n move = false\r\n startSlidingTime = null\r\n setTracks([])\r\n setBarWidth(0)\r\n setDragLeft(0)\r\n setIsOk(false)\r\n setIsPassing(1)\r\n setShowGenerateLoadding(false)\r\n setShowVerifyLoadding(false)\r\n removeEventListeners()\r\n }\r\n\r\n useEffect(() => {\r\n if (status) {\r\n setIsPassing(status)\r\n }\r\n if (status === 3) {\r\n handleRefresh()\r\n }\r\n }, [status])\r\n\r\n return (\r\n
\r\n\r\n {/* 刷新 */}\r\n \r\n {/* 图像 */}\r\n \r\n {/* 拖动 */}\r\n \r\n\r\n
\r\n )\r\n}\r\nexport default SlideCaptcha","import React, {useEffect, useState} from \"react\";\r\nimport SlideCaptcha from \"@/components/SlideCaptcha\";\r\nimport './index.less'\r\n\r\ninterface Props {\r\n onFinish: any\r\n sliding: any\r\n status: number\r\n setVisible: any\r\n}\r\n\r\nconst Capt = (props: Props) => {\r\n const {onFinish, sliding, status, setVisible} = props\r\n const [src, setSrc] = useState('') // 滑块背景图\r\n const [sliderSrc, setSliderSrc] = useState('') // 滑块缺口图\r\n const [captId, setCaptId] = useState('') // 滑块id\r\n\r\n\r\n // 获取滑动验证码\r\n const initCapt = (res: any) => {\r\n setSrc(res.backgroundImage)\r\n setSliderSrc(res.sliderImage)\r\n setCaptId(res.id)\r\n }\r\n\r\n useEffect(() => {\r\n if (sliding) {\r\n initCapt(sliding)\r\n }\r\n }, [sliding])\r\n\r\n return (\r\n
\r\n onFinish?.({id: captId, track})} src={src} sliderSrc={sliderSrc}\r\n status={status} height={160} setVisible={setVisible}/>\r\n
\r\n )\r\n}\r\n\r\nexport default Capt","import { Api } from '@/api';\r\nimport Modal from \"@/components/Modal\";\r\nimport { AppContext, APPEvent } from '@/ZRender/context';\r\nimport { getUITagParams } from '@/ZRender/helper';\r\nimport React, { useContext, useEffect, useState } from \"react\";\r\nimport {Message} from \"@/components/Messsage\";\r\nimport './index.less'\r\nimport Capt from \"@/pages/_global/capt\";\r\n\r\nlet aTimer: any;\r\nlet press: boolean = true\r\n\r\nconst Login = () => {\r\n const [count, setCount] = useState(60)\r\n const [phone, setPhone] = useState('');\r\n const [visible, setVisible] = useState(false)\r\n const [password, setPassword] = useState('');\r\n const [newPassword, setNewPassword] = useState();\r\n const [joint, setJoint] = useState();\r\n\r\n const [captcha, setCaptcha] = useState();\r\n const [tip, setTip] = useState(false)\r\n\r\n // const [isLogin, setIsLogin] = useState(false);\r\n const [status, setStatus] = useState(1) // 1 登录 2 注册 3 忘记密码\r\n\r\n const [show, setShow] = useState(false)\r\n const [sliding, setSliding] = useState('')\r\n const [values, setValues] = useState()\r\n const [flag, setFlag] = useState(1) // 验证状态 1: 未验证 2:通过 3:未通过\r\n const [enCode, setEncode] = useState();\r\n\r\n\r\n //@ts-ignore\r\n const {state, dispatch} = useContext(AppContext)\r\n\r\n\r\n const initDom = () => {\r\n const gcontrol: any = document.querySelector('*[ui=gcontrol]');\r\n const {params} = getUITagParams(gcontrol);\r\n const loginBtn = document.getElementsByClassName('theme-login') as any;\r\n const usernameBtn = document.getElementsByClassName('username') as any;\r\n\r\n const loginOutBtn = document.getElementsByClassName('theme-logout') as any;\r\n // setIsLogin(params.islogin == '1');\r\n setStatus(1)\r\n dispatch({\r\n type: APPEvent.SETISLOGIN,\r\n state: {isLogin: params.islogin == '1'}\r\n })\r\n\r\n if (loginBtn && loginBtn.length > 0) {\r\n loginBtn[0].onclick = () => {\r\n setStatus(1)\r\n dispatch({\r\n type: APPEvent.SHOWLOGIN,\r\n state: { showLogin:true }\r\n })\r\n setVisible(true)\r\n }\r\n }\r\n if (loginOutBtn && loginOutBtn.length > 0) {\r\n loginOutBtn[0].onclick = () => {\r\n Api.Account.LogoutAsync().then(() => {\r\n window.location.reload()\r\n })\r\n }\r\n }\r\n if (usernameBtn && usernameBtn.length > 0) {\r\n usernameBtn[0].onclick = () => {\r\n location.href = '/Account/Goods.html'\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n initDom();\r\n if (localStorage.getItem('phone')) {\r\n setPhone(localStorage.getItem('phone') || '')\r\n }\r\n if (localStorage.getItem('fwa')) {\r\n setPassword(localStorage.getItem('fwa') || '')\r\n }\r\n }, [])\r\n const doAction = () => {\r\n if (phone?.length !== 11 || !password) return\r\n\r\n if (status !== 3) {\r\n handleSubmit()\r\n }\r\n if (status === 3) {\r\n if (!captcha) {\r\n return\r\n }\r\n if (password !== newPassword) {\r\n setTip(true)\r\n return;\r\n }\r\n Api.Account.resetPwdAsync({phone, password, newPassword, captcha}).then(() => {\r\n Message.success('密码重置成功')\r\n setStatus(1)\r\n })\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n setVisible(state.showLogin)\r\n }, [state.showLogin])\r\n\r\n const onCancel = () => {\r\n dispatch({\r\n type: APPEvent.SHOWLOGIN,\r\n state: { showLogin:false }\r\n })\r\n }\r\n // 倒计时\r\n const fn = (num: number) => {\r\n let n = num\r\n if(n>0){\r\n aTimer=setTimeout(() => {\r\n n--;\r\n fn(n)\r\n },1000)\r\n setCount(n)\r\n } else {\r\n clearTimeout(aTimer)\r\n setCount(60)\r\n }\r\n }\r\n // 发送验证码\r\n const getCode = () => {\r\n if (count !== 60 || !phone) return\r\n Api.Account.SendCaptchaAsync({phone, captchaType: status === 2 && 1 || 2}).then(() => {\r\n Message.success('发送成功')\r\n fn(count)\r\n })\r\n }\r\n\r\n\r\n const handleSubmit = () => {\r\n const e = {phone, password}\r\n setValues(e)\r\n if (sliding) {\r\n setShow(true)\r\n } else {\r\n onLogin({\r\n ...e,\r\n id: enCode || '',\r\n password,\r\n captcha,\r\n joint\r\n })\r\n }\r\n };\r\n // 登录\r\n const onLogin = async (values: any) => {\r\n try {\r\n const res: any = await Api.Account.LoginAsync({...values, type: status});\r\n const msg = res.data\r\n if (msg) {\r\n setEncode(msg.id);// 加密字段,用于验证码登录\r\n if (msg.success) {\r\n setSliding(undefined)\r\n setShow(false)\r\n setFlag(2)\r\n localStorage.setItem('phone', phone)\r\n localStorage.setItem('fwa', password)\r\n window.location.reload()\r\n return;\r\n } else {\r\n if (msg.error) {\r\n Message.error(msg.error);\r\n }\r\n setSliding(msg.sliding)\r\n setFlag(3)\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n //\r\n useEffect(() => {\r\n if (sliding) {\r\n setShow(true)\r\n }\r\n }, [sliding])\r\n // 滑块结束登录\r\n const onFinish = (e: any) => {\r\n setFlag(1)\r\n setSliding(undefined)\r\n onLogin({...values, ...e, password})\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const handleKeydown = (e: any) => {\r\n if (e.keyCode === 13 && press) {\r\n doAction()\r\n press = false\r\n }\r\n }\r\n if (visible) {\r\n window.addEventListener('keydown', handleKeydown)\r\n window.addEventListener('keyup', () => press = true)\r\n }\r\n return () => window.removeEventListener(\"keydown\", handleKeydown);\r\n }, [visible, status, sliding, phone, password, captcha])\r\n\r\n\r\n return (\r\n <>\r\n \r\n 欢迎{status === 3 && '重置密码' || status === 2 && '注册' || '登录'}
}>\r\n
\r\n\r\n
\r\n {\r\n status !== 1 && 已有账号! setStatus(1)}>直接登录 \r\n ||\r\n 没有账号? setStatus(2)}>立即注册 \r\n }\r\n
    \r\n
  • \r\n \r\n setPhone(e.target.value)}/>\r\n
  • \r\n\r\n
  • \r\n {status === 3 && || }\r\n setPassword(e.target.value)}/>\r\n
  • \r\n {status === 3 &&
  • \r\n \r\n setNewPassword(e.target.value)}/>\r\n
    {tip && '两次输入密码不一致' || ''}
    \r\n
  • || ''}\r\n {\r\n status !== 1\r\n &&\r\n
    \r\n
  • \r\n \r\n setCaptcha(e.target.value)}/>\r\n \r\n
  • \r\n {\r\n status === 2 &&\r\n\r\n
  • \r\n \r\n setJoint(e.target.value)}/>\r\n
  • \r\n || ''\r\n }\r\n
    \r\n\r\n || ''\r\n }\r\n
    \r\n {status !== 3 && setStatus(3)}>忘记密码? }\r\n
    \r\n {show && status === 1 &&\r\n || ''}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Login;","import React from \"react\";\r\nimport './index.less';\r\nimport Login from \"./login\";\r\n\r\ninterface IProps {\r\n children?:any\r\n}\r\n\r\n// 登录页等公共页\r\nconst BaseApp = (props:IProps)=>{\r\n return (\r\n
\r\n \r\n {props.children}\r\n
\r\n )\r\n}\r\n\r\nexport default BaseApp;"],"names":["ZCEvent","ZCContext","React","createContext","dispatch","ZCProvider","props","children","reducer","state","action","type","clickDom","messageQuene","useReducer","undefined","APPEvent","AppContext","AppProvider","isLogin","showLogin","getUITagParams","item","attr","attributes","params","trigger","app","i","length","attrIt","localName","includes","replace","value","ZDom","constructor","dom","current","$","key","specialDom","selectDataDom","split","reduce","r","splitData","index","name","charAt","getElementsByClassName","getElementByTagId","getElementsByTagName","insertApp","tagParams","uidom","slotDom","getComp","Zdom","render","comp","renderList","renderSingle","renderTree","uiDom","mainAppRenderItemIndex","findIndex","currentSlotDom","slotDomArray","filter","some","rItem","addRenderItem","RenderItem","push","AppRender","pageConfig","root","document","querySelectorAll","uiList","Array","from","insertApps","InsertApps","querySelector","renderItem","jsxPath","slotDoms","renderItems","t","e","c","o","n","l","a","getAttribute","s","parentNode","insertBefore","__iconfont__svg__cssinject__","write","console","log","documentElement","doScroll","setTimeout","h","d","createElement","innerHTML","setAttribute","style","position","width","height","overflow","body","firstChild","appendChild","addEventListener","indexOf","readyState","removeEventListener","attachEvent","onreadystatechange","window","ZIcon","className","wrap","createMessage","content","cssText","divs","Message","success","warn","error","rootDom","parentDom","unmount","useMemo","removeChild","marginTop","fontSize","request","axios","create","baseURL","timeout","list","interceptors","use","config","url","headers","Promise","reject","response","data","message","responseURL","Object","keys","code","removeItem","Api","ExtraOrder","CreateExtraOrder","method","GetCurrent","Finish","GetDetail","GetOrderList","GetConfigs","BoxDetail","CreateTopOrder","Goods","GetGoodsList","GetSpecialAddPrice","SaveGoods","UploadGoods","DeleteGoods","BatchDelete","Pack","GetPackList","SavePack","DeleteById","WareBook","AddZwarebook","GetZwarebookList","Ware","GetWareList","GetZwareCodeList","GetWareByCode","GetWareAndGroup","TimeBook","AddTimebook","GetTimebookList","Special","GetSpeAddList","Ship","GetShipList","Resource","GetResourceList","Order","GetListByGood","GetZorderList","GetOrderDetail","CreateOrder","ChooseChannel","UpdateMemo","SaveDeliverNo","SaveBoxPdf","UploadBoxImg","DeleteBoxImg","GetDeliverFee","UploadShipment","GetTraceDetail","GetOrderLabel","ReceiveSdgj","Insure","ReceiveKOrders","Division","Init","GetHotCitys","GetDivisions","Deliver","DepponPrice","SFPrice","SFOrderState","KYOrderState","HLLOrderState","Country","GetZcountryList","GetAreaList","GetAreaList2","GetEUCountrys","GetWareCountrys","GetOriginList","Channel","GetDetailById","GetChannelList","Address","GetAddressList","SaveAddress","DeleteAddress","SetDefault","GetDefault","Account","GetUserDetail","LoginAsync","ExistAsync","resetPwdAsync","LogoutAsync","SendCaptchaAsync","Tool","ChangePDF","GetPDF","GetTRexs","GetLastAmzFee","ImportUsAmzFee","ImportEuAmzFee","Price","GetLastPrice","Oss","GetToken","UploadImg","UploadEXl","UploadDocuments","UploadBoxPDF","UploadSkuLabel","ModalMessage","title","onOk","onCancel","showCancel","showConfirm","icon","okText","onConfirmBtnClick","stopPropagation","onCancelBtnClick","maxHeight","MessageTips","during","ModalWrap","visible","containerRef","useRef","onOkCallBack","doCancel","DialogRender","onClose","FlagIcon","marginRight","div","append","unmountResult","ReactDOM","unmountComponentAtNode","removeAttribute","Modal","footer","createPortal","confirm","tips","info","CaptchaRefresh","CaptchaDrag","text","handlerIconWidth","handlerIconHeigth","isOk","barHeight","circle","progressBarBg","radius","background","handleDragStart","dragLeft","barWidth","progressBarStyle","borderRadius","dragVerifyStyle","lineHeight","left","CaptchaImage","showVerifyLoadding","showGenerateLoadding","isPassing","successTip","src","sliderSrc","move","x","y","startSlidingTime","isFinish","SlideCaptcha","failTip","onFinish","status","setVisible","setIsPassing","useState","setShowGenerateLoadding","setShowVerifyLoadding","setIsOk","tracks","setTracks","setDragLeft","setBarWidth","handleDragMoving","handleDragFinish","pageX","touches","pageY","Date","_x","_y","_tracks","getTime","backgroundImageWidth","backgroundImageHeight","sliderImageWidth","sliderImageHeight","startTime","endTime","removeEventListeners","handleRefresh","Capt","sliding","setSrc","setSliderSrc","captId","setCaptId","initCapt","res","backgroundImage","sliderImage","id","track","aTimer","press","Login","count","setCount","phone","setPhone","password","setPassword","newPassword","setNewPassword","joint","setJoint","captcha","setCaptcha","tip","setTip","setStatus","show","setShow","setSliding","values","setValues","flag","setFlag","enCode","setEncode","useContext","initDom","gcontrol","loginBtn","usernameBtn","loginOutBtn","SETISLOGIN","islogin","onclick","SHOWLOGIN","then","location","reload","href","localStorage","getItem","doAction","fn","num","getCode","captchaType","handleSubmit","onLogin","msg","setItem","handleKeydown","keyCode","opacity","zIndex","target","textAlign","BaseApp"],"mappings":"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"}