<template>
  <view class="content">
      <uni-frv-external-realname ref="frv"  @start="startVerify" @finish="verifyFinish"></uni-frv-external-realname>
  </view>
</template>

<script>
import { UploadFile } from './utils/uploads'
export default {
  data() {
    return {
      isCertified: false,
      realName: '',
      idCard: '',
	  ossData:null,
	  certifyId:'',
	  MetaInfo:null,
	  eventChannel: null,
    }
  },
  onLoad() {
	this.eventChannel = this.getOpenerEventChannel()
	this.MetaInfo=uni.getFacialRecognitionMetaInfo()
	const { idCard,realName}=uni.getStorageSync('userFData')
	this.realName=realName
	this.idCard=idCard
	this.initOss()
	this.startVerifys()
  },
  methods: {
	initOss(){
		const self=this
		const FilePath = "DDH/face";
		const params={
			fileName: 'jpg', //图片名
			fileType: FilePath,
		}
		self.$request('/app/v1/oss', 'GET',params).then(res => {
			console.log(res.result,'oss')
			self.ossData=res.result
			
		}).catch(err => {
			console.log(err, '请求出错')
		})  
	},
	startVerifys () {
		console.log('44325')
		// {realName,idCard,metaInfo}
	  const self = this
	  const params={
		appId:'__UNI__DE04B13',
		realName:self.realName,
		idCard:self.idCard,
		metaInfo:self.MetaInfo
	  }
	  console.log(params,'params')
	  self.$request('/app/v1/ocrTokenByUni', 'POST',params).then(res => {
		const {ocrToken}=res.result
		console.log(res.result)
		
		if(ocrToken.certifyId){
			self.certifyId=ocrToken.certifyId
			self.$refs.frv.startFacialRecognitionVerify(ocrToken.certifyId)
		}else{
			const {message}=ocrToken.error
			uni.showToast({
				title:message,
				icon: "none",
			})
		}
		
	  }).catch(err => {
	  	console.log(err, '请求出错')
	  })
	},
    async startVerify () {
		console.log('44325')
		// {realName,idCard,metaInfo}
	  const self = this
	  const params={
		appId:'__UNI__DE04B13',
		realName:self.realName,
		idCard:self.idCard,
		metaInfo:self.MetaInfo
	  }
	  console.log(params,'params')
	  self.$request('/app/v1/ocrTokenByUni', 'POST',params).then(res => {
	  	
		const {ocrToken}=res.result
		console.log(res.result)
		if(ocrToken.certifyId){
			self.certifyId=ocrToken.certifyId
			self.$refs.frv.startFacialRecognitionVerify(ocrToken.certifyId)
		}else{
			uni.showToast({
				title:ocrToken.errMsg,
				icon: "none",
			})
		}
		
	  }).catch(err => {
	  	console.log(err, '请求出错')
	  })
    },
    async verifyFinish () {
		const self = this
		const params={
			appId:'__UNI__DE04B13',
			certifyId:self.certifyId
		}
		self.$request('/app/v1/resultByUni', 'POST',params).then(res => {
			console.log(res,'resultByUni')
			const {ocrToken }=res.result
			UploadFile(self.ossData,`data:image/jpg;base64,${ocrToken.photo}`).then(file=>{
				console.log(file.fileUrl)
				uni.setStorageSync('fileUrlFace',file.fileUrl)
				this.eventChannel.emit('send', JSON.stringify(file.fileUrl))
				self.Back()
			})
		}).catch(err => {
			console.log(err, '请求出错')
		})
    },
  }
}
</script>

<style>

</style>