{"version":3,"sources":["components/problems/index.js"],"names":["Problems","state","isShowAnswer","isShowCaptcha","instance","problem","onVerify","data","http","post","concat","API","home","then","res","code","_this","setState","getProblem","reset","getInstance","get","props","match","params","id","_res$data","msg","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_1___default","a","info","goBack","document","referrer","includes","www","history","go","_this$props$location","location","hash","window","browser","isWeixin","getParam","records","length","from","pathname","replace","search","href","origin","this","prevProps","prevState","_this2","_this$state","_this$state$problem","quesInfo","between","react__WEBPACK_IMPORTED_MODULE_7___default","createElement","className","_common_index__WEBPACK_IMPORTED_MODULE_9__","Fragment","title","category","arrow","cart","order_id","dangerouslySetInnerHTML","__html","ques","onClick","analysis","text","up","react_router_dom__WEBPACK_IMPORTED_MODULE_11__","to","down","Component"],"mappings":"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","file":"mrstatic/js/66.9a45d870.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport './index.scss'\nimport { HeaderBar, CallApp, CaptchaAli } from \"@common/index\"\nimport { browser, getParam, http } from \"@/utils\"\nimport { Toast } from \"antd-mobile\";\nimport { Link } from 'react-router-dom'\n\n\nclass Problems extends Component {\n\n state = {\n isShowAnswer: false,\n isShowCaptcha: false,\n instance: null,\n problem: {},\n }\n\n componentDidMount() {\n this.getProblem()\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevProps.match.params.id !== this.props.match.params.id) {\n this.setState({\n problem: {},\n isShowAnswer: false,\n });\n this.getProblem()\n }\n }\n\n\n onVerify = data => {\n http.post(`${API.home}/m/safety`, data)\n .then(res => {\n const {code} = res.data\n if (code === 200) {\n this.setState({\n isShowCaptcha: false,\n })\n this.getProblem()\n } else {\n this.state.instance && this.state.instance.reset()\n }\n })\n }\n\n getInstance = (instance) => {\n this.setState({\n instance,\n });\n }\n\n getProblem = () => {\n http.get(`${API.home}/m/question/${this.props.match.params.id}`)\n .then(res => {\n const {code, msg, data} = res.data\n if (code === 200) {\n\n this.setState({\n problem: data,\n });\n\n } else if (code === 1) {\n this.setState({\n isShowCaptcha: true,\n });\n } else {\n Toast.info(msg)\n }\n })\n }\n\n goBack = () => {\n if (document.referrer.includes(API.www)) {\n history.go(-1)\n } else {\n const {state, hash} = this.props.location\n if (hash.includes('goback')) {\n return window.history.go(-1)\n }\n if (browser.isWeixin && getParam('code') && getParam('state')) {\n window.history.go(-2)\n }\n if (state.records && state.records.length > 1) {\n window.history.go(-1);\n } else if (state.from && state.from.pathname) {\n location.replace(`${state.from.pathname}${state.from.search}`)\n } else {\n window.location.href = window.location.origin\n }\n }\n }\n\n\n render() {\n const {isShowAnswer, problem: {quesInfo, between}, isShowCaptcha} = this.state\n return (\n quesInfo || isShowCaptcha ? <article id={'problems'}>\n {\n !isShowCaptcha ?\n <>\n <HeaderBar title={quesInfo && quesInfo.category} arrow={true} cart={false}\n goBack={this.goBack}></HeaderBar>\n <div className=\"topic\">\n <span>{quesInfo && quesInfo.order_id}.</span>\n <span dangerouslySetInnerHTML={{__html: quesInfo && quesInfo.ques}}></span>\n </div>\n {\n !isShowAnswer &&\n <div className=\"btn\" onClick={() => {\n this.setState({\n isShowAnswer: true,\n });\n }}>\n <button>查看解析 <i className={'iconfont iconiconfront-69'}></i></button>\n </div>\n }\n {\n isShowAnswer &&\n <div className={`content`}>\n <div className={'title'}>解析</div>\n <span dangerouslySetInnerHTML={{__html: quesInfo.analysis}}></span>\n </div>\n }\n <footer>\n <div className=\"app\">更多题目请 <CallApp text={'前往APP'}/></div>\n <div className=\"op\">\n {\n between && !!between.up && <Link to={`/problems/${between.up}`} replace className={'nav'}>上一题</Link>\n }\n {\n between && !!between.down &&\n <Link to={`/problems/${between.down}`} replace className={'nav'}>下一题</Link>\n }\n </div>\n </footer>\n </>\n : <div className=\"captcha-container\">\n <div>亲,系统正忙,滑动一下马上回来</div>\n <CaptchaAli getInstance={this.getInstance} onVerify={this.onVerify}/>\n </div>\n }\n </article> : null\n\n );\n }\n}\n\nexport default Problems;"],"sourceRoot":""}