今天给文档详情页增加了二维码扫描的功能,这个功能也是自己百度的,比较简单,记录下。

    生成二维码需要一个小插件,对比了一下,qr-image ( https://github.com/alexeyten/qr-image) 比较合适,轻量级,操作方便。步骤如下:


1、安装 qr-image

npm install qr-image --save

这里加 --save 可以把该插件自动加入到package文件里,比较方便


2、实现(后端)

//文章二维码生成
router.get('/qrImg/show', function(req, res, next) {
    var params = url.parse(req.url,true);
    var detailLink = params.query.detailLink;
    try {
        var img = qr.image(detailLink,{size :10});
        res.writeHead(200, {'Content-Type': 'image/png'});
        img.pipe(res);
    } catch (e) {
        res.writeHead(414, {'Content-Type': 'text/html'});
        res.end('<h1>414 Request-URI Too Large</h1>');
    }
});

3、实现(前端)

                    <img class="pull-left" width="87" height="87" alt="手机预览此网页" src="/content/qrImg/show?detailLink=http://<%=myDomain%>/details/<%=detailInfo._id%>.html"/>

只需要请求接口 /content/qrImg/show , 将指定文章链接通过参数 detailLink 传到后台就可以了,有点类似验证码的概念,是不是很简单