{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/js/tool.js","webpack:///./src/App.vue?f2a6","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/utils/oidc.js","webpack:///./src/store/module/common.js","webpack:///./src/store/module/loginModule.js","webpack:///./src/store/module/news.js","webpack:///./src/store/module/exhibitor.js","webpack:///./src/store/module/linkTo.js","webpack:///./src/store/module/toolModule.js","webpack:///./src/store/module/product.js","webpack:///./src/store/module/user.js","webpack:///./src/store/module/banner.js","webpack:///./src/store/module/act.js","webpack:///./src/store/module/search.js","webpack:///./src/store/module/share.js","webpack:///./src/store/module/theme.js","webpack:///./src/store/module/appointment.js","webpack:///./src/store/module/img.js","webpack:///./src/store/module/talk.js","webpack:///./src/store/module/roleModule.js","webpack:///./src/store/store.js","webpack:///./src/router/router-live.js","webpack:///./src/router/router.js","webpack:///./src/router/http.js","webpack:///./src/other/ivewImport.js","webpack:///./src/other/plugin.js","webpack:///./src/directives/directives.js","webpack:///./src/utils/mixin.js","webpack:///./src/utils/roleDirect.js","webpack:///./src/main.js","webpack:///external \"moment\""],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","myService","Vue","options","$service","SmarDate","originDate","originYear","originMonth","originDay","diffMinute","formatedDate","nowDate","Date","isToday","isYesterday","isPastYear","isPreviousYear","Math","round","getTime","getFullYear","getMonth","getDate","getHours","floor","replaceSpeace","txt","txt1","replace","formatTime","date","year","month","day","hour","minute","getMinutes","second","getSeconds","t1","map","this","formatNumber","join","t2","str","toString","debounce","fn","delay","timer","args","arguments","that","_vm","_h","$createElement","_c","_self","staticRenderFns","created","watch","$route","to","fullPath","form","addLink","methods","language","body","mounted","w","a","async","u","insertBefore","init","getUserId","localStorage","getItem","component","orgin","location","host","split","reverse","clientId","log","oidcSettings","authority","redirectUri","origin","responseType","scope","loadUserInfo","acrValues","automaticSilentRenew","postLogoutRedirectUri","automaticSilentSignin","extraQueryParams","oidcSettingsQQ","state","client_id","loginBg","searchType","searchTxt","selectCategories","loginType","redirectUrl","login","token","userId","user","hostId","exhibitionId","exhibitionInfo","exhibitionConfig","exhibitorId","exhibitor","header","tokenHeaders","tokenTime","auth","formHeaders","headers","uploadUrl","config","api","uploadUrl2","uploadVideoUrl","uploadImportUrl","refresh","exhibitorPage","demandPage","productPage","activityPage","demandType","cateArrVuex","regionArrVuex","regionArrNameVuex","myAdvisorySetting","mutations","setToken","Authorization","setSearchType","setSearchTxt","setSelectCategories","setLoginType","setLoginBg","setTokenTime","setRefreshStatus","setLogin","setUser","setItem","setUserId","setHost","setAuth","setExhibitionId","setExhibitionInfo","setExhibitionConfig","setExhibitorId","setExhibitor","setRedirectUrl","setExhibitorPage","setDemandPage","setProductPage","setActivityPage","setDemandType","setCateArrVuex","setRegionArrVuex","setRegionArrNameVuex","setMyAdvisorySetting","getters","getSearchType","getSearchTxt","getSelectCategories","getUploadUrl","getLoginType","getLoginBg","getUploadUrl2","getUploadVideoUrl","getUploadImportUrl","getFormHeaders","getRefreshStatus","getTokenTime","getToken","getUser","JSON","parse","getLogin","getAuth","getExhibitionId","getExhibitionInfo","getExhibitionConfig","getMyAdvisorySetting","getExhibitorId","getExhibitor","getRedirectUrl","getExhibitorPage","getDemandPage","getProductPage","getActivityPage","getDemandType","getCateArrVuex","getRegionArrVuex","getRegionArrNameVuex","getEnabledExhibitionVisitorReg","bool","feature","enabledExhibitionVisitorReg","getEnabledBmm","enabledBmm","getEnabledExhibitionList","enabledExhibitionList","getDisplay","display","themeId","Number","actions","getWherepage","defaultOpt","pageSize","sorts","propertyName","ascending","opt","assign","axios","post","reqApi","url","catch","response","getStaff","id","uploadImages","successed","Message","success","refreshToken","rootState","rootGetters","commit","grant_type","client_secret","refresh_token","qs","stringify","root","access_token","expires_in","getSetting","liveApi","editSetting","patch","getBasicSetting","editBasicSetting","put","getShorturl","res","status","Data","getSettingShare","graphqlPostByZXS","queryName","graphqlPostByTu","tuApi","graphqlPostByTu2","graphqlPost","getMsgCode","phone","phoneNumber","validateCode","regUser","regUserByVisitor","addCustomForm","getCustomForm","dispatch","query","variables","itemId","formType","getCategory","getHall","unverifiedDialog","$Modal","confirm","title","content","okText","onOk","onCancel","addAllView","company","exhibition","joinInfo","setCompany","setExhibition","setJoinInfo","getCompany","getExhibition","getJoinInfo","addView","req","checkUserName","Phone","validateMsgCode","getImgCode","validateImgCode","Key","Code","getHomeMsg","getExToken","tokenInfo","error_description","duration","getExTokenByPhone","getHostToken","userInfo","getCompanyById","getExIdByUserId","exit","role","clear","changePasswordByOld","getCompLicense","addCompLicense","editCompLicenseAuditStatus","delete","editCompLicense","getCompInvoice","addCompInvoice","editCompInvoice","settingsQuery","getExhibitionInfoByGraphal","exhibitionQuery","getExhibitionInfoByHost","getExListFirst","getAdminToken","validatePhone","namespaced","getNewsList","getNewsDetails","supplyDemand","supplyFollower","deleteSupplyFollower","supplyDemandId","memberId","delSupply","editSupply","addEnquiryNew","addOrder","exLike","addCompLove","delCompLove","addAppointmentNumber","linkToDemandDetail","router","path","isFollow","linkToNewsDetails","linkToExhibitorDetails","linkToProductDetais","linkToLogin","linkToRegSteps","inMember","userRole","warning","linkToTour","linkToTourByExhibitorId","linkToRegForm","getForm","items","LinkAct","externalLink","open","hasLive","liveAuditState","LinkActReg","LinkHome","activityList","setActivity","getActivity","getCountry","getCountrySub","getMapValue","getMapValueByKey","getLiveRoomCode","ProductLike","ProductFollow","delOrder","delEnquiryNew","editEnquiryNew","editOrder","getPassword","Id","editNewPassword","editPassword","patchUser","patchUserCategory","msgRead","messageId","receiverId","submitFeedBack","getAuthInfo","delAuthInfo","updatePhonenumber","getBannerByGraphal","getBanner","addBanner","delBanner","editBanner","addActFollower","addActZan","delActZan","activityId","addActLove","delActLove","checkLiveView","roomId","payForMent","payForPassWord","applyhot","applyLive","applyfocus","giftTo","getBanlance","helpMyDou","activityReg","actOrder","getActDetail","getBarrage","likeTo","getActType","getSearch","addSearch","getShareConfig","by","theme","setTheme","getTheme","changeTheme","documentElement","oPicXS","oPicSmall","oPic","oPicBig","oAvatarSmall","oAvatar","oAvatarBig","oPotoView","oProSmall","oPro","oProBig","oActSmall","oAct","oActBig","oNews","oNewsBig","oTopicBanner","oShare","oIntro","oLiveCover","oExBanner","oBgLive","getMessageToken","getVideoToken","addAgoraMessage","upDateStateAgoraMessage","agoraNotify","serviceLink","readUserMsg","readExhibitorMsg","roleInfo","roleMenu","setRoleInfo","setRole","setRoleMenu","getRoleInfo","getRole","getRoleMenu","getRoleHandle","roleName","hasRole","indexOf","$Message","destroy","getVersionExhibition","versionId","getVersionDisplay","getUserAdvisorySetting","inMemberQuery","advisoryDayTotal","VuexLocal","VuexPersistence","storage","Modele","loginModule","news","linkTo","toolModule","product","banner","act","search","appointment","share","talk","roleModule","use","Vuex","Store","common","img","regOrigin","viewer","viewerId","desc","summary","pics","getRegOrigin","getViewerId","getViewer","getShare","setRegOrigin","setViewerId","setViewer","setShare","oidcStore","vuexOidcCreateStoreModule","publicRoutePaths","dispatchEventsOnWindow","oidcStoreQQ","plugins","plugin","layout","home","about","business","activity","activityDetails","activityNolive","activityJoin","tour","tourBig","components","exhibitorDetail","productDetail","demand","newsDetails","userCenter","userHome","myCard","myOrder","myNeed","myAct","myfollow","myMsg","customer","myIdea","myInfo","bindAuth","myPassword","PasswordUser","PasswordBind","PasswordBindEdit","myinquiry","regStep","regInfo","regFinish","regCustom","authBind","authBindphone","OidcCallback","silentSignInCallback","demandDetail","Navigation","err404","err500","redirect","children","liveRouter","meta","isShare","originalPush","Router","routes","beforeEach","next","exOnid","params","store","targetId","ico","link","querySelector","afterEach","from","scrollTo","ReqApi","testApi","defaults","baseURL","interceptors","method","Modal","onClose","errText","$get","$post","$http","ViewUI","Tag","Button","Table","Row","Icon","Col","Layout","Card","Menu","Tabs","TabPane","Dropdown","Page","Input","Radio","Checkbox","Select","Option","DatePicker","Rate","Form","FormItem","Tooltip","BackTop","Spin","Timeline","TimelineItem","Collapse","Steps","Step","Panel","Sider","Content","Footer","MenuItem","LoadingBar","DropdownMenu","DropdownItem","RadioGroup","CheckboxGroup","Upload","Poptip","TimePicker","Breadcrumb","InputNumber","BreadcrumbItem","Time","Submenu","Slider","ColorPicker","Carousel","CarouselItem","Badge","Cascader","Affix","Switch","$Notice","Notice","$Loading","VueClipboard","autoSetContainer","filter","formatString","now_time","c_time","dd","hh","mm","ss","endDate","s_time","startData","ceil","VueAwesomeSwiper","directive","el","binding","update","vnode","large","inserted","onmousedown","disx","pageX","offsetLeft","disy","pageY","offsetTop","onmousemove","elW","offsetWidth","elH","offsetHeight","style","left","top","clientHeight","onmouseup","updated","computed","$store","getRoleHandleByEx","install","permissions","context","flag","innerHTML","tip","replaceChild","$https","require","mixin","Mixin","Plugins","productionTip","VueCookies","VideoPlayer","$moment","moment","$Bus","dataStr","pattern","format","render","h","App","$mount"],"mappings":"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","file":"static/js/app.92e57cfc.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-005153f0\":\"8b51a287\",\"chunk-029d6846\":\"570d71b3\",\"chunk-049fe59a\":\"ea6dc15a\",\"chunk-0a6ee0e3\":\"3b6da025\",\"chunk-0dc1738f\":\"867e113a\",\"chunk-132e645d\":\"8e95ce0c\",\"chunk-21aec81a\":\"3cbed444\",\"chunk-23d4adaa\":\"2c458406\",\"chunk-270087be\":\"1c0b0f0e\",\"chunk-2d0deef6\":\"b6c6c5fc\",\"chunk-36e35e81\":\"478274ab\",\"chunk-25c6809c\":\"8512e797\",\"chunk-72e4eca1\":\"d7ffac4c\",\"chunk-83fd404e\":\"03af77b1\",\"chunk-d5a8ceca\":\"a4fc792b\",\"chunk-682bacef\":\"2e300cb9\",\"chunk-5833aa86\":\"f194a510\",\"chunk-2d21d0c2\":\"b51727b1\",\"chunk-1babbcb7\":\"031d1915\",\"chunk-6b0eec81\":\"0872a026\",\"chunk-0a3eccf8\":\"749f8f50\",\"chunk-cc86e4f6\":\"29e06aec\",\"chunk-6fc0f7bc\":\"aa3bd001\",\"chunk-95113968\":\"890af279\",\"chunk-9f466488\":\"2a88b77f\",\"chunk-338d1fa0\":\"39681e3b\",\"chunk-3b1b9ebc\":\"a2ff00cf\",\"chunk-6e83591c\":\"163e5349\",\"chunk-13ddda0d\":\"55ff4f2f\",\"chunk-1b80623d\":\"f60a097d\",\"chunk-4f72098f\":\"f3961cfc\",\"chunk-1892e6fd\":\"e0d722a4\",\"chunk-7bcb65e0\":\"56bb8be4\",\"chunk-4c700bb2\":\"2d6878e7\",\"chunk-33702313\":\"31899193\",\"chunk-202b0d55\":\"f4e057bf\",\"chunk-378bc1c4\":\"60d046ba\",\"chunk-4bb30b70\":\"e2af1054\",\"chunk-86968b42\":\"73e71924\",\"chunk-6a6fd43d\":\"b3fcd555\",\"chunk-2fecdfb4\":\"02cad08f\",\"chunk-3342af85\":\"87e4c939\",\"chunk-383d1974\":\"36c770a7\",\"chunk-4609c6b2\":\"2d9b9a4f\",\"chunk-4a9ba94c\":\"789cb74f\",\"chunk-6d710616\":\"75fb1d47\",\"chunk-5e3ae80a\":\"e773f207\",\"chunk-58b7fbdf\":\"c68726e5\",\"chunk-5d1bb59a\":\"6f731ca1\",\"chunk-5dd2b525\":\"1c411386\",\"chunk-5eba0c64\":\"24b85dfd\",\"chunk-65c4a5ca\":\"0550607b\",\"chunk-7150d0d7\":\"3c7b5c03\",\"chunk-e609b268\":\"b23d1818\",\"chunk-8c98ee90\":\"4d21c979\",\"chunk-71d19a3b\":\"d733a930\",\"chunk-78b9f1f1\":\"db87f773\",\"chunk-7eba2565\":\"e4cd263a\",\"chunk-b6dcd770\":\"a7e36a7f\",\"chunk-c720d4ac\":\"6032fa81\",\"chunk-d1c9d198\":\"61ee0f48\",\"chunk-d8e6b77e\":\"38dd4ee9\",\"chunk-ec260506\":\"af79fd2c\",\"chunk-ef998636\":\"a9095777\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-005153f0\":1,\"chunk-029d6846\":1,\"chunk-049fe59a\":1,\"chunk-0a6ee0e3\":1,\"chunk-0dc1738f\":1,\"chunk-132e645d\":1,\"chunk-21aec81a\":1,\"chunk-23d4adaa\":1,\"chunk-270087be\":1,\"chunk-36e35e81\":1,\"chunk-25c6809c\":1,\"chunk-72e4eca1\":1,\"chunk-83fd404e\":1,\"chunk-d5a8ceca\":1,\"chunk-5833aa86\":1,\"chunk-1babbcb7\":1,\"chunk-6b0eec81\":1,\"chunk-0a3eccf8\":1,\"chunk-cc86e4f6\":1,\"chunk-6fc0f7bc\":1,\"chunk-95113968\":1,\"chunk-9f466488\":1,\"chunk-338d1fa0\":1,\"chunk-3b1b9ebc\":1,\"chunk-13ddda0d\":1,\"chunk-1b80623d\":1,\"chunk-4f72098f\":1,\"chunk-1892e6fd\":1,\"chunk-7bcb65e0\":1,\"chunk-4c700bb2\":1,\"chunk-33702313\":1,\"chunk-202b0d55\":1,\"chunk-378bc1c4\":1,\"chunk-4bb30b70\":1,\"chunk-86968b42\":1,\"chunk-6a6fd43d\":1,\"chunk-2fecdfb4\":1,\"chunk-3342af85\":1,\"chunk-383d1974\":1,\"chunk-4609c6b2\":1,\"chunk-4a9ba94c\":1,\"chunk-6d710616\":1,\"chunk-5e3ae80a\":1,\"chunk-58b7fbdf\":1,\"chunk-5d1bb59a\":1,\"chunk-5dd2b525\":1,\"chunk-5eba0c64\":1,\"chunk-65c4a5ca\":1,\"chunk-7150d0d7\":1,\"chunk-e609b268\":1,\"chunk-8c98ee90\":1,\"chunk-71d19a3b\":1,\"chunk-78b9f1f1\":1,\"chunk-7eba2565\":1,\"chunk-b6dcd770\":1,\"chunk-c720d4ac\":1,\"chunk-d1c9d198\":1,\"chunk-d8e6b77e\":1,\"chunk-ec260506\":1,\"chunk-ef998636\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-005153f0\":\"1a52afdc\",\"chunk-029d6846\":\"372ee4ec\",\"chunk-049fe59a\":\"5cf32cd1\",\"chunk-0a6ee0e3\":\"31c2679d\",\"chunk-0dc1738f\":\"3c7558e7\",\"chunk-132e645d\":\"a8b3cedd\",\"chunk-21aec81a\":\"4c45ddbe\",\"chunk-23d4adaa\":\"b56a75ca\",\"chunk-270087be\":\"de629732\",\"chunk-2d0deef6\":\"31d6cfe0\",\"chunk-36e35e81\":\"29e3e914\",\"chunk-25c6809c\":\"5259fc81\",\"chunk-72e4eca1\":\"7f764a75\",\"chunk-83fd404e\":\"7f34a808\",\"chunk-d5a8ceca\":\"7252e452\",\"chunk-682bacef\":\"31d6cfe0\",\"chunk-5833aa86\":\"118f9c05\",\"chunk-2d21d0c2\":\"31d6cfe0\",\"chunk-1babbcb7\":\"6ca93b96\",\"chunk-6b0eec81\":\"3b3b090a\",\"chunk-0a3eccf8\":\"5cb9ac61\",\"chunk-cc86e4f6\":\"57917e19\",\"chunk-6fc0f7bc\":\"e2ea6364\",\"chunk-95113968\":\"aa33a981\",\"chunk-9f466488\":\"c320dcd8\",\"chunk-338d1fa0\":\"6a7ec7ff\",\"chunk-3b1b9ebc\":\"079d402d\",\"chunk-6e83591c\":\"31d6cfe0\",\"chunk-13ddda0d\":\"0db056ad\",\"chunk-1b80623d\":\"ec556dc1\",\"chunk-4f72098f\":\"97eebde1\",\"chunk-1892e6fd\":\"b0c5eeb2\",\"chunk-7bcb65e0\":\"3ef43a5e\",\"chunk-4c700bb2\":\"19cbb9f8\",\"chunk-33702313\":\"4951bff4\",\"chunk-202b0d55\":\"35b4a50e\",\"chunk-378bc1c4\":\"ce3fcfbf\",\"chunk-4bb30b70\":\"f9c0908a\",\"chunk-86968b42\":\"ba76c1c1\",\"chunk-6a6fd43d\":\"0d26c0b1\",\"chunk-2fecdfb4\":\"913fd9a8\",\"chunk-3342af85\":\"8464777a\",\"chunk-383d1974\":\"7e186ea2\",\"chunk-4609c6b2\":\"cb871950\",\"chunk-4a9ba94c\":\"e19e0f88\",\"chunk-6d710616\":\"bd4ef8df\",\"chunk-5e3ae80a\":\"0d5d36c1\",\"chunk-58b7fbdf\":\"569a8bdc\",\"chunk-5d1bb59a\":\"ccb29f96\",\"chunk-5dd2b525\":\"e03fa02c\",\"chunk-5eba0c64\":\"b519f29b\",\"chunk-65c4a5ca\":\"5e5d4cce\",\"chunk-7150d0d7\":\"0c8ab0ff\",\"chunk-e609b268\":\"712764d7\",\"chunk-8c98ee90\":\"6259e9a4\",\"chunk-71d19a3b\":\"de1e72e7\",\"chunk-78b9f1f1\":\"7ea2fab9\",\"chunk-7eba2565\":\"f3fb7475\",\"chunk-b6dcd770\":\"3c47b3ea\",\"chunk-c720d4ac\":\"edf552c5\",\"chunk-d1c9d198\":\"10838ff3\",\"chunk-d8e6b77e\":\"4eb11c80\",\"chunk-ec260506\":\"459d13cb\",\"chunk-ef998636\":\"ef24134e\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","const myService = function (Vue, options) {\r\n Vue.prototype.$service = { \r\n /**\r\n * 计算开始的时间在当前时间的描述 4分钟前 1小时前 ...\r\n * @param {Date} originDate 开始时间\r\n * @return {string} 该时间在当前时间的描述\r\n */\r\n SmarDate(originDate) {\r\n let nowDate = new Date(),\r\n isToday = false,\r\n isYesterday = false,\r\n isPastYear = false,\r\n isPreviousYear = false,\r\n originYear,\r\n originMonth,\r\n originDay,\r\n diffMinute,\r\n formatedDate;\r\n\r\n diffMinute = Math.round((nowDate.getTime() - originDate.getTime()) / (1000 * 60));\r\n\r\n originYear = originDate.getFullYear();\r\n originMonth = originDate.getMonth() + 1;\r\n originDay = originDate.getDate();\r\n\r\n if (diffMinute <= nowDate.getHours() * 60) {\r\n isToday = true;\r\n }\r\n if (nowDate.getDate() - originDay == 1) {\r\n isYesterday = true;\r\n }\r\n if (nowDate.getFullYear() - originYear == 1) {\r\n isPreviousYear = true;\r\n } else if (nowDate.getFullYear() - originYear > 1) {\r\n isPastYear = true;\r\n }\r\n if (diffMinute < 10 && isToday) {\r\n formatedDate = '刚刚';\r\n } else if (diffMinute < 60 && isToday) {\r\n formatedDate = `${diffMinute}分钟前`;\r\n } else if (diffMinute < 60 * 24 && isToday) {\r\n formatedDate = `${Math.floor(diffMinute / 60)}小时前`;\r\n } else if (diffMinute < 60 * 24 * 2 && isYesterday) {\r\n formatedDate = '1天前';\r\n } else if (diffMinute < 60 * 24 * 4) {\r\n formatedDate = '2天前';\r\n } else if (isPreviousYear) {\r\n formatedDate = '去年';\r\n } else if (isPastYear) {\r\n formatedDate = `${originYear}年`;\r\n } else {\r\n formatedDate = `${originMonth}月${originDay}日`;\r\n }\r\n return formatedDate;\r\n },\r\n replaceSpeace(txt) {\r\n if (!txt)return;\r\n let txt1 = txt.replace(/\\n/g,\"
\");\r\n return txt1;\r\n },\r\n formatTime(date) {\r\n const year = date.getFullYear()\r\n const month = date.getMonth() + 1\r\n const day = date.getDate()\r\n \r\n const hour = date.getHours()\r\n const minute = date.getMinutes()\r\n const second = date.getSeconds()\r\n \r\n const t1 = [year, month, day].map(this.formatNumber).join('/')\r\n const t2 = [hour, minute, second].map(this.formatNumber).join(':')\r\n \r\n return `${t1} ${t2}`\r\n },\r\n formatNumber(n) {\r\n const str = n.toString()\r\n return str[1] ? str : `0${str}`\r\n }\r\n }\r\n};\r\n\r\nexport default myService;\r\n\r\n// 函数防抖(输入框)\r\nexport function debounce(fn, delay) {\r\n // 记录上一次的延时器\r\n var timer = null;\r\n var delay = delay || 200;\r\n return function() {\r\n var args = arguments;\r\n var that = this;\r\n // 清除上一次延时器\r\n clearTimeout(timer)\r\n timer = setTimeout(function() {\r\n fn.apply(that,args)\r\n }, delay);\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f8ac69ae&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","let orgin = location.host.split(\".\").reverse()[1];\nlet clientId = orgin === \"zhanshangxiu\" ? \"synair-showonline-js\" : `synair-${orgin}-js`;\nconsole.log(\"orgin:\", orgin);\nconsole.log(\"clientId:\", clientId);\n\nexport const oidcSettings = {\n // 授权服务器地址\n authority: \"https://auth.zhanshangxiu.com\",\n // 客户端id\n clientId: clientId,\n // 授权回调地址(需提供)\n redirectUri: process.env.NODE_ENV === \"development\" ? `${location.origin + \"/\"}OidcCallback` : `${location.origin + \"/\"}OidcCallback`,\n // redirectUri:`${location.origin + '/'}/OidcCallback`,\n // 响应类型\n responseType: \"code\",\n // 作用域\n scope: \"openid showonline-api profile\",\n // 是否加载用户信息\n loadUserInfo: true,\n // 调起微信手机登录\n acrValues: \"idp:Weixin\",\n\n // silentRedirectUri: `${location.origin + '/'}/silentSignInCallback`,\n\n automaticSilentRenew: true,\n\n postLogoutRedirectUri: `${location.origin + \"/\"}home/index`,\n\n automaticSilentSignin: true, // If true vuex-oidc will try to silently signin unauthenticated users on public routes. Defaults to true\n\n extraQueryParams: {\n // 退出登录回调链接,会覆盖post_logout_redirect_uri,可选\n postLogoutRedirectUri: `${location.origin + \"/\"}redirectUrl`,\n },\n};\nexport const oidcSettingsQQ = {\n // 授权服务器地址\n authority: \"https://auth.zhanshangxiu.com\",\n // 客户端id\n clientId: clientId,\n // 授权回调地址(需提供)\n redirectUri: process.env.NODE_ENV === \"development\" ? `${location.origin + \"/\"}OidcCallback` : `${location.origin + \"/\"}OidcCallback`,\n // redirectUri:`${location.origin + '/'}/OidcCallback`,\n // 响应类型\n responseType: \"code\",\n // 作用域\n scope: \"openid showonline-api profile\",\n // 是否加载用户信息\n loadUserInfo: true,\n // 调起微信手机登录\n acrValues: \"idp:QQ\",\n\n // silentRedirectUri: `${location.origin + '/'}/silentSignInCallback`,\n\n automaticSilentRenew: true,\n\n postLogoutRedirectUri: `${location.origin + \"/\"}home/index`,\n\n automaticSilentSignin: true, // If true vuex-oidc will try to silently signin unauthenticated users on public routes. Defaults to true\n\n extraQueryParams: {\n // 退出登录回调链接,会覆盖post_logout_redirect_uri,可选\n postLogoutRedirectUri: `${location.origin + \"/\"}redirectUrl`,\n },\n};\n\n// 1个小时token过期\n// authenticateOidc: 如果未登录,则使用重定向登录进行身份验证\n// oidcSignInCallback: 处理来自身份验证重定向的回调。有一个可选的url参数\n// authenticateOidcSilent: 登录时进行身份验证。如果未登录,则不进行重定向\n// getOidcUser: 从oidc客户端获取用户,并在vuex store中更新。返回一个承诺\n// signOutOidc: 在开放id提供程序中签出用户\n// removeOidcUser: 在vuex和浏览器存储中签出用户,但不在开放id提供程序中\n\nexport const oidcAuthWeixin = {\n // 授权服务器地址\n authority: \"https://auth.zhanshangxiu.com\",\n // 客户端id\n clientId: \"synair-showonline-js\",\n // 授权回调地址(需提供)\n redirectUri: process.env.NODE_ENV === \"development\" ? `${location.origin + \"/\"}OidcCallback` : `${location.origin + \"/\"}OidcCallback`,\n // redirectUri:`${location.origin + '/'}/OidcCallback`,\n // 响应类型\n responseType: \"code\",\n // 作用域\n scope: \"openid showonline-api profile\",\n // 是否加载用户信息\n loadUserInfo: true,\n // 调起微信手机登录\n acr_values: \"idp:Weixin bind-thirdparty:Weixin\",\n\n automaticSilentRenew: true,\n\n postLogoutRedirectUri: `${location.origin + \"/\"}home/index`,\n\n automaticSilentSignin: true, // If true vuex-oidc will try to silently signin unauthenticated users on public routes. Defaults to true\n\n extraQueryParams: {\n bindThirdpartyUrl: `${location.origin + \"/\"}auth-bind`,\n },\n};\n","/* eslint-disable */\nimport axios from \"axios\";\nimport config from \"@assets/config.json\";\nimport qs from \"qs\";\nimport { Message } from \"view-design\";\n\n// 通用 Module\nconst state = {\n client_id: \"\", //登录背景\n loginBg: \"\", //登录背景\n searchType: \"2\", // 首页搜索框 搜索类型\n searchTxt: \"\", // 首页搜索框 搜索文字\n selectCategories: \"\", // 当前选择中的展品类别\n loginType: \"\", // 0 用户名登录 1手机号登录 2微信登录 3QQ登录\n redirectUrl: \"\", // 授权后重定向地址\n login: false, // 登录状态\n token: \"\", // 请求token\n userId: \"\", // 用户Id\n user: null, // 用户信息\n host: null, // 主办信息\n hostId: \"\", // 主办Id\n exhibitionId: \"\", // 展会Id\n exhibitionInfo: null, // 展会信息\n exhibitionConfig: null, // 展会配置\n exhibitorId: \"\", // 参展Id\n exhibitor: \"\",\n header: \"\",\n tokenHeaders: \"\",\n tokenTime: 0, // token过期时间\n auth: \"\", // 请求token的数据\n formHeaders: {\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n },\n uploadUrl: `${config.api.api}/api/v1/file`, // 图片上传地址\n uploadUrl2: `${config.api.api}/api/v1/file`, // 图片上传地址\n uploadVideoUrl: `${config.api.api}/api/v1/file`, // 视频上传地址\n uploadImportUrl: `${config.api.api}/api/v3/exhibitor/import?exhibitionId=`, // 视频上传地址\n refresh: true,\n //分页\n exhibitorPage: 1,\n demandPage: 1,\n productPage: 1,\n activityPage: 1,\n // demandType: '采购产品', //供需类型\n demandType: \"供应产品\", //供需类型\n cateArrVuex: [], //类型选择数组 展商/展品列表通用\n regionArrVuex: [], //地区选择数组 展商/展品列表通用\n regionArrNameVuex: [], //地区name数组 展商/展品列表通用\n myAdvisorySetting: null,\n};\nconst mutations = {\n setToken(state, data) {\n if (data) {\n state.tokenHeaders = {\n headers: {\n Authorization: \"Bearer \" + data,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n };\n state.header = {\n headers: {\n Authorization: \"Bearer \" + data,\n \"Content-Type\": \"application/json; charset=utf-8;\",\n },\n };\n }\n state.token = data;\n },\n setSearchType(state, data) {\n state.searchType = data;\n },\n setSearchTxt(state, data) {\n state.searchTxt = data;\n },\n setSelectCategories(state, data) {\n state.selectCategories = data;\n },\n setLoginType(state, data) {\n state.loginType = data;\n },\n setLoginBg(state, data) {\n state.loginBg = data;\n },\n setTokenTime(state, data) {\n state.tokenTime = data;\n },\n setRefreshStatus(state, data) {\n state.refresh = data;\n },\n setLogin(state, data) {\n state.login = data;\n },\n setUser(state, data) {\n state.user = data;\n localStorage.setItem(\"userId\", data);\n },\n setUserId(state, data) {\n state.userId = data;\n },\n setHost(state, data) {\n state.host = data;\n },\n setAuth(state, data) {\n state.auth = data;\n },\n setExhibitionId(state, data) {\n state.exhibitionId = data;\n },\n setExhibitionInfo(state, data) {\n state.exhibitionInfo = data;\n },\n setExhibitionConfig(state, data) {\n state.exhibitionConfig = data;\n },\n setExhibitorId(state, data) {\n state.exhibitorId = data;\n },\n setExhibitor(state, data) {\n state.exhibitor = data;\n },\n setRedirectUrl(state, data) {\n state.redirectUrl = data;\n },\n //分页\n setExhibitorPage(state, data) {\n state.exhibitorPage = data;\n },\n setDemandPage(state, data) {\n state.demandPage = data;\n },\n setProductPage(state, data) {\n state.productPage = data;\n },\n setActivityPage(state, data) {\n state.activityPage = data;\n },\n setDemandType(state, data) {\n state.demandType = data;\n },\n setCateArrVuex(state, data) {\n state.cateArrVuex = data;\n },\n setRegionArrVuex(state, data) {\n state.regionArrVuex = data;\n },\n setRegionArrNameVuex(state, data) {\n state.regionArrNameVuex = data;\n },\n setMyAdvisorySetting(state, data) {\n state.myAdvisorySetting = data;\n },\n};\nconst getters = {\n getSearchType: state => {\n return state.searchType;\n },\n getSearchTxt: state => {\n return state.searchTxt;\n },\n getSelectCategories: state => {\n return state.selectCategories;\n },\n getUploadUrl: state => {\n return state.uploadUrl;\n },\n getLoginType: state => {\n return state.loginType;\n },\n getLoginBg: state => {\n return state.loginBg;\n },\n getUploadUrl2: state => {\n return state.uploadUrl2;\n },\n getUploadVideoUrl: state => {\n return state.uploadVideoUrl;\n },\n getUploadImportUrl: state => {\n return state.uploadImportUrl;\n },\n getFormHeaders: state => {\n return state.formHeaders;\n },\n getRefreshStatus: state => {\n return state.refresh;\n },\n getTokenTime: state => {\n return state.tokenTime;\n },\n getToken: state => {\n const token = state.token || localStorage.getItem(\"access_token\");\n state.token = token;\n return state.token;\n // return 'eyJhbGciOiJSUzI1NiIsImtpZCI6IkU2RkNGQjVGMjBEODAyOERCQTFGOEMzRTJDNUI2RDQ5IiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE2MTQwNjU4MDUsImV4cCI6MTYxNTI3NTQwNSwiaXNzIjoiaHR0cHM6Ly9hdXRoLnpoYW5zaGFuZ3hpdS5jb20iLCJhdWQiOlsiYm1tLWFwaSIsInNob3dvbmxpbmUtYXBpIl0sImNsaWVudF9pZCI6InN5bmFpci1zaG93b25saW5lLWpzIiwic3ViIjoiMzZmYzNkOGUtZWNlNi00NGU3LTkyZGMtZjM3MTBlZDA4MTIyIiwiYXV0aF90aW1lIjoxNjE0MDY1ODA1LCJpZHAiOiJsb2NhbCIsImlhdCI6MTYxNDA2NTgwNSwic2NvcGUiOlsiYm1tLWFwaSIsIm9wZW5pZCIsInBob25lIiwicHJvZmlsZSIsInNob3dvbmxpbmUtYXBpIl0sImFtciI6WyJwaG9uZV9udW1iZXIiXX0.IBfyIaCrIgIIYEt8d5AEd11j0lvhCB43_xqU9F7XYoLunpQyE_a129Fv5indJLO09KfeyTXEMQKW2uoy3DWk8dq6rFxIpXTYkisL8gbOpX906ZHisfEAa0MAtomMZUMJW1gUqXgriCd5XeSOX1RoUzngVZxbgjivbbYlKcScp0oBtavuzlocNXWnYDbFdu731wLg9mM5SCkuyhSd-Sp4nwGluC2RTflb_QP2L-UTKj2gaRk6zR5BXlwmpmvPZ8U3YYwB7tfV2TE6M7nZIhNdOfTijdtk_Yk0ksgeze_vwN4-hdTnVoURSLBXoPcwBDWJHeuioG04JD83MUY584Qws'\n },\n getUser: state => {\n const user = JSON.parse(localStorage.getItem(\"user\"));\n if (user && !state.user) {\n state.user = user;\n }\n return state.user;\n },\n getUserId: state => {\n return state.userId;\n },\n getLogin: state => {\n const login = JSON.parse(localStorage.getItem(\"login\"));\n if (login) {\n state.login = login;\n }\n return state.login;\n },\n getAuth: state => {\n return state.auth;\n },\n getExhibitionId: state => {\n return state.exhibitionId;\n },\n getExhibitionInfo: state => {\n return state.exhibitionInfo;\n },\n getExhibitionConfig: state => {\n return state.exhibitionConfig;\n },\n getMyAdvisorySetting: state => {\n return state.myAdvisorySetting;\n },\n getExhibitorId: state => {\n return state.exhibitorId;\n },\n getExhibitor: state => {\n return state.exhibitor;\n },\n getRedirectUrl: state => {\n return state.redirectUrl;\n },\n //分页\n getExhibitorPage: state => {\n return state.exhibitorPage;\n },\n getDemandPage: state => {\n return state.demandPage;\n },\n getProductPage: state => {\n return state.productPage;\n },\n getActivityPage: state => {\n return state.activityPage;\n },\n //分页\n getDemandType: state => {\n return state.demandType;\n },\n getCateArrVuex: state => {\n return state.cateArrVuex;\n },\n getRegionArrVuex: state => {\n return state.regionArrVuex;\n },\n getRegionArrNameVuex: state => {\n return state.regionArrNameVuex;\n },\n getEnabledExhibitionVisitorReg: state => {\n let bool = false;\n if (state.exhibitionConfig && state.exhibitionConfig.feature && state.exhibitionConfig.feature.enabledExhibitionVisitorReg) {\n bool = true;\n }\n return bool;\n },\n getEnabledBmm: state => {\n let bool = false;\n if (state.exhibitionConfig && state.exhibitionConfig.feature && state.exhibitionConfig.feature.enabledBmm) {\n bool = true;\n }\n return bool;\n },\n getEnabledExhibitionList: state => {\n let bool = false;\n if (state.exhibitionConfig && state.exhibitionConfig.feature && state.exhibitionConfig.feature.enabledExhibitionList) {\n bool = true;\n }\n return bool;\n },\n getDisplay: state => {\n let str = \"theme1\";\n if (state.exhibitionConfig && state.exhibitionConfig.display && state.exhibitionConfig.display.themeId && Number(state.exhibitionConfig.display.themeId) > 0) {\n str = \"theme\" + state.exhibitionConfig.display.themeId;\n }\n return str;\n },\n};\nconst actions = {\n /**\n * 获取数据类型通用写法封装\n * @param {*} param0 \n * @param {*} data { url: '基础接口的传入字符串', opt: 分页请求的参数}\n * url替换 <控制器名称> 【 /api/v1/<控制器名称>/wherepage 】\n *opt: pageSize 页条数\n pageIndex 页码\n sorts[] 排序属性 \n propertyName 属性名称(必须是实体属性名称,且区分大小写,如果属性名称以小写开头,请把首字母大写)\n ascending 是否升序\n wheres 条件集\n type 条件类型\n 0 条件组\n 1 字段\n 2 在值1与值2之间\n 3 不在值1与值2之间\n 4 符合给定的条件\n 5 不符合给定的条件\n wheres 条件对象\n */\n getWherepage({ state }, data) {\n return new Promise((resolve, reject) => {\n const defaultOpt = {\n pageSize: 1000,\n sorts: [\n {\n propertyName: \"showIndex\",\n ascending: true,\n },\n ],\n };\n const opt = data.opt ? Object.assign({}, defaultOpt, data.opt) : defaultOpt;\n axios\n .post(`${state.reqApi}/api/v1/${data.url}/wherepage`, opt)\n .then(data => {\n if (data.data) {\n resolve(data.data);\n }\n })\n .catch(err => {\n console.log(err.response.data);\n });\n });\n },\n getStaff({ state }, id) {\n // 获取客服\n return new Promise((resolve, reject) => {\n axios\n .get(`${config.api.reqApi}/api/staff/GetDefault?compId=${id}`, state.header)\n .then(data => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(null);\n }\n })\n .catch(err => {\n console.log(err.response.data);\n });\n });\n },\n uploadImages({ state }) {\n // 上传\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.reqApi}/api/upload/images`, {}, state.formHeaders)\n .then(data => {\n if (data.data) {\n if (data.data.successed) {\n Message.success(\"验证码已发送\");\n } else {\n Message.success(\"验证码发送失败\");\n }\n resolve(data.data);\n }\n })\n .catch(err => {\n console.log(err.response.data);\n });\n });\n },\n refreshToken({ state, rootGetters, rootState, commit }) {\n console.log(\"refreshToken\");\n const opt = {\n grant_type: \"refresh_token\",\n client_id: \"cloud.exhibition\",\n client_secret: \"secret\",\n refresh_token: state.auth.refresh_token,\n };\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.auth}/connect/token`, qs.stringify(opt), rootState.formHeaders)\n .then(data => {\n if (data.data) {\n commit(\"setAuth\", data.data, {\n root: true,\n });\n commit(\"setToken\", data.data.access_token, {\n root: true,\n });\n commit(\"setTokenTime\", data.data.expires_in * 1000 + new Date().getTime(), {\n root: true,\n });\n commit(\"setRefreshStatus\", true, {\n root: true,\n });\n resolve(data.data);\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n getSetting({ rootState, commit }, opt) {\n return new Promise((resolve, reject) => {\n // type 0: 全局、 1: 系统、 2: 唯一Id\n // scope - 作用域( 例如展会id)\n // name - 名称(例如‘share:config’)\n\n // {\n // \"sensitives-word\": {\n // \"name\": \"sensitives-word\",\n // \"displayName\": \"敏感词\"\n // },\n // \"share:config\": {\n // \"name\": \"share:config\",\n // \"displayName\": \"分享设置\"\n // },\n // \"exhibition.config\": {\n // \"name\": \"exhibition.config\",\n // \"displayName\": \"展会设置\"\n // },\n // \"exhibition.config.room\": {\n // \"name\": \"exhibition.config.room\",\n // \"displayName\": \"主办直播间设置\"\n // },\n // \"exhibitor.config\": {\n // \"name\": \"exhibitor.config\",\n // \"displayName\": \"展商设置\"\n // },\n // \"exhibitor.config.room\": {\n // \"name\": \"exhibitor.config.room\",\n // \"displayName\": \"展商直播间设置\"\n // },\n // \"inmember.config\": {\n // \"name\": \"inmember.config\",\n // \"displayName\": \"观众设置\"\n // }\n // }\n\n axios\n .get(`${config.api.liveApi}/api/v1/settings/by?type=${opt.type}&scope=${opt.scope}&name=${opt.name}`, rootState.header)\n .then(({ data }) => {\n if (data) {\n resolve(data);\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n editSetting({ rootState, commit }, opt) {\n return new Promise((resolve, reject) => {\n axios\n .patch(`${config.api.liveApi}/api/v1/settings?id=${opt.id}`, opt.opt, rootState.header)\n .then(({ data }) => {\n if (data) {\n resolve(data);\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n\n getBasicSetting({ rootState, commit }, id) {\n return new Promise((resolve, reject) => {\n axios\n .get(`${config.api.api}/api/v1/settings/exhibition?exhibitionId=${id}`, rootState.header)\n .then(({ data }) => {\n if (data) {\n resolve(data);\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n editBasicSetting({ rootState, commit }, opt) {\n return new Promise((resolve, reject) => {\n axios\n .put(`${config.api.api}/api/v1/settings/exhibition/patch?exhibitionId=${opt.id}`, opt.opt, rootState.header)\n .then(({ data }) => {\n if (data) {\n resolve(data);\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n getShorturl({ rootState, commit }, url) {\n // 获取短链接\n return new Promise((resolve, reject) => {\n axios.get(\"https://online-api.zhanshangxiu.com/synair/shorturl/convert?url=\" + url, rootState.header).then(\n res => {\n if (res.status === 200) {\n resolve(res.data.Data);\n } else {\n reject(res.data.Data);\n }\n },\n err => {\n reject(err);\n }\n );\n });\n },\n getSettingShare({ rootState, commit }, opt) {\n return new Promise((resolve, reject) => {\n // type 0: 全局、 1: 系统、 2: 唯一Id\n // scope - 作用域( 例如展会id)\n // name - 名称(例如‘share:config’)\n\n // {\n // \"share:config\": {\n // \"name\": \"share:config\",\n // \"displayName\": \"分享设置\"\n // },\n // \"share.exhibition.config\": {\n // \"name\": \"share.exhibition.config\",\n // \"displayName\": \"展会分享设置\"\n // },\n // \"share.exhibitor.config\": {\n // \"name\": \"share.exhibitor.config\",\n // \"displayName\": \"展商邀请函分享设置\"\n // },\n // \"share.product.config\": {\n // \"name\": \"share.product.config\",\n // \"displayName\": \"展品分享设置\"\n // },\n // \"share.activity.config\": {\n // \"name\": \"share.activity.config\",\n // \"displayName\": \"活动分享设置\"\n // },\n // \"share.theme.config\": {\n // \"name\": \"share.theme.config\",\n // \"displayName\": \"话题分享设置\"\n // },\n // }\n\n axios\n .get(`${config.api.liveApi}/api/v1/settings/by?type=${opt.type}&scope=${opt.id}&name=${opt.name}`, rootState.header)\n .then(({ data }) => {\n if (data.data) {\n resolve(data.data);\n // resolve(JSON.parse(data.data.value));\n } else {\n // resolve({content:'',des:''})\n }\n })\n .catch(err => {\n if (err.response) {\n console.log(err.response.data);\n }\n });\n });\n },\n\n //mice cad 阿波罗接口(展商秀接口)\n graphqlPostByZXS({ rootState }, opt) {\n // 获取主办\n let header = {\n \"content-Type\": \"application/json; charset=utf-8;\",\n };\n let name = \"\";\n if (opt.queryName) {\n name = opt.queryName + \"\";\n delete opt.queryName;\n }\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/graphql${name ? \"?queryName=\" + name : \"\"}`, opt, header)\n .then(data => {\n if (data.data) {\n // 模拟信号差的情况\n // setTimeout(() => {\n // resolve(data.data);\n // }, 2000)\n resolve(data.data);\n } else {\n resolve(null);\n }\n })\n .catch(err => {\n resolve(null);\n console.log(err);\n });\n });\n },\n\n // 展位图数据\n graphqlPostByTu({ rootState }, opt) {\n // 获取主办\n let header = {\n \"content-Type\": \"application/json; charset=utf-8;\",\n };\n let name = \"\";\n if (opt.queryName) {\n name = opt.queryName + \"\";\n delete opt.queryName;\n } \n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.tuApi}/graphql${name ? \"?queryName=\" + name : \"\"}`, opt, header)\n .then(data => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(null);\n }\n })\n .catch(err => {\n resolve(null);\n console.log(err);\n });\n });\n },\n\n // 展位图数据 token\n graphqlPostByTu2({ rootState }, opt) {\n // 获取主办\n let token = opt.token\n ? {\n headers: {\n Authorization: `Bearer ${opt.token}`,\n },\n }\n : {};\n let header = {\n \"content-Type\": \"application/json; charset=utf-8;\",\n ...token,\n };\n let name = \"\";\n if (opt.queryName) {\n name = opt.queryName + \"\"; \n delete opt.queryName;\n }\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.tuApi}/graphql${name ? \"?queryName=\" + name : \"\"}`, opt.body, header)\n .then(data => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(null);\n }\n })\n .catch(err => {\n resolve(null);\n console.log(err);\n });\n });\n },\n\n //mice cad 阿波罗接口(展商秀接口)\n graphqlPost({ rootState }, opt) {\n // 获取主办\n let token = opt.token\n ? {\n headers: {\n Authorization: `Bearer ${opt.token}`,\n },\n }\n : {};\n let header = {\n \"content-Type\": \"application/json; charset=utf-8;\",\n ...token,\n };\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/graphql`, opt.opt, header)\n .then(({ data }) => {\n if (data) {\n resolve(data);\n } else {\n resolve(null);\n }\n })\n .catch(err => {\n resolve(null);\n console.log(err);\n });\n });\n },\n\n getMsgCode({}, phone) {\n // 获取短信验证码\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/api/v1/sms/verificationcode`, {\n phoneNumber: phone,\n })\n .then(data => {\n if (data.data) {\n if (data.data.result) {\n Message.success(\"验证码已发送\");\n } else {\n Message.success(\"验证码发送失败\");\n }\n resolve(data.data);\n }\n })\n .catch(err => {\n console.log(err);\n });\n });\n },\n validateCode({}, opt) {\n // 效验短信验证码\n return new Promise((resolve, reject) => {\n axios\n .get(`${config.api.api}/api/v1/verificationcode/valid?key=${opt.key}&code=${opt.code}`)\n .then(data => {\n resolve(data.data);\n })\n .catch(err => {\n console.log(err);\n });\n });\n },\n\n regUser({}, opt) {\n // 用户注册\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/api/v3/mmeberv3/reg/visitor/account`, opt)\n .then(data => {\n resolve(data.data);\n })\n .catch(err => {\n console.log(err);\n });\n });\n },\n regUserByVisitor({ rootState }, opt) {\n // 用户注册\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/api/v3/mmeberv3/reg/visitor`, opt, rootState.header)\n .then(data => {\n resolve(data.data);\n })\n .catch(err => {\n console.log(err);\n });\n });\n },\n // 添加自定义表单数据\n addCustomForm({ rootState }, opt) {\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v3/formwrite`, opt, rootState.header).then(data => {\n resolve(data.data);\n });\n }).catch(err => {\n resolve(false);\n console.log(err);\n });\n },\n // 获取观众自定义表单\n async getCustomForm({ rootState, dispatch }, opt) {\n let query = `\n query($itemId: String!,$formType: String!){\n getForm(itemId: $itemId, formType: $formType){\n id\n items{\n attributes\n childrens{\n attributes\n defaultValue\n description\n formId\n id\n label\n parentCount\n parentId\n showIndex\n tagType\n }\n defaultValue\n description\n formId\n id\n label\n parentCount\n parentId\n showIndex\n tagType\n }\n }\n }\n `;\n let body = {\n query: query,\n variables: {\n itemId: opt.itemId,\n formType: opt.formType,\n },\n };\n let data = await dispatch(\"graphqlPostByZXS\", body);\n return new Promise((resolve, reject) => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(false);\n }\n });\n },\n\n async getCategory({ rootState, dispatch }, body) {\n // 获取展品类别\n let query = `query($hostId:Guid!){\n categories(hostId:$hostId){\n childrens{\n id\n name\n nameEn\n parentId\n shortName\n shortNameEn\n showIndex\n }\n id\n name\n nameEn\n parentId\n shortName\n shortNameEn\n showIndex\n }\n }`;\n let opt = {\n query: query,\n variables: {\n hostId: rootState.exhibitionId,\n },\n };\n let data = await dispatch(\"graphqlPostByZXS\", opt);\n return new Promise((resolve, reject) => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(false);\n }\n });\n },\n // 获取展馆数据\n async getHall({ rootState, dispatch }, body) {\n let query = `query($exhibitionId: Guid){\n getAllExHall(exhibitionId:$exhibitionId){\n description\n exhibitionId\n id\n name\n nameEn\n shortName\n shortNameEn\n showIndex\n }\n }`;\n let opt = {\n query: query,\n variables: {\n exhibitionId: rootState.exhibitionId,\n },\n };\n let data = await dispatch(\"graphqlPostByZXS\", opt);\n return new Promise((resolve, reject) => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(false);\n }\n });\n },\n unverifiedDialog({ rootState, dispatch }, that) {\n if (rootState.token && rootState.user && rootState.user.userId) {\n console.log(rootState.token, rootState.user, rootState.user.userId, \"rootState.user.userRole\");\n that.$Modal.confirm({\n title: \" 前往确认资料\",\n content: \"请确认您的个人信息并补充您感兴趣产品类别,谢谢!\",\n okText: \"前往确认\",\n onOk: () => {\n dispatch(\"linkTo/linkToRegSteps\", {\n root: true,\n });\n // that.$router.push('/regstep')\n },\n onCancel: () => {},\n });\n } else {\n that.$Modal.confirm({\n title: \"未登录用户\",\n content: \"请前往登录再进行操作\",\n okText: \"前往登录\",\n onOk: () => {\n dispatch(\"linkTo/linkToLogin\", {\n root: true,\n });\n // that.$router.push('/regstep')\n },\n onCancel: () => {},\n });\n }\n },\n // 添加浏览记录\n addAllView({ rootState, commit }, opt) {\n return new Promise((resolve, reject) => {\n axios\n .post(`${config.api.api}/api/v3/addview`, opt, rootState.header)\n .then(data => {\n if (data.data) {\n resolve(data.data);\n }\n })\n .catch(err => {\n console.log(err);\n });\n });\n },\n};\nexport default {\n state,\n actions,\n mutations,\n getters,\n};\n","/* eslint-disable */\nimport axios from 'axios';\nimport config from '@assets/config.json'; // api 请求json\nimport qs from \"qs\";\nimport {\n Message,\n Modal\n} from 'view-design';\nimport router from \"@/router/router.js\";\n\n// 通用 Module \nconst state = {\n company: null, // 公司信息\n exhibition: null, // 展会信息\n joinInfo: null, // 参展信息,提会刊时用的joinId\n}\nconst mutations = {\n setCompany(state, data) {\n state.company = data;\n },\n setExhibition(state, data) {\n state.exhibition = data;\n },\n setJoinInfo(state, data) {\n state.joinInfo = data;\n },\n}\nconst getters = {\n getCompany: state => {\n return state.company;\n },\n getExhibition: state => {\n return state.exhibition;\n },\n getJoinInfo: state => {\n return state.joinInfo;\n },\n}\nconst actions = {\n addView({\n rootState\n }, req) { // 添加浏览器记录 浏览目标:exhibition:展会、exhibitor:展商、product:展品、activity:活动、supplyDemand:供需、theme:话题、talk:讨论、articles:文章\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v3/addview`, req, {\n headers: {\n 'Content-Type': 'application/json;charset=UTF-8'\n }\n }).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n checkUserName({\n rootState\n }, req) { // 检查是否有注册用户\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.auth}/api/Account/CheckUserName`, req, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n\n getMsgCode({}, phone) { // 获取短信验证码\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.reqApi}/api/VerCode/sms/send`, {\n Phone: phone\n }).then(data => {\n if (data.data) {\n if (data.data.successed) {\n Message.success('验证码已发送');\n } else {\n Message.success('验证码发送失败');\n }\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n\n validateMsgCode({}, opt) { // 效验短信验证码\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.reqApi}/api/VerCode/sms/validate`, opt).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n getImgCode({}) { // 获取图片验证码\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.api}/api/v1/verificationcode/image`).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n validateImgCode({}, opt) { // 效验图片验证码\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.api}/api/v1/verificationcode/valid?key=${opt.Key}&code=${opt.Code}`).then(data => {\n if (data && data.status === 200) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n getJoinInfo({\n rootState\n }, opt) { // 判断是否参展\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.reqApi}/api/join/GetJoin`, opt, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n getHomeMsg({\n rootState\n }, id) { // 判断是否参展\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/company/GetCompanyCount?joinid=${id}`, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n getExToken({\n rootState,\n commit\n }, opt) { // 展商获取token\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v1/account/login/exhibitor`, opt).then(data => {\n if (data.data) {\n commit('setAuth', data.data.data.tokenInfo, {\n root: true\n });\n commit('setUserId', data.data.data.userId, {\n root: true\n });\n commit('setExhibitorId', data.data.data.exhibitorId, {\n root: true\n });\n resolve(data.data);\n }\n }).catch((err) => {\n let req = err.response;\n if (req && req.data && req.data.error_description) {\n if (req.data.code === 4002) {\n Message.error({\n content: '登录身份有误,请重新确认',\n duration: 2\n });\n } else {\n Message.error({\n content: req.data.error_description,\n duration: 2\n });\n }\n }\n resolve(null);\n });\n });\n },\n getExTokenByPhone({\n rootState,\n commit\n }, opt) { // 展商手机号获取token\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v3/account/login/exhibitor/phonenumber`, opt).then(data => {\n if (data.data) {\n console.log(data.data, '手机号获取token')\n commit('setAuth', data.data.data.tokenInfo, {\n root: true\n });\n // commit('setUserId', data.data.data.userId, { root: true });\n commit('setExhibitorId', data.data.data.exhibitorId, {\n root: true\n });\n resolve(data.data);\n }\n }).catch((err) => {\n let req = err.response;\n if (req && req.data && req.data.error_description) {\n if (req.data.code === 4002) {\n Message.error({\n content: '登录身份有误,请重新确认',\n duration: 2\n });\n } else {\n Message.error({\n content: req.data.error_description,\n duration: 2\n });\n }\n }\n resolve(null);\n });\n });\n },\n getHostToken({\n rootState,\n dispatch,\n commit\n }, opt) { // 主办获取token\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v1/account/login/host`, opt).then(data => {\n if (data.data) {\n commit('setAuth', data.data.data.tokenInfo, {\n root: true\n });\n commit('setHost', data.data.data, {\n root: true\n });\n commit('setUser', data.data.data.tokenInfo.userInfo, {\n root: true\n });\n dispatch('roleModule/getUserAdvisorySetting',{}, {root: true});\n commit('setUserId', data.data.data.userId, {\n root: true\n });\n commit('setHostId', data.data.data.id, {\n root: true\n });\n resolve(data.data);\n };\n }).catch((err) => {\n let req = err.response;\n if (req && req.data && req.data.error_description) {\n if (req.data.code === 4002) {\n Message.error({\n content: '登录身份有误,请重新确认',\n duration: 2\n });\n } else {\n Message.error({\n content: req.data.error_description,\n duration: 2\n });\n }\n }\n resolve(null);\n });\n });\n },\n getCompany({\n rootState\n }, id) { // 根据用户id获取公司信息 \n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/company/GetByUserId?userId=${id}`, rootState.header).then(data => {\n resolve(data.data);\n });\n });\n },\n getCompanyById({\n rootState\n }, id) { // 根据用户id获取公司信息 \n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/company?id=${id}`, rootState.header).then(data => {\n resolve(data.data);\n });\n });\n },\n getExIdByUserId({\n rootState\n }, id) {\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/Join/GetJoinRelevant?userid=${id}`, rootState.header).then(data => {\n resolve(data.data);\n });\n });\n },\n exit({\n commit,\n rootState\n }) {\n let url = '';\n if (rootState.role === 1) {\n url = \"/live/login/alogin\";\n } else if (rootState.role === 2) {\n url = \"/admin/login/alogin\";\n } else {\n url = \"/ex-live/login/ex?id=\" + rootState.exhibitionId;\n }\n commit('setLogin', false, {\n root: true\n });\n commit('setUser', null, {\n root: true\n });\n commit('setAuth', null, {\n root: true\n });\n commit('setToken', null, {\n root: true\n });\n localStorage.clear();\n location.href = url;\n },\n changePasswordByOld({\n rootState\n }, opt) { // 通过原密码改新密码 \n return new Promise((resolve, reject) => {\n axios.put(`${config.api.auth}/api/account/resetpassword`, opt, rootState.header).then(data => {\n resolve(data.data);\n });\n });\n },\n // 公司认证信息 \n getCompLicense({\n rootState,\n commit\n }, id) {\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/CompLicense/GetByCompId?compId=${id}`, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(null);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n addCompLicense({\n rootState\n }, opt) { // 添加认证信息\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.reqApi}/api/CompLicense`, opt, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n editCompLicenseAuditStatus({\n rootState\n }, id) { // 修改认证信息的审核状态\n return new Promise((resolve, reject) => {\n axios.delete(`${config.api.reqApi}/api/CompLicense/SetAuditStatus`, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n editCompLicense({\n rootState\n }, opt) { // 修改认证信息\n return new Promise((resolve, reject) => {\n axios.put(`${config.api.reqApi}/api/CompLicense`, opt, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n\n // 公司发票信息\n getCompInvoice({\n rootState,\n commit\n }, id) {\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.reqApi}/api/CompInvoice/GetByCompId?compId=${id}`, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n } else {\n resolve(null);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n addCompInvoice({\n rootState\n }, opt) { // 添加认证信息\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.reqApi}/api/CompInvoice`, opt, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n editCompInvoice({\n rootState\n }, opt) { // 修改认证信息\n return new Promise((resolve, reject) => {\n axios.put(`${config.api.reqApi}/api/CompInvoice`, opt, rootState.header).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n getExhibitionInfo({\n rootState,\n dispatch,\n commit\n }, id) { // 获取当前展会信息 \n return new Promise((resolve, reject) => {\n axios.get(`${config.api.api}/api/v1/exhibition?id=${id}`, rootState.header).then(data => {\n if (data.data) {\n if (data.data.result) { \n console.log('获取当前展会信息')\n commit(\"setExhibitionInfo\", data.data.data, {\n root: true\n });\n \n dispatch('roleModule/getVersionExhibition',{}, {root: true}); // 通过展会Id获取展会权限 \n dispatch('roleModule/getVersionDisplay',{}, {root: true}); // 通过展会Id获取展会权限 \n dispatch('getExhibitionConfig');\n }\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n async getExhibitionConfig({ \n rootGetters,\n dispatch,\n commit\n }) { // 获取当前展会配置\n let query = `{\n settingsQuery {\n exhibitionConfig(exhibitionId: \"${rootGetters.getExhibitionId}\") {\n display {\n themeId\n boothLink\n enabledExhibitorLimitNumber\n exhibitorLimitNumber\n exhibitorWapLogo\n exhibitorWebLogo\n enabledCustomQuick\n pcShowExhibitionViewCount\n pcShowExhibitionUserCount\n userViewShow\n customQuick{\n col\n row\n }\n homeActivity {\n col\n row\n }\n homeExhibitorLogo { \n col\n row\n }\n showExhibitorCount\n showViewCount\n }\n enabledAuditAppointment\n enabledAutoAuditActivity\n enabledAutoAuditExhibitor\n enabledAutoAuditLive\n enabledAutoAuditNewEnquiry\n enabledAutoAuditProduct\n enabledAutoAuditSample\n enabledAutoAuditSupplyDemand\n enabledAutoAuditTheme\n feature {\n enabledArticle\n enabledExhibitionList\n enabledBmm\n enabledBrandExhibitor\n enabledConcurrentActivity\n enabledContacts\n enabledDataStatistics\n enabledLive\n enabledNearbyExhibitor\n enabledRecommendForYou\n enabledSpecialLive\n enabledSupplyDemand\n enabledExhibitionVisitorReg\n enabledActivityCategory\n enabledSwitchLanguage\n enabledActivityReg\n enabledExhibitionSurvey\n enabledExhibitionVideo\n enabledExhibitionTalk\n enabledExhibitorApply\n exhibitorApplyUrl\n }\n invitation {\n backgroundColor\n backgroundUrl\n topToContent\n }\n keepRecord \n sayHello {\n dayFromNumber\n dayToNumber\n enabledToRepeat\n }\n settingName\n settingScope\n settingsDisplayName\n settingType\n visitorReg {\n notice\n noticeEn\n regLink\n pcRegLink\n regSuccessedNotice\n regSuccessedNoticeEn\n }\n }\n }\n }\n `;\n let body = {\n queryName: \"getExhibitionConfig\",\n query: query,\n };\n let data = await dispatch('graphqlPostByZXS', body, {\n root: true\n });\n return new Promise((resolve, reject) => {\n if (data.data) {\n if (data.data.settingsQuery && data.data.settingsQuery.exhibitionConfig) {\n commit(\"setExhibitionConfig\", data.data.settingsQuery.exhibitionConfig, {\n root: true\n });\n dispatch('theme/setTheme', {}, {\n root: true\n });\n resolve(data.data.settingsQuery.exhibitionConfig);\n }\n } else {\n resolve(false);\n }\n })\n },\n async getExhibitionInfoByGraphal({\n rootState,\n dispatch,\n commit\n }, id) { // 获取当前展会信息\n let query = ` {\n exhibitionQuery{\n get(id:\"${id}\"){\n activityCount\n address\n addressEn\n displayName\n showIndex\n ico\n appointmentCount\n banner \n city\n commentCount\n coordinate\n country\n createAt\n customerServiceCount\n deleteAt\n endDate\n exhibitorCount\n followCount\n hallName\n hallPanorama\n helpMoney \n hostId \n industry\n isDeleted \n liveCount\n liveEnabledLive\n liveEnabledSubtitles\n liveEnabledTranslate\n liveTranslateLangs\n logo\n id\n name\n nameEn\n organization\n organizationEn\n productCount\n province\n remark\n remarkEn\n shareCount\n shortName\n shortNameEn\n startData\n talkCount\n updateAt\n userCount\n video\n viewCount\n website\n }\n }\n }\n `;\n let body = {\n queryName: 'getExhibitionInfoByGraphal',\n query: query,\n };\n let data = await dispatch('graphqlPostByZXS', body, {\n root: true\n });\n return new Promise((resolve, reject) => {\n if (data.data) { \n if (data.data.exhibitionQuery && data.data.exhibitionQuery.get) {\n commit(\"setExhibitionInfo\", data.data.exhibitionQuery.get, {\n root: true\n });\n dispatch('roleModule/getVersionExhibition',{}, {root: true}); // 通过展会Id获取展会权限 \n dispatch('roleModule/getVersionDisplay',{}, {root: true}); // 通过展会Id获取展会权限 \n dispatch('getExhibitionConfig');\n resolve(data.data.exhibitionQuery.get);\n }\n } else {\n resolve(false);\n }\n })\n },\n async getExhibitionInfoByHost({ // 通过主办id查询当前展会下的信息\n rootState,\n dispatch,\n commit\n }, id) { // 获取当前展会信息\n let query = ` {\n exhibitionQuery{\n get(id:\"${id}\"){\n activityCount\n address\n appointmentCount\n banner \n city\n commentCount\n coordinate\n country\n createAt\n customerServiceCount\n deleteAt\n endDate\n exhibitorCount\n followCount\n hallName\n hallPanorama\n helpMoney \n hostId \n industry\n isDeleted \n liveCount\n liveEnabledLive\n liveEnabledSubtitles\n liveEnabledTranslate\n liveTranslateLangs\n logo\n id\n name\n nameEn\n organization\n organizationEn\n productCount\n province\n remark\n remarkEn\n shareCount\n shortName\n shortNameEn\n startData\n talkCount\n updateAt\n userCount\n video\n viewCount\n website\n }\n }\n }\n `;\n let body = {\n query: query,\n };\n let data = await dispatch('graphqlPostByZXS', body, {\n root: true\n });\n return new Promise((resolve, reject) => {\n if (data.data) {\n if (data.data.exhibitionQuery && data.data.exhibitionQuery.get) {\n commit(\"setExhibitionInfo\", data.data.exhibitionQuery.get, {\n root: true\n });\n dispatch('roleModule/getVersionExhibition',{}, {root: true}); // 通过展会Id获取展会权限 \n dispatch('roleModule/getVersionDisplay',{}, {root: true}); // 通过展会Id获取展会权限 \n resolve(data.data.exhibitionQuery.get);\n }\n } else {\n resolve(false);\n }\n })\n },\n\n // 展商登录页获取展会列表\n getExListFirst({\n rootState,\n commit\n }, opt) {\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v1/exhibition/query`, opt).then(data => {\n if (data.data) {\n resolve(data.data);\n }\n }).catch((err) => {\n console.log(err.response.data);\n });\n });\n },\n\n getToken({\n rootState,\n commit\n }, opt) { // 获取token\n return new Promise((resolve, reject) => {\n axios.post(`${config.api.auth}/connect/token`, qs.stringify(opt)).then(data => {\n if (data.data) {\n resolve(data.data);\n };\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n getAdminToken({ // 运维登录\n rootState,\n commit\n }, opt) { // 获取token \n return new Promise((resolve, reject) => {\n axios.post(`${config.api.api}/api/v1/account/login/admin`, opt).then(({\n data\n }) => {\n if (data.data) {\n commit('setAuth', data.data, {\n root: true\n });\n resolve(data.data);\n } else {\n resolve(data);\n }\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n\n validateCode({}, opt) { // 效验短信验证码\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.api}/api/v1/verificationcode/valid?key=${opt.key}&code=${opt.code}`).then(data => {\n resolve(data.data);\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n validatePhone({}, phone) { // 效验手机号是否存在\n return new Promise((resolve, reject) => {\n axios.get(`${config.api.auth}/api/v1/account/has/phonenumber?phoneNumber=${phone}`).then(data => {\n resolve(data.data);\n }).catch((err) => {\n console.log(err);\n });\n });\n },\n\n}\nexport default {\n namespaced: true,\n state,\n actions,\n mutations,\n getters,\n\n}","/* eslint-disable */\r\nimport axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\nimport { Message, Modal } from 'view-design';\r\nimport router from \"@/router/router.js\";\r\n\r\n// 通用 Module \r\nconst state = {\r\n}\r\nconst mutations = {\r\n// setCompany(state, data) {\r\n// state.company = data;\r\n// },\r\n}\r\nconst getters = {\r\n// getCompany: state => {\r\n// return state.company;\r\n// },\r\n}\r\nconst actions = {\r\n\r\n // 获取资讯列表\r\n getNewsList({ rootState, commit }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/article/page`, opt,rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n // 获取资讯详情\r\n getNewsDetails({ rootState, commit }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios.get(`${config.api.api}/api/v3/article?id=${id}`, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n\r\n //发布供需\r\n supplyDemand({\r\n rootState\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/supplydemand`, opt, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n //关注供需\r\n supplyFollower({\r\n rootState\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/supplydemandfollower`, opt, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n //取消关注供需\r\n deleteSupplyFollower({\r\n rootState\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.delete(`${config.api.api}/api/v3/supplydemandfollower/remove?supplyDemandId=${opt.supplyDemandId}&memberId=${opt.memberId}`, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n\r\n //删除供需\r\n\tdelSupply({rootState},id){\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.api}/api/v3/supplydemand?id=${id}`, rootState.header)\r\n\t\t\t\t.then(res=>{\r\n\t\t\t\t\tif(res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n },\r\n //再次编辑供需\r\n editSupply({\r\n rootState,\r\n commit\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.put(`${config.api.api}/api/v3/supplydemand/patch?id=${opt.id}`, opt, rootState.header).then(data => {\r\n console.log(data);\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n },\r\n\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n} \r\n","/* eslint-disable */\r\nimport axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\nimport { Message, Modal } from 'view-design';\r\nimport router from \"@/router/router.js\";\r\n\r\n// 通用 Module \r\nconst state = {\r\n}\r\nconst mutations = {\r\n // setCompany(state, data) {\r\n // state.company = data;\r\n // },\r\n}\r\nconst getters = {\r\n // getCompany: state => {\r\n // return state.company;\r\n // },\r\n}\r\nconst actions = {\r\n addEnquiryNew({ rootState }, body) { // 添加询盘(新)\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitornewenquiry`, body, rootState.header)\r\n .then(res => {\r\n if (res.status === 200 && res.data) {\r\n resolve(res.data);\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n });\r\n },\r\n \r\n // 添加预约洽谈\r\n addOrder({\r\n rootState,\r\n commit\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitorappointment`, opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n })\r\n },\r\n //点赞展商\r\n exLike({ rootState }, body) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitorlike`, body, rootState.header)\r\n .then(res => {\r\n // console.log(res, 'res123')\r\n if (res.status === 200 && res.data) {\r\n resolve(res.data);\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n })\r\n },\r\n addCompLove({ rootState }, body){ // 添加展商关注\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v1/exhibitor/follow`, body, rootState.header)\r\n .then(res => {\r\n if (res.status === 200 && res.data) {\r\n resolve(res.data);\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n });\r\n },\r\n delCompLove({ rootState }, body) { // 取消展商关注\r\n return new Promise((resolve, reject) => {\r\n axios.delete(`${config.api.api}/api/v1/exhibitor/follow`, { data: body, ...rootState.header })\r\n .then(res => {\r\n if (res.status === 200 && res.data) {\r\n resolve(res.data);\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n });\r\n },\r\n addAppointmentNumber({\r\n rootState,\r\n commit\r\n }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitorappointmentagora/add/number?exhibitorId=${id}`, {\r\n exhibitorId: id\r\n }, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n} \r\n","/* eslint-disable */\r\nimport router from \"@/router/router.js\";\r\nimport {\r\n Message\r\n} from 'view-design';\r\n\r\nconst state = {}\r\nconst mutations = {}\r\nconst getters = {}\r\nconst actions = { \r\n linkToDemandDetail({\r\n rootState\r\n }, opt) {\r\n console.log(opt,'opt')\r\n router.push({\r\n path: `/home/demandDetail?id=${opt.id}&isFollow=${opt.isFollow}&exhibitionId=${rootState.exhibitionId}`\r\n });\r\n },\r\n linkToNewsDetails({\r\n rootState\r\n }, id) {\r\n router.push({\r\n path: `/home/newsDetails?newId=${id}&exhibitionId=${rootState.exhibitionId}`\r\n });\r\n },\r\n linkToExhibitorDetails({\r\n rootState\r\n }, id) {\r\n router.push({\r\n path: `/exhibitor-detail/${id}?exhibitionId=${rootState.exhibitionId}`\r\n });\r\n },\r\n linkToProductDetais({\r\n rootState\r\n }, id) {\r\n router.push({\r\n path: `/product-detail?productId=${id}&exhibitionId=${rootState.exhibitionId}`\r\n });\r\n },\r\n linkToLogin({\r\n rootState\r\n }) {\r\n router.push(`/login/${rootState.exhibitionId}`);\r\n },\r\n linkToRegSteps({\r\n rootState,\r\n dispatch,\r\n rootGetters,\r\n }) {\r\n let user = rootGetters.getUser;\r\n if (user && user.inMember && user.inMember.userRole && user.inMember.userRole != \"VISITOR\" && user.inMember.userRole != \"Visitor\") {\r\n Message.warning(\"您已经注册过了!\");\r\n return;\r\n }\r\n if (rootState.login && rootState.user && rootState.user.userId) {\r\n dispatch('linkTo/linkToRegForm', {\r\n type: 'next',\r\n phone: rootState.user.phone\r\n }, {\r\n root: true\r\n })\r\n } else {\r\n router.push(`/regStep/${rootState.exhibitionId}`);\r\n }\r\n },\r\n linkToTour({\r\n rootState,\r\n dispatch\r\n }) {\r\n router.push(`/home/tour/${rootState.exhibitionId}`);\r\n },\r\n \r\n linkToTourByExhibitorId({\r\n rootState,\r\n dispatch\r\n },id) {\r\n router.push(`/home/tour/${rootState.exhibitionId}?exhibitorId=${id}`);\r\n },\r\n\r\n async linkToRegForm({\r\n rootState,\r\n getters,\r\n dispatch,\r\n commit\r\n }, opt) {\r\n // if(opt) { // 有来源 保存注册来源的信息\r\n // commit('setRegOrigin',opt,{root:true})\r\n // }\r\n let res = await dispatch('getCustomForm', {\r\n itemId: rootState.exhibitionId,\r\n formType: 'show.form.visitor.reg'\r\n }, {\r\n root: true\r\n });\r\n if (res && res.getForm.items) { // 是否有自定义表单\r\n console.log('有自定义表单');\r\n if (opt.type == 'next') {\r\n router.push({\r\n path: `/regCustom/${rootState.exhibitionId}?phone=${opt.phone}`\r\n })\r\n }\r\n if (opt.type == 'no') {\r\n router.push({\r\n path: `/regCustom/${rootState.exhibitionId}?isCover=true&phone=${opt.phone}`\r\n })\r\n }\r\n } else {\r\n console.log('没有自定义表单');\r\n if (opt.type == 'next') {\r\n router.push({\r\n path: `/regInfo/${rootState.exhibitionId}?phone=${opt.phone}`\r\n })\r\n }\r\n if (opt.type == 'no') {\r\n router.push({\r\n path: `/regInfo/${rootState.exhibitionId}?isCover=true&phone=${opt.phone}`\r\n })\r\n }\r\n }\r\n },\r\n // 活动链接(展商秀2.0)\r\n LinkAct({\r\n rootState\r\n }, opt) {\r\n // opt.acvitityType === 'EXTERNAL_LINK'\r\n if (opt.externalLink) { // 外链\r\n window.open(opt.externalLink)\r\n // location.href = opt.externalLink;\r\n } else {\r\n if (opt.hasLive && opt.liveAuditState === 'PASS') { // 直播 (有直播并且审核通过)\r\n router.push(`/home/activity-details?id=${opt.id}&exhibitionId=${rootState.exhibitionId}`);\r\n } else { // (普通活动)\r\n router.push(`/home/activity-nolive?id=${opt.id}&exhibitionId=${rootState.exhibitionId}`);\r\n }\r\n }\r\n },\r\n // 活动报名\r\n LinkActReg({\r\n rootState\r\n }, id) {\r\n router.push(`/home/activity-join?id=${id}&exhibitionId=${rootState.exhibitionId}`);\r\n },\r\n LinkHome({\r\n\r\n }, id) {\r\n router.push(`/home/index/${id}`);\r\n }\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\n\r\nconst state = {\r\n activityList: [], // 活动信息,\r\n}\r\nconst mutations = {\r\n setActivity(state, data) {\r\n state.activityList = data;\r\n },\r\n}\r\nconst getters = {\r\n getActivity: state => {\r\n return state.activityList;\r\n },\r\n}\r\nconst actions = {\r\n getCountry({\r\n rootState,\r\n commit\r\n }, opt) { // 获取国家省份城市\r\n return new Promise((resolve, reject) => {\r\n axios.get(`${config.api.api}/api/v1/country/countries`, opt, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n };\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n getCountrySub({\r\n rootState,\r\n commit\r\n }, opt) { // 获取国家省份城市\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v1/country/find`, opt, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n };\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n getMapValue({\r\n rootState\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v1/mapvalue`, opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n },\r\n getMapValueByKey({\r\n rootState\r\n }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios.get(`${config.api.api}/api/v1/mapvalue?id=${id}`, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n },\r\n getLiveRoomCode({\r\n rootState,\r\n commit\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v1/wechat/weapp/qrcode/unlimit`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n } else {\r\n resolve('');\r\n }\r\n }).catch((err) => {\r\n resolve(false);\r\n console.log(err);\r\n });\r\n })\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","/* eslint-disable */\r\nimport axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\nimport { Message, Modal } from 'view-design';\r\nimport router from \"@/router/router.js\";\r\n\r\n// 通用 Module\r\nconst state = {\r\n}\r\nconst mutations = {\r\n// setCompany(state, data) {\r\n// state.company = data;\r\n// },\r\n}\r\nconst getters = {\r\n// getCompany: state => {\r\n// return state.company;\r\n// },\r\n}\r\nconst actions = {\r\n\r\n // 产品点赞\r\n ProductLike({ rootState, commit }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/productlike`, opt,rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n // 产品关注\r\n ProductFollow({ rootState, commit }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v1/productfollower`, opt,rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n }\r\n\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}\r\n","/* eslint-disable */\r\nimport axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\nimport {\r\n\tMessage,\r\n\tModal\r\n} from 'view-design';\r\nimport router from \"@/router/router.js\";\r\n\r\n// 通用 Module \r\nconst state = {}\r\nconst mutations = {\r\n\t// setCompany(state, data) {\r\n\t// state.company = data;\r\n\t// },\r\n}\r\nconst getters = {\r\n\t// getCompany: state => {\r\n\t// return state.company;\r\n\t// },\r\n}\r\nconst actions = {\r\n\t//删除预约洽谈\r\n\tdelOrder({\r\n\t\trootState\r\n\t}, id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.api}/api/v3/exhibitorappointment?id=${id}`, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\tdelEnquiryNew({ rootState }, id) { // 删除询盘(新)\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.api}/api/v3/exhibitornewenquiry?id=${id}`,rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t//再次编辑询盘(新)\r\n\teditEnquiryNew({\r\n\t\trootState,\r\n\t\tcommit\r\n}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.put(`${config.api.api}/api/v3/exhibitornewenquiry/patch?id=${opt.id}`, opt.opt, rootState.header).then(data => {\r\n\t\t\t\t\t\tif (data.data) {\r\n\t\t\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\tconsole.log(err);\r\n\t\t\t\t});\r\n\t\t});\r\n},\r\n\t//编辑预约洽谈\r\n\teditOrder({\r\n\t\trootState\r\n\t}, body) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.patch(`${config.api.api}/api/v3/exhibitorappointment?id=${body.id}`, body.opt, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t//获取用户是否有密码\r\n\tgetPassword({\r\n\t\trootState\r\n\t}, Id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.auth}/api/v1/account/has/password?userId=${Id}`, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t//没有密码设置密码\r\n\teditNewPassword({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.put(`${config.api.auth}/api/v1/account/update/password/set`, opt, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t//修改原密码\r\n\teditPassword({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.put(`${config.api.auth}/api/v1/account/update/password`, opt, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.status === 200 && res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\r\n\tpatchUser({\r\n\t\trootState\r\n\t}, opt) { // 修改用户部分信息\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.patch(`${config.api.api}/api/v1/member?id=${opt.id}`, opt, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tresolve(data);\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\tpatchUserCategory({\r\n\t\trootState\r\n\t}, opt) { // 修改用户部分信息类别\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.patch(`${config.api.api}/api/v1/exhibitioninmember?id=${opt.id}`, opt.body, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tresolve(data);\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\r\n\t// 阅读消息\r\n\tmsgRead({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/notificationmessage/read?messageId=${opt.messageId}&receiverId=${opt.receiverId}`, opt, rootState.header)\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tif (res.data) {\r\n\t\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t// 提交反馈\r\n\tsubmitFeedBack({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/feedback`, opt, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tconsole.log(data, '反馈')\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\t// 获取用户绑定平台信息\r\n\tgetAuthInfo({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.auth}/api/v1/account/login-provider/list?userId=${rootState.userId}`, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\t// 删除用户绑定平台信息\r\n\tdelAuthInfo({\r\n\t\trootState\r\n\t}, type) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.auth}/api/v1/account/login-provider?userId=${rootState.userId}&loginProvider=${type}`, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\r\n\r\n\t// 绑定用户手机\r\n\tupdatePhonenumber({\r\n\t\trootState\r\n\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.put(`${config.api.api}/api/v3/mmeberv3/update/phonenumber`, opt, rootState.header)\r\n\t\t\t\t.then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}).catch(err => {\r\n\t\t\tconsole.log(err);\r\n\t\t})\r\n\t},\r\n\r\n}\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate,\r\n\tactions,\r\n\tmutations,\r\n\tgetters,\r\n}","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json \r\n\r\nconst state = {}\r\nconst mutations = {}\r\nconst getters = {}\r\nconst actions = {\r\n async getBannerByGraphal({\r\n rootState,\r\n dispatch\r\n }, type) {\r\n let query = ` {\r\n bannerQuery {\r\n by(\r\n exhibitionId: \"${rootState.exhibitionId}\"\r\n position: \"${type}\"\r\n ) {\r\n name\r\n nameEn\r\n content\r\n covers\r\n enabledCountdown\r\n endAt\r\n exhibitionId\r\n position\r\n showIndex\r\n url\r\n } \r\n } \r\n }\r\n `;\r\n let body = {\r\n query: query,\r\n };\r\n let data = await dispatch('graphqlPostByZXS', body, {\r\n root: true\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n },\r\n getBanner({\r\n rootState,\r\n commit\r\n }, opt) {\r\n // 获取活动信息\r\n // show.page.home 展商秀首页 \r\n // show.page.exhibitors 展商秀展商列表首页\r\n // show.page.products 展商秀展品首页\r\n // show.page.home.pc PC 展商秀首页\r\n // show.page.exhibitors.pc PC 展商秀展商列表首页\r\n // show.page.products.pc PC 展商秀展品首页\r\n // show.page.home.ad.pc PC 展商秀管广告\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.liveApi}/api/v3/banner/query`, opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n addBanner({\r\n rootState\r\n }, opt) { // 添加活动信息\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.liveApi}/api/v3/banner`, opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n delBanner({\r\n rootState\r\n }, id) { // 删除活动信息\r\n return new Promise((resolve, reject) => {\r\n axios.delete(`${config.api.liveApi}/api/v3/banner?id=${id}`, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n editBanner({\r\n rootState\r\n }, opt) { // 修改活动信息\r\n return new Promise((resolve, reject) => {\r\n axios.patch(`${config.api.liveApi}/api/v3/banner?id=${opt.id}`, opt.opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\n\r\nconst state = {\r\n}\r\nconst mutations = {\r\n}\r\nconst getters = {\r\n}\r\nconst actions = {\r\n // 添加活动围观\r\n addActFollower({ rootState, commit }, opt) { \r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/activityview`, opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n },\r\n // 添加活动点赞\r\n addActZan({ rootState, commit }, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/activitylike`, opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n },\r\n // 取消活动点赞\r\n delActZan({ rootState, commit }, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.api}/api/v3/activitylike/remove?activityId=${opt.activityId}&userId=${opt.userId}`, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n },\r\n // 添加活动关注\r\n addActLove({ rootState, commit }, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/activityfollow`, opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n },\r\n // 取消活动关注\r\n delActLove({ rootState, commit }, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.delete(`${config.api.api}/api/v3/activityfollow/remove?activityId=${opt.activityId}&userId=${opt.userId}`, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 检查是否能观看直播\r\n\tcheckLiveView({ rootState, commit }, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.api}/api/v1/liveroom/view?roomId=${opt.roomId}&memberId=${opt.memberId}&code=${opt.code}`, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 密付费观看\r\n\tpayForMent({ rootState, commit }, opt){\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/liveroom/view/payment`, opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 密码观看\r\n\tpayForPassWord({ rootState, commit }, opt){\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/liveroom/view/password`, opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 申请上热榜\r\n\tapplyhot({rootState,commit}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/exhibitioninmember/apply-popularizes`,opt, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 申请直播\r\n\tapplyLive({rootState,commit}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/liveroom/apply`,opt, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 申请上焦点\r\n\tapplyfocus({\r\n\t\t\trootState,\r\n\t\t\tcommit\r\n\t\t}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/exhibitioninmember/apply-focus`,opt, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 刷礼物\r\n\tgiftTo({rootState,commit}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/giftgiving/to`,opt, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 获取金豆数量\r\n\tgetBanlance({rootState,commit}, id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.api}/api/v1/member/my-balance?memberId=${id}`, rootState.header).then(data => {\r\n\t\t\t\tif (data.data||data.data==0) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 助力 支付慕渊豆 \r\n\thelpMyDou({rootState},opt){\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/helplog/to`, opt, rootState.header)\r\n\t\t\t.then(res=>{\r\n\t\t\t\tif(res.status === 200 && res.data) { \r\n\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t}else{\r\n\t\t\t\t\tresolve(false)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch(err => console.log(err));\r\n\t\t});\r\n\t},\r\n\t// 活动报名\r\n\tactivityReg({rootState,commit}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/activityreg`,opt, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 获取获得订单\r\n\tactOrder({rootState,commit}, id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.api}/api/v3/activity?id=${id}`, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 获取活动详情\r\n\tgetActDetail({rootState,commit}, id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.get(`${config.api.api}/api/v3/activity?id=${id}`, rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t// 创建订单\r\n\taddOrder({rootState,commit}, opt) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/activityticketorder`, opt,rootState.header).then(data => {\r\n\t\t\tif (data.data) {\r\n\t\t\t\tresolve(data.data);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(null);\r\n\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\t//通过roomId获取前20条留言\r\n getBarrage({\r\n rootState,\r\n commit\r\n },id){\r\n return new Promise((resolve,reject)=>{\r\n axios.get(`${config.api.api}/api/v1/livecomment/top?roomId=${id}&topNum=20`, rootState.header)\r\n .then(data=>{\r\n if(data&&data.data.length){\r\n resolve(data.data);\r\n }else{\r\n resolve(false);\r\n }\r\n }).catch((err) => {\r\n resolve(false);\r\n console.log(err);\r\n });\r\n })\r\n\t},\r\n\t//直播点赞\r\n\tlikeTo({ rootState }, opt) { \r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v1/liveroom/like`, opt, rootState.header).then(({\r\n\t\t\t data\r\n\t\t\t }) => {\r\n\t\t\tif (data) {\r\n\t\t\t resolve(data);\r\n\t\t\t}else{\r\n\t\t\t resolve(false)\r\n\t\t\t}\r\n\t\t });\r\n\t\t}).catch(err => {\r\n\t\t console.log(err);\r\n\t\t});\r\n\t},\r\n\t// 获取活动类别\r\n getActType({\r\n rootState\r\n }, opt) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/activitycategory/query`, opt, rootState.header).then(data => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n });\r\n },\r\n}\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate,\r\n\tactions,\r\n\tmutations,\r\n\tgetters,\r\n} ","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json \r\n\r\nconst state = {}\r\nconst mutations = {}\r\nconst getters = {}\r\nconst actions = {\r\n\r\n // 获取观众自定义表单\r\n async getSearch({\r\n rootState,\r\n dispatch\r\n }, opt) {\r\n\r\n\r\n\r\n let query = `query {\r\n searchWordQuery {\r\n tops(\r\n itemId: \"${opt.exhibitionId}\"\r\n origin: \"${opt.origin}\"\r\n num: 3\r\n )\r\n }\r\n } \r\n `;\r\n let body = {\r\n query: query,\r\n };\r\n let data = await dispatch('graphqlPostByZXS', body, {\r\n root: true\r\n });\r\n return new Promise((resolve, reject) => {\r\n if (data.data) {\r\n resolve(data.data);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n },\r\n\r\n addSearch({\r\n rootState\r\n }, opt) { // 添加活动信息\r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.liveApi}/api/v3/searchword`, opt, rootState.header).then(data => { \r\n if (data.status) {\r\n resolve(data);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","/* eslint-disable */\r\nimport axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\nimport qs from \"qs\";\r\nimport { Message, Modal } from 'view-design';\r\nimport router from \"@/router/router.js\";\r\n\r\n// 通用 Module \r\nconst state = {\r\n}\r\nconst mutations = {\r\n // setCompany(state, data) {\r\n // state.company = data;\r\n // },\r\n}\r\nconst getters = {\r\n // getCompany: state => {\r\n // return state.company;\r\n // },\r\n}\r\nconst actions = {\r\n async getShareConfig({ rootState, commit ,dispatch} , opt) { \r\n let query = `\r\n query($type: Int,$scope: String,$name:String){\r\n settingsQuery{\r\n by(type: $type,scope:$scope,name:$name){\r\n description\r\n displayName\r\n id\r\n isDeleted\r\n isEncrypted\r\n name\r\n scope\r\n scopeType\r\n value\r\n }\r\n }\r\n }\r\n `; \r\n let body = {\r\n query: query,\r\n variables:{\r\n type:2,\r\n scope:opt.id || rootState.exhibitionId,\r\n name:opt.name||'share.exhibition.config'\r\n }\r\n };\r\n let data = await dispatch('graphqlPostByZXS',body,{root:true});\r\n return new Promise((resolve, reject) => {\r\n if(data.data.settingsQuery.by){\r\n resolve(data.data.settingsQuery.by.value);\r\n } else {\r\n resolve(false);\r\n }\r\n })\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n} \r\n","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json \r\n\r\nconst state = {\r\n theme: '',\r\n}\r\nconst mutations = {\r\n setTheme(state, data) {\r\n state.theme = data;\r\n },\r\n}\r\nconst getters = {\r\n getTheme: state => {\r\n return state.theme;\r\n },\r\n}\r\nconst actions = {\r\n // 添加浏览记录\r\n changeTheme({\r\n state,\r\n commit\r\n }, theme) {\r\n return new Promise((resolve, reject) => {\r\n window.document.documentElement.setAttribute('data-theme', theme);\r\n commit('setTheme', theme);\r\n resolve(true);\r\n });\r\n },\r\n setTheme({\r\n state,\r\n commit,\r\n dispatch,\r\n rootGetters\r\n }, id) {\r\n return new Promise((resolve, reject) => {\r\n if (rootGetters.getDisplay) {\r\n commit('setTheme', rootGetters.getDisplay);\r\n dispatch('changeTheme', rootGetters.getDisplay);\r\n }\r\n resolve(true);\r\n });\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json\r\n\r\nconst state = {}\r\nconst mutations = {}\r\nconst getters = {}\r\nconst actions = { \r\n\taddAppointmentNumber({\r\n\t\trootState,\r\n\t\tcommit\r\n\t}, id) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\taxios.post(`${config.api.api}/api/v3/exhibitorappointmentagora/add/number?exhibitorId=${id}`, {\r\n\t\t\t\texhibitorId: id\r\n\t\t\t}, rootState.header).then(data => {\r\n\t\t\t\tif (data.data) {\r\n\t\t\t\t\tresolve(data.data);\r\n\t\t\t\t}\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tconsole.log(err);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n}\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate,\r\n\tactions,\r\n\tmutations,\r\n\tgetters,\r\n}","\n// 图片的处理\nconst state = {\n // 通用\n oPicXS:'?x-oss-process=style/oPicXS', // 小小方图 40*40 小小logo\n oPicSmall:'?x-oss-process=style/oPicSmall', // 小方图 40*40\n oPic:'?x-oss-process=style/oPic', // 方图 40*40\n oPicBig:'?x-oss-process=style/oPicBig', // 大方图 40*40\n oAvatarSmall:'?x-oss-process=style/oAvatarSmall', // 小头像 40*40\n oAvatar:'?x-oss-process=style/oAvatar', // 中头像 40*40\n oAvatarBig:'?x-oss-process=style/oAvatarBig', // 大头像 40*40\n\n oPotoView:'?x-oss-process=style/oPotoView', // 图片查看 原始大小 增加水印\n\n oProSmall:'?x-oss-process=style/oProSmall', // 小产品图 200*200\n oPro:'?x-oss-process=style/oPro', // 中产品图 400*400\n oProBig:'?x-oss-process=style/oProBig', // 大产品图 600*600\n oActSmall:'?x-oss-process=style/oActSmall', // 小活动图 255*150\n oAct:'?x-oss-process=style/oAct', // 中活动图 375*210\n oActBig:'?x-oss-process=style/oActBig', // 大活动图 750*420\n oNews:'?x-oss-process=style/oNews', // 小新闻资讯 150*100\n oNewsBig:'?x-oss-process=style/oNewsBig', // 大新闻资讯 600*400\n oTopicBanner:'?x-oss-process=style/oTopicBanner', // 顶部Banner 750*420\n oShare:'?x-oss-process=style/oShare', // 分享海报 750*420\n oIntro:'?x-oss-process=style/oIntro', // 内容页图 800*X 固定宽度,高度自适\n \n\n //首页\n oLiveCover:'?x-oss-process=style/oLiveCover', // 专题直播 200*375\n\n //展商\n oExBanner:'?x-oss-process=style/oExBanner', // 邀请函·Banner 750*420\n\n //活动\n oBgLive:'?x-oss-process=style/oBgLive', // 详情·直播背景竖屏 750*1334\n}\nconst getters = {\n}\nconst mutations = {\n}\nconst actions = {\n}\nexport default {\n state,\n actions,\n mutations,\n getters,\n}\n","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json \r\n\r\n// 通用 Module \r\nconst actions = {\r\n // 实时消息token获取\r\n getMessageToken({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agora/rtm`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n // 视频聊天token获取\r\n getVideoToken({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agora/rtc`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n // 发送消息添加\r\n addAgoraMessage({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agoramessage`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n // 改变消息状态\r\n upDateStateAgoraMessage({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agoramessage/update/state`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n // 发起聊天通知客服\r\n agoraNotify({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitorappointmentagora/notify`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n //客服接到通知\r\n serviceLink({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/exhibitorappointmentagora/link`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n //读用户发的消息 客服调用\r\n readUserMsg({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agoramessage/read/user`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n //读客服发的消息 用户调用\r\n readExhibitorMsg({ rootState }, opt) { \r\n return new Promise((resolve, reject) => {\r\n axios.post(`${config.api.api}/api/v3/agoramessage/read/exhibitor`, opt, rootState.header)\r\n .then(({\r\n data\r\n }) => {\r\n if (data) {\r\n resolve(data);\r\n }\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n });\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n actions,\r\n}\r\n","import axios from 'axios';\r\nimport config from '@assets/config.json'; // api 请求json \r\n\r\nconst state = {\r\n role: null, // 展会权限角色\r\n roleInfo: null,\r\n roleMenu: null,\r\n}\r\nconst mutations = {\r\n setRoleInfo(state, data) {\r\n state.roleInfo = data;\r\n },\r\n setRole(state, data) {\r\n state.role = data;\r\n },\r\n setRoleMenu(state, data) {\r\n state.roleMenu = data;\r\n },\r\n}\r\nconst getters = {\r\n getRoleInfo: state => {\r\n return state.roleInfo;\r\n },\r\n getRole: state => {\r\n return state.role;\r\n },\r\n getRoleMenu: state => {\r\n return state.roleMenu;\r\n },\r\n}\r\nconst actions = {\r\n getRoleHandle({\r\n state,\r\n }, roleName) {\r\n // 获取权限 \r\n let hasRole = false;\r\n if (state.roleMenu && state.roleMenu.indexOf(roleName) !== -1) {\r\n hasRole = true;\r\n }\r\n if (!hasRole) {\r\n that.$Message.destroy();\r\n that.$Message.warning({\r\n content: \"您未开通此服务请联系展商秀客服\",\r\n duration: 2\r\n });\r\n }\r\n console.log('roleName', roleName);\r\n console.log('hasRole', role);\r\n return hasRole;\r\n },\r\n getVersionExhibition({\r\n rootState,\r\n commit\r\n }) {\r\n // 获取权限 \r\n return new Promise((resolve, reject) => {\r\n axios.get(`${config.api.api}/api/v3/version/version-exhibition?exhibitionId=${rootState.exhibitionId}`, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data) {\r\n commit('setRoleInfo', data);\r\n commit('setRole', data.versionId);\r\n resolve(data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n getVersionDisplay({\r\n rootState,\r\n commit\r\n }) {\r\n // 获取权限 \r\n return new Promise((resolve, reject) => {\r\n axios.get(`${config.api.api}/api/v3/version/display/feature/exhibitionid/${rootState.exhibitionId}`, rootState.header).then(({\r\n data\r\n }) => {\r\n if (data.data) {\r\n commit('setRoleMenu', data.data);\r\n resolve(data.data);\r\n } else {\r\n resolve(null);\r\n }\r\n }).catch((err) => {\r\n console.log(err.response.data);\r\n });\r\n });\r\n },\r\n //dispatch('roleModule/getUserAdvisorySetting',{}, {root: true}); // 通过userId展会Id获取展会咨询设置 \r\n async getUserAdvisorySetting({\r\n rootState,\r\n rootGetters,\r\n dispatch,\r\n commit\r\n }) {\r\n let query=`\r\n {\r\n inMemberQuery {\r\n advisoryDayTotal(exhibitionId: \"${rootGetters.getExhibitionId}\",userId:\"${rootState.user.userId}\") {\r\n userId\r\n appointmentDayNumber\r\n enquiryDayNumber\r\n agroaDayNumber\r\n }\r\n }\r\n }\r\n `\r\n let body={\r\n query:query,\r\n variables:{},\r\n }\r\n let data = await dispatch('graphqlPostByZXS', body, {\r\n root: true\r\n });\r\n // console.log(data,'调用个人的次数')\r\n return new Promise((resolve, reject) => {\r\n if (data.data){\r\n let res=JSON.parse(JSON.stringify(data.data.inMemberQuery.advisoryDayTotal))\r\n // console.log(res,'个人的次数')\r\n if(res){\r\n commit(\"setMyAdvisorySetting\", res, {\r\n root: true\r\n });\r\n resolve(res)\r\n }else{\r\n reject('')\r\n }\r\n }else{\r\n reject('')\r\n }\r\n });\r\n },\r\n}\r\nexport default {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n getters,\r\n}","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport VuexPersistence from 'vuex-persist'\nconst VuexLocal = new VuexPersistence({\n storage: window.localStorage\n}); // https://github.com/championswimmer/vuex-persist vuex的本地持久化插件\n\n// 授权\nimport {\n vuexOidcCreateStoreModule\n} from 'vuex-oidc'\nimport {\n oidcSettings,\n oidcSettingsQQ,\n oidcAuthWeixin,\n} from '../utils/oidc.js'\n// 授权 end\n\n\n// 通用Module\nimport common from './module/common';\nimport loginModule from './module/loginModule';\nimport news from './module/news';\nimport exhibitor from './module/exhibitor';\nimport linkTo from './module/linkTo';\nimport toolModule from './module/toolModule';\nimport product from './module/product';\nimport user from './module/user';\nimport banner from './module/banner';\nimport act from './module/act'\nimport search from './module/search'\nimport share from './module/share'\nimport theme from './module/theme'\nimport appointment from './module/appointment'\nimport img from './module/img'\nimport talk from './module/talk'\n// 权限\nimport roleModule from './module/roleModule'\nconst Modele = {\n loginModule,\n news,\n linkTo,\n toolModule,\n product,\n exhibitor,\n user,\n banner,\n act,\n search,\n theme,\n appointment,\n share,\n talk,\n roleModule\n};\n\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n ...common.state, // 通用 state\n ...img.state, // 通用 state\n regOrigin: null, // 注册来源\n viewer: '', //直播间观众信息\n viewerId: '', //直播间观众ID\n share: { // 分享的配置\n url: '', // 地址\n title: '', // 标题\n desc: '', // 描述\n summary: '', // 简介\n pics: '', // 图片\n }\n },\n getters: {\n ...common.getters, // 通用 getters \n ...img.getters, // 通用 getters \n getRegOrigin: state => {\n return state.regOrigin;\n },\n getViewerId: state => { // 获取直播间观众ID \n return state.viewerId;\n },\n getViewer: state => { // 获取直播间观众信息 \n return state.viewer;\n },\n getShare: state => { // 获取分享信息\n return state.share;\n },\n },\n mutations: {\n ...common.mutations, // 通用 mutations \n ...img.mutations, // 通用 mutations \n setRegOrigin(state, data) {\n state.regOrigin = data;\n },\n setViewerId(state, data) { // 设置直播间观众Id\n state.viewerId = data;\n },\n setViewer(state, data) { // 设置直播间观众信息\n state.viewer = data;\n },\n setShare(state, data) { // 设置分享信息\n state.share = data;\n },\n },\n modules: {\n ...Modele,\n oidcStore: vuexOidcCreateStoreModule(\n oidcSettings, {\n // namespaced: true,\n publicRoutePaths: [\n '/live-test',\n '/silentSignInCallback',\n ], // 设置不需要授权的页面\n dispatchEventsOnWindow: true\n },\n ),\n oidcStoreQQ: vuexOidcCreateStoreModule(\n oidcSettingsQQ, {\n namespaced: true\n }\n ),\n },\n actions: {\n ...common.actions, // 通用 actions\n ...img.actions // 通用 actions\n },\n plugins: [VuexLocal.plugin]\n})","const layout = () => import(\"../views/pages/layout.vue\"); // 登录\nconst home = () => import(\"../views/pages/home/home.vue\"); // 首页\nconst about = () => import(\"../views/pages/about.vue\"); // 关于\nconst login = () => import(\"../views/pages/login/login.vue\"); // 登录\nconst business = () => import(\"../views/pages/business/business.vue\");\nconst activity = () => import(\"../views/pages/activity/activity.vue\");\nconst activityDetails = () => import(\"../views/pages/activity/pages/activity-details.vue\");\nconst activityNolive = () => import(\"../views/pages/activity/pages/activity-details-nolive.vue\");\nconst activityJoin = () => import(\"../views/pages/activity/pages/activity-join.vue\");\nconst product = () => import(\"../views/pages/product/product.vue\");\nconst exhibitor = () => import(\"../views/pages/exhibitor/exhibitor.vue\");\nconst tour = () => import(\"../views/pages/tour/tour.vue\");\nconst tourBig = () => import(\"../views/pages/tour-big/tour.vue\");\nconst components = () => import(\"../views/components/index.vue\");\nconst exhibitorDetail = () => import(\"../views/pages/exhibitor/exhibitor-detail/index\");\nconst productDetail = () => import(\"../views/pages/product/product-detail/index\");\n\nconst demand = () => import(\"../views/pages/demand/demand.vue\");\n\n// 资讯\nconst news = () => import(\"../views/pages/news/news.vue\");\nconst newsDetails = () => import(\"../views/pages/news/news-details.vue\");\n\n// 用户\nconst userCenter = () => import(\"../views/pages/user/index.vue\"); // 个人中心\nconst userHome = () => import(\"../views/pages/user/home.vue\"); // 个人中心 首页\nconst myCard = () => import(\"../views/pages/user/my-card.vue\");\nconst myOrder = () => import(\"../views/pages/user/my-order.vue\");\nconst myNeed = () => import(\"../views/pages/user/my-need.vue\");\nconst myAct = () => import(\"../views/pages/user/my-act.vue\");\nconst myfollow = () => import(\"../views/pages/user/my-follow.vue\");\nconst myMsg = () => import(\"../views/pages/user/my-msg.vue\");\nconst customer = () => import(\"../views/pages/user/my-customer.vue\");\nconst myIdea = () => import(\"../views/pages/user/my-idea.vue\");\nconst myInfo = () => import(\"../views/pages/user/my-info.vue\");\nconst bindAuth = () => import(\"../views/pages/user/my-bindAuth.vue\"); // 绑定授权\nconst myPassword = () => import(\"../views/pages/user/my-password/my-password.vue\");\nconst PasswordUser = () => import(\"../views/pages/user/my-password/user.vue\"); //更改密码\nconst PasswordBind = () => import(\"../views/pages/user/my-password/bind.vue\");\nconst PasswordBindEdit = () => import(\"../views/pages/user/my-password/bind-edit.vue\");\nconst myinquiry = () => import(\"../views/pages/user/my-inquiry.vue\");\n// 注册\nconst regStep = () => import(\"../views/pages/login/reg/reg-step1.vue\");\nconst regInfo = () => import(\"../views/pages/login/reg/reg-info.vue\");\nconst regFinish = () => import(\"../views/pages/login/reg/reg-finish.vue\");\nconst regCustom = () => import(\"../views/pages/login/reg/reg-custom.vue\");\n\n// 授权\nconst redirectUrl = () => import(\"../views/pages/auth/redirectUrl.vue\");\nconst auth = () => import(\"../views/pages/auth/auth.vue\");\nconst authBind = () => import(\"../views/pages/auth/auth-bind.vue\");\nconst authBindphone = () => import(\"../views/pages/auth/auth-bindphone.vue\");\nconst OidcCallback = () => import(\"../views/pages/auth/OidcCallback.vue\");\nconst silentSignInCallback = () => import(\"../views/pages/auth/silentSignInCallback.vue\");\nconst demandDetail = () => import(\"../views/pages/demand/demand-detail/demand-detail.vue\");\n//导航页\nconst Navigation = () => import(\"../views/pages/Navigation.vue\");\nconst err404 = () => import(\"../views/auth/404.vue\");\nconst err500 = () => import(\"../views/auth/500.vue\");\nconst user = [\n {\n path: \"/user\",\n name: \"user\",\n redirect: \"/user/index\",\n component: userCenter,\n children: [\n {\n path: \"index\",\n name: \"index\",\n component: userHome,\n },\n {\n path: \"card\",\n name: \"card\",\n component: myCard,\n },\n {\n path: \"order\",\n name: \"order\",\n component: myOrder,\n },\n {\n path: \"need\",\n name: \"need\",\n component: myNeed,\n },\n {\n path: \"act\",\n name: \"act\",\n component: myAct,\n },\n {\n path: \"follow\",\n name: \"follow\",\n component: myfollow,\n },\n {\n path: \"msg\",\n name: \"msg\",\n component: myMsg,\n },\n {\n path: \"customer\",\n name: \"customer\",\n component: customer,\n },\n {\n path: \"idea\",\n name: \"idea\",\n component: myIdea,\n },\n {\n path: \"info\",\n name: \"info\",\n component: myInfo,\n },\n {\n path: \"bindAuth\",\n name: \"bindAuth\",\n component: bindAuth,\n },\n {\n path: \"inquiry\",\n name: \"inquiry\",\n component: myinquiry,\n },\n {\n path: \"password\",\n name: \"password\",\n redirect: \"/user/password/user\",\n component: myPassword,\n children: [\n {\n path: \"user\",\n name: \"user\",\n component: PasswordUser,\n },\n {\n path: \"bind\",\n name: \"bind\",\n component: PasswordBind,\n },\n {\n path: \"bind-edit\",\n name: \"bind-edit\",\n component: PasswordBindEdit,\n },\n ],\n },\n ],\n },\n];\n\nconst liveRouter = [\n {\n path: \"/home\",\n name: \"home\",\n redirect: \"/home/index\",\n component: layout,\n children: [\n {\n path: \"index/:id\",\n name: \"index\",\n component: home,\n },\n {\n path: \"business\",\n name: \"business\",\n component: business,\n },\n {\n path: \"activity/:id\",\n name: \"activity\",\n component: activity,\n },\n {\n path: \"activity-details\",\n name: \"activity-details\",\n component: activityDetails,\n },\n {\n path: \"activity-nolive\",\n name: \"activity-nolive\",\n component: activityNolive,\n },\n {\n path: \"activity-join\",\n name: \"activity-join\",\n component: activityJoin,\n },\n {\n path: \"product/:id\",\n name: \"product\",\n component: product,\n },\n {\n path: \"demand/:id\",\n name: \"demand\",\n component: demand,\n },\n {\n path: \"exhibitor/:id\",\n name: \"exhibitor\",\n component: exhibitor,\n },\n {\n path: \"/exhibitor-detail/:id\",\n name: \"exhibitor-detail\",\n component: exhibitorDetail,\n },\n {\n path: \"/product-detail\",\n name: \"product-detail\",\n component: productDetail,\n },\n {\n path: \"news/:id\",\n name: \"news\",\n component: news,\n },\n {\n path: \"newsDetails\",\n name: \"newsDetails\",\n component: newsDetails,\n },\n {\n path: \"tour/:id\",\n name: \"tour\",\n component: tour,\n },\n {\n path: \"tour-big/:id\",\n name: \"tour-big\",\n component: tourBig,\n },\n {\n path: \"about/:id\",\n name: \"about\",\n component: about,\n },\n {\n path: \"demandDetail\",\n name: \"demand-Detail\",\n component: demandDetail,\n },\n ...user,\n ],\n },\n {\n path: \"/login/:id\",\n name: \"login\",\n component: login,\n },\n {\n path: \"/regStep/:id\",\n name: \"regStep\",\n component: regStep,\n },\n {\n path: \"/regInfo/:id\",\n name: \"regInfo\",\n component: regInfo,\n },\n {\n path: \"/regCustom/:id\",\n name: \"regCustom\",\n component: regCustom,\n },\n {\n path: \"/regFinish/:id\",\n name: \"regFinish\",\n component: regFinish,\n },\n {\n path: \"/components\",\n name: \"components\",\n component: components,\n },\n {\n path: \"/redirectUrl\",\n name: \"redirectUrl\",\n component: redirectUrl,\n meta: {\n auth: true,\n isShare: false,\n },\n },\n {\n path: \"/OidcCallback\",\n name: \"/OidcCallback\",\n component: OidcCallback,\n meta: {\n auth: true,\n isShare: false,\n },\n },\n {\n path: \"/silentSignInCallback\",\n name: \"/silentSignInCallback\",\n component: silentSignInCallback,\n meta: {\n auth: true,\n isShare: false,\n },\n },\n {\n path: \"/auth\",\n name: \"/auth\",\n component: auth,\n meta: {\n auth: true,\n isShare: false,\n },\n },\n {\n path: \"/auth-bind\",\n name: \"/auth-bind\",\n component: authBind,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/auth-bindphone\",\n name: \"/auth-bindphone\",\n component: authBindphone,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/Navigation\",\n name: \"Navigation\",\n component: Navigation,\n },\n {\n path: \"/404\",\n name: \"404\",\n component: err404,\n },\n {\n path: \"/500\",\n name: \"500\",\n component: err500,\n },\n];\n\nexport { liveRouter };\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport store from '../store/store';\nimport {\n liveRouter\n} from './router-live'; // 主办路由 \nconst originalPush = Router.prototype.push;\nRouter.prototype.push = function push(location) {\n return originalPush.call(this, location).catch(err => err)\n}\n\nVue.use(Router)\n\nconst router = new Router({\n mode: 'history',\n routes: [{\n path: '/',\n redirect: 'home',\n name: 'home'\n },\n ...liveRouter,\n ]\n});\n\n// 路由守卫 \nrouter.beforeEach((to, form, next) => {\n if (to.meta && to.meta.auth) {\n next();\n }\n let exOnid = to.query.exhibitionId || to.params.id;\n if (to.query && exOnid) {\n store.commit('setExhibitionId', exOnid);\n let opt = {\n exhibitionId: exOnid,\n target: 'exhibition',\n targetId: exOnid,\n }\n if (store.state.user && store.state.user.userId) {\n opt.userId = store.state.user.userId;\n }\n store.dispatch('addAllView', opt)\n }\n if (exOnid) {\n store.dispatch('loginModule/getExhibitionInfoByGraphal', exOnid).then((res) => {\n if (res && res.ico) {\n var link = document.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n link.type = 'image/x-icon';\n link.rel = 'shortcut icon';\n link.href = res.ico;\n document.getElementsByTagName('head')[0].appendChild(link);\n }\n next();\n });\n } else {\n next()\n }\n});\n\n\nrouter.afterEach((to, from, next) => {\n window.scrollTo(0, 0);\n});\n\nexport default router;","/* eslint-disable */\nimport Vue from \"vue\";\nimport axios from \"axios\";\nimport store from \"../store/store\";\nimport router from \"./router\";\nimport config from \"../assets/config.json\";\nimport { Message, Modal } from \"view-design\";\n\n// let ReqApi = process.env.NODE_ENV === 'development' ? config.api.reqApi : config.testApi.reqApi;\nlet ReqApi = config.testApi.reqApi;\n// axios 配置\naxios.defaults.baseURL = ReqApi;\n// http request 拦截器\naxios.interceptors.request.use(\n config => {\n // if (store.state.refresh && store.state.login && store.getters.getTokenTime) {\n // if (new Date().getTime() > store.getters.getTokenTime) {\n // store.commit('setRefreshStatus', false, { root: true });\n // store.commit('setTokenTime', '', { root: true });\n // store.dispatch('refreshToken');\n // }\n // }\n\n // 解决IE浏览器请求优先从缓存中获取的bug\n if (config.method === \"get\") {\n config.params = {\n t: Date.parse(new Date()) / 1000,\n ...config.params,\n };\n }\n return config;\n },\n err => {\n return Promise.reject(err);\n }\n);\n\n// http response 拦截器\naxios.interceptors.response.use(\n res => {\n return res;\n },\n err => {\n if (err.response) {\n switch (err.response.status) {\n case 401:\n if (!store.state.login) {\n Message.error({\n content: \"请登录后操作\",\n onClose: function() {},\n });\n } else {\n store.commit(\"setRedirectUrl\", location.href);\n store.commit(\"setLogin\", false);\n store.commit(\"setUser\", \"\");\n store.commit(\"setUserId\", \"\");\n store.commit(\"setMyAdvisorySetting\", null);\n store.commit(\"setToken\", \"\");\n store.commit(\"setTokenTime\", \"\");\n Modal.confirm({\n title: \"授权过期,请重新登陆\",\n onOk: () => {\n if (store.state.loginType === 2) {\n store.dispatch(\"signOutOidc\");\n } else if (store.state.loginType === 3) {\n store.dispatch(\"signOutOidcQQ\");\n }\n store.dispatch(\"linkTo/linkToLogin\");\n },\n onCancel: () => {\n router.push(`/home/index/${store.state.exhibitionId}`);\n },\n });\n }\n break;\n case 400:\n let errText = \"400:请求接口有误\";\n if (err.response.data && err.response.data.error_description === \"invalid_username_or_password\") {\n errText = \"无效的用户名或密码!\";\n }\n // console.log(err,'errerr400');\n if (err.response.data && err.response.data.error === \"invalid_request\") {\n errText = err.response.data.error_description;\n }\n Message.error(errText);\n break;\n case 404:\n router.push({\n path: \"/404\",\n });\n break;\n case 500:\n router.push({\n path: \"/500\",\n });\n break;\n }\n }\n return Promise.reject(err);\n }\n);\n\n// 封装请求\nconst get = (url, params) => {\n // 单独封装get请求\n return new Promise((resolve, reject) => {\n axios\n .get(url, {\n params: params,\n })\n .then(function(response) {\n resolve(response.data);\n })\n .catch(err => {\n reject(err);\n });\n });\n};\nconst post = (url, params) => {\n // 单独封装post请求\n return new Promise((resolve, reject) => {\n axios\n .post(url, params)\n .then(function(response) {\n resolve(response.data);\n })\n .catch(err => {\n reject(err);\n });\n });\n};\n\nVue.prototype.$get = get;\nVue.prototype.$post = post;\nVue.prototype.$http = axios;\n","// ivew 模块引入\nimport Vue from 'vue';\nimport ViewUI from 'view-design';\nimport {\n Tag,\n Button,\n Table,\n Icon,\n Modal,\n Message,\n Row,\n Col,\n Layout,\n Content,\n Footer,\n Card,\n Menu,\n Tabs,\n TabPane,\n Dropdown,\n Page,\n Input,\n Radio,\n Checkbox,\n Switch,\n Select,\n Option,\n Form,\n Tooltip,\n BackTop,\n Notice,\n Spin,\n Timeline,\n DatePicker,\n Rate,\n FormItem,\n TimelineItem,\n Collapse,\n Steps,\n Step,\n Panel,\n Sider, \n MenuItem, \n LoadingBar, \n TimePicker,\n RadioGroup,\n CheckboxGroup,\n Upload,\n Poptip,\n DropdownMenu, \n DropdownItem,\n Breadcrumb,\n InputNumber,\n Submenu,\n Slider,\n BreadcrumbItem,\n Time,\n ColorPicker,\n Carousel,\n CarouselItem,\n Badge,\n Cascader,\n Affix,\n} from 'view-design'\nimport 'view-design/dist/styles/iview.css';\nVue.use(ViewUI);\n\n\nVue.component('Tag', Tag)\nVue.component('Button', Button)\nVue.component('Table', Table)\nVue.component('Row', Row)\nVue.component('Icon', Icon)\nVue.component('Col', Col)\nVue.component('Layout', Layout)\nVue.component('Card', Card)\nVue.component('Menu', Menu)\nVue.component('Tabs', Tabs)\nVue.component('TabPane', TabPane)\nVue.component('Dropdown', Dropdown)\nVue.component('Page', Page)\nVue.component('Input', Input)\nVue.component('Radio', Radio)\nVue.component('Checkbox', Checkbox)\nVue.component('Select', Select)\nVue.component('Option', Option)\nVue.component('DatePicker', DatePicker)\nVue.component('Rate', Rate)\nVue.component('Form', Form)\nVue.component('FormItem', FormItem)\nVue.component('Tooltip', Tooltip)\nVue.component('BackTop', BackTop)\nVue.component('Spin', Spin)\nVue.component('Timeline', Timeline)\nVue.component('TimelineItem', TimelineItem)\nVue.component('Collapse', Collapse)\nVue.component('Steps', Steps)\nVue.component('Step', Step)\nVue.component('Panel', Panel)\nVue.component('Sider', Sider) \nVue.component('Content', Content) \nVue.component('Footer', Footer) \nVue.component('MenuItem', MenuItem) \nVue.component('LoadingBar', LoadingBar) \nVue.component('DropdownMenu', DropdownMenu) \nVue.component('DropdownItem', DropdownItem)\nVue.component('RadioGroup', RadioGroup)\nVue.component('CheckboxGroup', CheckboxGroup)\nVue.component('Upload', Upload)\nVue.component('Poptip', Poptip)\nVue.component('TimePicker', TimePicker) \nVue.component('Breadcrumb', Breadcrumb) \nVue.component('InputNumber', InputNumber) \nVue.component('BreadcrumbItem', BreadcrumbItem) \nVue.component('Time', Time) \nVue.component('Submenu', Submenu)\nVue.component('Slider', Slider)\nVue.component('ColorPicker', ColorPicker)\nVue.component('Carousel', Carousel)\nVue.component('CarouselItem', CarouselItem)\nVue.component('Badge', Badge)\nVue.component('Cascader', Cascader)\nVue.component('Affix', Affix)\n\n\n//不能和html标签重复的组件,添加别名(除了Switch、Circle在使用中必须是iSwitch、iCircle,其他都可以不加\"i\")\nVue.component('iSwitch', Switch)\nVue.component('iModal', Modal)\n\n\nVue.prototype.$Message = Message\nVue.prototype.$Notice = Notice\nVue.prototype.$Modal = Modal \nVue.prototype.$Loading = LoadingBar;","/* eslint-disable */\n// 所有引入的第三方插件\nimport Vue from 'vue'\n// import VueLazyload from 'vue-lazyload'\n// import Vmodal from 'vue-js-modal' // https://github.com/euvl/vue-js-modal\nimport VueAwesomeSwiper from 'vue-awesome-swiper'\nimport VueClipboard from 'vue-clipboard2'\nVueClipboard.config.autoSetContainer = true;\nimport 'swiper/dist/css/swiper.css'\n// import VideoPlayer from 'vue-video-player'\n// import vcolorpicker from 'vcolorpicker' \n\n\n// //全局过滤器\n// Vue.filter('dateFormat', function (value) {\n// return dateTool.format(new Date(value), \"YYYY-MM-DD HH:mm:ss\")\n// })\n\n\nVue.filter('time_sort', function (value, formatString) {\n let now_time = new Date().getTime() / 1000;\n let c_time = new Date(value).getTime() / 1000;\n c_time -= now_time;\n if (c_time <= 0) {\n return '已结束!'\n } else {\n let dd, hh, mm, ss = null;\n dd = Math.floor(c_time / 60 / 60 / 24);\n hh = Math.floor((c_time / 60 / 60) % 24);\n mm = Math.floor((c_time / 60) % 60);\n ss = Math.floor((c_time) % 60);\n dd = dd < 10 ? '0' + dd : dd;\n hh = hh < 10 ? '0' + hh : hh;\n mm = mm < 10 ? '0' + mm : mm;\n ss = ss < 10 ? '0' + ss : ss;\n return '剩余 ' + dd + \"天\" + hh + \"小时\" + mm + \"分\" + ss + \"秒\";\n }\n})\n\nVue.filter('end_time', function (value, formatString) {\n let now_time = new Date().getTime() / 1000;\n let c_time = new Date(value.endDate).getTime() / 1000;\n let s_time = new Date(value.startData).getTime() / 1000;\n c_time -= now_time;\n s_time -=now_time;\n if (c_time <= 0) {\n return '展会已结束';\n } else if(s_time>0) {\n let dd = null;\n dd = Math.ceil(s_time / 60 / 60 / 24);\n return `距开幕还有${dd}天`;\n }else{\n return '展会进行中';\n }\n})\n\n// Vue.use(VueLazyload, {\n// preLoad: 1.3, // 预加载\n// error: 'dist/error.png', // 图片显示错误图片\n// loading: 'dist/loading.gif', // 图片loading图片\n// attempt: 1 // 重新加载次数\n// })\nVue.use(VueAwesomeSwiper)\n// Vue.use(Vmodal, { dynamic: true }) // 支持动态创建modal 动态创建的时候 一定要在当前组件下面引入此标签 \n// Vue.use(vcolorpicker)\nVue.use(VueClipboard) //复制链接到剪切板\n// // 添加时间过滤器 引入moment.js\n// Vue.filter('moment', function (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {\n// return moment(dataStr).format(pattern);\n// });","import Vue from 'vue';\r\n\r\nconst loadImg = Vue.directive('load', {\r\n bind: function (el, binding) {\r\n if (el.src) {\r\n el.src += `?x-oss-process=style/${binding.value}`;\r\n }\r\n },\r\n update: function (el, binding, vnode) {\r\n if (el.src && el.src.search(/\\?x-oss-process/) === -1) {\r\n el.src += `?x-oss-process=style/${binding.value}`;\r\n }\r\n }\r\n})\r\nconst watermark = Vue.directive('watermark', {\r\n bind: function (el, binding, vnode) {\r\n if (el && el.getAttribute('large')) {\r\n const large = el.getAttribute('large');\r\n el.setAttribute('large', large + `?x-oss-process=style/${binding.value}`);\r\n }\r\n },\r\n})\r\nconst drag = Vue.directive('drag',{\r\n //1.指令绑定到元素上回立刻执行bind函数,只执行一次\r\n //2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象\r\n //3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效\r\n bind:function(el){},\r\n //inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次\r\n inserted:function(el){ \r\n el.onmousedown = function (e) {\r\n var disx = e.pageX - el.offsetLeft;\r\n var disy = e.pageY - el.offsetTop;\r\n document.onmousemove = function (e) {\r\n let elW=el.offsetWidth;\r\n let elH=el.offsetHeight\r\n if(e.pageX - disx < 0 ){\r\n //超出左边\r\n el.style.left =0 \r\n }else if((e.pageX - disx) + elW > document.body.offsetWidth){\r\n //超出右边\r\n el.style.left =(document.body.offsetWidth - elW)+'px'\r\n }else{\r\n el.style.left = e.pageX - disx + 'px';\r\n }\r\n if(e.pageY - disy < 0){\r\n //超出上面\r\n el.style.top =0 \r\n }else if((e.pageY - disy) + elH > document.documentElement.clientHeight){\r\n //超出下面\r\n el.style.top =(document.documentElement.clientHeight - elH)+'px' \r\n }else{\r\n el.style.top = e.pageY - disy + 'px';\r\n }\r\n // console.log((e.pageY - disy) + elH,elH,document.documentElement.clientHeight,'width')\r\n }\r\n document.onmouseup = function () {\r\n document.onmousemove = document.onmouseup = null;\r\n }\r\n }\r\n },\r\n //当VNode更新的时候会执行updated,可以触发多次\r\n updated:function(el) {}\r\n })\r\nexport {loadImg, watermark,drag}\r\n","export default {\r\n computed: {\r\n hasRole() {\r\n return function (roleName) {\r\n let hasRole = false;\r\n if (this.$store.state.roleModule.roleMenu && this.$store.state.roleModule.roleMenu.indexOf(roleName) !== -1) {\r\n hasRole = true;\r\n }\r\n return hasRole;\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * 此方法为判断权限 全局Mixins roleName为传入的唯一权限字符\r\n * @param {*} roleName roleName为传入的唯一权限字符\r\n * @returns 返回布尔值 boolean\r\n */\r\n getRoleHandle(roleName) {\r\n let hasRole = false;\r\n if (this.$store.state.roleModule.roleMenu && this.$store.state.roleModule.roleMenu.indexOf(roleName) !== -1) {\r\n hasRole = true;\r\n }\r\n if (!hasRole) {\r\n this.$Message.destroy();\r\n this.$Message.warning({\r\n content: \"主办暂未开放此服务\",\r\n duration: 2,\r\n });\r\n }\r\n console.log(\"roleName\", roleName);\r\n console.log(\"hasRole\", hasRole);\r\n return hasRole;\r\n },\r\n getRoleHandleByEx(roleName) {\r\n let hasRole = false;\r\n if (this.$store.state.roleModule.roleMenu && this.$store.state.roleModule.roleMenu.indexOf(roleName) !== -1) {\r\n hasRole = true;\r\n }\r\n if (!hasRole) {\r\n this.$Message.destroy();\r\n this.$Message.warning({\r\n content: \"主办暂未开放此服务\",\r\n duration: 2,\r\n });\r\n }\r\n console.log(\"roleName\", roleName);\r\n console.log(\"hasRole\", hasRole);\r\n return hasRole;\r\n },\r\n }\r\n};","import store from '../store/store'\r\n\r\nexport const hasRole = {\r\n install(Vue) {\r\n Vue.directive('hasRole', { // 判断是否有权限 如没有权限则添加提示\r\n inserted(el, binding, vnode) {\r\n let permissions = vnode.context.$store.state.roleModule.roleMenu\r\n let roleName = binding.value\r\n el.style.display = 'block';\r\n let flag = false\r\n if (permissions && permissions.indexOf(roleName) !== -1) {\r\n flag = true\r\n }\r\n if (!flag) {\r\n el.style.display = 'none';\r\n el.innerHTML = '';\r\n let tip = document.createElement('div');\r\n tip.innerHTML = `\r\n
\r\n 主办暂未开放此服务\r\n
\r\n `\r\n el.parentNode.appendChild(tip);\r\n }\r\n }\r\n })\r\n Vue.directive('hasRoleByEx', { // 判断是否有权限 如没有权限则添加提示(展商后台提示)\r\n inserted(el, binding, vnode) {\r\n let permissions = vnode.context.$store.state.roleModule.roleMenu\r\n let roleName = binding.value\r\n el.style.display = 'block';\r\n let flag = false\r\n if (permissions && permissions.indexOf(roleName) !== -1) {\r\n flag = true\r\n }\r\n if (!flag) {\r\n el.style.display = 'none';\r\n el.innerHTML = '';\r\n let tip = document.createElement('div');\r\n tip.innerHTML = `\r\n
\r\n 主办暂未开放此权限\r\n
\r\n `\r\n el.parentNode.appendChild(tip);\r\n }\r\n }\r\n })\r\n Vue.directive('hasRole2', { // 判断是否有权限 如没有权限则添加提示\r\n inserted(el, binding, vnode) {\r\n let permissions = vnode.context.$store.state.roleModule.roleMenu\r\n let roleName = binding.value\r\n let flag = false\r\n if (permissions && permissions.indexOf(roleName) !== -1) {\r\n flag = true\r\n }\r\n if (!flag) {\r\n if (el.parentNode) {\r\n let tip = document.createElement('div');\r\n tip.innerHTML = `\r\n
\r\n 您未开通此服务请联系展商秀客服,升级可享更多权限\r\n
\r\n `\r\n el.parentNode.replaceChild(tip, el);\r\n } else {\r\n el.innerHTML = `\r\n
\r\n 您未开通此服务请联系展商秀客服,升级可享更多权限\r\n
\r\n `\r\n }\r\n }\r\n }\r\n })\r\n Vue.directive('hasRoleShow', {\r\n bind(el, binding, vnode) {\r\n let permissions = vnode.context.$store.state.roleModule.roleMenu\r\n let roleName = binding.value\r\n let flag = false\r\n if (permissions && permissions.indexOf(roleName) !== -1) {\r\n flag = true\r\n }\r\n if (!flag) {\r\n el.style.display = 'none';\r\n }\r\n }\r\n })\r\n }\r\n}","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router/router'\r\nimport store from './store/store'\r\nimport './router/http' // 引入axios\r\nimport './other/ivewImport' // ivew 模块引入 \r\nimport './other/plugin' // 所有引入的第三方插件\r\nimport directives from './directives/directives.js';\r\nimport axios from 'axios'\r\n\r\naxios.prototype.$https = axios\r\nimport './assets/scss/index.scss'\r\nimport './assets/scss/my-theme/my-theme.less'\r\nimport VueCookies from 'vue-cookies'\r\nimport VideoPlayer from 'vue-video-player';\r\nimport moment from 'moment';\r\n// 第三方\r\nrequire('video.js/dist/video-js.css');\r\nrequire('vue-video-player/src/custom-theme.css');\r\nimport myService from './assets/js/tool.js'; // 工具函数\r\n\r\nimport Mixin from './utils/mixin';\r\nVue.mixin(Mixin);\r\n\r\nimport {\r\n hasRole\r\n}\r\nfrom './utils/roleDirect'\r\nconst Plugins = [hasRole]\r\nPlugins.map((plugin) => {\r\n Vue.use(plugin)\r\n})\r\n\r\nVue.config.productionTip = false\r\nVue.use(router)\r\nVue.use(VueCookies)\r\nVue.use(VideoPlayer);\r\nVue.use(myService);\r\nVue.prototype.$moment = moment;\r\nVue.prototype.$Bus = new Vue;\r\n\r\n// 添加时间过滤器 引入moment.js\r\nVue.filter('moment', function (dataStr, pattern = 'YYYY/MM/DD HH:mm') {\r\n return moment(dataStr).format(pattern);\r\n})\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')","module.exports = moment;"],"sourceRoot":""}