广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何实现扫一扫功能
  • 364
分享到

php如何实现扫一扫功能

2023-06-22 00:06:30 364人浏览 安东尼
摘要

这篇文章主要介绍PHP如何实现扫一扫功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php实现扫一扫功能的方法:1、生成二维码,生成一个唯一标识uuid,并使用redis保存临时信息;2、通过一个长连接维持用户请求

这篇文章主要介绍PHP如何实现扫一扫功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php实现扫一扫功能的方法:1、生成二维码,生成一个唯一标识uuid,并使用redis保存临时信息;2、通过一个长连接维持用户请求和服务器之间的通信;3、使用手机扫描二维码获取唯一标识uuid,并判断该标识是否有效。

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。

PHP扫码登录

扫码登录具体实现方式

php如何实现扫一扫功能

扫码登录具体实现流程:

1、生成二维码,生成一个唯一标识uuid,该标识贯穿整个流程,使用Redis保存临时信息

(uuid作为key,对应值设置为-1,-1表示未扫描,该标识的有效期这里设置为三分钟,过期会重新生成一个二维码)。

    public function index(){        $uuid = self::createRandomStr('6');        $url = $this->code($uuid); //二维码链接地址        Redis::sAdd($uuid,'-1');        Redis::command('Expire',[$uuid,180]);//设置过期时间        return view('home.send.index',['url'=>$url,'uuid'=>$uuid]);    }        public function code($uuid){        $host='Http://'.$_SERVER["HTTP_HOST"].'/api/send';        $url='http://qr.liantu.com/api.php?text='.$host.'?uuid='.$uuid;        return $url;    }
2、登录页面通过一个长连接维持用户请求和服务器之间的通信,每隔一段时间监测redis中 uuid对应的值是否发生改变

(-1未扫描 , 0表示用户已扫描该二维码 ps:再次扫描该二维码时提示已失效, 其余的值表示用户的主键id)

        public function confirm(Request $req){        $uuid = $req->uuid;        $result = implode('',Redis::sort($uuid));        if($result == ''){//当uuid不存在时表示该标识已失效,重新生成二维码            return '该链接地址已过期';        }        if($result == '-1'){            return '';        }elseif($result == '0'){            return '用户已扫描';        }else{            return '用户已确认登录';//获取用户的user_id 直接登录。        }    }
3、使用手机扫描二维码(ps:此处应该使用自己开发的App,并且App已经登录)获取唯一标识uuid,判断该标识是否有效 (该标识未失效的情况下修改uuid对应的值为0,用来表示该二维码已被扫描)。
        public function index(Request $req){              $uuid = $req->uuid;              $info = Code::getOne(['uuid'=>$uuid]);              $result = implode('',Redis::sort($uuid));              if(!$result){                   return $this->ajaxMsgError('该二维码已失效');              }             Redis::sRem($code,'-1');             Redis::sadd($code ,0);             return $this->ajaxMsGok('扫描成功,请确认登录');    }
4、APP确认登录,把当前uuid对应的val值修改为当前登录用户的主键id
public function dologin(Request $req){        $user_id = $req->user_id;        $uuid= $req->uuid;        $user = User::getOne(['id'=>$user_id]);        if($user){            if($user->status != 1){                return $this->ajaxMsgError('该用户已被禁用');            }            Redis::sadd($uuid,$user_id);            return $this->ajaxSuccess('登录成功');        }else{            //用户不存在            return $this->ajaxError('该用户不存在');        }    }
5、重复第二步,此接口如果检查到redis中的key值为登录人UID的时候,就会返回登录人信息并且保存登录态。

以上是“php如何实现扫一扫功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: php如何实现扫一扫功能

本文链接: https://www.lsjlt.com/news/301696.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何实现扫一扫功能
    这篇文章主要介绍php如何实现扫一扫功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php实现扫一扫功能的方法:1、生成二维码,生成一个唯一标识uuid,并使用redis保存临时信息;2、通过一个长连接维持用户请求...
    99+
    2023-06-22
  • php怎么实现扫一扫功能
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php怎么实现扫一扫功能PHP扫码登录扫码登录具体实现方式扫码登录具体实现流程:1、生成二维码,生成一个唯一标识uuid,该标识贯穿整个流程,使用redis保存临时信息...
    99+
    2019-02-21
    php 扫一扫
  • Android使用Zbar实现扫一扫功能
    目录1.准备工作:2.具体使用使用代码源码分析ZbarCode结构流程:1.准备工作: 1.实现扫一扫功能需要用到解码库,才能识别出二维码信息,下面提供两个开源库地址:ZBar:ht...
    99+
    2023-03-06
    android 扫一扫 android 扫码功能 android Zbar扫码
  • Android实现扫一扫识别数字功能
    1.准备工作 首先实现识别数字等字符,我们要知道需要采用OCR (Optical Character Recognition,光学字符识别)来实现。而tesseract是非常不错的开源OCR工具,但是要在Android中直接使用可能要费点...
    99+
    2023-05-30
    android 扫一扫 识别数字
  • Android怎么使用Zbar实现扫一扫功能
    这篇文章主要介绍“Android怎么使用Zbar实现扫一扫功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android怎么使用Zbar实现扫一扫功能”文章能帮助大家解决问题。1.准备工作:实现扫...
    99+
    2023-07-05
  • 微信小程序调用扫一扫功能怎么实现
    今天小编给大家分享一下微信小程序调用扫一扫功能怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。    小程序调用扫一扫...
    99+
    2023-06-26
  • Android实现扫码功能
    本文实例为大家分享了Android实现扫码功能的具体代码,供大家参考,具体内容如下 1、引入 implementation 'com.journeyapps:zxing-and...
    99+
    2022-11-12
  • flutter开发实战-flutter二维码条形码扫一扫功能实现
    flutter开发实战-flutter二维码条形码扫一扫功能实现 flutter开发实战-flutter二维码扫一扫功能实现,要使用到摄像头的原生的功能,使用的是插件:scan 效果图如下 一、扫一...
    99+
    2023-09-02
    flutter 扫一扫 二维码 条形码
  • Android开发仿扫一扫实现拍摄框内的照片功能
    就是仿照现在扫一扫的形式,周围是半透明的遮挡,然后中间是全透明的,拍摄后只截取框内的内容 查了很多博客,实现起来真的太复杂了,本人比较怕麻烦所以在很多地方偷懒了 先上效果图...
    99+
    2022-06-06
    android开发 Android
  • android实现扫码枪功能
    扫码枪扫码效果等同于键盘录入,会回调dispatchKeyEvent键盘按下事件。 开发环境:有线扫码枪,支持二维码 代码 1. 接收数据 @Override ...
    99+
    2022-11-12
  • Flutter如何实现扫二维码功能
    这篇文章主要为大家展示了“Flutter如何实现扫二维码功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flutter如何实现扫二维码功能”这篇文章吧。具体内容如下首先在pubspec.yam...
    99+
    2023-06-29
  • 如何使用PHP实现微信扫码登录功能
    随着移动互联网的快速发展,微信作为一种重要的社交工具,已经逐渐成为人们日常生活中必不可少的一个部分。在许多网站和应用程序中,微信登录功能已经成为了一种趋势,因为它可以让用户直接使用已有的微信账号来登录,不需要再创建新的账户,同时也能提供更便...
    99+
    2023-05-14
    微信扫码登录 php
  • Flutter实现扫二维码功能
    本文实例为大家分享了Flutter实现扫二维码功能的具体代码,供大家参考,具体内容如下 首先在pubspec.yaml中添加: dependencies:   qrscan: ^0....
    99+
    2022-11-13
  • jQuery如何实现二维码扫描功能
    这篇文章主要介绍了jQuery如何实现二维码扫描功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。二维码:利用图形模拟二进制0、1的概念,达...
    99+
    2022-10-19
  • C#使用Twain协议实现扫描仪连续扫描功能
    C#调用Twain接口实现扫描仪连续扫描。在监听的TwainCommand.TransferReady状态中,是调用扫描仪扫描图片的。我开始的时候尝试修改twain类中Transfe...
    99+
    2022-11-12
  • HTML5如何实现打开手机扫码功能
    这篇文章主要介绍HTML5如何实现打开手机扫码功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.解决的问题:1.能够在微博客户端呼起摄像头扫描二维码并且解析;2.能够在原生浏览器...
    99+
    2022-10-19
  • Vue实现浏览器端扫码功能
    背景 不久前我做了关于获取浏览器摄像头并扫码识别的功能,本文中梳理了涉及到知识点及具体代码实现,整理成此篇文章内容。 本文主要介绍,通过使用基于 vue 技术栈的前端开发技术,在浏...
    99+
    2022-11-12
  • 怎么在Android中实现扫码功能
    这篇文章将为大家详细讲解有关怎么在Android中实现扫码功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、引入implementation 'com.journeya...
    99+
    2023-06-15
  • 如何使用HTML5实现二维码扫描功能
    本篇内容介绍了“如何使用HTML5实现二维码扫描功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   ...
    99+
    2022-10-19
  • C#怎么使用Twain协议实现扫描仪连续扫描功能
    本篇内容主要讲解“C#怎么使用Twain协议实现扫描仪连续扫描功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么使用Twain协议实现扫描仪连续扫描功能”吧!C#调用Twain接口实现扫...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作