当前位置: 首页 > article >正文

微信小程序页面传参传对象

// 构建url
const buildUrl = (url, query = {}, isSequence = true) => {
  if (!query) return url;
  const joiner = url.match(/\?/) ? '&' : '?';
  const queryStr = Object.keys(query)
    .map(key => {
      return `${key}=${encodeURIComponent(isSequence?JSON.stringify(query[key]):query[key])}`
    })
    .join('&')
  return url + joiner + queryStr;
}

// 解析query对象
const decodeQuery = (originQuery = {}, isSequence = true) => {
  const result = {};
  if (!originQuery) return {};
  return Object.keys(originQuery).reduce((prev, curr) => {
    result[curr] = decodeURIComponent(originQuery[curr])
    if (isSequence) {
      result[curr] = JSON.parse(result[curr])
    }
    return result;
  }, result)
}

module.exports = {
  buildUrl,
  decodeQuery
}

http://www.kler.cn/a/467880.html

相关文章:

  • 算法的学习笔记—不用常规控制语句求 1 到 n 的和
  • 10-C语言项目池
  • VISRAG论文介绍:一种直接的视觉RAG
  • ansible-性能优化
  • 用户界面的UML建模10
  • [python3]Excel解析库-xlutils
  • 特种作业操作证考试题库及答案(登高架设作业)
  • 功能篇:vue中的vuex使用例子
  • windows11(或centos7)安装nvidia显卡驱动、CUDA、cuDNN
  • Lucas-Kanade光流法详解
  • vue路由模式面试题
  • ffmpeg filter 滤镜命令
  • yolo目标检测之摄像头检测
  • vulkan从小白到专家——VulkanSwapChain
  • 《Rust权威指南》学习笔记(一)
  • Linux一些问题
  • Android 系统 `android.app.Application` 类的深度定制
  • Jellyfin播放卡顿,占CPU的解决方法
  • 数学常用术语作用reminder
  • 供应链系统设计-供应链中台系统设计(七)- 商品中心设计篇
  • 大白话拆解——多线程中关于死锁的一切(七)(已完结)
  • SpringBoot中常用的 Redis 命令实现
  • Linux Red Hat 7.9 Server安装GitLab
  • 【Ubuntu】 Ubuntu22.04搭建NFS服务
  • ARM CCA机密计算安全模型之固件更新
  • 自定义有序Map