微信小程式人工智慧之刷臉登入
首先是小程式使用者端的頁面
<camera device-position="{{position}}" flash="off" binderror="error" style="width: 100%; height: 300px;"></camera> <view class="weui-cell__ft" > <switch checked bindchange='switch1Change' style='margin:20rpx;'/> </view> <button type="primary" bindtap="takePhoto">刷臉登入</button>
接下來就是當點選刷臉登入時,可以看到綁定了一個事件 takePhone 此時在此事件中呼叫已經寫好的介面在 .js中實現登入
js程式碼
takePhoto() { const ctx = wx.createCameraContext() ctx.takePhoto({ quality: 'high', success: (res) => { var tempImagePath = res.tempImagePath; // console.log(tempImagePath); wx.showLoading({ title: '正在核驗身份....', }) this.setData({logindisabled:true}) wx.uploadFile({ url: app.globalData.url.login, //僅為示例,非真實的介面地址 filePath: tempImagePath, header:{ Cookie: wx.getStorageSync('session_id') }, name: 'file', success: (res)=> { wx.hideLoading(); this.setData({logindisabled:false}); var data = res.data; console.log(data); wx.showModal({ title: '提示', content: data, showCancel:false }) //do something } }) } }) },
呼叫的介面
//刷臉登入 public function login(){ $dir = "./Uploads/temp/"; if(!file_exists($dir)){ mkdir($dir, 0777, true); } $upload = new \Think\Upload();// 例項化上傳類 $upload->maxSize = 3145728 ;// 設定附件上傳大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳型別 $upload->rootPath = $dir; // 設定附件上傳根目錄 $upload->savePath = ''; // 設定附件上傳(子)目錄 $upload->autoSub = false; // 上傳檔案 $info = $upload->uploadOne($_FILES['file']); if(!$info) {// 上傳錯誤提示錯誤資訊 // return $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError())); return json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE); }else{// 上傳成功 獲取上傳檔案資訊 // return $this->ajaxReturn(array('error'=>false,'msg'=>'ok')); $file = $dir . $info['savepath'] . $info['savename']; $image = base64_encode(file_get_contents($file)); // 呼叫人臉檢測 $client = $this->init_face(); $options['liveness_control']='NORMAL'; $options["max_face_num"] = 1; $ret = $client->search($image,'BASE64','pingjiao',$options); // echo json_encode($ret,JSON_UNESCAPED_UNICODE); // exit; if($ret['error_code']==0){ $user=$ret['result']['user_list'][0]; $no=$user['user_id']; $score=$user['score']; if(!empty('no')){ $data=M('student')->field('no,name,sex')->where("no='{$no}'")->find(); if($data){ $data['score']=$score; if($score>95){ echo '姓名:'.$data['name']; }else{ echo json_encode($data,JSON_UNESCAPED_UNICODE); } }else{ echo "本地資料庫沒有該學生,百度雲資訊:個人資訊:{$no}, 分值:{$score}"; } } }else{ echo '活體檢驗失敗,'.json_encode($ret,JSON_UNESCAPED_UNICODE); } } }
相關推薦
微信小程式人工智慧之刷臉登入
首先是小程式使用者端的頁面 <camera device-position="{{position}}" flash="off" binderror="error" style="width: 100%; height: 300px;"></camera&
微信小程式人工智慧之新增學生資訊
我們需要根據學生的基本資訊來識別人臉wxml<!--pages/add/add.wxml--> <form bindsubmit='formSubmit'> <view class="weui-cells__title">填寫個人資訊&
【微信小程式學習之路】----使用globalData函式設定全域性變數
我們在app.js中設定需要的全域性變數的引數,比如公司名稱等 //app.js App({ globalData: { title: 'tomatocc' } }) 然後我們就可以在某個頁面的js檔案中(比如index.js)的data數組裡面去直
【微信小程式學習之路】----使用template模板所遇到的問題
官方文件的demo過於簡單,本人嘗試幾次也沒有弄懂,找了幾個demo後才漸漸瞭解清楚小程式的模板是怎麼玩的。並且展示一個簡單的demo 首先來看我們的專案結構:主要用到index.js,index.wxml,temp.js,temp.wxml 首先,我
微信小程式專案之失物招領平臺-1.專案的建立
1.開發工具:微信web開發者工具 2.相關文件:微信公共平臺 3.使用到的微信小程式UI元件庫:wuss-weapp 4.使用微信web開發者工具建立一個小程式專案,專案名:lostandfound(appId可到微信公眾平臺申請,若沒有appId小程式的一些相關的功能無法使用) 5.將wus
微信小程式——元件之swiper
大家看到許多網頁的首頁面都會有圖片的輪播,圖片輪播:既能通過圖片增加整個頁面的美觀程度,又能讓客戶一眼看出網頁想要表達的內容。那麼,今天我們就通過swiper實現圖片的輪播效果,簡單又好看。 /**wxml**/ <swiper indicator={{是否顯示面板指示點}}
微信小程式入門之使用者登陸態
微信小程式的設定是不支援session,那麼cookie之流肯定是用不了的。微信對wx.request這個API做了修改,小程式發起的請求並不是直接請求我們的後臺伺服器,而是先通過微信的伺服器再發送到我們的後臺伺服器,既然請求都是要通過微信的伺服器傳送到我們的伺服器,那麼我們的伺服器也就無從識別請求
未明學院學員報告:「最強微信小程式打造之路」
報告作者:鄒格格、馮雨晴、劉儼黎 未明學院商業資料分析訓練營9月班學員 報告名稱:《最強微信小程式打造之路-微信小程式專案分析報告》 自2017年1月9日小程式正式上線後,微信以不斷的開放平臺能力,極有耐心地在為小程式逐步加溫。在
微信小程式開發之小米商城(一)
小程式開發之小米商城Lite 剛接觸小程式不久,感覺相對來說比較簡單,就自己花了五六天做了一個專案,因為本身也是米粉,就看中了小米的微信小程式(可憐國慶擼了幾天的程式碼,哈哈),話不多說,先上效果圖吧。 算了算了。本來還打算上gif圖,但是太難搞了,說明一下吧。
微信小程式CSS之Flex佈局
相信剛開始學習開發小程式的初學者一定對介面的佈局很困擾,不知道怎麼佈局,怎麼擺放位置,其原因是不瞭解CSS樣式的屬性,所以,今天程式碼君打算寫一篇關於CSS的教程,給大家普及一下。 說起CSS佈局,首先要講解的就是FLex佈局,這個可以說是一個萬能鑰匙,遇到什麼
微信小程式裡面的標籤和html標籤的對比、微信小程式基礎之常用控制元件
微信小程式和html5標籤的區別: HTML5 微信小程式 <h1></h1>...<h6></h6> <p>&l
微信小程式學習之路(一)
1、前言 微信小程式所使用的是騰訊自己開發的MINA框架,MINA框架跟主流框架有很大的相似之處,是一個MVVM框架,很慶幸本人先前有學過一點點VUE所以入門MINA框架還算比較順利,由於需要完全熟悉MINA框架我還需要學習很多,所以微信小程式學習之路篇打算一
[微信小程式]商城之購買商品數量實現
正文: 這裡有三種變更數量的方式, 加號,減號,input輸入 , 這裡做了限制,數量不能小於等於0並且不能超過現有庫存,下面是功能實現程式碼。 <view class="dian"> <view class="cun page
微信小程式學習之路——頁面跳轉
前言 本以為微信小程式的頁面跳轉只是幾個簡單的api,一開始就沒太留意,在實際工作中發現,微信小程式的頁面跳轉也有很多地方應該注意,其中之一就是因為頁面跳轉而觸發的生命週期函式,這個點我認為是很重要的一個點,因此,本篇就把這兩個點放在一起記錄起來,方便日後翻閱
微信小程式開發之rpx 的使用說明
最近正著手開發微信小程式,才發現自己差的還是有點遠的。因為在之前的工作中,也都是在閒魚時間通過瀏覽官網api,寫點簡單的demo#hello world#。當我真正去使用它開發專案時,才發現其奧祕頗深。
微信小程式開發之SSL證書相關問題
最重要的放最上面:阿里雲CDN 使用的是 Nginx (.crt為證書,.key為私鑰) 阿里雲證書格式說明地址 ssl證書其實本站有很多相關的文章,但是沒有針對ssl證書做過專門的說明,最近發現,還是有很多同學,困擾在這個地方;所以特整理一些有用的知識放在
微信小程式開發之路上遇到的那些坑
微信野心越來越大,如今已經從開始簡單的聊天工具發展成了一個網際網路生態系統,網羅了目前各大網際網路平臺所具備的功能,最近iOS端微信上線的“搜一搜”和“看一看”更加證實了這一點,直接看下面這張圖吧: 好了,今天繼續給大家分享這個牛逼的“削蘋果”的小程式的相
微信小程式開發之返回重新整理
小程式返回是不會重新重新整理頁面的,因此要事件控制才能人為重新整理頁面 前提:假設是a頁面 跳轉到 b頁面,在b頁面修改後返回 a頁面,要使得a頁面中相關資料進行重新整理 首先,我們在a頁面中寫一個
微信小程式開發之get請和post請求的兩種用法
我們在開發微信小程式,需要進行資料請求,這裡只有get和post兩種.get請求,如下圖 但是呢,在很多情況下光只有get請求是不行的,還必須要有post請求,那麼post請求怎麼寫呢,如下圖 這
微信小程式開發之城市選擇器 城市切換
移動開發中城市選擇器必不可少. 空白造了個. gif: 這裡只上部分js程式碼: var city = require('../../utils/city.js'); //歡迎關注:http://www.wxapp-union.com/portal.php //