npmchenwei111
Version:
test1111
142 lines (130 loc) • 4.36 kB
JavaScript
/**
* Created by chenwei on 2017/8/22.
*/
import Screens from '../../../constant/Screens'
import { DeviceEventEmitter } from 'react-native'
import EmitterReactEvent from '../../../constant/EmitterReactEvent'
import YTInvokeBaseUserInfoH5 from '../../../../src/native/public/YTInvokeBaseUserInfoH5'
import YTInvokeOtherUserInfoH5 from '../../../../src/native/public/YTInvokeOtherUserInfoH5'
import UrlParser from '../../../utils/UrlParser'
import Sensors from '../../../constant/Sensors'
import RequestSimplify from '../../../utils/RequestSimplify'
import YoujieApi from '../../../api/YoujieApi'
import YTShowToast from '../../../../src/native/YTShowToast'
import YTInvokeJumpUtils from '../../../../src/native/YTInvokeJumpUtils'
import YTInvokeIdCardInformation from '../../../../src/native/public/YTInvokeIdCardInformation'
const Actions = {
AUTH_USER_INFO: 'baseinfo',
AUTH_MOBILE: 'mobile',
AUTH_ZHIMA: 'zhima',
AUTH_ID_CARD: 'idcard',
AUTH_OTHER_INFO: 'otherinfo',
ORDERDETAIL: 'orderdetail',
MATCH: 'match',
RESULT: 'result',
LOAN_LIST: 'loanlist',
CHOOSELOAN: 'chooseloan',
CHECK: 'check',
HOME: 'home'
}
class AuthData {
handleAction (nav, infoUrl, extra) {
if (!infoUrl) return
if (infoUrl.contains(Actions.AUTH_USER_INFO)) {
YTInvokeBaseUserInfoH5.jump('基本信息认证').then(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
}).catch(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
})
Sensors.analyseContent(Sensors.YJAPP_IDENTIFICATION_GO, {
type: Actions.AUTH_USER_INFO
})
}
if (infoUrl.contains(Actions.AUTH_MOBILE)) {
nav.navigate(Screens.CarrierScreen)
Sensors.analyseContent(Sensors.YJAPP_IDENTIFICATION_GO, {
type: Actions.AUTH_MOBILE
})
}
if (infoUrl.contains(Actions.AUTH_ZHIMA)) {
nav.navigate(Screens.ZmxyPageScreen)
Sensors.analyseContent(Sensors.YJAPP_IDENTIFICATION_GO, {
type: Actions.ZmxyPageScreen
})
}
if (infoUrl.contains(Actions.AUTH_ID_CARD)) {
YTInvokeIdCardInformation.jump().then(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
}).catch(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
})
Sensors.analyseContent(Sensors.YJAPP_IDENTIFICATION_GO, {
type: Actions.AUTH_ID_CARD
})
}
if (infoUrl.contains(Actions.AUTH_OTHER_INFO)) {
YTInvokeOtherUserInfoH5.jump().then(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
}).catch(() => {
DeviceEventEmitter.emit(EmitterReactEvent.REFRESH_INDEX_PAGE)
})
Sensors.analyseContent(Sensors.YJAPP_IDENTIFICATION_GO, {
type: Actions.AUTH_OTHER_INFO
})
}
if (infoUrl.contains(Actions.MATCH)) {
nav.navigate(Screens.LoanMatchScreen, {sysBack: true})
}
if (infoUrl.contains(Actions.RESULT)) {
nav.navigate(Screens.MatchResultScreen, {sysBack: true})
}
if (infoUrl.contains(Actions.ORDERDETAIL)) {
let map = UrlParser.toMap(infoUrl)
this._doActionOrderDetail(map['orderNo'])
}
if (infoUrl.contains(Actions.CHOOSELOAN)) {
this._doActionChooseLoan(nav, extra)
}
if (infoUrl.contains(Actions.CHECK)) {
nav.navigate(Screens.MessageAuthenticationScreen, {sysBack: true})
}
if (infoUrl.contains(Actions.HOME)) {
YTInvokeJumpUtils.jumpLoanHome({
tab: 'home'
})
}
if (infoUrl.contains(Actions.LOAN_LIST)) {
YTInvokeJumpUtils.jumpLoanHome({
tab: 'loan'
})
}
}
/**
* 跳转订单详情
* @param nav
* @param orderNo
* @private
*/
_doActionOrderDetail (nav, orderNo) {
if (orderNo) {
nav.navigate(Screens.OrderDetailScreen, {orderNo: orderNo})
} else {
YTShowToast.show('订单号为空')
}
}
/**
* 匹配选择页面
* @param nav
* @param extra
* @private
*/
_doActionChooseLoan (nav, extra) {
RequestSimplify.fetch(YoujieApi.match_company, {
amount: (extra && extra.amount) ? extra.amount : '1000',
period: (extra && extra.period) ? extra.period : '7天',
}, (res) => {
nav.navigate(Screens.LoanMatchScreen, {sysBack: true})
})
}
}
export default new AuthData()