Commit 1af91262 by Confettis

test

parent e09493fe
import React from 'react';
import {Dimensions, AppState, BackHandler, ToastAndroid} from 'react-native';
import AsyncStorage from '@react-native-community/async-storage';
import {connect} from 'react-redux';
import qs from 'qs';
import axios from 'axios';
import io from 'socket.io-client';
import qs from 'qs';
import React from 'react';
import {AppState, BackHandler, Dimensions, ToastAndroid} from 'react-native';
import codePush from 'react-native-code-push';
import Toast from './components/Toast';
import {connect} from 'react-redux';
import io from 'socket.io-client';
import pack from '../package.json';
import Placeholder from './components/Placeholder';
import router from './router';
import Toast from './components/Toast';
import models from './models';
import router from './router';
import {counterInterval} from './utils/authInterval';
import {counterLogin} from './utils/authLogin';
import AutoClick from './utils/AutoClick';
import {host} from './utils/config';
import dva from './utils/dva';
import Speech from './utils/Speech';
import Installer from './utils/Installer';
import Restart from './utils/Restart';
import Speech from './utils/Speech';
import TcpRelay from './utils/TcpRelay';
import Installer from './utils/Installer';
import UdpBroadcast from './utils/UdpBroadcast';
import {counterInterval} from './utils/authInterval';
import {counterLogin} from './utils/authLogin';
import {host} from './utils/config';
import pack from '../package.json';
import AutoClick from './utils/AutoClick';
const {width: _width, height: _height} = Dimensions.get('window');
......
src/assets/loading.gif

376 KB | W: | H:

src/assets/loading.gif

375 KB | W: | H:

src/assets/loading.gif
src/assets/loading.gif
src/assets/loading.gif
src/assets/loading.gif
  • 2-up
  • Swipe
  • Onion skin
