生成小程序二维码、小程序码

微信自定义生成二维码

  • 使用微信云开发生成自定义二维码、小程序码
    • 话不多说,我们先来看最终的展示效果
    • 生成码有三种方式
    • 操作步骤
      • 1. 云环境的初始化
      • 2. 在页面上开辟一个容器来展示二维码(包括预览和保存到相册的按钮)
      • 3. 创建云函数
      • 4. 生成二维码的方法 getQrCode
      • 5. 保存二维码方法 saved
      • 6. 预览二维码方法 previewed
      • 7. 获取二维码传递的参数
    • 如果对您有帮助,请三连❤,么么哒~

使用微信云开发生成自定义二维码、小程序码

话不多说,我们先来看最终的展示效果

在这里插入图片描述
这一张是最终生成二维码的效果,点击保存到相册,会把二维码保存到手机相册,在微信开发者工具调试的时候,会将图片保存到电脑上
在这里插入图片描述
这个是我保存到桌面上的二维码
在这里插入图片描述
这张是二维码的预览功能

生成码有三种方式

  • 生成二维码(永久有效,有数量限制):cloud.openapi.wxacode.createQRCode
  • 生成小程序码(永久有效,有数量限制):cloud.openaapi.wxacode.get
  • 生成无限量小程序码(永久有效,无数量限制):cloud.openaapi.wxacode.getUnlimited

操作步骤

1. 云环境的初始化

// 云环境的初始化 app.js文件wx.cloud.init({env:'cloud1-9gmt6vpx11d9ced0',   // 环境IDtraceUser:true})
// project.config.json文件"cloudfunctionRoot": "cloudFn/",  // 与第三步云函数文件夹名一致即可

点击微信开发者工具中的云开发,会出现一个界面,直接复制环境ID,然后将复制的ID放在env中即可
在这里插入图片描述
在这里插入图片描述

2. 在页面上开辟一个容器来展示二维码(包括预览和保存到相册的按钮)

<view class="img-cloud"><button bindtap='getQrCode'>生成小程序二维码</button><image class="img" src='{{image}}' bindtap='previewed' data-filepath='{{image}}'></image><button bindtap='saved'>保存到相册</button>
</view>

3. 创建云函数

