微信小程序带参扫码跳转以及测试方法

2023-11-08

前言

        最近在做小程序开发时,遇到的一个比较基础性的问题吧。觉得有记录的必要,第一是加深自己的影响,第二也方便跟我一样遇到这种问题的朋友做一个方法参考。

参数及跳转页面约定

        这里的参数是你与后端沟通好的,约定的要返回的内容。这里因为项目业务需要,后端返回了一个uid和sid。

        用户扫描该码时,会将当前分享者的uid以及当前页面的sid传递出去,当然跳转到哪个页面也是你们提前约定好的。

        举个例子,假如你有一个页面的路径是 '/pages/my/info',你跟后端说,用户扫了这个二维码他就会跳到这个页面,那么你将路由地址( '/pages/my/info')发给即可,让他按照这个路由跳转。

获取参数

        这里我们参考微信小程序官方文档可知,传递的参数要在onload中去获取

 扫码获取参数 这里是官方文档记录的获取参数的方式,以及一些其他的扩展,有兴趣的朋友可以去阅读一下。

我们传递的参数会被存在scene这个变量中,使用decodeURIComponent(query.scene)可以获取到我们需要的参数,打印得到如下字段:

 是一个字符串,很显然这不是我们所需要的内容,所以在这里需要将uid和sid分离出来

const uidIndex = scene.indexOf('?')

找到?所在下标,可以知道uid其实就是从下标4开始,到下标?所在的位置为止的

const uid = scene?.substring(4,uidIndex) || ''

这样就能拿到完整的uid了。

而sid同理,是从'sid='所在的下标往前加4位开始,一直到字符串长度结束

const sidIndex = scene.lastIndexOf('sid=')
this.sid = val.sid || scene?.substring(sidIndex + 4,scene.length) || ''

这样就可以拿到完整的sid了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序带参扫码跳转以及测试方法 的相关文章

  • 牛客 · 奇♂妙拆分

    奇 妙拆分 题目描述 在遥远的米 奇 妙 妙 屋里住着一群自然数 他们没事就喜欢拆 开自己来探 究 现在他们想知道自己最多能被拆分成多少个不同的自然数 使得这些自然数相乘的值等于被拆分的数 输入描述 第 1 1 1行输入一个整数 T
  • 一图看懂架构划分原则:技术划分 OR 领域划分?

    架构划分原则 技术划分 描述 按技术用途组织系统组件 典型示例 分层 多层 架构 组件按技术层组织 用户界面 与用户直接交互的部分 业务规则和核心处理 逻辑和算法 与数据库交互 数据存取和查询 数据库层 数据存储和管理 优点 当大部分更改与
  • Linux域名解析得到ip地址

    Linux下域名解析得到ip地址代码如下 include
  • Redis(持续完善....)

    1 Redis结构 Redis是一款基于内存的NoSQL数据存储服务 是非关系型的 是使用K V结构进行存储的 gt lt 基于内存 读写数据均在内存中直接操作 gt
  • 高性能Mysql——SQL执行计划分析(EXPLAIN)

    文章目录 通过EXPLAIN进行执行计划分析 ID select type Table Partitions Type Extra possible keys Key key len Ref Rows Filtered EXPLAIN不能完
  • int与float深入理解

    别在int与float上栽跟头 int与float是我们每天编程都用的两种类型 但是我们真的足够了解它们吗 昨天在博客园看到一个比较老的笑话 昨天晚上下班回家 一民警迎面巡逻而来 突然对我大喊 站住 民警 int 类型占几个字节 我 4 个
  • 记录Maven的相关操作(笔记整理)

    一 安装 我使用的是免安装版的 直接解压缩就可以使用 二 配置环境变量 打开环境变量配置 右键计算机 属性 高级系统设置 高级 环境变量 在系统变量中配置 配置MAVEN HOME 在系统变量中新建 变量名MAVEN HOME 变量值 ma
  • Swoole - 为什么说Swoole中小型企业微服务的首选技术方案

    概述 Swoole的出现 使PHP语言不再局限于传统的 Web领域 对中小企业有很好的支持 有一些企业盲目的追求微服务和K8s 我真诚建议不要轻易上微服务 上了你才知道这里面的辛酸 高成本 低效率会拖碎整个团队 研究中小企业的提效 节省成本

