微信二维码的前后端实现(手记)

时间:2024-04-16 11:07:11

一.二维码简介

二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上 超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表 示更多的数据类型。

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定 规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码 编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若 干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电 扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制 有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还 具有对不同行的信息自动识别功能、及处理图形旋转变化点。

二维码优势:

1.信息容量大, 可以容纳多达 1850 个大写字母或 2710 个数字或 500 多个汉字

2.应用范围广, 支持文字,声音,图片,指纹等

3.容错能力强, 即使图片出现部分破损也能使用

4.成本低, 容易制作

二维码容错级别:

L 级(低) 7%的码字可以被恢复。

M 级(中) 的码字的 15%可以被恢复。

Q 级(四分)的码字的 25%可以被恢复。

H 级(高) 的码字的 30%可以被恢复。

二.前段二维码插件qrious

概述:qrious 是一款基于 HTML5 Canvas 的纯 JS 二维码生成插件。通过 qrious.js 可 以快速生成各种二维码,你可以控制二维码的尺寸颜色,还可以将生成的二维码 进行 Base64 编码。

2.1实现demo:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>qrious-demo</title>
 <script src="plugins/qrious.min.js"></script>
</head>
<body>
<img id="qrious">
<script>
 var qr = new QRious({element: document.getElementById("qrious"),
 size:250,
 level:"M",
 value:"http://www.itcast.cn"
 });
</script>
</body>
</html>

三.微信扫码支付

概述:微信扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信 “扫一扫”完成支付的模式。该模式适用于 PC 网站支付、实体店单品或订单支付、 媒体广告支付等场景。

申请步骤:

第一步:注册公众号(类型须为:服务号)

第二步:认证公众号>>>公众号认证后才可申请微信支付,认证费:300 元/次

第三步:提交资料申请微信支付>>>登录公众平台,点击左侧菜单【微信支付】,开始填写资料等待审核,审核时间为 1- 5 个工作日内。

第四步:开户成功,登录商户平台进行验证>>>资料审核通过后,请登录联系人邮箱查收商户号和密码,并登录商户平台填写财付通 备付金打的小额资金数额,完成账户验证。

第五步:在线签署协议>>>本协议为线上电子协议,签署后方可进行交易及资金结算,签署完立即生效。

开发文档:

微信支付接口调用的整体思路: 按 API 要求组装参数,以 XML 方式发送(POST)给微信支付接口(URL),微信支 付接口也是以 XML 方式给予响应。程序根据返回的结果(其中包括支付 URL)生 成二维码或判断订单状态。

在线微信支付开发文档: https://pay.weixin.qq.com/wiki/doc/api/index.html

微信支付 SDK:

<dependency>
 <groupId>com.github.wxpay</groupId>
 <artifactId>wxpay-sdk</artifactId>
 <version>0.0.3</version>
</dependency>