直接上代码了,不解释.
html代码:
<div class="form-group"> <label class="col-sm-3 control-label">二维码内容:</label> <div class="col-sm-8"> <textarea id="code" name="code" class="form-control" aria-required="true" style="height: 50px;"></textarea> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">二维码:</label> <div class="col-sm-8"> <a id="tttt"></a> <img id="qr" src="" /> </div> </div> <div class="hr-line-dashed"></div> <div class="form-group"> <div class="col-sm-4 col-sm-offset-2"> <button class="btn btn-primary" id="submit" onclick="b_d()">生成二维码</button> <button class="btn btn-white" onclick="down()">下载二维码</button> </div> </div>jquery部分代码:
<script> //提交数据到后端生成二维码后并在前端展示 function b_d(){ var code = $("#code").val(); var putdata = { 'code':code }; $.ajax({ url:"https://www.32e.top/qr_api/'); ?>", type:'POST', cache:false, data:putdata, success:function (data) { console.log(data) if (data.success == true){ $("#qr").attr('src',data.data); // $("#qr").css("width",data.width); // $("#qr").css("height",data.height); }else { swal("失败", "API接口请求失败,或内容为空", "error"); } } }); } /** * 根据图片生成画布 */ function convertImageToCanvas(image) { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; canvas.getContext("2d").drawImage(image, 0, 0); return canvas; } /** * 下载图片 */ function down() { var sampleImage = document.getElementById("qr"), canvas = convertImageToCanvas(sampleImage); url = canvas.toDataURL("image/png");//PNG格式 //以下代码为下载此图片功能 var triggerDownload = $("#tttt").attr("href", url).attr("download", "my_qr.png"); triggerDownload[0].click(); // triggerDownload.remove(); } </script>到这里前端功能就已经实现了,当然要完整的实现功能还需要配合后端的API给你生成二维码并返回json格式数据给你,再提示一下弹窗我上面是有的是sweetalert,sweetalert插件是需要你自己加载的,当然你也可以删除这个弹窗提示。
除特别注明外,本站所有文章均为博文家原创,转载请注明出处来自https://www.32e.top/develop/js/article-133.html
暂无评论