随机推荐

  • sql中on条件和where条件查询结果一样嘛?

    如果使用 join不会有影响 但是 在使用left join时 on和where条件的区别如下 on条件是在生成临时表时使用的条件 它不管on中的条件是否为真 都会返回左边表中的记录 where条件是在临时表生成好后 再对临时表进行过滤的条
  • 【RuoYi-Vue-Plus】学习笔记 28 - 数据脱敏 Json 序列化工具 SensitiveJsonSerializer(Jackson 源码)

    文章目录 前言 参考目录 功能代码实现及测试 1 数据脱敏注解 Sensitive 2 脱敏策略枚举 SensitiveStrategy 3 脱敏 Json 序列化器 SensitiveJsonSerializer 4 测试类 TestSe
  • 大数据面试题集

    史上最全大数据面试题 V3 1 特辑 目录 一 数据仓库 1 维表和宽表的考查 主要考察维表的使用及维度退化手法 2 数仓表命名规范 3 拉链表的使用场景 4 数据库和数据仓库有什么区别 5 有什么维表 时间维表 用户维表 产品维表 合同维
  • PHP 三元 !empty 而不是评估为真或假 可用isset()

    是否可以使用速记三元来检查变量是否已设置 而不是是否计算结果为零或非零 例如 我试过 var 0 echo string var string false 2 但由于前两个表达式的计算结果均为 0 或 false 因此显示为 2 我认为也许
  • Netty4 websocket 开启服务端并设置IP和端口号

    一 环境也就是POM文件
  • Python学习(4)证件照底色变换

    Python学习 4 证件照底色变换 前言 一 Python准备 二 Python仿真 三 仿真结果 四 小结 前言 随着人工智能研究的不断兴起 Python的应用也在不断上升 由于Python语言的简洁性 易读性以及可扩展性 特别是在开源
  • Java面向对象三大特性(封装、继承、多态)

    文章目录 前言 一 封装 1 封装的概念 2 private实现封装 3 getter和setter方法 4 封装的好处 二 继承 1 继承的概念 2 extends实现继承 3 super 关键字 Object 4 访问权限 1 priv
  • 蓝桥杯单片机第十四届第三次模拟题

    题目 Main c include
  • [数值计算-12]:什么是函数逼近:插值、拟合、回归

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119901220 目录 第1章
  • ISO-15118 -1,2,3,4,5,6,8,9,20【最新版】1~20,国际标准分类中,ISO15118涉及到电车、道路车辆装置

    ISO 15118 本专题涉及ISO15118的标准有 国际标准分类中 ISO15118涉及到电车 道路车辆装置 在中国标准分类中 ISO15118涉及到无轨电车牵引供电 交通管理综合 电子 电气设备 公路工程 ISO 15118 20 2
  • 【Java学习笔记】异常处理

    一 异常分类 1 可检查的异常 编译时检查 必须捕捉或声明 可查异常虽然是异常状况 但在一定程度上它的发生是可以预计的 而且一旦发生这种异常状况 就必须采取某种方式进行处理 2 不可检查的异常 编译时不受检查 不需要捕捉或声明 包括erro
  • 主板电源开关接口图解_主板跳线接法示意图,超详细适合DIY新手

    现在DIY自己装机已经很简单了 网上的教程各种各样 也不用专门去电脑城找专业人士来装了 只需要购买好硬件即可 不过 在组装电脑时有一个步骤是很难的 就是主板跳线或者说机箱里面各种线怎么接 下面就给大家说说主板跳线接法 一 开关机跳线和指示灯
  • linux命令总结dd命令详解

    dd 用指定大小的块拷贝一个文件 并在拷贝的同时进行指定的转换 注意 指定数字的地方若以下列字符结尾 则乘以相应的数字 b 512 c 1 k 1024 w 2 参数注释 if 文件名 输入文件名 缺省为标准输入 即指定源文件 lt if
  • Java设计模式-迪米特法则

    迪米特法则 Low Of Demeter 定义 一个对象应该对其他对象保持最少的了解 问题由来 类与类之间的关系越密切 耦合度越大 当一个类发生改变时 对另一个类的影响也越大 解决方案 尽量降低类与类之间的耦合 自从我们接触编程开始 就知道
  • 【LeetCode】—— 二叉树进阶面试题

    一 根据二叉树创建字符串LeetCode606题 1 1 题目描述 空节点则用一对空括号 表示 而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对 示例 1 输入 二叉树 1 2 3 4 1 2 3 4 输出 1 2
  • 批量插入及数据库事务(三)

    五 批量插入 5 1 批量执行SQL语句 当需要成批插入或者更新记录时 可以采用Java的批量更新机制 这一机制允许多条语句一次性提交给数据库批量处理 通常情况下比单独提交处理更有效率 JDBC的批量处理语句包括下面三个方法 addBatc
  • 算法讲解四之滑动窗口

    文章目录 算法学习篇四 滑动窗口 声明 题目 长度最小的子数组 解法一 解法一思路 解法二 滑动窗口 解法二思路 拓展知识点 1 程序设计中 与 的使用 2 i 与 i的使用区别 说明 算法学习篇四 滑动窗口 声明 本文旨在记录自己学习算法
  • 使用python的selenium自动化登录获取cookie

    要爬取广点通广告平台数据 这平台居然没有提供开发用的API数据接口 登录是QQ登录 很复杂 不好抓取登录接口逻辑 于是就用这个 想录gif的不好录 文档 https www yiibai com selenium selenium webd
  • xgboost特征选择

    Xgboost在各大数据挖掘比赛中是一个大杀器 往往可以取得比其他各种机器学习算法更好的效果 数据预处理 特征工程 调参对Xgboost的效果有着非常重要的影响 这里介绍一下运用xgboost的特征选择 运用xgboost的特征选择可以筛选
  • 微信小程序带参扫码跳转以及测试方法

    前言 最近在做小程序开发时 遇到的一个比较基础性的问题吧 觉得有记录的必要 第一是加深自己的影响 第二也方便跟我一样遇到这种问题的朋友做一个方法参考 参数及跳转页面约定 这里的参数是你与后端沟通好的 约定的要返回的内容 这里因为项目业务需要