{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utils/index.ts","webpack:///./src/middlewares/api.tsx","webpack:///./src/apis/user.ts","webpack:///./src/modules/LoginDialog/index.tsx","webpack:///./src/modules/DialogWrapper/index.tsx","webpack:///./src/config/app.ts","webpack:///./src/modules/PersonalInfo/index.tsx","webpack:///./src/modules/TopBar/SearchList/index.tsx","webpack:///./src/utils/params.ts","webpack:///./src/apis/search.ts","webpack:///./src/utils/localStorage.ts","webpack:///./src/modules/TopBar/HistoryST.ts","webpack:///./src/modules/TopBar/index.tsx","webpack:///./src/constants/search.ts","webpack:///./src/constants/user.ts","webpack:///./src/utils/addPathArray.ts","webpack:///./src/utils/collectEvent.ts","webpack:///./src/modules/SideMenu/index.tsx","webpack:///./src/apis/category.ts","webpack:///./src/constants/category.ts","webpack:///./src/containers/App.tsx","webpack:///./src/modules/CardTitle/index.tsx","webpack:///./src/modules/Topics/index.tsx","webpack:///./src/utils/getAbstruct.ts","webpack:///./src/modules/Hots/index.tsx","webpack:///./src/modules/FooterPage/index.tsx","webpack:///./src/modules/HomePage/index.tsx","webpack:///./src/apis/home.ts","webpack:///./src/constants/home.ts","webpack:///./src/modules/Search/SearchItem/index.tsx","webpack:///./src/modules/Search/index.tsx","webpack:///./src/utils/genAnchor.ts","webpack:///./src/modules/ArticleDetail/Preview/Md/ExtBox/XgPlayer.tsx","webpack:///./src/modules/ArticleDetail/Preview/Md/reactExtBox.ts","webpack:///./src/modules/ArticleDetail/Preview/Md/index.ts","webpack:///./src/components/ImageViewer/index.tsx","webpack:///./src/modules/ArticleDetail/Preview/index.tsx","webpack:///./src/modules/ArticleDetail/Footer/index.tsx","webpack:///./src/constants/detail.ts","webpack:///./src/modules/ArticleDetail/index.tsx","webpack:///./src/apis/detail.ts","webpack:///./src/apis/feedback.ts","webpack:///./src/constants/feedback.ts","webpack:///./src/containers/ArticleDetail.tsx","webpack:///./src/modules/AboutUs/index.tsx","webpack:///./src/containers/Entry.ts","webpack:///./src/containers/Home.tsx","webpack:///./src/containers/Search.tsx","webpack:///./src/containers/AboutUs.tsx","webpack:///./src/containers/Root.tsx","webpack:///./src/reducers/category.ts","webpack:///./src/reducers/user.ts","webpack:///./src/reducers/detail.ts","webpack:///./src/reducers/home.ts","webpack:///./src/reducers/search.ts","webpack:///./src/reducers/index.ts","webpack:///./src/store/index.ts","webpack:///./src/store/prod.ts","webpack:///./src/utils/getHostname.ts","webpack:///./src/render/index.tsx","webpack:///./src/pages/index/index.tsx","webpack:///./src/static/img/default-avatar.png"],"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","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_href","location","href","callApi","endpoint","fetchOpts","fullUrl","method","toLowerCase","headers","body","_typeof","_JSON$stringify","download","credentials","timer","_Promise","_","reject","setTimeout","timeout","message","fetchCb","fetch","then","response","match","json","_ref","ok","e","race","CALL_API","_Symbol","_ref2","getState","next","action","callAPI","types","Error","_Array$isArray","every","type","actionWith","finalAction","_Object$assign","error","toString","_types","_slicedToArray","requestType","successType","failureType","_objectSpread","getUserId","concat","_regeneratorRuntime","_Object$defineProperty","a","iterator","asyncIterator","u","define","configurable","writable","wrap","Generator","_Object$create","Context","makeInvokeMethod","tryCatch","arg","h","f","y","GeneratorFunction","GeneratorFunctionPrototype","_Object$getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","callInvokeWithMethodAndArg","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","_Object$setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","Component","instance","DialogWrapper","props","_useState","useState","_useState2","agreementChecked","setAgreementChecked","_useState3","service","modifyDialog","$telInput","document","querySelector","$codeInput","$submitBtn","setAttribute","_checkLogin","_asyncToGenerator","_callee","uid","isBoe","ssoHost","SSOLoginSDK","ssoSDK","_context","hostname","require","aid","host","boe","success","res","redirect_url","(new Function(\n 'return typeof globalThis !== \"undefined\" ? globalThis : (typeof self !== \"undefined\" ? self : this)',\n)()).xssNamespace['mp_baike'].filterUrl","logType","reportOnly","blackConfig","configMode","isCloseSSRReport","bid","region","urlLimit","isSaveValidUrl","fail","err","checkLogin","has_login","init","arguments","useEffect","removeAttribute","loginElement","remove","React","createElement","className","onClick","hideDialog","_Checkbox","checked","onChange","target","id","show","undefined","div","appendChild","_ins","destroy","ReactDOM","unmountComponentAtNode","removeChild","hide","style","overflow","classList","add","render","destroyDialog","PersonalInfo","getUserInfo","isLogin","setIsLogin","_useState4","userInfo","setUserInfo","_res$data","_res$data$data","_res$data2","_res$data3","_res$data3$data","user_id","Slardar","slardar_web_id","LoginDialog","dropList","_Menu","Item","url","encodeURIComponent","origin","Fragment","_Dropdown","droplist","trigger","_Avatar","size","alt","src","avatar_url","noLoginImage","SearchList","isSearch","resultList","clearHistory","keyword","map","item","trieTreeRoot","buildTrieTree","resultContent","sliceTextByKeywords","text","keywords","listItem","parseQuery","matches","decodeURIComponent","search","queryObj","tmp","kv","split","toQuery","obj","_Object$keys","k","subK","join","class2type","_createClass","HistoryST","options","_classCallCheck","this","lengthLimit","set","dataString","localStorage","getItem","getLocalStorage","JSON","parse","historyData","setItem","setLocalStorage","String","indexOf","unshift","InputSearch","_Input","Search","connect","state","getSearchSug","query","dispatch","_defineProperty","searchWrapEl","useRef","history","useHistory","showList","setShowList","setIsSearch","_useState5","_useState6","keywordInput","setKeyword","_useState7","_useState8","setResultList","handleSearchList","queryWord","historyST","replace","switchRequestApi","resp","_resp$data$SuggestWor","SuggestWordList","historyArray","blurEvent","child","parent","parentNode","isChildOf","current","input","inputMouseOver","inputMouseOut","addEventListener","addafter","removeEventListener","pathname","isSearchPage","startsWith","content","ref","defaultValue","borderRadius","placeholder","onSearch","onFocus","allowClear","searchButton","clear","addPathArray","pathArray","collectEvent","eventName","params","MenuItem","SubMenu","tempMenuList","userinfo","user","articleDetail","detail","menuList","category","getCategory","formatMenuList","setMenuList","selectKeys","setSelectKeys","opentKeys","setOpentKeys","respMenuList","temp","Id","genMenu","filter","Level","genMenuList","menu","_item$Children","filterList","itemSub","ParentId","Children","_toConsumableArray","goToDetail","url_name","open","OpenUrl","path","genUrlPath","parentId","selectKeysDefault","opentKeysDefault","_articleDetail$FirstC","_articleDetail$Second","_articleDetail$ThirdC","firstCategory","secondCategory","thirdCategory","FirstCategoryId","SecondCategoryId","ThirdCategoryId","selectDetail","_parseInt","_resp$data","EncyclopediaCategories","theme","openKeys","selectedKeys","onClickSubMenu","newKey","genSideMenu","sideMenuList","index","title","backgroundImage","ImageUrl","Name","App","children","isLog","enter_from","app_id","channel","log","disable_auto_pv","_staging_flag","Number","source","url_path","TopBar","SideMenu","CardTitle","_props$hasMore","hasMore","titleClick","_props$hasQuotation","hasQuotation","Topics","topics","jumpArticle","article","Title","EncyclopediaArticleBriefList","index2","getAbstract","Hots","_menuList","hots","moreQuestionId","category_name","filterMorePath","questionId","_filterList$","filterId","JumpId","FrontCover","Content","youQingLink","link","FooterPage","isInitReady","home","getHome","_props$menuList","Banners","banners","setBanners","EncyclopediaTopicBriefList","setTopics","HotArticleBriefList","setHots","setInitReady","_resp$data$Encycloped","_resp$data$Banners","_resp$data$HotArticle","_Carousel","fontSize","autoPlay","indicatorType","showArrow","moveSpeed","timingFunc","JumpUrl","jumpUrl","banner_url","Footer","SearchItem","highlightingWords","resultTitle","searchInfo","getSearch","useParams","articleList","setArticleList","HasMore","setHasMore","TotalNum","totalNum","setTotalNum","HighlightingWords","setHighlightingWords","_useState9","_useState10","isLoading","setLoading","_useState11","_useState12","offset","setOffset","useDispatch","getSearchData","isFirst","limit","respArticleList","InfiniteScroll","loadMore","threshold","loader","headerArray3","genAnchor","childrens","treeArray","anchorHeaderArray","nodeName","level","innerText","tag","prevItem","last","prevLevel","format","array","rControl","rSpecial","slugify","str","playConfig","videoInit","playsinline","width","height","lang","Antd","Alert","XgPlayer","el","markdownit","createMD","use","md","SupportReactComponent","sandbox","reactExtBox","newImageViewer","DOMElement","option","EEViewer","i18n","toolbar_zoom_in","toolbar_zoom_out","toolbar_one_to_one","toolbar_rotate_left","toolbar_fullscreen","toolbar_exit_fullscreen","toolbar_download","toolbar_reset","toolbar_prev","toolbar_next","minZoomRatio","maxZoomRatio","fullscreen","autohideControls","navbar","clearSwitchTransition","toolbar","button","rotateRight","keyboard","loop","disableScrollbarPadding","ImageViewer","container","viewer","getViewer","update","classNames","AnchorLink","_Anchor","Link","Preview","anchorList","setAnchorList","headerHeight","setHeaderHeight","html","_document$querySelect","offsetHeight","inlineImg","getElementsByClassName","genAnchorList","targetAnchor","hash","anchorA","querySelectorAll","_Array$from","loadToView","click","UpdateTime","dangerouslySetInnerHTML","__html","(new Function(\n 'return typeof globalThis !== \"undefined\" ? globalThis : (typeof self !== \"undefined\" ? self : this)',\n)()).xssNamespace['mp_baike']._filterXSS","block","affix","boundary","genAnchorListNode","node","articleId","submit","feedbackType","isSolved","setIsSolved","submitFeedback","postData","encyclopediaArticleId","status","group_id","_res$data$BaseResp","BaseResp","StatusCode","_Message","ownKeys","_Object$getOwnPropertySymbols","_Object$getOwnPropertyDescriptor","_Object$getOwnPropertyDescriptors","_Object$defineProperties","emptyArticle","EncyclopediaArticle","Introduction","Rank","getDetail","articleDetailDefault","_useParams","_useParams$first_cate","first_category_id","_useParams$second_cat","second_category_id","_useParams$third_cate","third_category_id","_useParams$article_id","article_id","setFeedbackType","setArticleDetail","_clearState","_resp$data2","FeedbackType","wxShare","desc","imgUrl","appId","getArticleDetail","firstCategoryId","secondCategoryId","thirdCategoryId","scrollTo","clearState","Helmet","contents","getSubTitle","ArticleDetail","ArticleDetailC","AboutUs","marginTop","display","Entry","exact","comp","HomeC","SearchC","AboutUsC","store","Router","BrowserRouter","StaticRouter","Provider","Switch","Route","component","_action$data","_action$data2","combineReducers","process","initialState","compose","applyMiddleware","thunk","api","createStore","bigCreateStore","rootReducer","getHostname","ctx","header","getMatchPage","matchPage","page","route","matchPath","pathPrefix","actions","controller","getAction","setParams","moduleItem","matchActions","_module$index2","includes","setStore","fetchData","getInitialProps","_x","_x2","_x3","_x4","_getInitialProps","_callee3","_getMatchPage","_context3","all","_callee2","_context2","actionItem","_x6","_x5","configureStore","Page","preloadStore","rootStore","Root","getServerSideInitialProps","context"],"mappings":"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","file":"pages/index/index.ba069ec2.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 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\t0: 0\n \t};\n\n \tvar deferredModules = [];\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\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 = \"//lf6-cdn-tos.bytegoofy.com/goofy/mp_baike/\";\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,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\n * 增加统一的埋点\n * @param tag 埋点名称\n * @param params 埋点参数\n */\nexport function addTEA(tag, params = {}) {\n if (window.collectEvent) {\n window.collectEvent(tag, {\n user_id: window._user.uid,\n ...params,\n });\n }\n}\nexport const _href = () => (typeof window === 'undefined' ? '' : window.location.href);\nexport function isChildOf(child, parent) {\n let parentNode;\n if (child && parent) {\n parentNode = child.parentNode;\n while (parentNode) {\n if (parent === parentNode)\n return true;\n parentNode = parentNode.parentNode;\n }\n }\n return false;\n}\n","// import 'whatwg-fetch';\nimport 'isomorphic-fetch';\nexport const callApi = (endpoint, fetchOpts) => {\n const fullUrl = endpoint;\n if (fetchOpts.method &&\n (fetchOpts.method.toLowerCase() !== 'get')) {\n fetchOpts.headers = { 'Content-type': 'application/json' };\n fetchOpts.body = typeof fetchOpts.body === 'object' ? JSON.stringify(fetchOpts.body) : fetchOpts.body;\n }\n if (fetchOpts.download) {\n fetchOpts.headers = { 'Content-type': 'text/csv; charset=UTF-8' };\n }\n fetchOpts.credentials = 'same-origin';\n const timer = new Promise((_, reject) => {\n setTimeout(reject, fetchOpts.timeout || 10000, {\n message: '请求超时'\n });\n });\n const fetchCb = fetch(fullUrl, fetchOpts)\n .then(response => {\n if (response.headers.get('content-type').match('application/json')) {\n return response.json().then(json => ({\n json,\n response\n }));\n }\n else {\n console.error(`Request Error: ${fullUrl}`);\n return {\n json: {\n data: {},\n message: '请求异常'\n },\n response\n };\n }\n })\n .then(({ json, response }) => {\n if (!response.ok || json.message !== 'success') {\n return Promise.reject(json);\n }\n return json.data;\n })\n .catch(e => {\n console.error(`Request Exception:${e}`);\n return {};\n });\n return Promise.race([fetchCb, timer]);\n};\nexport const CALL_API = Symbol('Call API');\nexport default ({ getState }) => next => action => {\n const callAPI = action[CALL_API];\n if (typeof callAPI === 'undefined') {\n return next(action);\n }\n let { endpoint } = callAPI;\n const { types, fetchOpts } = callAPI;\n if (typeof endpoint === 'function') {\n endpoint = endpoint(getState());\n }\n if (typeof endpoint !== 'string') {\n throw new Error('Specify a string endpoint URL.');\n }\n if (!Array.isArray(types) || types.length !== 3) {\n throw new Error('Expected an array of three action types.');\n }\n if (!types.every(type => typeof type === 'string')) {\n throw new Error('Expected action types to be strings.');\n }\n const actionWith = data => {\n const finalAction = Object.assign({}, action, data);\n delete finalAction[CALL_API];\n if (data.error && Object.prototype.toString.call(data.error).match('Cannot read property')) {\n finalAction.error = '服务器异常';\n }\n return finalAction;\n };\n const [requestType, successType, failureType] = types;\n next(actionWith({\n type: requestType\n }));\n return callApi(endpoint, fetchOpts).then(response => next(actionWith({\n data: {\n ...response\n },\n type: successType,\n })), error => next(actionWith({\n type: failureType,\n error: error.message || 'Something bad happened'\n })));\n};\n","import { CALL_API, callApi } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/user';\nconst apiPrefix = '/api/user';\nexport const getUserId = () => callApi(`${apiPrefix}/uid`, {\n method: 'get',\n});\nexport const getUserInfo = () => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.USER_INFO_REQUEST, CONSTANTS.USER_INFO_SUCCESS, CONSTANTS.USER_INFO_FAILURE],\n endpoint: `${apiPrefix}/info`,\n fetchOpts: {}\n }\n});\n","import React, { useState, useEffect } from 'react';\nimport { _href } from 'Utils/index';\nimport { Checkbox } from '@bytedesign/web-react';\nimport DialogWrapper from 'Modules/DialogWrapper';\nimport { getUserId } from 'Apis/user';\nimport { TOUTIAO_APP_ID } from 'Config/app';\n// import SSOLoginSDK from '@byted-growth/byted-sso-login-sdk';\nimport './index.less';\nconst LoginDialog = (props) => {\n const [agreementChecked, setAgreementChecked] = useState(false);\n const [service] = useState(_href);\n function handleCheck() {\n setAgreementChecked(!agreementChecked);\n }\n function modifyDialog() {\n const $telInput = document.querySelector('#user-name');\n const $codeInput = document.querySelector('#mobile-code');\n const $submitBtn = document.querySelector('#bytedance-login-submit');\n if ($telInput)\n $telInput.setAttribute('placeholder', '请输入手机号');\n if ($codeInput)\n $codeInput.setAttribute('placeholder', '请输入验证码');\n if ($submitBtn)\n $submitBtn.setAttribute('disabled', 'true');\n }\n useEffect(() => {\n checkLogin();\n // props.changVisible(true)\n }, []);\n async function checkLogin() {\n const uid = await getUserId();\n if (uid) {\n return;\n }\n const isBoe = location.hostname === 'boe-doc.bytedance.net';\n const ssoHost = isBoe ? 'https://sso-boe.toutiao.com' : 'https://sso.toutiao.com';\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const SSOLoginSDK = require('@byted-growth/byted-sso-login-sdk').default;\n const ssoSDK = new SSOLoginSDK({\n aid: TOUTIAO_APP_ID,\n host: ssoHost,\n // 成功回调页面\n service: location.href,\n boe: isBoe,\n success: (res) => {\n if (res.redirect_url) {\n window.location.href = res.redirect_url;\n }\n },\n fail: (err) => {\n console.log('err', err);\n }\n });\n ssoSDK.checkLogin().then(res => {\n if (res.has_login) {\n if (res.redirect_url && !uid) {\n window.location.href = res.redirect_url;\n }\n }\n else {\n ssoSDK.init();\n }\n }).catch(err => {\n console.log(err);\n ssoSDK.init();\n }).then(() => {\n modifyDialog();\n });\n }\n useEffect(() => {\n const $submitBtn = document.querySelector('#bytedance-login-submit');\n if (!$submitBtn)\n return;\n if (!agreementChecked) {\n $submitBtn.setAttribute('disabled', 'true');\n }\n else {\n $submitBtn.removeAttribute('disabled');\n }\n }, [agreementChecked]);\n useEffect(() => {\n return () => {\n const loginElement = document.querySelector('#verify-container');\n if (loginElement) {\n loginElement.remove();\n }\n };\n }, []);\n function handleClose() {\n props.hideDialog();\n }\n return (React.createElement(\"div\", { className: \"LoginDialog__container\" },\n React.createElement(\"div\", { className: \"xgbk-login-dialog\" },\n React.createElement(\"div\", { className: \"LoginDialog__close\", onClick: () => handleClose() }),\n React.createElement(\"div\", { className: \"LoginDialog__logo\" },\n React.createElement(\"div\", { className: \"LoginDialog__logo-icon\" }),\n React.createElement(\"div\", { className: \"LoginDialog__logo-title\" })),\n React.createElement(\"span\", { className: \"LoginDialog__agreement\" },\n React.createElement(Checkbox, { checked: agreementChecked, onChange: handleCheck }, \"\\u6211\\u5DF2\\u9605\\u8BFB\\u5E76\\u540C\\u610F\"),\n React.createElement(\"a\", { href: \"//mp.toutiao.com/profile_v3_public/public/protocol/agreement/\", target: \"_blank\" }, \" \\u7528\\u6237\\u670D\\u52A1\\u534F\\u8BAE\"),\n \" \\u548C\",\n React.createElement(\"a\", { href: \"//mp.toutiao.com/profile_v3_public/public/protocol/privacy/\", target: \"_blank\" }, \" \\u9690\\u79C1\\u6761\\u6B3E\")),\n React.createElement(\"a\", { className: \"LoginDialog__forget\", href: `https://sso.toutiao.com/forget_password/?service=${service}`, target: \"_blank\" }, \"\\u5FD8\\u8BB0\\u5BC6\\u7801 ?\"),\n React.createElement(\"div\", { className: \"LoginDialog__right\", id: \"BD_Login_Form\" }))));\n};\nexport default DialogWrapper(LoginDialog);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.less';\nexport default function (Component) {\n let instance;\n const create = (show = false, props) => {\n if (instance)\n return instance;\n const div = document.createElement('div');\n div.className = `Dialog-container ${show ? '' : 'hide'}`;\n document.body.appendChild(div);\n const _ins = {\n destroy: () => {\n ReactDOM.unmountComponentAtNode(div);\n document.body.removeChild(div);\n instance = null;\n },\n hide: () => {\n document.body.style.overflow = 'unset';\n div.classList.add('hide');\n },\n show: () => {\n div.classList.remove('hide');\n document.body.style.overflow = 'hidden';\n },\n };\n ReactDOM.render(React.createElement(Component, Object.assign({ hideDialog: _ins.hide, destroyDialog: _ins.destroy }, props)), div);\n return _ins;\n };\n return {\n create(props) {\n if (instance)\n instance.destroy();\n instance = create(false, props);\n },\n destroy() {\n if (instance)\n instance.destroy();\n },\n show(props) {\n instance ? instance.show() : instance = create(true, props);\n },\n hide() {\n if (instance)\n instance.hide();\n },\n };\n}\n","/**\n * @file 全局常量\n */\nexport const APP_ID = 3125;\nexport const TOUTIAO_APP_ID = 3548;\n","import React, { useEffect, useState } from 'react';\nimport './index.less';\nimport { Avatar } from '@bytedesign/web-react';\nimport { Dropdown, Menu } from '@bytedesign/web-react';\nimport LoginDialog from 'Modules/LoginDialog';\nimport noLoginImage from 'Statics/img/default-avatar.png';\n/* 个人信息 */\nexport default function PersonalInfo(props) {\n const { getUserInfo } = props;\n const [isLogin, setIsLogin] = useState(false);\n const [userInfo, setUserInfo] = useState();\n function handleLogin() {\n LoginDialog.show();\n }\n function handleClickLogout() {\n const url = encodeURIComponent(window.location.origin);\n const isBoe = location.hostname === 'boe-doc.bytedance.net';\n const ssoHost = isBoe ? 'https://sso-boe.toutiao.com' : 'https://sso.toutiao.com';\n window.location.href = `${ssoHost}/logout/?service=${url}`;\n // window.location.href = `${ssoHost}/logout/?page=sso&aid=${APP_ID}&service=${url}`;\n }\n useEffect(() => {\n getUserInfo().then(res => {\n if (res.data?.data?.user_id) {\n setIsLogin(true);\n setUserInfo(res.data?.data);\n window.Slardar('config', { slardar_web_id: res.data?.data?.user_id });\n }\n else {\n setIsLogin(false);\n LoginDialog.create();\n }\n }).catch(() => {\n setIsLogin(false);\n LoginDialog.create();\n });\n }, []);\n const dropList = (React.createElement(Menu, { className: \"logout\" },\n React.createElement(Menu.Item, { key: '1', onClick: () => handleClickLogout() }, \"\\u9000\\u51FA\\u8D26\\u53F7\")));\n return (React.createElement(React.Fragment, null, isLogin ?\n (React.createElement(Dropdown, { droplist: dropList, trigger: 'hover' },\n React.createElement(\"div\", { className: \"personal-info\" },\n React.createElement(Avatar, { size: 30, className: \"personal-info__avatar\" },\n React.createElement(\"img\", { alt: 'avatar', src: userInfo && userInfo.avatar_url })),\n React.createElement(\"span\", { className: \"username\" }, userInfo && userInfo.name)))) :\n (React.createElement(\"div\", { className: \"personal-info__no-login\", onClick: handleLogin },\n React.createElement(\"img\", { alt: 'avatar', src: noLoginImage }),\n React.createElement(\"span\", { className: \"placeholder\" }, \"\\u767B\\u5F55\")))));\n}\n;\n","/**\n * 头部里面的搜索和展示相关词\n * 暂时用一个组件来实现了\n */\nimport React from 'react';\nimport sliceTextByKeywords, { buildTrieTree } from '@fe/extract-highlight';\nimport './index.less';\nexport default function SearchList(props) {\n const { isSearch, resultList, clearHistory, onClick, keyword } = props;\n // 统一处理高亮,显示历史搜索词的时候,input为空\n function listItem(item, key) {\n const trieTreeRoot = buildTrieTree([keyword]);\n const resultContent = sliceTextByKeywords({\n text: item,\n keywords: [keyword],\n trieTreeRoot,\n });\n return React.createElement(\"li\", { key: key, className: \"top-search-list-item\", onClick: () => onClick(item) }, resultContent.map((v, i) => {\n if (v.type === 'highlight') {\n return React.createElement(\"span\", { className: \"highlight\", key: i }, v.text);\n }\n else {\n return v.text;\n }\n }));\n }\n return (React.createElement(\"div\", { className: \"top-search-list\" },\n React.createElement(\"ul\", null, resultList.map((item, key) => {\n return listItem(item, key);\n })),\n !isSearch && React.createElement(\"div\", { className: \"top-search-list-clear\" },\n React.createElement(\"span\", { className: \"clear-btn\", onClick: clearHistory }, \"\\u6E05\\u9664\\u5386\\u53F2\"))));\n}\n","/**\n * 获取页面中的param\n */\nexport function parseQuery() {\n const matches = decodeURIComponent(decodeURIComponent(typeof location !== 'undefined' ? location.search : '')).match(/([^\\?\\=\\&]+\\=[^\\&]+)/g);\n if (matches) {\n const queryObj = {};\n matches.forEach(function (tmp) {\n let kv = tmp.split('=');\n kv[1] && kv[1] !== 'undefined' && kv[1] !== 'null' && (queryObj[kv[0]] = kv[1]);\n });\n return queryObj;\n }\n return {};\n}\n// 将json变为json string\nexport function toQuery(obj) {\n return Object.keys(obj)\n .map(k => {\n if (Object.prototype.toString.call(obj[k]) === '[object Array]') {\n return obj[k].map(subK => [k, subK].join('=')).join('&');\n }\n return [k, encodeURIComponent(obj[k])].join('=');\n })\n .join('&');\n}\n;\n","/**\n * 搜索接口\n */\nimport { CALL_API } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/search';\nimport { toQuery } from 'Utils/params';\nconst apiPrefix = '/api/search';\nexport const getSearch = (query) => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.SEARCH_REQUEST, CONSTANTS.SEARCH_SUCCESS, CONSTANTS.SEARCH_FAILURE],\n endpoint: `${apiPrefix}?${toQuery(query)}`,\n fetchOpts: {}\n }\n});\nexport const getSearchSug = (query) => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.SEARCH_SUG_REQUEST, CONSTANTS.SEARCH_SUG_SUCCESS, CONSTANTS.SEARCH_SUG_FAILURE],\n endpoint: `${apiPrefix}/sug?${toQuery(query)}`,\n fetchOpts: {}\n }\n});\n","/**\n * 搜索历史\n * localstorage\n */\nconst class2type = {};\n'Array Date RegExp Object Error'.split(' ').forEach(e => (class2type['[object ' + e + ']'] = e.toLowerCase()));\nexport const type = (obj) => {\n if (obj == null)\n return String(obj);\n return typeof obj === 'object' ? class2type[Object.prototype.toString.call(obj)] || 'object' : typeof obj;\n};\nexport function setLocalStorage(key, value) {\n try {\n if (typeof window === 'object' && window.localStorage) {\n window.localStorage.setItem('docs-st-' + key, value);\n }\n }\n catch (e) { }\n}\nexport function getLocalStorage(key) {\n try {\n if (typeof window === 'object' && window.localStorage) {\n return window.localStorage.getItem('docs-st-' + key);\n }\n else {\n return null;\n }\n }\n catch (e) {\n return null;\n }\n}\n","import { getLocalStorage, setLocalStorage, type } from 'Utils/localStorage';\nclass HistoryST {\n constructor(options) {\n this.key = options.key;\n this.lengthLimit = options.lengthLimit;\n if (!this.get())\n this.set([]);\n }\n get() {\n const dataString = getLocalStorage(this.key);\n if (!dataString)\n return null;\n try {\n const data = JSON.parse(dataString);\n if (data.length) {\n return data;\n }\n else {\n return null;\n }\n }\n catch (error) {\n return null;\n }\n }\n set(historyData) {\n setLocalStorage(this.key, JSON.stringify(historyData));\n }\n add(item) {\n let historyData = this.get();\n if (type(historyData) !== 'array')\n historyData = [];\n if (historyData.indexOf(item) < 0) {\n if (this.lengthLimit && historyData.length >= this.lengthLimit) {\n historyData.pop();\n }\n historyData.unshift(item);\n this.set(historyData);\n }\n }\n clear() {\n this.set([]);\n }\n}\nexport default new HistoryST({\n key: 'article-search-history',\n lengthLimit: 10\n});\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { Input } from '@bytedesign/web-react';\nimport PersonalInfo from 'Modules/PersonalInfo';\nimport SearchList from './SearchList';\nimport { getSearchSug } from 'Apis/search';\nimport { getUserInfo } from 'Apis/user';\nimport historyST from './HistoryST';\nimport { isChildOf } from 'Utils/index';\nimport { parseQuery } from 'Utils/params';\nconst InputSearch = Input.Search;\nimport './index.less';\nfunction TopBar(props) {\n const { getSearchSug, getUserInfo } = props;\n const searchWrapEl = useRef(null);\n const history = useHistory();\n const [showList, setShowList] = useState(false);\n const [isSearch, setIsSearch] = useState(false);\n const [keywordInput, setKeyword] = useState('');\n const [resultList, setResultList] = useState([]);\n const previewKeyword = '如何申请原创';\n useEffect(() => {\n const blurEvent = e => {\n if (searchWrapEl && !isChildOf(e.target, searchWrapEl.current)) {\n setShowList(false);\n }\n };\n const input = document.querySelector('.byte-input-addafter');\n const inputMouseOver = e => {\n input.classList.add('input-placeholder');\n };\n const inputMouseOut = e => {\n input.classList.remove('input-placeholder');\n };\n window.addEventListener('click', blurEvent, false);\n // 设置input placeholder 颜色\n const addafter = document.querySelector('.addafter');\n addafter.addEventListener('mouseover', inputMouseOver, false);\n addafter.addEventListener('mouseout', inputMouseOut, false);\n return () => {\n window.removeEventListener('click', blurEvent);\n addafter.removeEventListener('mouseover', inputMouseOver, false);\n addafter.removeEventListener('mouseout', inputMouseOut, false);\n };\n }, []);\n useEffect(() => {\n const pathname = typeof location !== 'undefined' ? location.pathname : '/';\n const isSearchPage = pathname.startsWith('/search');\n // const query = parseQuery();\n // const keyword = query.keyword;\n const content = pathname.split('/')[2];\n if (isSearchPage && content && decodeURIComponent(content) && searchWrapEl.current) {\n setKeyword(decodeURIComponent(content));\n }\n if (!isSearchPage) {\n setKeyword('');\n }\n }, [typeof location !== 'undefined' ? location.search : '']);\n function handleSearchList(keyword) {\n setShowList(false);\n const query = parseQuery();\n if (keyword === query.keyword) {\n return;\n }\n let queryWord = keyword ? keyword : previewKeyword;\n historyST.add(queryWord);\n if (keyword) {\n queryWord = queryWord.replace(/\\%/g, '');\n }\n history.push(`/search/${encodeURIComponent(queryWord)}?keyword=${encodeURIComponent(queryWord)}`);\n }\n function switchRequestApi(keyword) {\n if (keyword) {\n // 请求相关词接口\n getSearchSug({\n keyword,\n }).then(resp => {\n const { SuggestWordList = [] } = resp.data;\n setResultList(SuggestWordList);\n setShowList(true);\n }).catch(err => {\n console.log(err);\n });\n setIsSearch(true);\n }\n else {\n // 历史接口, 本地缓存中取\n const historyArray = historyST.get() || [];\n setIsSearch(false);\n setShowList(true);\n setResultList(historyArray);\n }\n }\n function handleChange(keyword) {\n setKeyword(keyword);\n switchRequestApi(keyword);\n }\n function handleFocus(e) {\n const keyword = e.target.value;\n switchRequestApi(keyword);\n }\n function clearHistory() {\n historyST.clear();\n setResultList([]);\n }\n function handleClickLogo() {\n location.href = '/';\n }\n return (React.createElement(\"div\", { className: \"xgbk-header\" },\n React.createElement(\"div\", { className: \"xgbk-logo-box\", onClick: handleClickLogo },\n React.createElement(\"i\", { className: \"xgbk-logo\" }),\n React.createElement(\"span\", { className: \"xgbk-logo-title\" })),\n React.createElement(\"div\", { className: \"xgbk-input-search\", ref: searchWrapEl },\n React.createElement(InputSearch, { defaultValue: keywordInput, style: { borderRadius: 100 }, value: keywordInput, placeholder: previewKeyword, onSearch: handleSearchList, onChange: handleChange, onFocus: handleFocus, allowClear: true, searchButton: true }),\n showList && resultList.length > 0 && React.createElement(SearchList, { isSearch: isSearch, keyword: keywordInput, resultList: resultList, clearHistory: clearHistory, onClick: handleSearchList })),\n React.createElement(PersonalInfo, { getUserInfo: getUserInfo })));\n}\nexport default connect(state => ({}), {\n getSearchSug,\n getUserInfo,\n})(TopBar);\n","// 搜索数据获取\nexport const SEARCH_REQUEST = 'SEARCH_REQUEST';\nexport const SEARCH_SUCCESS = 'SEARCH_SUCCESS';\nexport const SEARCH_FAILURE = 'SEARCH_FAILURE';\nexport const SEARCH_SUG_REQUEST = 'SEARCH_SUG_REQUEST';\nexport const SEARCH_SUG_SUCCESS = 'SEARCH_SUG_SUCCESS';\nexport const SEARCH_SUG_FAILURE = 'SEARCH_SUG_FAILURE';\n","// 用户信息获取\nexport const USER_REQUEST = 'USER_REQUEST';\nexport const USER_SUCCESS = 'USER_SUCCESS';\nexport const USER_FAILURE = 'USER_FAILURE';\nexport const USER_INFO_REQUEST = 'USER_INFO_REQUEST';\nexport const USER_INFO_SUCCESS = 'USER_INFO_SUCCESS';\nexport const USER_INFO_FAILURE = 'USER_INFO_FAILURE';\n","/**\n * 生成页面路由path arr\n * 补齐0\n */\nconst PATH_DEEP = 3;\nexport function addPathArray(pathArray) {\n const length = pathArray.length;\n if (length < PATH_DEEP) {\n for (let i = 0; i < PATH_DEEP - length; i++) {\n pathArray.push(0);\n }\n }\n return pathArray;\n}\n","export function collectEvent(eventName, params) {\n window.collectEvent(eventName, params);\n}\n","import React, { useState, useEffect } from 'react';\nimport { Menu } from '@bytedesign/web-react';\nimport { connect } from 'react-redux';\nimport { useHistory } from 'react-router';\nconst MenuItem = Menu.Item;\nconst SubMenu = Menu.SubMenu;\nimport { getCategory } from 'Apis/category';\nimport { addPathArray } from 'Utils/addPathArray';\nimport { collectEvent } from 'Utils/collectEvent';\n// import { CreatorPlatform } from \"Utils/extraMenuData\";\nimport './index.less';\nlet tempMenuList = {};\nfunction SideMenu(props) {\n // tslint:disable-next-line: no-shadowed-variable\n const { getCategory, articleDetail, userinfo } = props;\n const history = useHistory();\n const [menuList, setMenuList] = useState(formatMenuList(props.menuList || []));\n const [selectKeys, setSelectKeys] = useState([]);\n const [opentKeys, setOpentKeys] = useState([]);\n const pathname = typeof location !== 'undefined' ? location.pathname : '/';\n useEffect(() => {\n const selectKeysDefault = [];\n const opentKeysDefault = [];\n if (pathname === '/') {\n selectKeysDefault.push('home');\n }\n // 后续看有没有优化的可能\n if (pathname.indexOf('/detail/') === 0) {\n const pathArray = pathname.split('/');\n let firstCategory = pathArray[2];\n let secondCategory = pathArray[3];\n let thirdCategory = pathArray[4];\n if (!secondCategory && !thirdCategory) {\n firstCategory = articleDetail.FirstCategoryId?.toString();\n secondCategory = articleDetail.SecondCategoryId?.toString();\n thirdCategory = articleDetail.ThirdCategoryId?.toString();\n }\n // 设置选中的key\n const selectDetail = parseInt(thirdCategory) || parseInt(secondCategory) || parseInt(firstCategory);\n selectKeysDefault.push(selectDetail.toString());\n // 设置打开的key\n if (thirdCategory && secondCategory) {\n opentKeysDefault.push(secondCategory.toString());\n }\n if (secondCategory && firstCategory) {\n opentKeysDefault.push(firstCategory.toString());\n }\n }\n setSelectKeys(selectKeysDefault);\n setOpentKeys(opentKeysDefault);\n }, [pathname, articleDetail]);\n useEffect(() => {\n if (!props.menuList.length) {\n getCategory().then((resp) => {\n const respMenuList = resp.data?.EncyclopediaCategories;\n setMenuList(formatMenuList(respMenuList));\n }).catch(err => {\n console.log(err);\n });\n }\n }, []);\n /**\n * 生成页面需要的结构形式\n */\n function formatMenuList(respMenuList) {\n if (!respMenuList.length) {\n return [];\n }\n const temp = {};\n respMenuList.map(item => {\n temp[item.Id] = item;\n });\n tempMenuList = Object.assign({}, temp);\n const genMenu = respMenuList.filter(item => {\n return item.Level === 1;\n });\n // genMenu.splice(genMenu.length - 1, 0, CreatorPlatform)\n genMenuList(genMenu, respMenuList);\n return genMenu;\n }\n function genMenuList(menu, respMenuList) {\n menu.map(item => {\n const filterList = respMenuList.filter(itemSub => itemSub.ParentId === item.Id);\n if (filterList.length) {\n item.Children = [];\n item.Children.push(...filterList);\n genMenuList(filterList, respMenuList);\n }\n else {\n item.Children = [];\n }\n });\n }\n /**\n * 跳转文章\n */\n function genUrlPath(id) {\n let pathArray = [];\n const parentId = tempMenuList[id].ParentId;\n pathArray = pathArray.concat([id]);\n if (parentId) {\n return pathArray.concat(genUrlPath(parentId));\n }\n else {\n return pathArray;\n }\n }\n function goToDetail(menu) {\n if (menu.Id === -1) {\n collectEvent('click_url', {\n user_id: userinfo.user_id || '',\n url_name: 'creator_plat'\n });\n window.open(menu.OpenUrl);\n return;\n }\n const pathArray = genUrlPath(menu.Id).reverse();\n const path = addPathArray(pathArray).join('/');\n if (`/detail/${path}` !== pathname) {\n history.push(`/detail/${path}?enter_from=left_navigation`);\n }\n }\n /**\n * 生成sideMenu\n * level是判断一级分类还是多级分类\n * 一级存在icon\n */\n function genSideMenu(sideMenuList) {\n return sideMenuList.map((menu, index) => {\n if (menu.Children && menu.Children.length) {\n return React.createElement(React.Fragment, { key: menu.Id.toString() },\n menu.Level === 1 && index === sideMenuList.length - 1 && React.createElement(\"div\", { className: \"menu-divider\" }),\n React.createElement(SubMenu, { key: menu.Id.toString(), title: React.createElement(\"span\", { className: \"inline-icon-wrap\" },\n menu.Level === 1 ?\n React.createElement(\"div\", { className: \"menu-icon\", style: { backgroundImage: `url(${menu.ImageUrl})` } }) :\n null,\n menu.Name) }, genSideMenu(menu.Children)));\n }\n else {\n return React.createElement(React.Fragment, { key: menu.Id.toString() },\n menu.Level === 1 && index === sideMenuList.length - 1 && React.createElement(\"div\", { className: \"menu-divider\" }),\n React.createElement(MenuItem, { key: menu.Id.toString(), onClick: () => goToDetail(menu) },\n menu.Level === 1 ?\n React.createElement(\"div\", { className: \"menu-icon\", style: { backgroundImage: `url(${menu.ImageUrl})` } }) :\n null,\n menu.Name));\n }\n });\n }\n return (React.createElement(\"div\", { className: \"xgbk-menu-list\" },\n React.createElement(Menu, { theme: 'light', \n // autoScrollIntoView={true}\n openKeys: opentKeys, selectedKeys: selectKeys, onClickSubMenu: (_, newKey) => setOpentKeys(newKey) },\n React.createElement(MenuItem, { key: 'home', onClick: () => history.push('/') },\n React.createElement(\"div\", { className: \"menu-icon menu-home\" }),\n \"\\u9996\\u9875\"),\n genSideMenu(menuList))));\n}\nexport default connect(state => ({\n userinfo: state.user.userinfo,\n articleDetail: state.detail.articleDetail,\n menuList: state.category.menuList,\n}), {\n getCategory,\n})(SideMenu);\n","/**\n * 获取分类接口\n */\nimport { CALL_API } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/category';\nconst apiPrefix = '/api/category';\nexport const getCategory = () => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.CATEGORY_REQUEST, CONSTANTS.CATEGORY_SUCCESS, CONSTANTS.CATEGORY_FAILURE],\n endpoint: `${apiPrefix}`,\n fetchOpts: {}\n }\n});\n","// 分类数据获取\nexport const CATEGORY_REQUEST = 'CATEGORY_REQUEST';\nexport const CATEGORY_SUCCESS = 'CATEGORY_SUCCESS';\nexport const CATEGORY_FAILURE = 'CATEGORY_FAILURE';\n","import React, { useEffect } from 'react';\nimport TopBar from 'Modules/TopBar';\nimport SideMenu from 'Modules/SideMenu';\nimport { parseQuery } from 'Utils/params';\nimport { collectEvent } from 'Utils/collectEvent';\nimport { APP_ID } from 'Config/app';\nimport '@bytedesign/web-react/dist/css/byteui.css';\nexport default function App(props) {\n const { children } = props;\n useEffect(() => {\n const isLog = window.location.hostname !== 'baike.toutiao.com';\n const queryPath = parseQuery();\n const enter_from = queryPath.enter_from;\n collectEvent('init', {\n app_id: APP_ID,\n channel: 'cn',\n log: isLog,\n disable_auto_pv: true\n });\n let configParams = {\n _staging_flag: Number(isLog),\n source: 2,\n };\n collectEvent('config', configParams);\n collectEvent('start');\n collectEvent('predefinePageView', {\n url: window.location.href,\n url_path: window.location.pathname,\n title: '头条创作者百科',\n enter_from: enter_from || 'outside'\n });\n }, []);\n return (React.createElement(\"div\", { className: \"xgbk-layout-container\" },\n React.createElement(TopBar, null),\n React.createElement(SideMenu, null),\n React.createElement(\"div\", { className: \"xgbk-layout-content\" }, children)));\n}\n","import React from 'react';\nimport './index.less';\nexport default function CardTitle(props) {\n const { title, hasMore = false, onClick, titleClick, hasQuotation = false } = props;\n return (React.createElement(\"div\", { className: \"xgbk-card-title-wrap\", onClick: titleClick },\n React.createElement(\"span\", { className: \"xgbk-card-title\" },\n hasQuotation && React.createElement(\"span\", { className: \"title-quotation\" }),\n title),\n hasMore && React.createElement(\"span\", { className: \"xgbk-card-title-more\", onClick: onClick },\n \"\\u66F4\\u591A\",\n React.createElement(\"i\", { className: \"xgbk-icon xgbk-icon-arrow-right\", onClick: onClick }))));\n}\n","import React from 'react';\nimport CardTitle from 'Modules/CardTitle';\nimport { useHistory } from 'react-router-dom';\nimport './index.less';\nexport default function Topics(props) {\n const { topics } = props;\n const history = useHistory();\n function jumpArticle(article) {\n history.push(`/detail/${article.FirstCategoryId}/${article.SecondCategoryId}/${article.ThirdCategoryId}?enter_from=series`);\n }\n return (React.createElement(\"div\", { className: \"xgbk-topics\" },\n React.createElement(CardTitle, { title: \"\\u7CFB\\u5217\\u4E13\\u9898\" }),\n React.createElement(\"div\", { className: \"topics-content\" }, topics.map((item, index) => {\n return React.createElement(\"div\", { className: `topics-item topics-item-${index}`, key: index },\n React.createElement(CardTitle, { title: item.Title, hasQuotation: true, titleClick: () => jumpArticle(item.EncyclopediaArticleBriefList[0]) }),\n React.createElement(\"ul\", { className: \"item-content\" }, item.EncyclopediaArticleBriefList.map((article, index2) => {\n return React.createElement(\"li\", { key: index2, onClick: () => jumpArticle(article) },\n React.createElement(\"span\", { className: \"item-dot\" }),\n article.Title);\n })),\n React.createElement(\"div\", { className: `topics-icon topics-icon-${index}` }));\n }))));\n}\n","export function getAbstract(content) {\n return (content\n .replace(/

/g, '')\n .replace(/class=\"CodeMirror cm-s-default\"[\\s\\S]*?CodeMirror-linenumbers\" style=\"width: 29px;\">/gim, '>') // [代码块]\n .replace(/```[\\s\\S]*?```/g, '') // [代码块]\n .replace(//g, '') // [图片]\n .replace(/<\\/templ>/g, '') // [视频]\n .replace(/<\\/iframe>/g, '') // [视频]\n .replace(//g, '') // [表格]\n .replace(//g, '') // [链接]\n // eslint-disable-next-line\n .replace(/\\!\\[[\\s\\S]*?\\]\\([\\s\\S]*?\\)/g, '') // [图片]\n .replace(/\\[[\\s\\S]*?\\]\\([\\s\\S]*?\\)/g, '') // [链接]\n // eslint-disable-next-line\n .replace(/(https?:\\/\\/(?:[\\w\\-]+\\.)+(?:\\w+)(?:\\/\\S+)*(?:\\?\\w+=\\S+(?:&\\w+=\\S+?)*)?(?=\\s))/gi, '')\n // .replace(/@@左@@/g, '[')\n // .replace(/--右--/g, ']')\n .replace(//gim, '')\n .replace(//g, '')\n .replace(/(#{1,6}\\s|\\*{1,6}\\s|<\\/?[\\s\\S]*?>)/gim, '')\n .replace(/\\| \\-\\-\\- \\| \\-\\-\\- \\| \\-\\-\\- \\|/g, '')\n .replace(/\\|/g, '')\n .replace(/\\*/g, '')\n .slice(0, 200));\n}\n;\n","import React from 'react';\nimport { useHistory } from 'react-router';\nimport CardTitle from 'Modules/CardTitle';\nimport { getAbstract } from 'Utils/getAbstruct';\nimport { addPathArray } from 'Utils/addPathArray';\nimport { collectEvent } from 'Utils/collectEvent';\nimport './index.less';\nconst content = '\\n\\n# 一级标题\\n\\n正文正文正文正文正文正文正文正文正文正文\\n **搜索**搜索\\n sss这是测试 \\n [http://localhost:3000/detail](http://localhost:3000/detail)\\n * * *\\n ## 二级标题\\n\\n| 1 | 2 |3 |\\n| --- | --- | --- |\\n| 测试 | 测试 | 测试 |\\n| 测试| 测试| 测试|\\n\\n ```企业:适合企业、公司,分支机构\\n企业:适合企业、公司,分支机构\\n企业:适合企业、公司,分支机构\\n企业:适合企业、公司,分支机构\\n``` \\n > 新闻媒体:正规新闻媒体、报纸、杂志、广播电视等相关单位能够申请入驻,如,新华社发布、时尚芭莎、北京青年报、大河报其他组织:各类公共场馆、公益机构、学校、公立医院、社团、民间组织等机构团体能够申请入驻,如,石家庄市中乔养老院、天津市曲艺团等,但是不支持民营医院注册。\\n# 另一个一级标题 \\n* 12\\n* 12\\n* 12\\n\\n![风景.jpeg](https://sf3-cdn-tos.huoshanstatic.com/obj/xigua-short-video/short/d3048d1e2d9e1228c86ac13f66890295.jpeg)\\n';\nexport default function Hots(props) {\n const { hots, menuList, userinfo } = props;\n const length = menuList.length;\n const moreQuestionId = menuList[length - 1]?.Id;\n const history = useHistory();\n function goToHotQuestion() {\n collectEvent('click_more_content', {\n user_id: userinfo.user_id || '',\n category_name: 'popular'\n });\n const pathArray = filterMorePath(moreQuestionId);\n const path = addPathArray(pathArray).join('/');\n history.push(`/detail/${path}`);\n }\n function filterMorePath(questionId) {\n let pathArray = [];\n pathArray = pathArray.concat([questionId]);\n const filterList = menuList.filter(item => item.ParentId === questionId);\n if (filterList.length) {\n const filterId = filterList[0]?.Id;\n return pathArray.concat(filterMorePath(filterId));\n }\n return pathArray;\n }\n function gotoJumoIdQuestion(id) {\n if (id) {\n history.push(`/detail/${id}?enter_from=popular`);\n }\n }\n return (React.createElement(\"div\", { className: \"xgbk-hot\" },\n React.createElement(CardTitle, { title: \"\\u70ED\\u95E8\\u95EE\\u9898\", hasMore: true, onClick: goToHotQuestion }),\n React.createElement(\"div\", { className: \"hot-content\" }, hots.map((item, index) => {\n return React.createElement(\"div\", { key: index, className: \"hot-item\", onClick: () => gotoJumoIdQuestion(item.JumpId) },\n React.createElement(\"div\", { className: `hot-desc ${!item.FrontCover ? 'hot-no-cover' : ''}` },\n React.createElement(CardTitle, { title: item.Title }),\n React.createElement(\"div\", { className: \"hot-abstract\" }, getAbstract(item.Content))),\n item.FrontCover && index < 6 ? React.createElement(\"div\", { className: \"hot-cover-wrap\" },\n React.createElement(\"div\", { className: \"hot-cover\", style: { backgroundImage: `url(${item.FrontCover})` } })) : null);\n }))));\n}\n","import React from 'react';\nimport { collectEvent } from 'Utils/collectEvent';\nimport './index.less';\nconst youQingLink = [{\n name: '头条号后台',\n link: 'https://mp.toutiao.com/',\n url_name: 'houtai',\n }, {\n name: '头条公开课',\n link: 'https://www.toutiao.com/c/user/1059568844807133/#mid=1631781108774916',\n url_name: 'gongkaike',\n }, {\n name: '西瓜创作百科',\n link: 'https://doc.toutiao.com/',\n url_name: 'toutiao_baike',\n }, {\n name: '头条专栏学堂',\n link: 'https://mp.toutiao.com/docs/column/',\n url_name: 'toutiao_column',\n }, {\n name: '头条内容电商',\n link: 'https://mp.toutiao.com/docs/dianshang/4270/39709',\n url_name: 'toutiao_dianshang',\n }, {\n name: '小店帮助中心',\n link: 'https://opendoc.jinritemai.com/notice/',\n url_name: 'xiaodian_notice',\n }];\nexport default function FooterPage(props) {\n const { userinfo, isInitReady } = props;\n function gotoYouQingLink(url_name) {\n collectEvent('click_url', {\n user_id: userinfo.user_id || '',\n url_name,\n });\n }\n return (React.createElement(\"div\", { className: `xgbk-footer ${isInitReady ? 'ready' : ''}` }, youQingLink.map((item, index) => {\n return React.createElement(\"a\", { key: index, href: `${item.link}`, target: \"_blank\", className: \"footer-item\", onClick: () => gotoYouQingLink(item.url_name) }, item.name);\n })));\n}\n","import React, { useState, useEffect } from 'react';\nimport { Carousel } from '@bytedesign/web-react';\nimport { connect } from 'react-redux';\nimport Topics from 'Modules/Topics';\nimport Hots from 'Modules/Hots';\nimport Footer from 'Modules/FooterPage';\nimport { getHome } from 'Apis/home';\nimport { collectEvent } from 'Utils/collectEvent';\nimport './index.less';\nfunction Home(props) {\n const { getHome, menuList = [], userinfo, home } = props;\n const [banners, setBanners] = useState(home.Banners || []);\n const [topics, setTopics] = useState(home.EncyclopediaTopicBriefList || []);\n const [hots, setHots] = useState(home.HotArticleBriefList || []);\n const [isInitReady, setInitReady] = useState(true);\n useEffect(() => {\n collectEvent('show_page_view', {\n user_id: userinfo.user_id || '',\n });\n if (!home.Banners && !home.EncyclopediaTopicBriefList && !home.HotArticleBriefList) {\n getHome().then(resp => {\n const { EncyclopediaTopicBriefList = [], Banners = [], HotArticleBriefList = [] } = resp?.data;\n setBanners(Banners);\n setTopics(EncyclopediaTopicBriefList);\n setHots(HotArticleBriefList);\n setInitReady(true);\n }).catch(err => {\n console.log(err);\n });\n }\n }, []);\n function handleBannerClick(jumpUrl) {\n collectEvent('banner_click', {\n user_id: userinfo.user_id || '',\n banner_url: jumpUrl\n });\n }\n return (React.createElement(\"div\", { className: \"home-page\" },\n banners.length ? React.createElement(Carousel, { className: \"banner\", style: {\n fontSize: 16\n }, autoPlay: true, indicatorType: banners.length === 1 ? 'never' : 'dot', showArrow: banners.length === 1 ? 'never' : 'hover', moveSpeed: 800, timingFunc: 'ease-out' }, banners.map((item, index) => (React.createElement(\"a\", { href: item.JumpUrl, key: index, target: \"_blank\", onClick: () => handleBannerClick(item.JumpUrl) },\n React.createElement(\"img\", { src: item.ImageUrl }))))) : null,\n topics.length ? React.createElement(Topics, { topics: topics }) : null,\n hots.length ? React.createElement(Hots, { hots: hots, userinfo: userinfo, menuList: menuList }) : null,\n React.createElement(Footer, { userinfo: userinfo, isInitReady: isInitReady })));\n}\nexport default connect(state => ({\n menuList: state.category.menuList,\n userinfo: state.user.userinfo,\n home: state.home.home,\n}), {\n getHome,\n})(Home);\n","/**\n * 首页接口\n */\nimport { CALL_API } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/home';\nconst apiPrefix = '/api/home';\nexport const getHome = () => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.HOME_REQUEST, CONSTANTS.HOME_SUCCESS, CONSTANTS.HOME_FAILURE],\n endpoint: `${apiPrefix}`,\n fetchOpts: {}\n }\n});\n","// 首页数据获取\nexport const HOME_REQUEST = 'HOME_REQUEST';\nexport const HOME_SUCCESS = 'HOME_SUCCESS';\nexport const HOME_FAILURE = 'HOME_FAILURE';\n","import React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport sliceTextByKeywords, { buildTrieTree } from '@fe/extract-highlight';\nimport { getAbstract } from 'Utils/getAbstruct';\nimport './index.less';\nexport default function SearchItem(props) {\n const history = useHistory();\n const { article, highlightingWords } = props;\n const { Id, Title, Content, FirstCategoryId, SecondCategoryId, ThirdCategoryId } = article;\n const trieTreeRoot = buildTrieTree(highlightingWords);\n const resultTitle = sliceTextByKeywords({\n text: Title,\n keywords: highlightingWords,\n trieTreeRoot,\n });\n const resultContent = sliceTextByKeywords({\n text: getAbstract(Content),\n keywords: highlightingWords,\n trieTreeRoot,\n });\n function gotoArticle() {\n // 首先根据分类进行文章获取,没有绑定分类的时候根据文章id\n if (FirstCategoryId || SecondCategoryId || ThirdCategoryId) {\n history.push(`/detail/${FirstCategoryId}/${SecondCategoryId}/${ThirdCategoryId}?enter_from=search`);\n }\n else {\n history.push(`/detail/${Id}?enter_from=search`);\n }\n }\n return (React.createElement(\"div\", { className: \"xgbk-search-item\", onClick: gotoArticle },\n React.createElement(\"div\", { className: \"xgbk-search-item-title\" }, resultTitle.map(item => {\n if (item.type === 'highlight') {\n return React.createElement(\"span\", { className: \"highlight\" }, item.text);\n }\n else {\n return item.text;\n }\n })),\n React.createElement(\"div\", { className: \"xgbk-search-item-content\" }, resultContent.map(item => {\n if (item.type === 'highlight') {\n return React.createElement(\"span\", { className: \"highlight\" }, item.text);\n }\n else {\n return item.text;\n }\n }))));\n}\n","import React, { useEffect, useState } from 'react';\nimport { connect, useDispatch } from 'react-redux';\nimport SearchItem from './SearchItem';\nimport { useParams } from 'react-router';\nimport { getSearch } from 'Apis/search';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport { collectEvent } from 'Utils/collectEvent';\nimport './index.less';\nfunction Search(props) {\n const { getSearch, userinfo, searchInfo } = props;\n const { content } = useParams();\n const [articleList, setArticleList] = useState(searchInfo.EncyclopediaArticleBriefList || []);\n const [hasMore, setHasMore] = useState(searchInfo.HasMore || true);\n const [totalNum, setTotalNum] = useState(searchInfo.TotalNum || 0);\n const [highlightingWords, setHighlightingWords] = useState(searchInfo.HighlightingWords || []);\n const [isLoading, setLoading] = useState(false);\n const [offset, setOffset] = useState(0);\n const limit = 20;\n const dispatch = useDispatch();\n useEffect(() => {\n getDataInit();\n }, [content]);\n useEffect(() => {\n collectEvent('show_page_view', {\n user_id: userinfo.user_id || '',\n });\n return () => {\n dispatch({\n type: 'SEARCH_SUCCESS',\n data: null,\n });\n };\n }, []);\n function getDataInit() {\n getSearchData({\n offset: 0,\n articleList: [],\n isFirst: true,\n });\n }\n function getDataLoadMore() {\n // 禁止InfiniteScroll第一次请求\n if (!articleList.length || !hasMore) {\n return;\n }\n getSearchData({\n offset,\n articleList,\n isFirst: false,\n });\n }\n function getSearchData({ offset, articleList, isFirst }) {\n const keyword = content;\n if (isLoading) {\n return;\n }\n setLoading(true);\n getSearch({ keyword, offset, limit }).then(resp => {\n const { data } = resp;\n const { EncyclopediaArticleBriefList, HasMore, HighlightingWords, TotalNum } = data;\n const respArticleList = [...articleList, ...EncyclopediaArticleBriefList];\n setOffset(offset + limit);\n setArticleList(respArticleList);\n setHasMore(HasMore);\n setTotalNum(TotalNum);\n setHighlightingWords(HighlightingWords);\n setLoading(false);\n // 上报埋点\n if (isFirst) {\n collectEvent('search_success', {\n user_id: userinfo.user_id || '',\n query: keyword\n });\n }\n }).catch(err => {\n setLoading(false);\n console.log(err);\n });\n }\n return (React.createElement(\"div\", { className: \"xgbk-search\" },\n React.createElement(\"p\", { className: \"xgbk-search-desc\" },\n \"\\u4E3A\\u4F60\\u627E\\u5230\",\n React.createElement(\"span\", { className: \"xgbk-search-total\" }, totalNum),\n \"\\u6761\\u76F8\\u5173\\u5185\\u5BB9\"),\n React.createElement(\"div\", { className: \"seatch-list\" },\n React.createElement(InfiniteScroll, { loadMore: getDataLoadMore, hasMore: hasMore, threshold: 150, loader: React.createElement(\"div\", { className: \"xgbk-search-no-more\" }, \"\\u52A0\\u8F7D\\u66F4\\u591A\\u6587\\u7AE0\\uFF5E\") }, articleList.map((article, key) => {\n return React.createElement(SearchItem, { key: key, article: article, highlightingWords: highlightingWords });\n }))),\n !hasMore && React.createElement(\"div\", { className: \"xgbk-search-no-more\" }, \"\\u6CA1\\u6709\\u66F4\\u591A\\u6570\\u636E\\u4E86\\uFF5E\")));\n}\nexport default connect(state => ({\n userinfo: state.user.userinfo,\n searchInfo: state.search.search,\n}), {\n getSearch,\n})(Search);\n","const anchorWhiteList = [{\n FirstCategoryId: 5,\n SecondCategoryId: 34,\n ThirdCategoryId: 65,\n Id: 38\n }];\n// anchor需要展示的header等级\n// const headerArray = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\nconst headerArray = ['h1', 'h2']; // 和pm商量暂时定展示到h2\nconst headerArray3 = ['h1', 'h2', 'h3']; // 和pm商量暂时定展示到h2\nfunction judgeArticleInWhiteList(articleDetail) {\n if (!articleDetail) {\n return [];\n }\n const { FirstCategoryId, SecondCategoryId, ThirdCategoryId, Id } = articleDetail;\n const resultList = anchorWhiteList.filter(item => item.FirstCategoryId === FirstCategoryId &&\n item.SecondCategoryId === SecondCategoryId &&\n item.ThirdCategoryId === ThirdCategoryId &&\n item.Id === Id);\n return resultList;\n}\nexport function genAnchor(childrens, articleDetail) {\n const length = childrens.length;\n const treeArray = [];\n const anchorHeaderArray = headerArray3;\n // const whiteList = judgeArticleInWhiteList(articleDetail)\n // if (whiteList.length) {\n // anchorHeaderArray = headerArray3\n // }\n // console.log(anchorHeaderArray)\n // header的顺序必须从小到大,下面会比较level\n for (let i = 0; i < length - 1; i++) {\n const nodeName = childrens[i].nodeName.toLowerCase();\n const level = anchorHeaderArray.indexOf(nodeName);\n if (level > -1) {\n treeArray.push({\n name: childrens[i].innerText,\n tag: childrens[i].nodeName,\n level: level + 1,\n });\n }\n }\n return format(treeArray, anchorHeaderArray.length);\n}\nfunction format(treeArray, length) {\n const result = [];\n treeArray.forEach(item => {\n if (!result.length) {\n result.push(item);\n return;\n }\n let prevItem = last(result);\n const level = item.level;\n const prevLevel = prevItem.level;\n // 比较级别大小\n const isSmall = level > prevLevel;\n if (isSmall) {\n for (let i = prevLevel + 1; i <= length; i++) {\n const { children } = prevItem;\n if (!children) {\n prevItem.children = [item];\n break;\n }\n // 重置 lastItem 为 children 的最后一个 item\n prevItem = last(children);\n // item level 小于或等于 lastItem level 都视为与 children 同级\n if (item.level <= prevItem.level) {\n children.push(item);\n break;\n }\n }\n }\n else {\n result.push(item);\n }\n });\n return result;\n}\nfunction last(array) {\n const length = array === null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\nconst rControl = /[\\u0000-\\u001f]/g;\nconst rSpecial = /[\\s~`!@#$%^&*()\\-_+=[\\]{}|\\\\;:\"'<>,.?/]+/g;\nexport function slugify(str) {\n return str\n .replace(rControl, '')\n .replace(rSpecial, '-')\n .replace(/-{2,}/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/^(\\d)/, '_$1')\n .toLowerCase();\n}\n","import React from 'react';\n// import XgPlayer from 'xgplayer';\nconst playConfig = {\n videoInit: true,\n playsinline: true,\n width: '100%',\n height: 'auto',\n lang: 'zh-cn'\n};\nexport default function XgPlayerExt(props) {\n function getPlayer(ref) {\n if (ref) {\n // xgplayer contains code accessing `window` or `document` or\n // other DOM API while requiring, it will cause error in server\n // rendering, use require() to asynchronously load it to avoid error.\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const XgPlayer = require('xgplayer');\n // tslint:disable-next-line: no-unused-expression\n new XgPlayer({\n el: ref,\n url: props.url,\n ...playConfig\n });\n }\n }\n return (React.createElement(\"div\", { ref: getPlayer }));\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Alert } from 'antd';\nimport XgPlayer from './ExtBox/XgPlayer';\nconst Antd = {\n Alert\n};\nexport default {\n React,\n ReactDOM,\n Antd,\n XgPlayer,\n ...Antd\n};\n","/**\n * 扩展 markdown\n */\n// import MarkdownIt from 'markdown-it';\nimport { SupportReactComponent } from 'markdown-it-react-component';\nimport { createMD } from '@byted/docor-markdown-preview';\nimport reactExtBox from './reactExtBox';\nconst markdownit = createMD({});\nif (typeof window !== 'undefined') {\n markdownit.use((md) => {\n SupportReactComponent(md, {\n sandbox: reactExtBox,\n });\n });\n}\nexport default markdownit;\n","import * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport classNames from 'classnames';\n// @ts-ignore\nimport EEViewer from '@byted/byted-ee-viewerjs';\nimport '@byted/byted-ee-viewerjs/dist/viewer.css';\nimport './index.less';\nexport const newImageViewer = (DOMElement, option) => {\n let viewer;\n viewer = new EEViewer(DOMElement, {\n i18n: {\n toolbar_zoom_in: '放大',\n toolbar_zoom_out: '缩小',\n toolbar_one_to_one: '原始大小',\n toolbar_rotate_left: '向左旋转',\n toolbar_fullscreen: '全屏',\n toolbar_exit_fullscreen: '退出全屏',\n toolbar_download: '下载',\n toolbar_reset: '适应页面',\n toolbar_prev: '上一张',\n toolbar_next: '下一张',\n },\n minZoomRatio: 0.1,\n maxZoomRatio: 5,\n fullscreen: true,\n autohideControls: false,\n navbar: false,\n clearSwitchTransition: true,\n toolbar: false,\n button: false,\n rotateRight: false,\n keyboard: true,\n loop: false,\n disableScrollbarPadding: true,\n ...option,\n });\n return viewer;\n};\n/**\n * 查看大图组件\n * 将img标签(可多个)放入ImageViewer的children中即可\n */\nexport const ImageViewer = (props) => {\n const container = useRef(null);\n const viewer = useRef(null);\n useEffect(() => {\n if (container.current) {\n viewer.current = newImageViewer(container.current, props.options);\n if (props.getViewer) {\n props.getViewer(viewer.current);\n }\n }\n return () => {\n if (viewer.current) {\n viewer.current.destroy();\n }\n };\n }, [container.current]);\n useEffect(() => {\n if (viewer.current) {\n viewer.current.update();\n }\n }, [props.children, props.options]);\n return (React.createElement(\"div\", { ref: container, className: classNames([props.className]) }, props.children));\n};\n","/**\n * 文档预览,md->html\n */\nimport React, { useState, useEffect } from 'react';\nimport { Anchor } from '@bytedesign/web-react';\nimport { genAnchor, slugify } from 'Utils/genAnchor';\nimport md from './Md';\nimport { ImageViewer } from \"../../../components/ImageViewer\";\nimport 'antd/es/alert/style';\nimport './index.less';\nconst AnchorLink = Anchor.Link;\nexport default function Preview(props) {\n const { articleDetail } = props;\n const [anchorList, setAnchorList] = useState([]);\n const [headerHeight, setHeaderHeight] = useState(0);\n const html = md?.render(articleDetail.Content || '');\n // 获取header高度\n useEffect(() => {\n setHeaderHeight(document.querySelector('.xgbk-header')?.offsetHeight || 0);\n }, []);\n // 设置并排img元素的宽度\n useEffect(() => {\n const inlineImg = document.getElementsByClassName('inline-img')[0];\n if (!inlineImg) {\n return;\n }\n const children = inlineImg.children;\n const length = children.length;\n for (let i = 0; i < length; i++) {\n const nodeName = children[i].nodeName.toLowerCase();\n if (nodeName === 'img' || nodeName === 'a') {\n children[i].style.width = `calc((100% - ${(length - 1) * 12}px) / ${length})`;\n }\n }\n }, [articleDetail.Content]);\n // 生成目录\n useEffect(() => {\n setTimeout(() => {\n const children = document.getElementsByClassName('xgbk-markdown-body')[0].children;\n const genAnchorList = genAnchor(children, articleDetail);\n setAnchorList(genAnchorList);\n const targetAnchor = loadToView();\n if (targetAnchor) {\n targetAnchor.click();\n }\n }, 500);\n }, [articleDetail.Content]);\n function loadToView() {\n const hash = location.hash;\n if (hash) {\n const anchor = document.getElementsByClassName('xgbk-anchor')[0];\n const anchorA = anchor.querySelectorAll('a');\n const anchorArray = Array.from(anchorA);\n const anchorFilter = anchorArray.filter((value) => {\n return value.hash === hash;\n });\n return anchorFilter[0];\n }\n return null;\n }\n function genAnchorListNode(node) {\n return node.map(item => {\n if (item.children && item.children.length) {\n return React.createElement(AnchorLink, { key: item.name, href: `#${slugify(item.name)}`, title: item.name }, genAnchorListNode(item.children));\n }\n return React.createElement(AnchorLink, { key: item.name, href: `#${slugify(item.name)}`, title: item.name });\n });\n }\n return (React.createElement(\"div\", { className: \"xgbk-markdown-container\" },\n React.createElement(\"div\", { className: \"xgbk-markdown-container-title\" }, articleDetail.Title),\n articleDetail.UpdateTime && React.createElement(\"div\", { className: \"xgbk-markdown-container-time\" },\n articleDetail.UpdateTime,\n \"\\u66F4\\u65B0\"),\n !!html &&\n React.createElement(ImageViewer, { className: \"image-wrapper\" },\n React.createElement(\"div\", { className: \"xgbk-markdown-body\", dangerouslySetInnerHTML: { __html: html } })),\n React.createElement(\"div\", { className: \"xgbk-anchor\" },\n React.createElement(Anchor, { hash: true, affix: false, boundary: headerHeight }, genAnchorListNode(anchorList)))));\n}\n","import React, { useState, useEffect } from 'react';\nimport { Message } from '@bytedesign/web-react';\nimport LoginDialog from 'Modules/LoginDialog';\nimport { collectEvent } from 'Utils/collectEvent';\nimport './index.less';\nconst solveType = 1;\nconst unSolveType = 2;\nexport default function Footer(props) {\n const { articleId, submit, userinfo, feedbackType } = props;\n const [isSolved, setIsSolved] = useState();\n const [isLogin, setIsLogin] = useState(false);\n useEffect(() => {\n if (userinfo?.user_id) {\n setIsLogin(true);\n }\n }, [userinfo]);\n useEffect(() => {\n setIsSolved(feedbackType);\n }, [articleId, feedbackType]);\n function submitFeedback(type) {\n if (type === isSolved) {\n return;\n }\n const postData = {\n feedbackType: type,\n encyclopediaArticleId: articleId,\n };\n setIsSolved(type);\n collectEvent('content_feedback', {\n user_id: userinfo.user_id || '',\n status: type === 1 ? 'solved' : 'unsolved',\n group_id: articleId\n });\n submit(postData).then(res => {\n if (res.data?.BaseResp?.StatusCode !== 0) {\n Message.error('反馈失败');\n return;\n }\n }).catch(() => {\n Message.error('反馈失败,请稍后再试');\n });\n }\n function contactXigua() {\n collectEvent('customer_service', {\n user_id: userinfo.user_id || '',\n });\n if (isLogin) {\n window.open('https://mp.toutiao.com/profile_v3_public/public/feedback?source=baike');\n }\n else {\n LoginDialog.create();\n setTimeout(() => {\n LoginDialog.show();\n }, 300);\n }\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: \"xgbk-article-detail-footer\" },\n React.createElement(\"div\", { className: `opinion-btn solved ${isSolved === solveType ? 'active' : ''}`, onClick: () => submitFeedback(solveType) },\n React.createElement(\"span\", { className: \"opinion-icon solved-icon\" }),\n \"\\u5DF2\\u89E3\\u51B3\"),\n React.createElement(\"div\", { className: `opinion-btn unsolved ${isSolved === unSolveType ? 'active' : ''}`, onClick: () => submitFeedback(unSolveType) },\n React.createElement(\"span\", { className: \"opinion-icon unsolved-icon\" }),\n \"\\u672A\\u89E3\\u51B3\")),\n isSolved === unSolveType && React.createElement(\"div\", { className: \"xg-contact\", onClick: contactXigua }, \"\\u524D\\u5F80\\u95EE\\u9898\\u54A8\\u8BE2\")));\n}\n","// 文章详情数据获取\nexport const DETAIL_REQUEST = 'DETAIL_REQUEST';\nexport const DETAIL_SUCCESS = 'DETAIL_SUCCESS';\nexport const DETAIL_FAILURE = 'DETAIL_FAILURE';\n","import React, { useState, useEffect } from 'react';\nimport { useParams } from 'react-router';\nimport { connect, useDispatch } from 'react-redux';\nimport Preview from './Preview';\nimport Footer from './Footer';\nimport { getDetail } from 'Apis/detail';\nimport { submit } from 'Apis/feedback';\nimport { parseQuery } from 'Utils/params';\nimport { collectEvent } from 'Utils/collectEvent';\nimport wxShare from '@arsenal/arsenal/modules/wxShare';\nimport './index.less';\nimport { Helmet } from \"react-helmet\";\nconst emptyArticle = {\n EncyclopediaArticle: {\n Id: 0,\n Title: '',\n FrontCover: '',\n Introduction: '',\n JumpId: 0,\n Rank: 0,\n Content: '',\n UpdateTime: '',\n FirstCategoryId: 0,\n SecondCategoryId: 0,\n ThirdCategoryId: 0,\n }\n};\nconst getSubTitle = (articleDetail) => {\n if (!articleDetail?.Content)\n return [];\n const contents = articleDetail.Content.split('\\n');\n const result = [];\n contents.forEach((item) => {\n if (item.startsWith('# ') || item.startsWith('## ')) {\n result.push(item.split(' ')[1] || '');\n }\n });\n return result;\n};\nfunction ArticleDetail(props) {\n const { getDetail, submit, userinfo, articleDetail: articleDetailDefault } = props;\n const { first_category_id = '', second_category_id = '', third_category_id = '', article_id = '' } = useParams();\n const [feedbackType, setFeedbackType] = useState(0);\n const [articleDetail, setArticleDetail] = useState(articleDetailDefault);\n // const pathname = typeof location !== 'undefined' ? location.pathname : '/';\n const dispatch = useDispatch();\n useEffect(() => {\n collectEvent('show_page_view', {\n user_id: userinfo.user_id || '',\n });\n const query = {\n firstCategoryId: parseInt(first_category_id) || 0,\n secondCategoryId: parseInt(second_category_id) || 0,\n thirdCategoryId: parseInt(third_category_id) || 0,\n articleId: parseInt(article_id) || 0,\n };\n getArticleDetail(query);\n window.scrollTo(0, 0);\n }, [typeof location !== 'undefined' ? location.pathname : '/']);\n useEffect(() => {\n return () => {\n clearState();\n };\n }, []);\n async function clearState() {\n dispatch({\n type: 'DETAIL_SUCCESS',\n data: {\n ...emptyArticle\n },\n });\n }\n function getArticleDetail(query) {\n getDetail(query).then(resp => {\n const queryPath = parseQuery();\n const enter_from = queryPath.enter_from;\n const article = resp.data?.EncyclopediaArticle;\n const feedbackType = resp.data?.FeedbackType;\n collectEvent('go_detail', {\n user_id: userinfo.user_id || '',\n group_id: article.Id,\n enter_from: enter_from || 'outside',\n });\n setArticleDetail(article);\n setFeedbackType(feedbackType);\n // 设置微信分享卡片信息\n wxShare({\n title: article.Title,\n desc: '西瓜创作者百科是西瓜视频为广大视频创作者提供的最权威、最详细、最及时的官方政策解读平台。',\n link: window.location.href,\n imgUrl: 'https://p1.toutiaoimg.com/origin/2e95600046e9bba68731c'\n }, {\n appId: 'wxe45dac14ca08e49e',\n menuList: ['menuItem:share:timeline']\n });\n console.log('wxShare', wxShare);\n }).catch(err => {\n console.log(err);\n });\n }\n return (React.createElement(\"div\", { className: \"xgbk-article-detail\" },\n React.createElement(Helmet, null,\n React.createElement(\"title\", null, [articleDetail.Title, ...getSubTitle(articleDetail), '头条创作者帮助中心-有问题,上百科'].join('/'))),\n React.createElement(Preview, { articleDetail: articleDetail }),\n React.createElement(Footer, { articleId: articleDetail.Id, submit: submit, userinfo: userinfo, feedbackType: feedbackType })));\n}\nexport default connect(state => ({\n userinfo: state.user.userinfo,\n articleDetail: state.detail.articleDetail,\n}), {\n getDetail,\n submit,\n})(ArticleDetail);\n","/**\n * 获取详情接口\n */\nimport { CALL_API } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/detail';\nimport { toQuery } from 'Utils/params';\nconst apiPrefix = '/api/detail';\nexport const getDetail = (query) => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.DETAIL_REQUEST, CONSTANTS.DETAIL_SUCCESS, CONSTANTS.DETAIL_FAILURE],\n endpoint: `${apiPrefix}?${toQuery(query)}`,\n fetchOpts: {}\n }\n});\n","/**\n * 反馈接口\n */\nimport { CALL_API } from 'Middlewares/api';\nimport * as CONSTANTS from 'Constants/feedback';\nconst apiPrefix = '/api/feedback';\nexport const submit = (data) => (dispatch, _) => dispatch({\n [CALL_API]: {\n types: [CONSTANTS.FEEDBACK_REQUEST, CONSTANTS.FEEDBACK_SUCCESS, CONSTANTS.FEEDBACK_FAILURE],\n endpoint: `${apiPrefix}`,\n fetchOpts: {\n method: 'POST',\n body: data\n }\n }\n});\n","// 反馈数据获取\nexport const FEEDBACK_REQUEST = 'FEEDBACK_REQUEST';\nexport const FEEDBACK_SUCCESS = 'FEEDBACK_SUCCESS';\nexport const FEEDBACK_FAILURE = 'FEEDBACK_FAILURE';\n","import React from 'react';\nimport ArticleDetailC from 'Modules/ArticleDetail';\nexport default function ArticleDetail() {\n return (React.createElement(ArticleDetailC, null));\n}\n","import React from 'react';\nimport './index.less';\nexport default function AboutUs() {\n return (React.createElement(\"div\", { className: \"xgbk-about-us\" },\n React.createElement(\"section\", { className: \"about-us-word\" },\n React.createElement(\"h3\", { className: \"title\" }, \"\\u5173\\u4E8E\\u6211\\u4EEC-\\u897F\\u74DC\\u521B\\u4F5C\\u8005\\u767E\\u79D1\"),\n React.createElement(\"div\", null, \"\\u5728\\u897F\\u74DC\\u505A\\u89C6\\u9891\\uFF0C\\u4E00\\u4E2A\\u767E\\u79D1\\u5C31\\u591F\\u4E86\\u3002\"),\n React.createElement(\"div\", null, \"\\u897F\\u74DC\\u521B\\u4F5C\\u8005\\u767E\\u79D1\\u662F\\u897F\\u74DC\\u89C6\\u9891\\u5B98\\u65B9\\u63A8\\u51FA\\u7684\\u8F85\\u52A9\\u4F5C\\u8005\\u5728\\u5E73\\u53F0\\u521B\\u4F5C\\u89C6\\u9891\\u7684\\u5DE5\\u5177\\uFF0C\\u63D0\\u4F9B\\u6700\\u6743\\u5A01\\u6700\\u53CA\\u65F6\\u7684\\u4F7F\\u7528\\u6307\\u5357\\u53CA\\u5E73\\u53F0\\u89C4\\u8303\\uFF0C\\u5E2E\\u52A9\\u4F5C\\u8005\\u89E3\\u51B3\\u5728\\u5E73\\u53F0\\u521B\\u4F5C\\u9047\\u5230\\u7684\\u6240\\u6709\\u95EE\\u9898\\uFF0C\\u5185\\u5BB9\\u6DB5\\u76D6\\u63A8\\u8350\\u673A\\u5236\\u3001\\u6743\\u9650\\u7533\\u8BF7\\u3001\\u89C6\\u9891\\u6536\\u76CA\\u7B49\\u591A\\u4E2A\\u5B9E\\u7528\\u6A21\\u5757\\u3002\"),\n React.createElement(\"div\", null, \"\\u76EE\\u524D\\u897F\\u74DC\\u521B\\u4F5C\\u8005\\u767E\\u79D1\\u7D2F\\u8BA1\\u7528\\u6237\\u6570\\u8D85\\u8FC7 79\\u4E07\\uFF0C\\u603B\\u6D4F\\u89C8\\u91CF\\u8D85\\u8FC7 437 \\u4E07\\u3002\"),\n React.createElement(\"strong\", { style: { marginTop: 12 + 'px', display: 'block' } }, \"\\u4EA7\\u54C1\\u5386\\u7A0B\"),\n React.createElement(\"div\", null,\n React.createElement(\"div\", null, \"2019\\u5E746\\u6708\\uFF0C\\u767E\\u79D1\\u6B63\\u5F0F\\u4E0A\\u7EBF\"),\n React.createElement(\"div\", null, \"2019\\u5E748\\u6708\\uFF0C\\u63A8\\u51FA\\u201C\\u7B2C\\u4E00\\u5C4A\\u767E\\u79D1\\u77E5\\u8BC6\\u7ADE\\u8D5B\\u201D\\uFF0C4k+\\u4F5C\\u8005\\u53C2\\u4E0E\"),\n React.createElement(\"div\", null, \"2019\\u5E7410\\u6708\\uFF0C\\u300C\\u897F\\u74DC\\u767E\\u79D1\\u300D\\u54C1\\u724C\\u5347\\u7EA7\\u4E3A\\u300C\\u897F\\u74DC\\u521B\\u4F5C\\u8005\\u767E\\u79D1\\u300D\"),\n React.createElement(\"div\", null, \"2019\\u5E7412\\u6708\\uFF0C\\u63A8\\u51FA\\u201C\\u7B2C\\u4E8C\\u5C4A\\u767E\\u79D1\\u77E5\\u8BC6\\u7ADE\\u8D5B\\u201D\\uFF0C2k+\\u4F5C\\u8005\\u53C2\\u4E0E\"),\n React.createElement(\"div\", null, \"2020\\u5E743\\u6708\\uFF0C\\u65E5\\u5747\\u7528\\u6237\\u6570\\u78341\\u4E07\\u3001\\u65E5\\u5747\\u6D4F\\u89C8\\u91CF\\u78345\\u4E07\"),\n React.createElement(\"div\", null, \"2020\\u5E743\\u6708\\uFF0C\\u63A8\\u51FA\\u5168\\u65B0\\u9996\\u9875\\u89C6\\u89C9\\u5F62\\u8C61\"),\n React.createElement(\"div\", null, \"2020\\u5E743\\u6708\\uFF0C\\u63A8\\u51FA\\u201C\\u7B2C\\u4E09\\u5C4A\\u767E\\u79D1\\u77E5\\u8BC6\\u7ADE\\u8D5B\\u201D\\uFF0C7k+\\u4F5C\\u8005\\u53C2\\u4E0E\")),\n React.createElement(\"strong\", { style: { marginTop: 12 + 'px', display: 'block' } }, \"\\u8054\\u7CFB\\u6211\\u4EEC\"),\n React.createElement(\"div\", null,\n React.createElement(\"div\", null,\n \"\\u610F\\u89C1\\u53CD\\u9988\\u8BF7\\u8054\\u7CFB\\u90AE\\u7BB1\\uFF1A\",\n React.createElement(\"a\", { href: \"mailto:xigua_vip@bytedance.com\" }, \"xigua_vip@bytedance.com\")),\n React.createElement(\"div\", null,\n \"\\u897F\\u74DC\\u89C6\\u9891\\u5E02\\u573A\\u3001\\u5546\\u52A1\\u5408\\u4F5C\\u8BF7\\u8054\\u7CFB\\u90AE\\u7BB1\\uFF1A\",\n React.createElement(\"a\", { href: \"mailto:bd@bytedance.com\" }, \"bd@bytedance.com\"))))));\n}\n;\n","/**\n * @file 页面路由,左侧菜单对应的模块\n */\nimport Home from 'Containers/Home';\nimport Search from 'Containers/Search';\nimport ArticleDetail from 'Containers/ArticleDetail';\nimport AboutUs from 'Containers/AboutUs';\nconst Entry = [\n {\n name: '首页',\n path: '/',\n exact: true,\n comp: Home,\n },\n {\n name: '搜索',\n path: '/search/:content',\n exact: true,\n comp: Search,\n },\n {\n name: '文章详情分类id',\n path: '/detail/:first_category_id/:second_category_id/:third_category_id',\n exact: true,\n comp: ArticleDetail,\n },\n {\n name: '文章详情文章id',\n path: '/detail/:article_id',\n exact: true,\n comp: ArticleDetail,\n },\n {\n name: '关于我们',\n path: '/aboutus',\n exact: true,\n comp: AboutUs,\n },\n];\nexport default Entry;\n","import React from 'react';\nimport HomeC from 'Modules/HomePage';\nexport default function Home() {\n return (React.createElement(HomeC, null));\n}\n","import React from 'react';\nimport SearchC from 'Modules/Search';\nexport default function Search() {\n return (React.createElement(SearchC, null));\n}\n","import React from 'react';\nimport AboutUsC from 'Modules/AboutUs';\nexport default function AboutUs() {\n return (React.createElement(AboutUsC, null));\n}\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter, StaticRouter, Switch, Route } from 'react-router-dom';\nimport App from 'Containers/App';\nimport Entry from 'Containers/Entry';\nimport 'Statics/css/base.less';\nimport 'Statics/css/layout.less';\nimport 'Statics/css/mobile.less';\nexport default function (props) {\n const { store, pathname } = props;\n const Router = (typeof window !== 'undefined' ? BrowserRouter : StaticRouter);\n return (React.createElement(Provider, { store: store },\n React.createElement(Router, { location: pathname },\n React.createElement(App, null,\n React.createElement(Switch, null, Entry.map((item) => {\n return (React.createElement(Route, { exact: item.exact, key: item.path, path: item.path, component: item.comp }));\n }))))));\n}\n","import * as CONSTANTS from 'Constants/category';\nexport const menuList = (state = [], action) => {\n switch (action.type) {\n case CONSTANTS.CATEGORY_SUCCESS:\n return action.data?.EncyclopediaCategories ? action.data?.EncyclopediaCategories : state;\n case CONSTANTS.CATEGORY_FAILURE:\n console.log(action.error);\n return state;\n default:\n return state;\n }\n};\n","import * as CONSTANTS from 'Constants/user';\nexport const userinfo = (state = [], action) => {\n switch (action.type) {\n case CONSTANTS.USER_INFO_SUCCESS:\n return action.data?.data ? action.data?.data : state;\n case CONSTANTS.USER_INFO_FAILURE:\n console.log(action.error);\n return state;\n default:\n return state;\n }\n};\n","import * as CONSTANTS from 'Constants/detail';\nexport const articleDetail = (state = [], action) => {\n switch (action.type) {\n case CONSTANTS.DETAIL_SUCCESS:\n return action.data ? action.data.EncyclopediaArticle : state;\n case CONSTANTS.DETAIL_FAILURE:\n console.log(action.error);\n return state;\n default:\n return state;\n }\n};\n","import * as CONSTANTS from 'Constants/home';\nexport const home = (state = [], action) => {\n switch (action.type) {\n case CONSTANTS.HOME_SUCCESS:\n return action.data ? action.data : state;\n case CONSTANTS.HOME_FAILURE:\n console.log(action.error);\n return state;\n default:\n return state;\n }\n};\n","import * as CONSTANTS from 'Constants/search';\nexport const search = (state = [], action) => {\n switch (action.type) {\n case CONSTANTS.SEARCH_SUCCESS:\n return action.data ? action.data : state;\n case CONSTANTS.SEARCH_FAILURE:\n console.log(action.error);\n return state;\n default:\n return state;\n }\n};\n","/**\n * @file combineReducers\n */\nimport { combineReducers } from 'redux';\nimport * as category from './category';\nimport * as user from './user';\nimport * as detail from './detail';\nimport * as home from './home';\nimport * as search from './search';\nexport default combineReducers({\n category: combineReducers(category),\n user: combineReducers(user),\n detail: combineReducers(detail),\n home: combineReducers(home),\n search: combineReducers(search),\n});\n","import devStore from './dev';\nimport prodStore from './prod';\nexport default process.env.NODE_ENV === 'development' ? devStore : prodStore;\n","import { createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport api from 'Middlewares/api';\nimport rootReducer from 'Reducers';\nexport default (initialState) => {\n const bigCreateStore = compose(applyMiddleware(thunk, api))(createStore);\n return bigCreateStore(rootReducer, initialState);\n};\n","export function getHostname(ctx) {\n if (ctx) {\n const host = ctx?.header.host;\n if (host === 'localhost:3000' || host === 'boe-doc.bytedance.net') {\n return `https://${host}`;\n }\n return ctx?.header.host;\n }\n return 'https://baike.toutiao.com';\n}\n","/**\n * 页面提前渲染需要的接口\n */\nimport { matchPath } from 'react-router-dom';\nimport Entry from 'Containers/Entry';\nimport { CATEGORY_SUCCESS } from 'Constants/category';\nimport { HOME_SUCCESS } from 'Constants/home';\nimport { DETAIL_SUCCESS } from 'Constants/detail';\nimport { SEARCH_SUCCESS } from 'Constants/search';\n// 获取当前路由\nexport const getMatchPage = (ctx) => {\n // 这里写path是因为,例如/123/?from=flow的url,不能匹配Live组件\n const url = ctx.path || '';\n let matchPage;\n Entry.forEach(page => {\n const route = matchPath(url, page);\n if (!matchPage && route) {\n matchPage = Object.assign(page, route);\n }\n });\n return matchPage;\n};\nconst module = [{\n pathPrefix: '/search',\n actions: [{\n path: 'category',\n controller: 'getList',\n getAction: (data) => ({\n type: CATEGORY_SUCCESS,\n data: {\n ...data\n },\n })\n },\n {\n path: 'search',\n controller: 'query',\n getAction: (data) => ({\n type: SEARCH_SUCCESS,\n data: {\n ...data\n },\n })\n }],\n }, {\n pathPrefix: '/detail',\n actions: [{\n path: 'category',\n controller: 'getList',\n getAction: (data) => ({\n type: CATEGORY_SUCCESS,\n data: {\n ...data\n },\n })\n },\n {\n path: 'detail',\n controller: 'getDetail',\n getAction: (data) => ({\n type: DETAIL_SUCCESS,\n data: {\n ...data\n },\n })\n }],\n }, {\n pathPrefix: '/',\n actions: [{\n path: 'category',\n controller: 'getList',\n getAction: (data) => ({\n type: CATEGORY_SUCCESS,\n data: {\n ...data\n },\n })\n }, {\n path: 'home',\n controller: 'getList',\n getAction: (data) => ({\n type: HOME_SUCCESS,\n data: {\n ...data\n },\n })\n }],\n }];\nfunction setParams(moduleItem, params) {\n const module = moduleItem[0];\n if (module?.pathPrefix === '/detail') {\n const { first_category_id, second_category_id, third_category_id, article_id } = params;\n const query = {\n firstCategoryId: parseInt(first_category_id) || 0,\n secondCategoryId: parseInt(second_category_id) || 0,\n thirdCategoryId: parseInt(third_category_id) || 0,\n articleId: parseInt(article_id) || 0,\n };\n return query;\n }\n else if (module?.pathPrefix === '/search') {\n const { content } = params;\n const keyword = decodeURIComponent(content);\n const query = {\n keyword,\n offset: 0,\n limit: 20,\n };\n return query;\n }\n return {};\n}\nexport const matchActions = (url) => {\n const moduleItem = [];\n for (let index = 0, length = module.length; index < length; index++) {\n const { pathPrefix: p, actions: a } = module[index];\n if (url.includes(p)) {\n moduleItem.push(module[index]);\n break;\n }\n }\n return moduleItem;\n};\nconst setStore = (store, action, fetchData) => {\n const dispatch = store.dispatch;\n dispatch(action(fetchData));\n};\nexport async function getInitialProps(ctx, store, host, pathname) {\n const { name, params } = getMatchPage(ctx);\n const moduleItem = matchActions(pathname);\n const query = setParams(moduleItem, params);\n if (!name) {\n return;\n }\n await Promise.all(moduleItem.map(async (item) => {\n const { actions } = item;\n await Promise.all(actions.map(async (actionItem) => {\n const { path, controller, getAction } = actionItem;\n const data = await ctx.service[path][controller](query);\n console.log('222222222222222222222222', data);\n setStore(store, getAction, data);\n }));\n }));\n}\n","import React from 'react';\nimport Root from 'Containers/Root';\nimport { render } from '@ies/eden-ssr-react/render';\nimport configureStore from 'Store';\nimport { getHostname } from 'Utils/getHostname';\nimport { getInitialProps } from 'Render/index';\nimport { Helmet } from 'react-helmet';\nconst store = configureStore({});\nconst Page = ({ pathname, query, preloadStore }) => {\n const rootStore = typeof window === 'undefined' ? store : configureStore(preloadStore);\n return React.createElement(React.Fragment, null,\n React.createElement(Helmet, null,\n React.createElement(\"title\", null, \"\\u5934\\u6761\\u521B\\u4F5C\\u8005\\u5E2E\\u52A9\\u4E2D\\u5FC3-\\u6709\\u95EE\\u9898\\uFF0C\\u4E0A\\u767E\\u79D1\")),\n React.createElement(Root, { store: rootStore, pathname: pathname, query: query }));\n};\nexport const getServerSideInitialProps = async (context) => {\n const { ctx, pathname } = context;\n const host = getHostname(ctx);\n await getInitialProps(ctx, store, host, pathname);\n return {\n ...context,\n preloadStore: store.getState()\n };\n};\nrender(Page);\nexport default Page;\n","module.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAASFBMVEVHcEzY2Njv7+/z8/P8/Pzu7u7h4eHu7u7n5+fe3t7s7OzR0dHo6Ojv7+/q6urw8PD19fXi4uLy8vLe3t7t7e3l5eXX19fPz8+5aV8OAAAAC3RSTlMA8a4RBtahKHbLRHRUTYIAAAQESURBVFjDnZgJkoMgEEXVuKAgKJv3v+k0i6xqzHxTmSkCr35Dy9Y0D+qnBXXDrtQ+dGiZ+uY/6idgKCkpoQQ+UkoFtJ9hE5oJY0BJRCVjZEbTL5hRMUmuBDA1vkVNHWGU3IpuvHuD+iDCyJMo49s6fr5xluHJjZFknG/bsDwPFaLyGQOGQEDi6GEAP903O8aQJQGquw1vmtk3jDfkTA03fT4N3znekHN1Q3rFoRFz5+nzIq7MkPNU9VPfveFQVoC2rhw79IZD5GqVolCRh5S+MQRzwJqxOOdZZn4G+cqQXGVpKuum/l1gxpBBOVgIbkxGnmSBqZvHUNzjWN7SGnMgGzH1aMjJwRyKb100lHq5dZRg/LcnsdPSyEjlSFUilNLckkcFS5Oiac94SOUIMJTmMPsBEp3qXAyQK0PUw5IQwdrqs7KfZfRzDUlAQUl3rdvQ+65Wp51riOGcQxeMxc5amc0AF5lDnJy9UpYHuStjycTWrdZRjGm/UGmMJCSwZMatH6jlqHtKAoq0zBSHTppUmjZpYxFV0SLLghgkwCIJOXunYOw5J3eXxweTCZJhsGon1yTPSk1Bb3c0i0o8ahclypNY1wwkD8s1gApKCO2fCIKpBH4IqEDiQ7OT2g+xE43ctQZMwlFuBqKiQknSJHGd9cOaIwETJHbJuS/fHcqRXJc3CceStErWCNhu+VgVZbBx4OcvJJrynhqR+dGCQG0e14jNNN+cuJVdZDktSKoZMo6xn2sLgv+T8jWGZ0hD05E0BVmJcY//ysRUQoLhR/TkaKH4pSyH54aMaCRJ1Cwk+KHXmGCtEONy9yQil2balTdEuOvfV3IbG6KFA6kJphHlOIdw4/UKwtzQigNbEjFz7WhTBR8HlpyFkT+HvyIEiElM0wpISpoFCRHHOQ4Rqp1PobJYmFaH3ndpptpp37UtAEus1i0V3jl8eJKa7HLkwMHSW3F9ttOz3behUHCoX0AqNNNu2/Zp8VmC6XsODa2O1u8ixmhJn/undc33eLHAF8uk0bnVmiIbSO+UcPARdlqJpUOs7Dsm9RMNgaU29STZT5zQQ8XAAYl+ITGSVUfZ+SGxdOD9KTy27klljOfsFLG0x5GbukGx3A4EVhwlUf7zIS5RZinK62lUHmrGgoSFkln6mLddFZVgxPr6mFVWMjMEkT4jV1iYNK5qzJ+rA1tFMlW1XbN1DbEv6/UR8pL0oBvOz6RbDkQ3XkZwJYz1021Ej1oNLyE82P25o2DdoucboGXWuFAFAYyel++XLG2FOu3hE9Oiz6vbo1YAS9unlhbt+xskgzLCOuNpk1XvMf5qzKahpzmcKfntasyzxrkVYfMndDuP6J83f59pQXPbQue287frwz/cmwUTmMq01QAAAABJRU5ErkJggg==\""],"sourceRoot":""}