随着现在小程序的流行,许多软件也将web页面转入到小程序之中。官方也给出了小程序生成的接口,但是如果我们微信和支付宝小程序都做了,展示两个二维码让用户扫描总是不好的,我们这里就是记录一下如果将微信小程序与支付宝小程序的二维码合并成一个,用户使用微信扫码时跳转到微信小程序,用户使用支付宝扫码时跳转到支付的小程序,并且跳转页面、携带参数都可以我们自定义。
其实我用的都是官网给出的文档,只是有时候大家没有找到这个文档。先给出官网文档的地址,解释的还是很清楚的,如果还有没有看懂的或者不了解的地方可以再给我发邮件。liunaijie1996@163.com
微信:https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html
支付宝:https://docs.alipay.com/mini/introduce/vzd5v0
原理解析:二维码实际上存放的是一串信息,我们将这一串信息设置成一串URL地址,微信或者支付宝扫描二维码之后解析出存放到二维码中的信息,由于我们在微信和支付宝中都进行了设置,扫描出这个规则的二维码后会跳转到我们设定的小程序内页面。所以就直接进入小程序了。
然后再记录一下使用java
生成二维码并且添加logo图片,二维码下方添加说明文字的代码。为了生成的二维码好看一些,我的logo图片使用了圆角,白色背景。
首先导入jar包
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import org.apache.commons.lang.StringUtils;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* @author LiuNaiJie
* on 2019-04-01
*/
public class QrCodeUtils {
/**
* 黑色
*/
private static final int QRCOLOR =