获取微信小程序路由参数

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

获取微信小程序的方法如下

function _extends() { 
_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

/**
 * 解析url中的params
 * @param urlStr 携带params的url
 * @returns 
 */


var getUrlStructure = function (urlStr) {
  var url;

  if (typeof urlStr === 'undefined') {
    url = decodeURI(location.search); // 获取url中"?"符后的字符串
  } else {
    url = "?" + urlStr.split('?')[1];
  }

  var theRequest = {};

  if (url.indexOf('?') !== -1) {
    var str = url.substr(1);
    var strs = str.split('&');

    for (var i = 0; i < strs.length; i++) {
      theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]);
    }
  }

  return theRequest;
};
/**
 * 根据当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
 * 获取小程序下的页面路由
 * @returns 
 */


var getCurrentPageUrl = function () {
  var pages = getCurrentPages();
  var currentPage = pages[pages.length - 1];
  var url = currentPage.route;
  var options = currentPage.options;
  return {
    url: url,
    options: options
  };
};
/**
 * 获取 URL 所有参数
 *
 * @return {*}
 */


var getUrlParams = function (src) {
  if (isWeChatMiniProgram) { //微信小程序
    var _getCurrentPageUrl2 = getCurrentPageUrl(),
        params = _getCurrentPageUrl2.options;

    var routerParams = params; // 扫瞄二维码进入参数被包在了q里面- 普通二维码
    // 扫瞄二维码进入参数被包在了scene里面- 后端生成的图片二维码

    var query = '';

    if (params && params.q) {
      query = decodeURIComponent(params.q);
    } else if (params && params.scene) {
      query = decodeURIComponent(params.scene);
    }

    if (query) {
      // query参数系列化
      var res = query.replace(/(.*\?)/, '').split('&').reduce(function (obj, item) {
        var _item$split = item.split('='),
            key = _item$split[0],
            value = _item$split[1];

        var _obj = _extends({}, obj);

        _obj[key] = value;
        return _obj;
      }, {});
      routerParams = _extends({}, params, res);
    }

    return routerParams;
  } else {
    return getUrlStructure(src);
  }
};
/**
 * 获取 URL 指定参数值
 *
 * @param {string} key 参数 key 名
 * @return {*}
 */


var getUrlParam = function (key, src) {
  return getUrlParams(src)[key];
};

var getSearchParams = {
  getUrlParam: getUrlParam,
  getUrlParams: getUrlParams
};
export default getSearchParams;

具体使用文章来源地址https://www.toymoban.com/news/detail-557683.html

  const { getUrlParams } = getSearchParams;
  const { yourID } = getUrlParams() as any || undefined;
  console.log(yourID);

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

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

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

相关文章

  • 微信小程序路由以及跳转页面传递参数

    路由 在app.json的pages里面写 \\\"pages/页面/页面\\\" 直接保存pages直接生成非常方便  跳转页面 wx.navigateTo() 保留当前页面,跳转到应用内的某个非tabBar页面。 text bindtap=\\\"daka\\\"点击/text 会保留返回箭头 底部导航跳转在app.json写入即可 传参以及接收参数 1、本地存储 使用方法:和js差不

    2024年02月11日
    浏览(41)
  • 微信小程序分享后真机参数获取不到和部分参数不能获取问题问题解决

    进入下面小程序可以体验效果 : 微信小程序的很多API,都是BUG,近期开发小程序就遇到了分享后开发工具可以获取参数,但是真机怎么都拿不到参数的问题 解决方式: 在onLoad(options) 中。 onLoad方法中一定要有options 这个参数。 然后必须再 调用一次 getCurrentPages()[0].options 方

    2024年02月11日
    浏览(34)
  • 微信小程序页面跳转时URL获取不到参数

    原因: 在跳转的url参数中添加了包含特殊字符?的情况下 ,会出现参数丢失的情况 1.最近在小程序开发过程中,发现之前可用的某个功能字段展示为了undefined,后来查看参数发现 页面跳转时参数丢失了 导致的 此时获取到的参数都是正常的,在上线一段时间后,其它同学在 图

    2024年02月11日
    浏览(53)
  • 微信小程序:生成二维码带参数并获取值

    通过后台接口可以获取小程序任意页面的小程序码,需要注意的是 接口只能生成已发布的小程序的二维码 小程序接口文档 1)scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。

    2024年02月15日
    浏览(29)
  • uniapp微信小程序 获取从二维码进入小程序所携带的参数

    在app.vue  onLaunch中调用获取场景值的方法即可 (建议在onShow中调用,避免扫码冷启动)

    2024年02月15日
    浏览(31)
  • 【BUG】微信小程序扫码获取不到scene参数的bug修复

    扫码后获取不到scene,必须点击“重新进入小程序”才可以 微信小程序的二维码扫描分为两种情况: 冷启动:当用户首次扫描二维码或在后台无该小程序运行实例时打开小程序,此时可以通过scene参数获取到二维码中的数据。 热启动:当小程序已经在后台运行,用户通过扫描

    2024年04月26日
    浏览(29)
  • 微信小程序如何获取数组下标

    我们在写代码的时候我们经常会用到获取数组下标的方法,我们知道java通常是用for循环,i++,输出i就出来了,那对于小程序该怎么实现呢,首先我们会想到直接用index,但是这种方法是不可行的。 其中,用wx:for-index=“index” 确定下标的名字 data-index=\\\"{{index}}\\\" 在bindtap里绑定数据

    2024年02月15日
    浏览(30)
  • 微信小程序如何获取当前日期时间

    Hello大家好!我是咕噜铁蛋,获取当前日期时间是小程序中经常会用到的一个功能。因此,在本文中,我通过科技手段给大家收集整理了下,今天我将向大家介绍如何在微信小程序中获取当前日期时间的方法,并分享一些实用技巧和注意事项。 一、获取当前日期时间的方法

    2024年01月23日
    浏览(44)
  • 微信小程序如何获取元素节点信息?

    通常在做微信小程序的时候我们经常会需要获取元素的信息,但是微信小程序有没有完整的“DOM”操作,无法像浏览器中获取元素。 不过在微信中也有一套自己的“DOM”,那就是NodesRef,它可以让我们像开发浏览器程序一样轻松愉快的获取页面元素 1.1、NodesRef是什么? Nodes

    2024年02月05日
    浏览(29)
  • 如何获取微信小程序页面路径

    选择“工具”,“生成小程序码” 这样拿到的就是微信小程序的起始页面路径啦~

    2024年02月12日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包