From 447e19fa298ae11a1c3a3fa2d2ff3a1a8dba0501 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 29 八月 2024 17:15:29 +0800
Subject: [PATCH] -

---
 src/pages/mine/apply.vue |  243 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 163 insertions(+), 80 deletions(-)

diff --git a/src/pages/mine/apply.vue b/src/pages/mine/apply.vue
index 90e5180..a4378db 100644
--- a/src/pages/mine/apply.vue
+++ b/src/pages/mine/apply.vue
@@ -1,51 +1,63 @@
 <template>
-	<view class="full-page">
+	<view class="full-page-fff">
 		<view class="content">
-			<up-form labelPosition="left" :model="userInfo" :rules="rules" ref="form1" labelWidth='90'>
-				<up-form-item label="韬唤璇佹闈�" prop="userInfo.sex" required borderBottom @click="uploadIdCard('FRONT')"
-					ref="item1">
+			<up-form labelPosition="left" :model="userInfo" :rules="rules" ref="form1" labelWidth='80'>
+				<up-form-item label="韬唤璇佹闈�" prop="userInfo.idCardFace" required>
 					<fui-upload immediate :url="`${apiBaseUrl}api/UpFile/UploadIdCord?PageName=FRONT`" ref="uploadF"
-						max='1' background='#fff' @success="success" @error="error" @complete="complete" width="300"
-						height="150">
-						<image src="/static/positive.png" mode="widthFix" style="width: 300rpx;height: 150rpx;"></image>
+						max='1' background='#fff' @success="success('FRONT',$event)" @error="error" @complete="complete"
+						width="300" height="150">
+						<image :src="userInfo.idCardFace?userInfo.idCardFace:'/static/positive.png'" mode="widthFix"
+							style="width: 300rpx;height: 150rpx;"></image>
 					</fui-upload>
 					<!-- <template #right>
 						<up-icon name="arrow-right"></up-icon>
 					</template> -->
 				</up-form-item>
-				<up-form-item label="韬唤璇佸弽闈�" prop="userInfo.sex" required borderBottom ref="item1">
+				<up-form-item label="韬唤璇佸弽闈�" prop="userInfo.idCardBack" required>
 					<fui-upload immediate :url="`${apiBaseUrl}api/UpFile/UploadIdCord?PageName=Back`" ref="uploadB"
-						max='1' background='#fff' @success="success" @error="error" @complete="complete" width="300"
-						height="150">
-						<image src="/static/negative.png" mode="widthFix" style="width: 300rpx;height: 150rpx;"></image>
+						max='1' background='#fff' @success="success('Back',$event)" @error="error" @complete="complete"
+						width="300" height="150">
+						<image :src="userInfo.idCardBack?userInfo.idCardBack:'/static/negative.png'" mode="widthFix"
+							style="width: 300rpx;height: 150rpx;"></image>
 					</fui-upload>
 				</up-form-item>
-				<up-form-item label="濮撳悕" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ュ鍚�"></up-input>
+				<up-form-item label="濮撳悕" required prop="userInfo.name" ref="item1">
+					<up-input v-model="userInfo.name" border="none" placeholder="璇疯緭鍏ュ鍚�" readonly></up-input>
 				</up-form-item>
-				<up-form-item label="鎬у埆" required prop="Gender" borderBottom ref="item2">
+				<up-form-item label="鑱旂郴鐢佃瘽" required prop="userInfo.phone" ref="item1">
+					<up-input v-model="userInfo.phone" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
+				</up-form-item>
+				<up-form-item label="韬唤璇佸彿" required prop="userInfo.idCode" ref="item1">
+					<up-input v-model="userInfo.idCode" border="none" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" readonly></up-input>
+				</up-form-item>
+				<up-form-item label="鑱旂郴鍦板潃" required prop="userInfo.address" ref="item1">
+					<up-input v-model="userInfo.address" border="none" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�"></up-input>
+				</up-form-item>
+				<up-form-item label="绠�鍘嗘弿杩�" required prop="userInfo.resume" ref="item1">
+					
+				</up-form-item>
+				<up-textarea v-model="userInfo.resume" placeholder="璇疯緭鍏ョ畝鍘嗘弿杩�"></up-textarea>
+				<!-- <up-form-item label="鎬у埆" required prop="Gender"   ref="item2">
 					<up-radio-group v-model="userInfo.Gender">
 						<up-radio :customStyle="{marginRight: '16px'}" v-for="(item, index) in radiolist1" :key="index"
 							:label="item.name" :name="item.name">
 						</up-radio>
 					</up-radio-group>
