首先我们先确认我们的百度云人脸库里已经上传了我们的个人信息照片 关注cs代写,有帮助!
然后我们在后台写刷脸登陆的接口login我们要把拍照获取的照片存储到服务器
public function login(){
上传文件路径
$dir = "Uploadstemp";
if(!file_exists($dir)){
mkdir($dir,0777,true);
}
$upload = new \Think\Upload();
$upload->maxSize = 2048000 ; 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg'); 设置附件上传类型
$upload->savepath = '';
$upload->autoSub = false;
$upload->rootPath = $dir; 设置附件上传根目录
上传单个文件
$info = $upload->uploadOne($_FILES['file']);
if(!$info) { 上传错误提示错误信息
echo json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE);
}else{ 上传成功 获取上传文件信息
$file = $dir $info['savepath']$info['savename'];
$image = base64_encode(file_get_contents($file));
$client = $this->init_face();
$options['liveness_control'] = 'NORMAL';
$options['max_user_num'] = '1';
$ret = $client->search($image,'BASE64','student',$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($score>=95){
$data = M('student')->where("no = '{$no}'")->find();
$data['score'] = $score;
$data['name'] = json_decode($data['name'],true);
$data['sex'] = json_decode($data['sex'],true);
echo '识别成功' json_encode($data,JSON_UNESCAPED_UNICODE);
}else{
echo '识别失败' $data['score'];
}
}
}
}
然后进行前台设计
<camera device-position="{{device?'back''front'}}" flash="off" binderror="error" style="width 100%; height 300px;"><camera>
<view class="weui-cells__title" >开关<view>
<view class="weui-cells weui-cells_after-title">
<view class="weui-cell weui-cell_switch">
<view class="weui-cell__bd">切换摄像头<view>
<view class="weui-cell__ft" >
<switch bindtap="devicePosition" >
<view>
<view>
<view>
<button type="primary" bindtap="takePhoto">刷脸登录<button>
我们还可以控制相机的前后镜头
devicePosition() {
thissetData({
device !thisdatadevice,
})
consolelog("当前相机摄像头为", thisdatadevice ? "后置" "前置");
camera() {
let { ctx, type, startRecord } = thisdata; },
data {
src null,
},
在js里面调用接口
takePhoto() {
const ctx = wxcreateCameraContext()
ctxtakePhoto({
quality 'high',
success (res) => {
thissetData({
src restempImagePath
})
consolelog(res)
wxuploadFile({
url '', 仅为示例,非真实的接口地址
filePath thisdatasrc,
name 'file',
formData {
},
success function (res) {
var data = resdata
var json = JSONparse(data)
consolelog(res)
wxshowModal({
title "提示",
content resdata,
showCancel false,
confirmText "确定"
})
}
})
}
})
},
刷脸登录就成功了
总结
以上所述是小编给大家介绍的PHP实现微信小程序人脸识别刷脸登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章微信小程序实战之登录页面制作(5)微信小程序中做用户登录与登录态维护的实现详解微信小程序 登录的简单实现微信小程序实现登录页云层漂浮的动画效果微信小程序实现刷脸登录