vue3点击生成二维码

news2024/9/27 5:43:33

🙂博主:锅盖哒
🙂文章核心:vue点击生成二维码

目录大纲

html部分

js部分

 css部分


html部分

当点击他的时候触发弹窗

  <div class="tuand_Text">
      <div class="text_OBJ">
          <div><img src="../assets/grzx.png" alt=""></div>
          <div class="wode_Td">推广二维码</div>
      </div>
      
      <div class="tupian_Img">
          <img src="../assets/yjt.png" alt="" @click="er_Wm()">
      </div>
      </div>

触发代码如下 用于渲染二维码的html样式

      <!-- 推广二维码 -->
      <!-- style="display: none;" -->
      <div class="xians" v-if="tg_erwm" @click="mmmm">
          <div class="cha_Hao" @click="ha_Cwu()"> <svg t="1679499524000" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15350" width="32" height="32"><path d="M874.020877 874.019125c-199.931835 199.974501-524.106414 199.974501-724.038249 0-199.974501-199.931835-199.974501-524.106414 0-724.03825 199.931835-199.974501 524.106414-199.974501 724.038249 0 199.974501 199.931835 199.974501 524.106414 0 724.03825zM813.691467 210.310285C647.081605 43.700423 376.9219 43.700423 210.312037 210.310285 43.702175 376.920147 43.702175 647.079853 210.312037 813.689715c166.609862 166.609862 436.769567 166.609862 603.37943 0 166.609862-166.609862 166.609862-436.769567 0-603.37943zM726.951941 719.398346l-7.551843 7.551843a37.28989 37.28989 0 0 1-52.777567 0l-154.620779-154.620779-150.86619 150.86619a42.665778 42.665778 0 0 1-60.32941-60.372075l150.86619-150.823525-154.620778-154.620779a37.28989 37.28989 0 0 1 0-52.777567l7.551842-7.551843a37.28989 37.28989 0 0 1 52.777567 0l154.620779 154.620779 150.866191-150.86619a42.665778 42.665778 0 0 1 60.329409 60.32941l-150.86619 150.86619 154.620779 154.620779a37.28989 37.28989 0 0 1 0 52.777567z" fill="#68A5F7" p-id="15351"></path></svg> </div>
      <div  class="img_Ages">
      <canvas id="canvas"></canvas>
      <!-- <img src="../assets/tome.jpg" alt="" class="err" id="err" style="width: 80%;height: 80vh;"> -->
      </div>
  </div>

js部分

将二维码接口套入其中即可

  
  <script setup>
  