import React, {Component} from 'react';
import {View, Text, Image} from 'react-native';
import AsyncStorage from '@react-native-community/async-storage';
import {connect} from 'react-redux';
// import RtcEngine from 'react-native-agora';
import Touch from '../components/Touch';
import PhoneModal from '../components/PhoneModal';
import VerifyCodeModal from '../components/VerifyCodeModal';
import React, {Component} from 'react';
import {Image, Text, View} from 'react-native';
import QRCode from 'react-native-qrcode-svg';
import Icons from 'react-native-vector-icons/MaterialIcons';
import {connect} from 'react-redux';
import phone from '../assets/Vertical/phone.png';
import LoadingModal from '../components/LoadingModal';
// import OrderDetailsModal from '../components/OrderDetailsModal';
import OrderDetailMini from '../components/OrderDetailMini';
import PhoneModal from '../components/PhoneModal';
import Screensaver from '../components/Screensaver';
import TipsModal from '../components/TipsModal';
import LoadingModal from '../components/LoadingModal';
import delay from '../utils/delay';
import Speech from '../utils/Speech';
import WxFacepay from '../utils/WxFacepay';
import Smilepay from '../utils/Smilepay';
import phone from '../assets/Vertical/phone.png';
import {onTalkCall, leaveTalkCall} from '../utils/agora';
import Toast from '../components/Toast';
import Screensaver from '../components/Screensaver';
import {width, setSpText, scaleSize} from '../utils/screen';
import {qrHost} from '../utils/config';
import Icons from 'react-native-vector-icons/MaterialIcons';
// import RtcEngine from 'react-native-agora';
import Touch from '../components/Touch';
import VerifyCodeModal from '../components/VerifyCodeModal';
import {leaveTalkCall, onTalkCall} from '../utils/agora';
import AutoClick from '../utils/AutoClick';
import {qrHost} from '../utils/config';
import delay from '../utils/delay';
import {scaleSize, setSpText, width} from '../utils/screen';
import Smilepay from '../utils/Smilepay';
import Speech from '../utils/Speech';
import validity from '../utils/validity';
import WxFacepay from '../utils/WxFacepay';
@connect(({admin}) => ({admin}))
class FacePage extends Component {
......@@ -41,7 +41,7 @@ class FacePage extends Component {
tip: '',
tipsModal: false,
faceType: 'wxpay',
sleep: true, // 屏保模式
sleep: false, // 屏保模式
loadingModal: false,
qrCode: '',
goTipsModal: false,
......@@ -187,6 +187,7 @@ class FacePage extends Component {
}, timeout);
};
/**
* TODO: 疑似没有同步
* 拉取数据,同步至state
*/
getOrderDetailMiniCounter = async () => {
......@@ -240,7 +241,7 @@ class FacePage extends Component {
/**
* 按下按钮开门
*/
doorOpen = ({action, sense}) => {
doorOpen = async ({action, sense}) => {
if (action) this.action = action;
if (!this.sense && sense) this.sense = sense;
if (action === '进店') this.action = 'leave';
......@@ -254,6 +255,9 @@ class FacePage extends Component {
else if (this.action === 'leave') {
// 出门身份识别提示
Speech.speak('正在进行安全检查');
this.state.faceType === 'wxpay'
? await this.wxFacepay()
: await this.smilepay();
// this.getOrderDetailMiniCounter();
// this.orderDetailMiniPop(30000);
// this.loading(true, 30000);
......@@ -307,8 +311,8 @@ class FacePage extends Component {
if (faceType === 'wxpay') {
if (this.sense) {
// 开通支付分
this.payscore();
} else {
// this.payscore();
// } else {
// 微信刷脸
this.wechatFace();
}
......@@ -728,6 +732,83 @@ class FacePage extends Component {
window.socket.emit('jokerOpen', true, 'enter');
};
wxFacepay = async () => {
const auth = (await this.payscoreAuthinfo()) || {};
let params = null;
if (auth.bizCode === '0000') {
// 随行付支付
params = {
appid: auth.subAppId,
mch_id: auth.subMchId,
store_id: this.storeKey,
authinfo: auth.authInfo,
ask_face_permit: 1,
face_code_type: '1',
};
} else if (auth.sub_mchid_info) {
// 扫呗支付
const info = JSON.parse(auth.sub_mchid_info);
params = {
appid: info.sub_serv_appid,
mch_id: info.sub_serv_no,
store_id: this.storeKey,
authinfo: auth.authinfo,
face_authtype: 'FACEPAY',
sub_appid: info.sub_appid,
sub_mch_id: info.sub_mch_id,
out_trade_no: auth.out_trade_no,
ask_face_permit: 1,
face_code_type: auth.auth_no_type,
};
}
if (!params) {
if (this.faceRetry) {
this.faceRetry = false;
Speech.speak('刷脸支付启动失败,请重新刷脸或扫码支付', true);
} else {
this.faceRetry = true;
this.wxFacepay(); // 重试
}
return;
}
let res = await WxFacepay.facepay(params);
if (!res && !AutoClick.enable) {
res = await WxFacepay.facepay(params);
}
if (res.face_code) {
this.faceRetry = false;
}
};
smilepay = async () => {
await this.alipayinfo();
if (!this.alipayInfo || !this.alipayInfo.metaInfo) {
Speech.speak('刷脸支付启动失败,请重新刷脸或扫码支付', true);
return;
}
const {data} = await this.props.dispatch({
type: 'goods/smilepay',
zimmetainfo: this.alipayInfo.metaInfo,
});
if (data.code === 1) {
const res = await Smilepay.verify(JSON.parse(data.data));
if (res.code !== '1000') {
Toast.show(res.msg);
return;
}
// const balanceData = await this.props.balancePay(res.uid);
// if (balanceData.code !== 1) {
// await this.props.barcodepay(
// res.fToken,
// true,
// null,
// res.fToken,
// res.uid,
// );
// }
}
};
render() {
const {
verifyCodeModal,
......@@ -797,7 +878,7 @@ class FacePage extends Component {
faceType={faceType}
/> */}
<OrderDetailMini
visible={orderDetailMini}
visible={OrderDetailMini}
transparent
onRequestClose={this.handleOrderClose}
goodsArr={goodsArr}
......
......@@ -2,7 +2,7 @@ const app = ''; // eg: .25h/.eg
export const isProd = process.env.NODE_ENV === 'production';
export const host = isProd
? `https://api${app}.vs-u.com`
: 'http://192.168.88.88:7001';
: 'http://192.168.88.43:7001';
export const login = `https://m${app}.vs-u.com`;
export const qrHost = login;
export const imgUrl = 'http://barcod.oss-cn-shenzhen.aliyuncs.com/images/';
......
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