-				</up-form-item>
-				<up-form-item label="鑱旂郴鐢佃瘽" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
-				</up-form-item>
-				<up-form-item label="韬唤璇佸彿" required prop="userInfo.name" borderBottom ref="item1">
-					<up-input v-model="state.model1.userInfo.name" border="none" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"></up-input>
-				</up-form-item>
-				<up-form-item label="绠�鍘嗘弿杩�" required prop="userInfo.name" borderBottom ref="item1">
-					<up-textarea v-model="state.model1.userInfo.name" placeholder="璇疯緭鍏ョ畝鍘嗘弿杩�"></up-textarea>
-				</up-form-item>
-
-				<view class="tabbtns">
-					<up-button color='#fece01' class="text-69" text="浜鸿劯璇嗗埆" @click='IaiAddPerso'></up-button>
-				</view>
-				<!-- <view class="tabbtns">
-					<up-button color='#fece01' class="text-69" text="淇濆瓨"></up-button>
+				</up-form-item> -->
+				<!-- <view class="text-area">
+					<camera device-position="front" style="width: 100%; height: 600rpx;"></camera>
 				</view> -->
+				<!-- <view class="tabbtns">
+					<up-button color='#fece01' class="text-69" text="浜鸿劯璇嗗埆" @click='IaiAddPerso'></up-button>
+				</view> -->
+
+
+				<!-- <up-popup :show="show" @close="close" @open="open"> -->
+				<!-- <tem-session/> -->
+				<!-- </up-popup> -->
+				<view class="tabbtns">
+					<up-button color='#fece01' class="text-69" text="淇濆瓨" @click='saveUserWorker'></up-button>
+				</view>
 			</up-form>
 		</view>
 
@@ -54,6 +66,11 @@
 
 <script setup>
 	import {
+		onLoad,
+		onShow
+	} from "@dcloudio/uni-app";
+
+	import {
 		apiBaseUrl
 	} from '@/common/setting/constVarsHelper.js';
 	import {
@@ -61,12 +78,43 @@
 	} from 'vue'
 	const {
 		$upload,
-		$api
+		$api,
+		$util,
+		$db
 	} = getCurrentInstance().appContext.config.globalProperties
 	import {
 		ref,
 		reactive
 	} from 'vue';
