微信小程序码生成,扫码携带参数进入指定页面

news2024/11/27 6:27:35

一、准备工作

(1)微信小程序后台获取小程序的appIdsecret

小程序后台管理(开发管理➡开发设置)

(2)扫码跳转的页面在app.json中已经注册

注册的路径与传过去的路径一致

(3)小程序已经有已发布的线上版本,否则会找不到页面报错

体验版的不行,找不到相应的页面报错

二、前端模拟获取

1、获取AccessToken

获取小程序全局唯一后台接口调用凭据,token有效期为7200s。
参考文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html

getAccessToken() {
  let that = this
  let appId = 'XXX'
  let secret = 'XXX'
  wx.request({
    url: `https://api.weixin.qq.com/cgi-bin/token?appid=${appId}&secret=${secret}&grant_type=client_credential`,
    data: {},
    header:{
      'content-type':'json'
    },
    success:function(res) {
      console.log(res);
      that.getWxQrCode(res.data.access_token)
    }
  })
}

在这里插入图片描述

2、获取不限制的小程序二维码

适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。
参考文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html

getWxQrCode(access_token) {
   wx.request({
     url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${access_token}`,
     data:JSON.stringify({
       scene: '1',
       page: 'pages/aboutMall/detail/detail'
     }),
     header:{
       'content-type':'json'
     },
     method: 'POST',
     success:function(res) {
       console.log(res);
     }
   })
 }

在这里插入图片描述

三、调用后端接口获取

在实际的开发中,生成小程序码的操作放在了后端,因为后端要把前端传过去的参数在生成码的过程中放进去,用户在扫码的时候就能进入到指定页面并且携带参数调用接口。如:在商品的详情页生成分享海报携带小程序码,小程序码中包含商品id,用户扫码后能跳转到小程序的商品详情页并且拿到商品id调用接口等。

getWxQrCode() {
	let data = {}
	data.path = 'pages/aboutMall/detail/detail'
    data.scene = this.data.goodId
    getWxQrCode(data).then(res => {
      if(res.data.code === 1) {
        // 后端返回小程序码的url
      } else {
        wx.showToast({
          title: res.data.msg,
          icon: 'none'
        })
      }
    })
}

后端调用以上两个接口后拿到小程序码的流式文件,经过处理后存到服务器上给前端返回一个url路径,方便小程序进行处理。

附上错误码如下:

在这里插入图片描述

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

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

相关文章

同步模式之犹豫模式Balking

tip: 作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 文章目录 一、同步模式之犹豫模式Balking二、代码样例三、优缺点 一、同步模式之犹豫模式Balking 同步模…

挤出泡沫、脱虚向实,AI大模型正在回归价值投资?

商品推荐、交通管理、生成文章、代码编程、电影特效制作……自ChatGPT横空出世以来,AIGC浪潮席卷全球,上下游产业链也因此大放异彩。 市场行情的高景气直观反映在股价上,无论AI公司是否盈利,其股价多呈上升趋势。一些与AI概念有所…

测试:用例篇

上一章讲述的是测试的基本概念。在我们开始做了一段时间基础测试,熟悉了业务之后,往往会 分配来写测试用例,并且在日常测试中,有时也需要补充测试用例到现有的案例库中 在开始之前先讲讲测试中经典的测试方法:黑盒测试…

【dc-dc】DC-DC恒流电源 车灯方案的应用

1,信息来源:深圳市世微半导体有限公司 Augus 2,产品描述 AP5103 是一款效率高,稳定可靠的 LED 灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率 LED 恒流驱动。…

[Kotlin] 玩Android代码学习之-模块化+Retrofit+协程+viewModel的数据层封装

文章目录 1:前言玩Android APP 源码本贴的目的参考贴 2: kotlin下的模块化(捎带一嘴)3:Retrofit协程viewModel3.1基础网络层搭建lib_home:Bannerlib_common: BaseResp lib_common:RetrofitManagerlib_home: HomeApi 3.2基础网络层接口测试3.3 基础网络层优化-koin依赖注入框架…

观澜最快的旧改项目之一,鸿荣源观城项目一期。

项目:观湖街道观城第一期城市更新单元位置:4号地铁观澜地铁站0距离 规模:拆除范围用地面积706094㎡ 面积:私信咨询价格:3.x万/平 开发商:鸿荣源 合同方案:直接开发商签合同 目前进度&#…

Scrapy 入门教程

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,…

【CANN训练营机器狗系列】安装ROS环境及初体验

环境 操作系统:Ubuntu 20.04 CPU:Intel Xeon Gold 6278C CPU 2.60GHz 内存:16GB 准备环境 Ubuntu与ROS版本对应关系 UbuntuROS 1.0ROS2.016.04 LTSKinetic LTSArdent18.04 LTSMelodic LTSDashing LTS120.04 LTSNoetic LTSFoxy LTS 安装…

linorobot机器人-自动生成-不可用

好像还是比较混乱。 具体信息参考其官网。 https://linorobot.org/ Linorobot是一套开源的ROS兼容机器人,旨在为学生、开发者和研究人员提供一个低成本的平台,以便在ROS(机器人操作系统)的基础上创建新的激动人心的应用。Linor…

VMware(Ubuntu)共享文件夹设置

VMware共享文件夹设置 安装完成ubuntu虚拟机后,需要建立共享文件夹来方便在Host主机和虚拟机ubuntu之间分享文件。 在虚拟机设置中,在 选项 卡中找到 共享文件夹 项,在右侧添加共享文件夹。 在虚拟机中,在ubuntu终端中使用指令…

Three.js camera初探——转场动画实现

背景 首先简单介绍一下three.js,three.js是用javascript写的基于webGL的第三方3D库,通过它可以在网页中进行3D建模,结合上TweenMax.js动画库,在网页中实现3D动画效果就变得很简单了。 这是three.js建模的简单流程图例&#xff1…

基于B/S架构springboot框架开发的中小学智慧校园平台源码

一、智慧校园技术框架: 1、使用springboot框架Javavue2 B/S架构 2、JAVA语言数据库MySQL5.7 3、移动端小程序使用小程序原生语言开发 4、电子班牌固件安卓7.1;使用Java Android原生 5、elmentui ,Quartz,jpa,jwt …

实现 Linux 视频会议(源码,支持信创环境,银河麒麟,统信UOS)

信创是现阶段国家发展的重要战略之一,面对这一趋势,所有的软件应用只有支持信创国产化的基础软硬件设施,在未来才不会被淘汰。那么,可以使用C#来实现支持信创环境的视频会议系统吗?答案是肯定的。 本文讲述如何使用C#来…

django 快速入门

快速开始 安装Django 首先安装Django包,现在Django已经到了2.0版本,如果还在使用1.11请尽快升级。旧版本以后只修复bug,不会添加新功能。 pip install django 复制 创建项目 Django安装好之后,会附带一个命令行工具django-a…

uCOSii_任务栈检测和任务栈清除

1、任务栈检测和任务栈清除 在创建任务时,也需要设置OSTaskCreateExt()传入opt参数。 当opt (INT16U)(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK),可以使用OSTaskStkChk()检查的任务栈的剩余空间,也可以使用OS_TaskStkClr()清除任务栈。 …

使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

文章目录 1、DFDiff介绍2、软件架构3、安装教程3.1、编译为jar包运行3.2、编译为原生应用运行 4、运行效果图5、项目源码地址 1、DFDiff介绍 当前已实现的功能比较两个文件夹内的文件差异,已支持文件差异对比。 2、软件架构 软件架构说明 开发环境是在OpenJDK17&…

docker 安装gitlab jenkins git maven

jenkins 配置git提示 问题1、Error performing git command: /usr/local/git ls-remote -h 问题2、stdout: stderr: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repositor…

【数据结构】一文带你掌握二叉树的构造与应用

文章目录 1. 构造二叉树2. 前序遍历2.1 前序遍历递归2.2 前序遍历非递归 3. 中序遍历3.1 中序遍历递归3.2 中序遍历非递归 4. 后序遍历4.1 后序遍历递归4.2 后序遍历非递归 5. 层序遍历6. 节点个数6.1 所有节点个数6.2 获得叶子节点个数 7. 检测值为value的元素是否存在8.总结 …

数据库SQL2000最基本的安装和操作教程

Chengg0769 2012年 转载请保留以下版权来源 www.mis2erp.com http://blog.csdn.net/chengg0769 http://www.haojiaocheng.cc 题外话: 之前写了一个项目,因为是国企,各种文档都要给到他们。当时就写了一个简单的维护管理SQL2000的文档。这…

【2352. 相等行列对】

来源:力扣(LeetCode) 描述: 给你一个下标从 0 开始、大小为 n x n 的整数矩阵 grid ,返回满足 Ri 行和 Cj 列相等的行列对 (Ri, Cj) 的数目。 如果行和列以相同的顺序包含相同的元素(即相等的数组&#…