二维码 生成下载

使用工具: canvas

网上地址: 

 https://www.cnblogs.com/zhengweijie/p/6911834.html 二维码 生成

 https://www.cnblogs.com/guokai870510826/p/6693928.html  //下载

页面代码:

 

  <template scope="scope">
            <div style="width: 100%;height: 0.7rem;">
              <div style="height: 0.2rem"></div>
              <el-popover
                ref="popover2"
                placement="bottom"
                title="二维码"
                trigger="click">
                <canvas id="canvas"></canvas>
              </el-popover>
              <el-tooltip content="二维码" placement="top" effect="light">
                <img v-popover:popover2 @click="useqrcode(scope.$index, scope.row)"
                     src="../../../static/img/erwwweima.png" height="20" width="20"/>
              </el-tooltip>
              <el-tooltip content="下载" placement="top" effect="light" style="margin-left: 30px">
                <img src="../../../static/img/xiazai.png" @click="download(scope.$index, scope.row)" height="20" width="20"/>
              </el-tooltip>
              <el-tooltip content="删除" placement="top" effect="light" style="margin-left: 30px">
                <img @click="deleteTableNo(scope.$index, scope.row)" src="../../../static/img/delete.png" height="20"
                     width="20"/>
              </el-tooltip>
            </div>
          </template>

事件代码:

 

 

      useqrcode(index, row){
        //生成的二维码内容,可以添加变量
        let canvas = document.getElementById('canvas');
        this.QRCodeLogin.tableNumber = row.cb_table_no;
        this.QRCodeLogin.cb_store_id = row.cb_store_id;
//        console.log(this.QRCodeLogin.tableNumber+'桌号'+row.cb_store_id)
        this.$ajax.post(this.rootUrl + "/QRCodeLogin/getAuthMemberPraram.do", this.QRCodeLogin).then((response) => {
          this.QueryDetail = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
            + response.data.appid + "&redirect_uri="
            + response.data.redirect_uri + "&response_type=code&scope="
            + response.data.scope + "&state="
            + response.data.state + "&component_appid=" + response.data.component_appid
            + '&tableNumber=' + row.cb_table_no + '&cb_store_id=' + row.cb_store_id;
          console.log(this.QueryDetail);
          QRCode.toCanvas(canvas, this.QueryDetail, function (error) {
            console.log('success!');
          })
        });
      },

下载事件:

 

 

     download(index, row){
       let canvas = document.getElementById('canvas');
       this.QRCodeLogin.tableNumber = row.cb_table_no;
       this.QRCodeLogin.cb_store_id = row.cb_store_id;
//        console.log(this.QRCodeLogin.tableNumber+'桌号'+row.cb_store_id)
       this.$ajax.post(this.rootUrl + "/QRCodeLogin/getAuthMemberPraram.do", this.QRCodeLogin).then((response) => {
         this.QueryDetail = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
           + response.data.appid + "&redirect_uri="
           + response.data.redirect_uri + "&response_type=code&scope="
           + response.data.scope + "&state="
           + response.data.state + "&component_appid=" + response.data.component_appid
           + '&tableNumber=' + row.cb_table_no + '&cb_store_id=' + row.cb_store_id;
         console.log(this.QueryDetail);
         QRCode.toCanvas(canvas, this.QueryDetail, function (error) {
           console.log('success!');

           var data = canvas.toDataURL().replace("image/png", "image/octet-stream;");
           console.log(data);
           var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
           var filename= row.cb_table_no + ".png";  //文件名
           save_link.href = data;
           save_link.download = filename;
           console.log(save_link);

           var event = document.createEvent('MouseEvents');
           event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
           save_link.dispatchEvent(event);

         })
       });


  },

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值