66.9a45d870.chunk.js.map 7.9 KB
Newer Older
xuzhenghua committed
1
{"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":""}