Commit 330febd5 by zhanghaozhe

Merge branch 'problems' into dev

parents 5f754629 b7e402e7
...@@ -41,7 +41,7 @@ class HeaderBar extends Component { ...@@ -41,7 +41,7 @@ class HeaderBar extends Component {
<div className="detail-header" style={{...this.props.style}}> <div className="detail-header" style={{...this.props.style}}>
{ {
!toHref && this.props.arrow && !toHref && this.props.arrow &&
<i className='iconfont iconiconfront-68' onClick={this.goBack}></i> <i className='iconfont iconiconfront-68' onClick={this.props.goBack || this.goBack}></i>
} }
{ {
toHref && typeof toHref === 'function' && toHref && typeof toHref === 'function' &&
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import './index.scss' import './index.scss'
import { HeaderBar, CallApp, CaptchaAli } from "@common/index" import { HeaderBar, CallApp, CaptchaAli } from "@common/index"
import { http } from "@/utils" import { browser, getParam, http } from "@/utils"
import { Toast } from "antd-mobile"; import { Toast } from "antd-mobile";
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
...@@ -23,7 +23,7 @@ class Problems extends Component { ...@@ -23,7 +23,7 @@ class Problems extends Component {
if (prevProps.match.params.id !== this.props.match.params.id) { if (prevProps.match.params.id !== this.props.match.params.id) {
this.setState({ this.setState({
problem: {}, problem: {},
isShowAnswer: false isShowAnswer: false,
}); });
this.getProblem() this.getProblem()
} }
...@@ -71,6 +71,27 @@ class Problems extends Component { ...@@ -71,6 +71,27 @@ class Problems extends Component {
}) })
} }
goBack = () => {
if (document.referrer.includes(API.www)) {
history.go(-1)
} else {
const {state, hash} = this.props.location
if (hash.includes('goback')) {
return window.history.go(-1)
}
if (browser.isWeixin && getParam('code') && getParam('state')) {
window.history.go(-2)
}
if (state.records && state.records.length > 1) {
window.history.go(-1);
} else if (state.from && state.from.pathname) {
location.replace(`${state.from.pathname}${state.from.search}`)
} else {
window.location.href = window.location.origin
}
}
}
render() { render() {
const {isShowAnswer, problem: {quesInfo, between}, isShowCaptcha} = this.state const {isShowAnswer, problem: {quesInfo, between}, isShowCaptcha} = this.state
...@@ -79,7 +100,8 @@ class Problems extends Component { ...@@ -79,7 +100,8 @@ class Problems extends Component {
{ {
!isShowCaptcha ? !isShowCaptcha ?
<> <>
<HeaderBar title={quesInfo && quesInfo.category} arrow={true} cart={false}></HeaderBar> <HeaderBar title={quesInfo && quesInfo.category} arrow={true} cart={false}
goBack={this.goBack}></HeaderBar>
<div className="topic"> <div className="topic">
<span>{quesInfo && quesInfo.order_id}.</span> <span>{quesInfo && quesInfo.order_id}.</span>
<span dangerouslySetInnerHTML={{__html: quesInfo && quesInfo.ques}}></span> <span dangerouslySetInnerHTML={{__html: quesInfo && quesInfo.ques}}></span>
...@@ -108,7 +130,8 @@ class Problems extends Component { ...@@ -108,7 +130,8 @@ class Problems extends Component {
between && !!between.up && <Link to={`/problems/${between.up}`} replace className={'nav'}>上一题</Link> between && !!between.up && <Link to={`/problems/${between.up}`} replace className={'nav'}>上一题</Link>
} }
{ {
between && !!between.down && <Link to={`/problems/${between.down}`} replace className={'nav'}>下一题</Link> between && !!between.down &&
<Link to={`/problems/${between.down}`} replace className={'nav'}>下一题</Link>
} }
</div> </div>
</footer> </footer>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment