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

这篇具有很好参考价值的文章主要介绍了微信小程序码生成,扫码携带参数进入指定页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备工作

(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);
     }
   })
 }

微信小程序二维码带参数,微信小程序,微信小程序
注意点:scene最大32个可见字符,只支持数字,大小写英文以及部分特殊字符。如果传的字符串比较长就会报错。

三、调用后端接口获取

在实际的开发中,生成小程序码的操作放在了后端,因为后端要把前端传过去的参数在生成码的过程中放进去,用户在扫码的时候就能进入到指定页面并且携带参数调用接口。如:在商品的详情页生成分享海报携带小程序码,小程序码中包含商品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路径,方便小程序进行处理。

附上错误码如下:

微信小程序二维码带参数,微信小程序,微信小程序

四、小程序页面中接收参数

onLoad中进行接收,拿到值之后(如id)再调用对应的接口

onLoad(options) {
	console.log(options.scene)
}
五、注意点

(1)一般使用微信扫小程序二维码携带参数进入到指定页面,该页面所有调用的接口是不进行token校验的,用户还没有登录,当跳转到需要用户必须先登录的页面(如:下单支付)时再进行授权登录。

(2)跳转到的页面是无法返回上一页的,因为页面栈中没有上一页,但很多时候用户想要看到整个小程序,解决思路是:回到首页,在首页有小程序所有页面的入口,按正常流程来走通过扫码进来到某个页面,页面的左上角显示的是返回箭头,返回一下就退出小程序了。我这边的解决方案是跳转进入的页面用自定义导航栏

<image wx:if="{{enterWay == 'scan'}}" class="icon_home" src="/public/image/icon_goHome.png" bindtap="onClickLeft" />
<van-nav-bar title="" left-arrow="{{enterWay != 'scan'}}" bind:click-left="onClickLeft" safe-area-inset-top='false' custom-class='navbar' title-class='titleClass' border='false' />

如果通过扫码进入,左上角就显示一个小房子图片,点击小房子就能回到首页;如果是正常从上一页进入,就显示箭头,点击返回上一页。文章来源地址https://www.toymoban.com/news/detail-615826.html

onClickLeft() {
    if(this.data.enterWay == 'scan') {
      wx.reLaunch({
        url: '/pages/index/index',
      })
    } else {
      wx.navigateBack({
        delta:1
      })
    }
  },

到了这里,关于微信小程序码生成,扫码携带参数进入指定页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用uniapp生成二维码并下载,小程序扫码进入指定页面

    功能1:通过扫码链接进入小程序指定页面(带参数) 功能2:将网址链接(带参数)在微信小程序中使用二维码展示出来,并可以点击下载二维码图片  扫码链接进入指定页面并且带参数 在小程序管理后台-开发管理-开发设置-扫普通链接二维码打开小程序中,配置链接地址,

    2024年02月11日
    浏览(36)
  • 微信生成小程序码 怎么携带中文参数

    要在微信生成小程序码时携带中文参数,可以使用URL编码,将中文参数转换为%xx格式的编码。例如,如果要携带参数为“你好”,则可以将其转换为“%E4%BD%A0%E5%A5%BD”,然后将其添加到小程序码的路径中。 例如,如果你的小程序路径为“pages/index/index”,并且要携带参数为“

    2024年02月08日
    浏览(23)
  • 微信扫码跳转到微信小程序指定页面

    用户想通过在微信上扫描实验室二维码直接进入小程序申请加入实验室 1、首先我们需要在微信公众平台的开发管理——开发设置,找到(扫普通链接二维码打开小程序),点击添加,会出现下面的页面,配置好之后点击保存就行了 填写页配置点击保存之后要再发布 2、在微

    2024年02月16日
    浏览(66)
  • 小程序将本页面生成二维码,二维码扫码带参数进小程序指定页面

    1、因为小程序调用 https://api.weixin.qq.com/ 不能直接调用这个接口,所以我们需要在ApiPost上先测试一下生成一下二维码,生成测试没问题后可以让后端调用返回给前端。 获取access_token方法官方文档地址如下: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

    2024年02月15日
    浏览(36)
  • unapp微信小程序转发分享、携带参数

    这里有个uni官方文档的bug,uni官方文档并没有说明uni.showShareMenu有menus配置项,但是微信官方文档是有的。所以加上也是会生效的。 注意:配置了此项,此种方式优先级要比第二种方式要高,所以采用第二种方式就不能配置第一种方式。 下面是uni的文档配置项:官方文档 微信

    2024年02月01日
    浏览(38)
  • 微信小程序携带参数的页面跳转

    日常我们在手机app购物的时候,点击app主页琳琅满目的商品,就会跳转到商品的具体页面。 无论我们点击哪个商品,跳转到商品具体页面的布局都是一样的,但页面内的数据不一样,比如说商品名称,图片等等不一样。这就是在点击商品的时候,在跳转到具体页面时候传递了

    2024年02月09日
    浏览(40)
  • 微信小程序之间是如何跳转的,并携带参数

    要实现小程序之间的跳转,需要使用小程序的跳转 API。具体步骤如下:         1、在原小程序中,使用  wx.navigateToMiniProgram  API 跳转到目标小程序。         2、在目标小程序中,接收参数并进行处理。在目标小程序中,可以使用wx.getLaunchOptionsSync API获取原始启动参

    2024年02月16日
    浏览(38)
  • 微信小程序 wx.navigateBack() 携带参数返回(刷新上页参数信息)

    页A 通过wx.navigateTo跳转到页B,页B wx.navigateBack返回页A前,可以通过利用getCurrentPages去传递参数,来刷新页A的值  let pages = getCurrentPages(); //获取当前页面pages里的所有信息。  let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面

    2024年02月16日
    浏览(41)
  • 微信小程序中如何携带参数跳转到tabBar页面

    在小程序中使用了tabBar组件之后就不能用wx.navigateTo跳转到tabBar页面了 , 能跳转到tabBar页面的方法有以下两种   但是使用第一种方法时,会因为这种方法在路径后不能携带参数,所以行不通 那么就只能用第二种方法 , 用wx.reLaunch进行跳转 , 地址后跟上自己想要的参数 , 或者用wx

    2024年02月11日
    浏览(55)
  • 【微信小程序】使用页面跳转并携带多个特定参数

    在我们项目的搭建时常常会用到页面跳转,在微信小程序中也支持多个跳转类型。如( wx.switchTabwx.reLauchwx.redirectTowx.navigateTowx.navigateBack )等等, 每一个路由API都是有相对应的特定跳转功能 ,在这里我就不赘述了。 微信开发者文档关于路由的知识点 这里我们 项目的需求 是

    2023年04月18日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包