From 9efb46fe04b3bb9098e92979ae2c658256446f25 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期三, 21 八月 2024 17:18:19 +0800
Subject: [PATCH] -

---
 src/pages/mine/apply.vue |  161 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 134 insertions(+), 27 deletions(-)

diff --git a/src/pages/mine/apply.vue b/src/pages/mine/apply.vue
index 90e5180..bfa16c2 100644
--- a/src/pages/mine/apply.vue
+++ b/src/pages/mine/apply.vue
@@ -39,10 +39,18 @@
 				<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>
-
+				<cameraBufferJpg/>
+				<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="淇濆瓨"></up-button>
 				</view> -->
@@ -53,6 +61,11 @@
 </template>
 
 <script setup>
+	import {
+		onLoad,
+		onShow
+	} from "@dcloudio/uni-app";
+
 	import {
 		apiBaseUrl
 	} from '@/common/setting/constVarsHelper.js';
@@ -67,6 +80,21 @@
 		ref,
 		reactive
 	} from 'vue';
+	let webgl = ref()
+	onLoad(() => {
+		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 radiolist1 = [{
 			name: '鐢�',
 		},
@@ -105,33 +133,59 @@
 
 	// 浣跨敤 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()
+		status.value = !status.value
+		// wx.startFacialRecognitionVerify()
+		// const session = wx.createVKSession({
+		// 	track: {
+		// 		face: {
+		// 			mode: 1
+		// 		} // mode: 1 - 浣跨敤鎽勫儚澶达紱2 - 鎵嬪姩浼犲叆鍥惧儚
+		// 	},
+		// })
+		// // 闈欐�佸浘鐗囨娴嬫ā寮忎笅锛屾瘡璋冧竴娆� detectFace 鎺ュ彛灏变細瑙﹀彂涓�娆� updateAnchors 浜嬩欢
+		// session.on('updateAnchors', 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)
+		// 	})
+		// })
+
+		// // 闇�瑕佽皟鐢ㄤ竴娆� start 浠ュ惎鍔�
+		// session.start(errno => {
+		// 	if (errno) {
+		// 		console.log(errno)
+		// 		// 濡傛灉澶辫触锛屽皢杩斿洖 errno
+		// 	} else {
+		// 		// 鍚﹀垯锛岃繑鍥瀗ull锛岃〃绀烘垚鍔�
+		// 		session.detectFace({
+		// 			frameBuffer, // 鍥剧墖 ArrayBuffer 鏁版嵁銆備汉鑴稿浘鍍忓儚绱犵偣鏁版嵁锛屾瘡鍥涢」琛ㄧず涓�涓儚绱犵偣鐨� RGBA
+		// 			width, // 鍥惧儚瀹藉害
+		// 			height, // 鍥惧儚楂樺害
+		// 			scoreThreshold: 0.5, // 璇勫垎闃堝��
+		// 			sourceType: 1,
+		// 			modelMode: 1,
+		// 		})
+		// 	}
+		// })
+		// wx.chooseMedia({
+		// 	count:1,
+		// 	sourceType: ['camera'],
+		// 	mediaType: ['image'],
+		// 	maxDuration: 60,
+		// 	camera: 'front',
+		// 	success(res) {
+		// 		for (let i = 0; i < res.tempFiles.length; i++) {
+		// 			console.log("===111===" + res.tempFiles[i].tempFilePath)
+		// 			console.log("===222===" + res.tempFiles[i].size)
+		// 		}
+		// 	}
+		// })
 		// $api.IaiAddPerso({}, userInfo).then(res => {
 		// 	console.log(res, '浜鸿劯璇嗗埆');
 		// })
@@ -216,6 +270,59 @@
 		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