二维码你们都不陌生,在不少项目的开发过程当中也会接触到二维码的生成需求,虽然有不少各语言生成二维码的实现方案,不过与之相比,最简单快捷的方式是直接将内容拼接成一个URL用于展现二维码图片便可。php
市面上也有不少的免费的二维码API可用,好比这个 或者 这个。html
前两天我这儿的一个项目就遇到了个问题,一直在用的api.qrserver.com
挂了(如今已经又正常了),对应的二维码图片所有都不能展现,虽然马上改了代码换成了qr.topscan.com
,这也为笔者敲了个警钟,看看可否再备几个二维码实现方案呢。git
在整理资料的时候,发现七牛家也提供了一个二维码API(连接),仔细研读发现这是用于七牛存储空间资源的二维码下载方式。github
若是先将目标文本存到七牛,再用这个API生成二维码,这个笨办法好像也还行。api
难道我想要配一个二维码还得调七牛接口先存一个文件上去?这也太麻烦了吧。编码
虽然这样作也能作,封装成接口后也能够一劳永逸,但我就是以为,仍是麻烦啊。url
我曾经在作 php-blog 的时候用过七牛的一个镜像功能(连接在这里)。spa
简单的说,访问七牛空间的地址若是资源不存在,七牛就会尝试访问对应的镜像地址获取资源。code
因此,问题就简单了。cdn
访问七牛地址(带二维码API)->七牛访问镜像获取资源->七牛保存资源并转化成二维码输出
https://wanyaxing.com/qrcode?text=
http://qrcode.wanyaxing.com/helloworld
应该就等于访问 https://wanyaxing.com/qrcode?text=/helloworld
https://wanyaxing.com/qrcode?text=/helloworld
出打印helloworld
便可。<?php
if (isset($_GET['text'])) {
$text = $_GET['text'];
if (substr($text, 0, 1) =='/') {
$text = substr($text,1);
}
echo $text;
} else {
echo 'no text found';
}
复制代码
写到最后发现本身也等于开发了一个二维码API了呢, http://qrcode.wanyaxing.com/helloworld?qrcode/1
,将其中的 helloworld
改为任意文字便可使用,(注:汉字的话须要编码一下,好比urlencode/encodeURIComponent等)
固然,你们也能够顺着这个思路继续改造,好比文字+自定义签名
的方式来实现防盗用功能,此处就不做展开啦。
原文来自阿星的博客: wanyaxing.com/blog/201907…