+
+	// let webgl = ref()
+	onLoad(() => {
+		let data = JSON.parse($db.get('userInfo'))
+		if (data) {
+			userInfo.idCardFace = data.userWorker.idCardFace //韬唤璇佹闈㈣矾寰�
+			userInfo.idCardBack = data.userWorker.idCardBack //韬唤璇佸弽闈㈣矾寰�
+			userInfo.name = data.userWorker.name //濮撳悕
+			userInfo.phone = data.userWorker.phone //鐢佃瘽鍙风爜
+			userInfo.idCode = data.userWorker.idCode //韬唤璇佸彿
+			userInfo.address = data.userWorker.address //鑱旂郴鍦板潃
+			userInfo.resume = data.userWorker.resume //绠�鍘嗘弿杩�
+			userInfo.id = data.userWorker.id
+		}
+		// let cameraEngine = wx.createCameraContext()
+		// // 3銆佽幏鍙� Camera 瀹炴椂甯ф暟鎹�
+		// const listener = cameraEngine.onCameraFrame((frame) => {
+		// 	// console.log(frame)
+		// 	if (!status.value) {
+		// 		return
+		// 	}
+		// 	jiance(frame)
+		// })
+		// // 5銆佸紑濮嬬洃鍚抚鏁版嵁
+		// listener.start()
+	})
+
+	let status = ref(false)
+	let form1 = ref()
 	let radiolist1 = [{
 			name: '鐢�',
 		},
@@ -75,9 +123,14 @@
 		}
 	]
 	const userInfo = reactive({
-		CordId: '430621198204264616',
-		Name: '閭瑰ぇ蹇�',
-		Gender: 1
+		idCardFace: '', //韬唤璇佹闈㈣矾寰�
+		idCardBack: '', //韬唤璇佸弽闈㈣矾寰�
+		name: '', //濮撳悕
+		phone: '', //鐢佃瘽鍙风爜
+		idCode: '', //韬唤璇佸彿
+		address: '', //鑱旂郴鍦板潃
+		resume: '', //绠�鍘嗘弿杩�
+		id: 0
 	})
 	// 浣跨敤 reactive 鍒涘缓鍝嶅簲寮忕姸鎬�  
 	const state = reactive({
@@ -105,45 +158,24 @@
 
 	// 浣跨敤 ref 鍒涘缓鍝嶅簲寮忓紩鐢�  
 	const formRef = ref(null);
-	const session = wx.createVKSession({
-	 track: {
-	 	face: {mode: 2}
-	 },
-	 version: 'v1',
-	})
-	// 閫愬抚鍒嗘瀽
-	const onFrame = timestamp => {
-	  // 寮�鍙戣�呭彲浠ヨ嚜宸辨帶鍒跺抚鐜�
-	  const frame = session.getVKFrame(canvasWidth, canvasHeight)
-	    if (frame) {
-	      // 鍒嗘瀽瀹屾瘯锛屽彲浠ユ嬁鍒板抚瀵硅薄
-	      doRender(frame)
-	    }
-	
-	  session.requestAnimationFrame(onFrame)
-	}
-	session.start(err => {
-	  if (!err) session.requestAnimationFrame(onFrame)
-	})
-	
-	// 娓叉煋鍑芥暟
-	const doRender = frame => {
-	  // ...
-	}
+
+
+
 	const IaiAddPerso = (e) => {
-		onFrame()
-		// $api.IaiAddPerso({}, userInfo).then(res => {
-		// 	console.log(res, '浜鸿劯璇嗗埆');
-		// })
-	}
-	// 瀹氫箟鏂规硶  
-	function sexSelect(e) {
-		state.model1.userInfo.sex = e.name;
-		if (formRef.value) {
-			formRef.value.validateField('userInfo.sex');
-		}
+
 	}
 
+	const saveUserWorker = (e) => {
+		$api.saveUserWorker(userInfo).then(res => {
+			if (res.code == 1) {
+				$util.showToast({
+					title: "淇濆瓨鎴愬姛锛�",
+					icon: "success"
+				})
+			}
+		})
+		console.log(userInfo, form1);
+	}
 	//涓婁紶鍥剧墖Base64
 	const uploadFilesFByBase64s = (el) => {
 		$api.UpdateFileBase64({
@@ -190,20 +222,17 @@
 
 	}
 	//涓婁紶鎴愬姛鏃惰Е鍙�
-	const success = (e) => {
-		console.log(e)
+	const success = (text, e) => {
 		//e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁
 		//涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐��
 		let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}")
-
-		if (res.data.url) {
-			userInfo.CordId = res.data.info.idNum
+		if (res.data.url && text == 'FRONT') {
+			userInfo.idCardFace = res.data.url //韬唤璇佹闈㈣矾寰�
+			userInfo.idCode = res.data.info.idNum //韬唤璇佸彿
 			userInfo.name = res.data.info.name
-			userInfo.Gender = res.data.info.sex
-			//澶勭悊缁撴灉杩斿洖缁欑粍浠� 
-			//res.data.url涓轰笂浼犳垚鍔熷悗杩斿洖鐨勫浘鐗囧湴鍧�
-			//e.index涓哄浘鐗囩储寮曞��
-			// this.$refs.upload.result(res.data.url, e.index)
+			userInfo.address = res.data.info.address
+		} else {
+			userInfo.idCardBack = res.data.url //韬唤璇佸弽闈㈣矾寰�
 		}
 	}
 	//涓婁紶澶辫触鏃惰Е鍙�
@@ -212,10 +241,64 @@
 	const complete = (e) => {
 		if (e.action == 'delete') {
 			// 鍒犻櫎澶勭悊
+
 		}
 		console.log(e, '鍒犻櫎')
 
 	}
+	const jiance = (imgbuffer) => {
+		// var frameBuffer =
+		const session = wx.createVKSession({
+			track: {
+				face: {
+					mode: 2
+				} // mode: 1 - 浣跨敤鎽勫儚澶达紱2 - 鎵嬪姩浼犲叆鍥惧儚
+			},
+			version: 'v1'
+
+		})
+		const onFrame = timestamp => {
+			console.log(webgl, 'webgl');
+			const frame = session.getVKFrame(webgl.width, webgl.height)
+			if (frame) {
+				console.log(frame);
+				// renderFrame(frame)
+			}
+
+			session.requestAnimationFrame(onFrame)
+		}
+		session.start(errno => {
+			if (errno) {
+				// 濡傛灉澶辫触锛屽皢杩斿洖 errno
+			} else {
+				// 鍚﹀垯锛岃繑鍥瀗ull锛岃〃绀烘垚鍔�
+				session.detectFace({
+					frameBuffer: imgbuffer.data, // 鍥剧墖 ArrayBuffer 鏁版嵁銆備汉鑴稿浘鍍忓儚绱犵偣鏁版嵁锛屾瘡鍥涢」琛ㄧず涓�涓儚绱犵偣鐨� RGBA
+					width: imgbuffer.width, // 鍥惧儚瀹藉害
+					height: imgbuffer.height,
+					scoreThreshold: 0.8, // 璇勫垎闃堝��
+					sourceType: 1,
+					modelMode: 0,
+				})
+			}
+
+			session.requestAnimationFrame(onFrame)
+		})
+
+		session.on('updateAnchors', anchors => {
+			console.log("妫�娴嬪埌浜鸿劯", anchors)
+
+			anchors.forEach(anchor => {
+				console.log('anchor.points', anchor.points)
+				console.log('anchor.origin', anchor.origin)
+				console.log('anchor.size', anchor.size)
+				console.log('anchor.angle', anchor.angle)
+			})
+		})
+		session.on('removeAnchors', () => {
+			console.log("浜鸿劯娑堝け", "removeAnchors")
+		})
+	}
 </script>
 
 <style>

--
Gitblit v1.9.1