//   import { useRouter} from "vue-router";
  import axios from "axios";
  import { ref } from "vue";
  

  const tg_erwm = ref(false);

  const ha_Cwu = () =>{
      tg_erwm.value=false;
  }
  
  const er_Wm = () =>{
      tg_erwm.value=true;
      axios({
    url: "二维码接口", //接口
    method: "get",
    params: {
      userid :36  ,// 用户ID
  scienceid:1 //景区ID
  
  
    }, //参数
  }).then((res) => {
    console.log(res);
  
  var canvas = document.querySelector("canvas");
          var ctx = canvas.getContext("2d");
      //创建图片
          var image = new Image();
          //设置图片地址
          image.src = res.data
      image.onload = function() {
              //2个参数 图片的xy坐标
              // ctx.drawImage(image, 0, 0)
              //4各参数 图片的起始坐标和宽高
              ctx.drawImage(image, 70,70,200,60)
              //参数 408, 81 切片的起始坐标, 147, 182 切片切掉原图的尺寸, 0, 0,切完之后切片的位置400, 400切完之后 切片的大小
              // ctx.drawImage(image, 900, 100, 0, 0, 0, 0, 0, 0)
          }
  
        
  // console.log(er_w_ma.value);
  });
  }//ketixianshoye
  
  
  const mmmm =()=>{
      tg_erwm.value=false;
  }
  
  </script>

 css部分


  <style scoped>
  .err{
      margin-left: auto;
      margin-right:auto;
  position: fixed;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  }
  #canvas{
      z-index: 9;
      top: 0%;
      position: fixed;
      width: 90%;
      height: 700px;
      /* height: 200px; */
  }
  *{
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }
  /* auto_text */
  /* 图片 */
  .bjimg {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 25vh;
      min-width: 1000px;
      z-index: -10;
      zoom: 1;
      background-color: #fff;
      background-image: url('../assets/yaoxi.jpg') ;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-background-size: cover;
      -o-background-size: cover;
      background-position: center 0;
    }
  .tgxxi{
      width: 100%;
      height: 50px;
  
      display: flex;
      font-size: 20px;
  }
  .tgxxi div{
      width: 40%;
      line-height: 46px;
  }
  .ku_Andu{
      /* text-align: center; */
      margin: auto;
      width: 90%;
  }
  .imgs img{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  }
  .zhen_text{
      /* margin:s 10px 0 0 10px; */
      display: flex;
  }
  .zhen_obj{
      margin: 10px 0 0 10px;
  }
  .hstx{
      font-size: 15px;
      margin: 10px 0 0 0;
  }
  /* 拦截 */
  .lani_Jie{
      margin: 80px 0 0 0;
  }
  .lani_Jie_yi{
      margin: 10px 0 0 0;
  }
  /* 可体现收益 */
  .auto_text{
      text-align: center;
      border-radius:5px ;
      margin: auto;
      background-color: #fff;
      width: 90%;
      height: 140px;
      box-shadow: 0px 0px 0px 0.5px;
  }
  .ti_Xian{
      margin: 15px 0 0 0;
  }
  .ti_Xian div:nth-child(1){
      font-size: 17px;
  }
  .ti_Xian div:nth-child(2){
      font-size: 21px;
      color: #089ADF;
  }
  .text_Tkai_Le{
      margin: 30px 0 20px 0;
      display: flex;
      justify-content: space-around;
  }
  .dai{
      font-size: 10px;
  }
  .qian{
      font-size: 21px;
      color: #089ADF;
  }
  
  
  
  .tuand_Text{
      border-radius: 5px;
      padding: 6px 0 0 0;
      margin-left: 5%;
      margin-top: 20px;
    text-align: center;
  width: 90%;
  height: 50px;
  display: flex;
  background-color: #fff;
   box-shadow: 0px 0px 0px 0.5px;
  }
  .tupian_Img{
      margin: 0 0 0 80%;
      position: absolute;
      /* right: 0; */
      line-height: 60px;
      /* width: 90%; */
  }
  
  .text_OBJ img{
      width: 40px;
      height: 40px;
  }
  .text_OBJ {
      /* line-height: 80px; */
      /* width: 90%; */
      display: flex;
      /* color: #089ADF; */
  
  }
  .wode_Td{
      line-height: 40px;
  }
  
  
  /* 二维码 */
  .xians{
      justify-content: center;
      /* display: none; */
      height: 100vh;
      width: 100%;
      top: 0;
      position: fixed;
      background-color: rgba(0, 0, 0, 0.5);
  }
  .img_Ages img{
      top: 50%;
      /* left: 15%; */
      position: absolute;
      display: flex;
  width: 300px;
  height: 300px;
  }
  #ccc{
      position: fixed;
      width: 95%;
      /* height: 700px; */
      /* border:1px solid red ; */
      /* background-image: url('../img/xiala.gif');
       background-size: cover;
            -webkit-background-size: cover;
            -o-background-size: cover;
            background-position: center 10; */
  }
  /* img{
  width: auto;
  height: 100px;
  } */
  .cha_Hao{
      /* right: 9%;
      margin: 10%; */
      position: absolute;
  }
  </style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/805408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

铁路关基保护新规:优先采购安全可信的网络产品和服务!

《征求意见稿》第十四条提到&#xff1a;运营者应当加强供应链安全保护&#xff0c;优先采购安全可信的网络产品和服务&#xff1b;采购网络产品和服务影响或者可能影响国家安全的&#xff0c;运营者应当预判网络产品和服务投入使用后可能带来的国家安全风险&#xff0c;按照国…

intellij 编辑器内性能提示

介绍 IntelliJ IDEA已经出了最新版的2023.2&#xff0c;最耀眼的功能无法两个 AI Assistant编辑器内性能提示 AI Assistant 已经尝试过了是限定功能&#xff0c;因为是基于open ai,所以限定的意思是国内无法使用&#xff0c;今天我们主要介绍是编辑器内性能提示 IntelliJ Pr…

API调试工具用什么?试试Apipost

前言 Apipost是一款支持 RESTful API、SOAP API、GraphQL API等多种API类型&#xff0c;支持 HTTPS、WebSocket、gRPC多种通信协议的API调试工具。除此之外&#xff0c;Apipost 还提供了自动化测试、团队协作、等多种功能。这些丰富的功能简化了工作流程&#xff0c;提高了研发…

软件测试-基础阶段学习

目录 一、测试介绍 二、测试常用分类 三、模型 四、测试流程 五、测试用例 六、用例设计方法 七、缺陷 八、html 资料获取方法 阶段目标 能独立针对web项目实施功能测试 一、测试介绍 什么是软件测试 使用技术手段验证软件是否满足需求 测试主流技能 功能测试自…

【JAVASE】顺序和选择结构

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 顺序和选择 1. 顺序结构2. 分支结构2.1 …

MySQL的入门使用

在命令提示符内使用MySQL MySQL安装好后&#xff0c;就可以简单的尝试使用它。 打开&#xff1a;命令提示符程序&#xff0c;输入&#xff1a;mysql -uroot -p&#xff0c;然后回车后输入密码&#xff0c;即可进入命令行环境 在MySQL的命令行环境下&#xff0c;可以通过&…

【换根DP】Subtree