在这里插入图片描述

  1. 在微信开发者工具中根目录创建一个文件夹cloudFn,右击文件夹,选择新建Node.js云函数,函数名就叫createQRCode,会自动生成三个文件
    在这里插入图片描述

  2. index.js文件中的代码

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境// 云函数入口函数
exports.main = async (event, context) => {try{const result = await cloud.openapi.wxacode.createQRCode({// 扫码后进入的页面路径和携带的参数path:'pages/indexv2/index?discount=' + event.discount +'&endDate=' + event.endDate,     width:300})return result}catch(err){return err}
}
  1. config.json文件代码
{"permissions": {"openapi": ["wxacode.createQRCode"]}
}
  1. 上述步骤完成后,在createQRCode文件夹右击,选择第三个上传并部署:云端安装依赖(不上传node_modules),上传成功后会有提示。
    在这里插入图片描述

4. 生成二维码的方法 getQrCode

// 生成二维码getQrCode(){wx.showLoading({titel:"生成中..."});let that = this;wx.cloud.callFunction({name:'createQRCode',   // 小程序二维码// name:'wxacode',   // 小程序码,有限制// name:'getUnlimited',   // 小程序码,无限制data:{   // 二维码传递的参数,可自定义,需要与第3步index.js文件的path参数相同discount:'0.91',endDate:'2023-11-07'},success(res){console.log(res);let fileManager = wx.getFileSystemManager();console.log(wx.env,'env');let filePath = wx.env.USER_DATA_PATH + '/qr.jpg';   // 二维码的一个本地地址,图片名称可随意起console.log(filePath);fileManager.writeFile({filePath,encoding:'binary',data:res.result.buffer,success:(result)=>{console.log(result);let codeImg = filePath;  that.setData({    // 将二维码渲染到页面上image:codeImg})wx.hideLoading({})}})}})},

5. 保存二维码方法 saved

// 保存二维码到手机上saved(){wx.saveImageToPhotosAlbum({filePath: this.data.image,success:res=>{console.log(res);wx.showToast({title:'保存成功',})}})},

6. 预览二维码方法 previewed

// 预览二维码previewed(e){const {filepath} = e.currentTarget.dataset;wx.previewImage({urls: [filepath],   // 可传多个地址})}

7. 获取二维码传递的参数

在第3步的2中,我们设置的扫码进入的页面是pages/indexv2/index,因此我们可在这个文件的onLoad中获取参数

onLoad(options) {console.log(options,'options');const {discount,endDate} = options;if(discount){// 书写业务逻辑xxx}if(endDate){// 书写业务逻辑xxx}},

如果对您有帮助,请三连❤,么么哒~

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

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

相关文章

RabbitMQ的6种工作模式

RabbitMQ的6种工作模式 官方文档&#xff1a; http://www.rabbitmq.com/ https://www.rabbitmq.com/getstarted.html RabbitMQ 常见的 6 种工作模式&#xff1a; 1、simple简单模式 1)、消息产生后将消息放入队列。 2)、消息的消费者监听消息队列&#xff0c;如果队列中…

在Raspberry Pi 4上安装Ubuntu 20.04 + ROS noetic(不带显示器)

在Raspberry Pi 4上安装Ubuntu 20.04 ROS noetic&#xff08;不带显示器&#xff09; 1. 所需设备 所需设备&#xff1a; 树莓派 4 B 型 wifi microSD 卡&#xff1a;最小 32GB MicroSD 转 SD 适配器 &#xff08;可选&#xff09;显示器&#xff0c;鼠标等 2. 树莓派…

机器学习---概述(二)

文章目录 1.模型评估1.1 分类模型评估1.2 回归模型评估 2. 拟合2.1 欠拟合2.2 过拟合2.3 适当拟合总结&#xff1a; 3.深度学习3.1层次&#xff08;Layers&#xff09;&#xff1a;3.2 神经元&#xff08;Neurons&#xff09;&#xff1a;3.3 总结 1.模型评估 模型评估是机器学…

【Linux操作系统】Vim:提升你的编辑效率

Vim是一款功能强大的文本编辑器&#xff0c;它具有高度可定制性和灵活性&#xff0c;可以帮助程序员和文本编辑者提高编辑效率。本文将介绍Vim的基本使用方法、常用功能和一些实用技巧。 文章目录 1. Vim的基本使用方法&#xff1a;2. 常用功能&#xff1a;2.1 文件操作&#…

Qt应用开发(基础篇)——时间类 QDateTime、QDate、QTime

一、前言 时间类QDateTime、QDate、QTime、QTimeZone保存了Qt的时间、日期、时区信息&#xff0c;常用的时间类部件都会用到这些数据结构&#xff0c;常用概念有年、月、日、时、分、秒、毫秒和时区&#xff0c;时间和时区就关系到时间戳和UTC的概念。 UTC时间&#xff0c;又称…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK获取相机当前数据吞吐量(C#)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来获取相机当前数据吞吐量&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在BGAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过BGAPI SDK获取…

x光下危险物品/违禁物品目标识别的模型训练与推理代码

前言 1.安检在公共场合的重要性不言而喻&#xff0c;保障群众人身安全是其首要任务。在各种场合&#xff0c;安检都是不可或缺的环节。x光安检机作为安检的重要工具&#xff0c;尽管其具有人工监控判断成像的特性&#xff0c;但是其局限性也十分明显。 为了解决这一局限性为出…

React 核心开发者 Dan Abramov 宣布从 Meta 离职

导读React.js 核心开发者、Redux 作者 Dan Abramov 在社交平台发文宣布&#xff0c;将辞去在 Meta 的职务&#xff1a; “我感到苦乐参半&#xff0c;几周后我就要辞去 Meta 的工作了。在 Meta 的 React 组织工作是我的荣幸。感谢我过去和现在的同事接纳我&#xff0c;容忍我犯…

Java02-迭代器,数据结构,List,Set ,Map,Collections工具类

目录 什么是遍历&#xff1f; 一、Collection集合的遍历方式 1.迭代器遍历 方法 流程 案例 2. foreach&#xff08;增强for循环&#xff09;遍历 案例 3.Lamdba表达式遍历 案例 二、数据结构 数据结构介绍 常见数据结构 栈&#xff08;Stack&#xff09; 队列&a…

9.物联网操作系统之软件定时器

一。软件定时器概念及应用 1.软件定时器定义 就是软件实现定时器。 2.FreeRTOS软件定时器介绍 如上图所示&#xff0c;Times的左边为设置定时器时间&#xff0c;设置方式可以为任务设置或者中断设置&#xff1b;Times的右边为定时器的定时响应&#xff0c;使用CallBack响应。…

OLAP ModelKit Crack,ADO.NET和IList

OLAP ModelKit Crack,ADO.NET和IList OLAP ModelKit是一个多功能的.NET OLAP组件&#xff0c;用C#编写&#xff0c;只包含100%托管代码。它具有XP主题的外观&#xff0c;并能够使用任何.NET数据源(ADO.NET和IList)。借助任何第三方组件(尤其是图表组件)呈现数据的能力扩展了产品…

春秋云镜 CVE-2020-25540

春秋云镜 CVE-2020-25540 Thinkadmin v6任意文件读取漏洞 靶标介绍 ThinkAdmin 6版本存在路径查找漏洞&#xff0c;可利用该漏洞通过GET请求编码参数任意读取远程服务器上的文件。 启动场景 漏洞利用 1、未授权列目录poc 读取网站根目录Payload: http://think.admin/Think…

【LeetCode】105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树

105. 从前序与中序遍历序列构造二叉树 这道题也是经典的数据结构题了&#xff0c;有时候面试题也会遇到&#xff0c;已知前序与中序的遍历序列&#xff0c;由前序遍历我们可以知道第一个元素就是根节点&#xff0c;而中序遍历的特点就是根节点的左边全部为左子树&#xff0c;右…

4用opencv玩转图像2

opencv绘制文字和几何图形 黑色底图 显示是一张黑色图片 使用opencv画圆形 #画一个圆 cv2.circle(imgblack_img,center(400,400),radius100,color(0,0,255),thickness10) 画实心圆 只需要把thickness-1。 cv2.circle(imgblack_img,center(500,600),radius50,color(0,0,255),t…

K8s持久化存储(nfs网络存储)

数据卷 emptydir&#xff0c;是本地存储&#xff0c;pod重启&#xff0c;数据就不存在了&#xff0c;需要对数据持久化存储 1.nfs&#xff0c;网络存储 &#xff0c;pod重启&#xff0c;数据还存在的

【C语言学习——————预处理3000字讲解】

欢迎阅读新一期的c语言学习模块————预处理 ✒️个人主页&#xff1a;-_Joker_- &#x1f3f7;️专栏&#xff1a;C语言 &#x1f4dc;代码仓库&#xff1a;c_code &#x1f339;&#x1f339;欢迎大佬们的阅读和三连关注&#xff0c;顺着评论回访&#x1f339;&#x1f339…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--功能实现[五]

文章目录 SSM--功能实现实现功能09-带条件查询分页显示列表需求分析/图解思路分析代码实现测试分页条件查询带条件分页查询显示效果 实现功能10-添加家居表单前端校验需求分析/图解思路分析代码实现完成测试测试页面效果 实现功能11-添加家居表单后端校验需求分析/图解思路分析…

Spring接口InitializingBean的作用和使用介绍

在Spring框架中&#xff0c;InitializingBean接口是一个回调接口&#xff0c;用于在Spring容器实例化Bean并设置Bean的属性之后&#xff0c;执行一些自定义的初始化逻辑。实现InitializingBean接口的Bean可以在初始化阶段进行一些必要的操作&#xff0c;比如数据的初始化、资源…

2023巅峰极客比赛web复现

<1> unserialize(反序列化字符串逃逸) 下载 www.zip得到源码&#xff1a; my.php 存在 pull_it恶意类 反序列化时会执行 $this-x 这里有一层过滤 $this-x不能为字母数字 可以取反、异或绕过 下面来找一找怎么去触发反序列化 index.php 会对我们登录框输入的参数先…

Markdown系列之Flowchat流程图

一.欢迎来到我的酒馆 介绍Markdown的Flowchart流程图语法。 目录 一.欢迎来到我的酒馆二.什么是Flowchart三.更进一步 二.什么是Flowchart 2.1 Flowchart是一款基于javascript的工具&#xff0c;使用它可以用代码创建简单的流程图。具体信息可以查看flowchart官网&#xff1a;…