在Vue项目中动态生成二维码 阿星小栈

一、使用jquery.qrcode生成二维码

1、首先在页面中加入jquery库文件和qrcode插件

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.qrcode.min.js"></script> 

2、在页面中需要显示二维码的地方加入以下代码:

<div id="code"></div> 

3、调用qrcode插件。支持canvas和table两种方式进行图片渲染

canvas方式:

$(‘#code‘).qrcode("http://www.baidu.com"); //任意字符串 

table方式:

$("#code").qrcode({
    render: "table", //table方式
    width: 200, //宽度
    height:200, //高度
    text: "www.helloweba.com" //任意内容
}); 

4、如果生成的二维码内容包含文字,需要把字符串转换成UTF-8

定义转化方法:

function toUtf8(str) {
    var out, i, len, c;
    out = "";
    len = str.length;
    for(i = 0; i < len; i++) {
        c = str.charCodeAt(i);
        if ((c >= 0x0001) && (c <= 0x007F)) {
            out += str.charAt(i);
        } else if (c > 0x07FF) {
            out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
            out += String.fromCharCode(0x80 | ((c >>  6) & 0x3F));
            out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));
        } else {
            out += String.fromCharCode(0xC0 | ((c >>  6) & 0x1F));
            out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));
        }
    }
    return out;
} 

在生成的时候调用转化方法:

var str = toUtf8("字符串测试!");
$(‘#code‘).qrcode(str); 

二、在Vue-cli项目中动态生成二维码

1、引入qrcode--------npm install qrcode

2、在main.js中引入

import QRCode from ‘qrcode‘    //定义生成二维码组件

3、在需要使用到生成二维码的组件中引入

import QRCode from ‘qrcode‘     //引入生成二维码组件

4、在HTML中定义生成的位置,注意添加样式

<template>
  <div id="query">
    <h1>二维码:</h1>
    <canvas id="canvas"></canvas>
  </div>

</template>
  #canvas{
    width: 80%!important;
    height: auto!important;
  }

5、在js中定义生成二维码的方法并调用

 //动态生成二维码
    useqrcode(){
      //生成的二维码内容,可以添加变量
    this.QueryDetail=‘http://www.kspxzx.com/#/guard‘+"?unique_code="+this.QueryDetail;var canvas = document.getElementById(‘canvas‘)
        QRCode.toCanvas(canvas, this.QueryDetail, function (error) {
        if (error) console.error(error)
        console.log(‘success!‘);
        })
    }

援引:https://www.cnblogs.com/zhengweijie/p/6911834.html

原文地址:https://www.cnblogs.com/dereckbu/p/9639462.html

时间: 2024-10-13 13:01:39

在Vue项目中动态生成二维码 阿星小栈的相关文章

vue项目中批量打印二维码

前提:项目中要打印的二维码为后台返回,批量选择后,点击打印,先打开二维码预览界面,再执行打印. 以下代码中 codePicList为选中的二维码数组.重点css:page-break-after:always 在元素后插入分页符;在打印时,要分页(需求是每个二维码打印在一张纸上) // 此代码为浏览界面遍历出来的要打印的多个二维码<ul id="codeImgviewer" v-if="codePicList != null && codePicList

Jquery.Qrcode在客户端动态生成二维码并添加自定义Logo

0 Jquery.Qrcode简介 Jquery.Qrcode.js是一个在浏览器端基于Jquery动态生成二维码的插件,支持Canvas和Table两种渲染方式,它的优点是在客户端动态生成,减轻了服务端压力,尤其是在大量使用二维码的系统中.Jquery.Qrcode主要包括以下参数设置: render 定义二维码的渲染方式,有table和canvas两种渲染方式 width 定义二维码的宽度 height 定义二维码的高度 text 定义二维码内容 typeNumber 二维码的计算模式 一般

Android Studio - 第四十七期 毛玻璃效果以及动态生成二维码以及增大点击热区

最近回看撸撸的代码,有一些自定义的view写法很不错,下面封装出来,希望能帮到大家: 1.毛玻璃效果:BitmapUtils package com.example.p030_popbgqcode.utils; import android.content.Context; import android.graphics.Bitmap; import android.renderscript.Allocation; import android.renderscript.Element; imp

在vue中利用vue-qr插件动态生成二维码并嵌入LOGO

收到需求要生成二维码的时候刚进项目组不久,接触vue也才一两个星期,还处于懵逼状态. 本小白的第一反应就是百度二维码的生成方法,网上有很多大神给出解决方案,最开始本小白以为是在后台生成图片然后传到前台页面,后来发现可以直接在前端用js生成,网上查到的大部分都是用jquery.qrcode.js配合utf.js(为了支持中文)和jquery-1.8.0.js来实现,亲测可行(但本白只在原生HTML中实现,vue中死活报错:"找不到qrcode方法",是不是本小白没找准姿势,哪位大神求告知

ASP.NET中C#生成二维码

ASP.NET中用C#语言编写网页,将自己输入的文字生成二维码. 工具/原料 已安装好VS2010或其他版本VS软件的电脑一台 1.新建 1 新建一个项目(New project),如图: 2 选择Visual C#---->ASP.NET Web应用程序,点击确定. 3 右键新建项目(New Item),如图: 4 选择web窗体(Webform),如图: 5 新建文件夹image,后面要用到. END 2.页面基本布局 1 将刚才新建的 Webform1 中,切换到设计视图,添加 textb

iOS中如何生成二维码

首先导入框架 然后通过滤镜CIFiter生成二维码 #import <CoreImage/CoreImage.h> /** *  生成二维码 */ - (void)creat { //1.创建过滤对象 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; //2.设置相关属性 [filter setDefaults]; //3.设置输入数据 NSString *inputData = @&quo

批量动态生成二维码

<script type="text/javascript" src="/site_media/js/qrcode.js"></script> // 生成二维码 $(".qrcode").each(function(){ var timestamp = new Date().getTime() + Math.random().toString().split(".")[1]; // 时间戳 + 随机数

js、jq动态生成海报+动态生成二维码+Logo图片

前言: 最近做项目的时候移动端的发现板块作品需要生成海报,经查阅各种博客发现并没有很多资源,自己就着手写了一个分享给大家 废话不再多说,我们先看一下效果: 我是一名后端程小猿,写成这样已经很不错了,自我感觉良好 哈哈…… 废话不多说,我们开始上代码(怕对小白不友善,这里直接上源码,我自己就是小白 哈哈……): 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5

Unity中Zxing生成二维码只能生成256大小图片的解决方案

/// <summary> /// 生成2维码 方法 /// 经测试:能生成任意尺寸的正方形 /// </summary> /// <param name="content"></param> /// <param name="width"></param> /// <param name="height"></param> public static