Subtree - 洛谷 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn1e510; const int mxv1e510;vector<int> G[mxn]; int N,P,u,v; int f[mxn],g[mxn],son[mxn],pre[mxn],suf[m…

Acwing.901 滑雪(动态规划)

题目 给定一个R行C列的矩阵&#xff0c;表示一个矩形网格滑雪场。 矩阵中第i行第j列的点表示滑雪场的第i行第j列区域的高度。 一个人从滑雪场中的某个区域内出发&#xff0c;每次可以向上下左右任意一个方向滑动一个单位距离。当然&#xff0c;一个人能够滑动到某相邻区域的前…

CTF PWN-攻防世界Overflow整数溢出漏洞

文章目录 前言整数溢出有符号整数溢出无符号整数回绕截断与宽度溢出 int_overflow题目漏洞分析EXP程序构造 总结 前言 滴水穿石&#xff0c;非一日之功。继续练习攻防世界 PWN 题目&#xff0c;此次练习的题目是 int_overflow&#xff0c;顾名思义是整数溢出类型的漏洞&#x…

小波分解机械信号

function [ output_args ] ex4_2( input_args ) %EXAMPLE4_2 Summary of this function goes here % Detailed explanation goes here clc; clear; load sumsin; s sumsin; % 进行3层小波分解&#xff0c;小波基函数为db3 [c,l] wavedec(s,3,db3); figure(1) subplot(21…

flutter minio

背景 前端 经常需要上传文件 图片 视频等等 到后端服务器&#xff0c; 如果到自己服务器 一般会有安全隐患。也不方便管理这些文件。如果要想使用一些骚操作 比如 按照前端请求生成不同分辨率的图片&#xff0c;那就有点不太方便了。 这里介绍以下 minio&#xff0c;&#xff0…

Vue如何实现页面跳转路由,实现单页面跳转

1、#锚链接&#xff0c;#后面的就是锚链接 2、#之后都是hash地址&#xff0c;这些都是在浏览器的F12中获得的 3、在浏览器查询链接地址的方法&#xff0c;href代表着当前的浏览器地址&#xff0c;&#xff1a; 使用location.href: 4、只想获取#链接地址&#xff0c;后面加loc…

Linux设备模型之input子系统详解

在键盘驱动代码分析的笔记中&#xff0c;接触到了input子系统.键盘驱动&#xff0c;键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层&#xff0c;为上层提供了一个统一的界面。例如&#xff0c;在终端系统中&#xff0c;我们不需要去管…

Redis(五)—— Redis进阶部分

一、Redis配置文件详解 注意这是Redis服务本身的配置文件&#xff0c;相当于maven的settings.xml&#xff0c;而不是我们在springboot去配置Redis的那个application.yml。 核心部分include 引入其他redis配置文件&#xff0c;相当于spring的<import>bind 设置IP&#xf…

【Java|golang】2500. 删除每行中的最大值

给你一个 m x n 大小的矩阵 grid &#xff0c;由若干正整数组成。 执行下述操作&#xff0c;直到 grid 变为空矩阵&#xff1a; 从每一行删除值最大的元素。如果存在多个这样的值&#xff0c;删除其中任何一个。 将删除元素中的最大值与答案相加。 注意 每执行一次操作&#…

【Vue3】递归组件

1. 递归组件mock数据 App.vue <template><div><Tree :data"data"></Tree></div> </template><script setup lang"ts"> import { reactive } from vue; import Tree from ./components/Tree.vue; interface Tr…

【数学】差分数组(一维差分)

一.简介 差分数组是指对一个一维数组进行差分操作得到的新数组。差分操作是指计算原数组中相邻元素之间的差异&#xff0c;并将这些差异作为新数组的元素。 具体而言&#xff0c;对于一个长度为n的一维数组x&#xff0c;其差分数组diff的第i个元素可以通过以下公式计算得到&am…

【Rust笔记】意译解构 Object Safety for trait

意译解构Object Safety for trait 借助【虚表vtable】对被调用成员函数【运行时内存寻址】的作法允许系统编程语言Rust模仿出OOP高级计算机语言才具备的【专用多态Ad-hoc Polymorphism】特性。 计算机高级语言中的“多态”术语是一个泛指。它通常可被细化为 基于继承关系的“子…

时间复杂度介绍及其计算

时间复杂度 1.算法效率 如何衡量一个算法的好坏呢&#xff1f;看这段代码&#xff1a; long long Fib(int N) {if(N < 3)return 1;return Fib(N-1) Fib(N-2); }这是斐波那契数列的递归代码&#xff0c;非常简洁&#xff0c;那么这就一定说明它好吗&#xff1f;答案显而易…

智能家居是否可与ChatGPT深度融合?

​ ChatGPT自2022年面世以来&#xff0c;已为亿万网民提供智能问答服务。然而我们是否曾想到&#xff0c;这一人工智能驱动的聊天机器人&#xff0c;是否可为智能家居赋能? 要实现ChatGPT与智能家居设备之间的无缝对话&#xff0c;单单依靠一台终端是远远不够的。ChatGPT必须…