有关于PC的扫码登录

news/2024/11/29 8:53:27/

最近写了一下我们公司的App扫码,在PC端登录,再次想跟大家分享一下。

首先,我们需要有一个生成二维码的jar包,现在大多数人用的是 Goole提供的zxing.jar和Qrcode来生成二维码,我这里以goole的zxing为例给大家说一下生成二维码。

我们可以直接到直接下载zxing.jar.如果是用mvn构建的项目,我们可以到mvn的中央仓库中下载对应的配置(),把jar包放在项目中,我们直接在项目中创建一个辅助类

 package com.rbao.east.utils;  import com.google.zxing.common.BitMatrix;  import javax.imageio.ImageIO;  import java.io.File;  import java.io.OutputStream;  import java.io.IOException;  import java.awt.image.BufferedImage;  public final class MatrixToImageWriter {  private static final int BLACK = 0xFF000000;  private static final int WHITE = 0xFFFFFFFF;  private MatrixToImageWriter() {}  public static BufferedImage toBufferedImage(BitMatrix matrix) {  int width = matrix.getWidth();  int height = matrix.getHeight();  BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);  for (int x = 0; x < width; x++) {  for (int y = 0; y < height; y++) {  image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);  }  }  return image;  }  public static void writeToFile(BitMatrix matrix, String format, File file)  throws IOException {  BufferedImage image = toBufferedImage(matrix);  if (!ImageIO.write(image, format, file)) {  throw new IOException("Could not write an image of format " + format + " to " + file);  }  }  public static void writeToStream(BitMatrix matrix, String format, OutputStream stream)  throws IOException {  BufferedImage image = toBufferedImage(matrix);  if (!ImageIO.write(image, format, stream)) {  throw new IOException("Could not write an image of format " + format);  }  }  }  
这个里面主要是用来生成我们所需要的二维码,大家不需要过多的研究。

@RequestMapping("GetCodes")public void GetCodes(HttpServletRequest request,HttpServletResponse response) throws Exception{String uuid = UUID.randomUUID().toString().replace("-", "")+System.currentTimeMillis(); //(int)(Math.random() * 100000);String sessionUUID = StringUtil.toString(request.getSession().getAttribute("sessionUUID"));		String text ="XXXXXXXX";   int width = 300;  int height = 300;       //二维码的图片格式  String format = "jpg";Hashtable hints = new Hashtable();//内容所使用编码  hints.put(EncodeHintType.CHARACTER_SET, "utf-8");  BitMatrix bitMatrix = new MultiFormatWriter().encode(text,  BarcodeFormat.QR_CODE, width, height, hints);MatrixToImageWriter.writeToStream(bitMatrix, format,response.getOutputStream() ); }
这有对上面代码的解释,大家看下
,我们可以在扫过之后拿到唯一的uuid做轮询,拿到我们想要的值的时候就可以直接处理调用登录方法了,这个就不在过多的说明了。

至此,二维码的生成也就基本上完成了,有需要的小伙伴可以看下。


http://www.ppmy.cn/news/653814.html

相关文章

pc端实现微信扫码登录

pc端实现微信扫码登录 流程&#xff1a;使用vue-wxlogin组件当我们打开微信扫一扫&#xff0c;此时二维码组件会有变化&#xff0c;显示扫描成功 我们的手机就会弹出一个授权页面。记住让后端绑定一个微信公众&#xff0c;通过授权该公众就可以了 效果&#xff1a; 当点击同意…

h5扫描pc端二维码登录

我们采用前后端分离的方法来实现这个功能(暂不考虑二维码过期、该二维码登录过一次等复杂情况&#xff0c;只实现扫码登录功能)。 首先梳理一下要准备的PHP接口&#xff0c;一共有3个&#xff1a; 让前端页获取唯一的QRUUID(唯一字符串就可以)生成一个二维码用的接口…

网站用微信扫描二维码登录

网站实现扫描二维码关注微信公众号&#xff0c;自动登陆网站并获取其信息 生成带参数的二维码-微信开发文档 需求 网站实现扫描二维码关注微信公众号&#xff0c;如果已经关注公众号就自动登陆网站并获取其微信昵称&#xff0c;头像等信息&#xff0c;如果用户未关注就等用户关…

开放平台–扫描微信二维码登录

准备 如不了解第三方登录流程&#xff0c;建议先大概了解一下&#xff0c;在来看看代码。 说明&#xff1a; 由于开放平台无测试号测试&#xff0c;所以只能上开放平台进行配置信息。公众平台的测试号并不能给开放平台使用。 微信开放平台地址&#xff1a;https://open.weixi…

微信扫描二维码登录第三方平台

嗯。。。。。。 最近做了一个微信扫码登陆第三方平台功能&#xff0c;说下步骤就行&#xff0c;反正原理你们网上直接百度&#xff0c;我这里写了&#xff0c;估计也没几个人有耐心看 第一步 生成一个链接 https://open.weixin.qq.com/connect/qrconnect?appidxxxxxxxxf&…

keil_arm满减栈应用场景

.text .global _start _start:满减压栈使用场景ldr sp,0x40000800mov r0,#0x1mov r1,#0x2bl add1_funcadd r0,r0,r1 r0 r0 r1 0x3b stopadd1_func: 压栈保存现场 r0 0x1 r1 0x2stmfd sp!,{r0,r1&#xff0c;lr}mov r0,#0x3mov r1,#0x4bl add2_funcadd r0,r0,r1 r0 r…

小程序中使用scroll-view组件,内容高度未超过容器高度时依然可以上下滑动小段距离的问题

解决办法&#xff1a; 如下代码&#xff1a;检查下scroll-view组件是否设置了上下padding 或者 scroll-view的父盒子< view class“home-page” >…< /view >设置了上下padding&#xff0c;如果设置了&#xff0c;去掉就可以解决问题。 <view class"home…

word设置页眉页码 首页没有页眉(终于搞懂了)

1.设置首页没有页眉 主要是通过分节符完成的&#xff0c;顾名思义&#xff0c;分节符就是将全文分为两节&#xff0c;然后就可以实现对两节内容的分别设置。 比如首页没有页眉。 在首页的最后一行插入分节符&#xff0c;然后就会显示出&#xff08;分节符&#xff08;下一页…