Commit 84f29666 by 修福龙

安全检查提示弹窗

parent 3a533fc5
import React, {Component} from 'react';
import {Modal, View, Text, Image} from 'react-native';
import ModalStyles from './Modal/styles';
import {font} from '../utils/common';
import {setSpText} from '../utils/screen';
const mStyles = {
...ModalStyles,
innerContainer: {
...ModalStyles.innerContainer,
},
header: {
...ModalStyles.header,
fontSize: font.title,
},
};
class LoadingModal extends Component {
render() {
const {...props} = this.props;
return (
<Modal styles={mStyles} {...props}>
<View style={styles.modalBackgroundStyle}>
<View style={styles.modal}>
<View style={styles.top}>
<Image
key={'blurryImage'}
source={require('../assets/Face/loading.gif')}
style={styles.image}
/>
</View>
<View style={styles.bottom}>
<Text style={styles.tips}>正在进行安全检查,请靠中间站稳</Text>
</View>
</View>
</View>
</Modal>
);
}
}
const styles = {
modalBackgroundStyle: {
flex: 1,
backgroundColor: 'rgba(0, 0, 0, 0.5)',
// opacity: 0.8,
},
modal: {
height: '100%',
width: '100%',
// marginLeft: '10%',
// marginTop: '40%',
// borderRadius: 20,
// backgroundColor: '#fff',
flexDirection: 'column',
},
top: {
flex: 0.8,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
},
image: {
// width: '80%',
// height: '80%',
// width: scaleSize(400),
// height: scaleSize(400),
},
bottom: {
flex: 0.2,
flexDirection: 'row',
// alignItems: 'center',
justifyContent: 'center',
},
tips: {
fontSize: setSpText(70),
color: 'red',
},
};
export default LoadingModal;
...@@ -8,6 +8,7 @@ import PhoneModal from '../components/PhoneModal'; ...@@ -8,6 +8,7 @@ import PhoneModal from '../components/PhoneModal';
import VerifyCodeModal from '../components/VerifyCodeModal'; import VerifyCodeModal from '../components/VerifyCodeModal';
import OrderDetailsModal from '../components/OrderDetailsModal'; import OrderDetailsModal from '../components/OrderDetailsModal';
import TipsModal from '../components/TipsModal'; import TipsModal from '../components/TipsModal';
import LoadingModal from '../components/LoadingModal';
import delay from '../utils/delay'; import delay from '../utils/delay';
import Speech from '../utils/Speech'; import Speech from '../utils/Speech';
import WxFacepay from '../utils/WxFacepay'; import WxFacepay from '../utils/WxFacepay';
...@@ -33,6 +34,7 @@ class FacePage extends Component { ...@@ -33,6 +34,7 @@ class FacePage extends Component {
tipsModal: false, tipsModal: false,
faceType: 'wxpay', faceType: 'wxpay',
sleep: true, sleep: true,
loadingModal: false,
}; };
async componentWillMount() { async componentWillMount() {
...@@ -68,6 +70,7 @@ class FacePage extends Component { ...@@ -68,6 +70,7 @@ class FacePage extends Component {
} }
this.phone = _phone; this.phone = _phone;
this.setState({ this.setState({
loadingModal: false,
phoneModal: false, phoneModal: false,
verifyCodeModal: true, verifyCodeModal: true,
}); });
...@@ -135,6 +138,9 @@ class FacePage extends Component { ...@@ -135,6 +138,9 @@ class FacePage extends Component {
}; };
doorOpen = () => { doorOpen = () => {
this.setState({
loadingModal: false,
});
this.wakeUp(); this.wakeUp();
}; };
...@@ -194,6 +200,7 @@ class FacePage extends Component { ...@@ -194,6 +200,7 @@ class FacePage extends Component {
verifyCodeModal: false, verifyCodeModal: false,
current: 1, current: 1,
tipsModal: false, tipsModal: false,
loadingModal: false,
sleep: true, sleep: true,
tip: '', tip: '',
}); });
...@@ -207,11 +214,12 @@ class FacePage extends Component { ...@@ -207,11 +214,12 @@ class FacePage extends Component {
let tipText = ret.msg; let tipText = ret.msg;
Speech.speak(tipText); Speech.speak(tipText);
this.userId = ret.userId; this.userId = ret.userId;
this.setState({tip: tipText, tipsModal: true}); this.setState({tip: tipText, tipsModal: true, loadingModal: false});
if (ret.code === 401) { if (ret.code === 401) {
// 需要验证手机号 // 需要验证手机号
this.setState({ this.setState({
phoneModal: true, phoneModal: true,
loadingModal: false,
}); });
} else if (ret.orders && ret.orders.length > 0) { } else if (ret.orders && ret.orders.length > 0) {
let goodsArr = []; let goodsArr = [];
...@@ -222,6 +230,7 @@ class FacePage extends Component { ...@@ -222,6 +230,7 @@ class FacePage extends Component {
}); });
this.setState({ this.setState({
orderDetailsModal: true, orderDetailsModal: true,
loadingModal: false,
goodsArr, goodsArr,
customerPhone: ret.phone || '0000', customerPhone: ret.phone || '0000',
current: 1, current: 1,
...@@ -231,7 +240,7 @@ class FacePage extends Component { ...@@ -231,7 +240,7 @@ class FacePage extends Component {
let tipText = ret.msg.replace(/扫码/g, '人脸识别'); let tipText = ret.msg.replace(/扫码/g, '人脸识别');
Speech.speak(tipText); Speech.speak(tipText);
if (ret.code !== 1) { if (ret.code !== 1) {
this.setState({tip: tipText, tipsModal: true}); this.setState({tip: tipText, tipsModal: true, loadingModal: false});
} }
} }
} else { } else {
...@@ -295,6 +304,9 @@ class FacePage extends Component { ...@@ -295,6 +304,9 @@ class FacePage extends Component {
wxtoken: res.token, wxtoken: res.token,
nickname: res.nickname, nickname: res.nickname,
}); });
this.setState({
loadingModal: true,
});
this.handleDoorLogin(ret); this.handleDoorLogin(ret);
} }
}; };
...@@ -334,6 +346,9 @@ class FacePage extends Component { ...@@ -334,6 +346,9 @@ class FacePage extends Component {
type: 'store/wxdoor', type: 'store/wxdoor',
alipayUid: res.uid, alipayUid: res.uid,
}); });
this.setState({
loadingModal: true,
});
this.handleDoorLogin(ret); this.handleDoorLogin(ret);
} }
}; };
...@@ -411,6 +426,7 @@ class FacePage extends Component { ...@@ -411,6 +426,7 @@ class FacePage extends Component {
tipsModal, tipsModal,
sleep, sleep,
faceType, faceType,
loadingModal,
} = this.state; } = this.state;
let {dispatch} = this.props; let {dispatch} = this.props;
if (faceType === 'alipay') { if (faceType === 'alipay') {
...@@ -464,6 +480,7 @@ class FacePage extends Component { ...@@ -464,6 +480,7 @@ class FacePage extends Component {
rightTouch={this.closeTips} rightTouch={this.closeTips}
faceType={faceType} faceType={faceType}
/> />
<LoadingModal transparent visible={loadingModal} />
<View style={styles.header}> <View style={styles.header}>
<View style={styles.title}> <View style={styles.title}>
<View style={styles.left}> <View style={styles.left}>
......
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