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