当前位置:   article > 正文

微信公众号和微信小程序扫码进入,动态参数实现页面跳转和接口入参实现_微信外部扫码进入小程序及传参

微信外部扫码进入小程序及传参

微信公众号扫码进入

应用场景:扫码直接进入公众号的指定页面,传入指定参数

1、生成链接

根据自己的需求生成链接地址:
#paramone 参数 #paramtwo 参数 https://qqls.com?paramone=1&paramtwo=2

2、页面接收参数

使用方法来实现获取传入的参数
let paramone= str.getQueryString('paramone'); console.log(paramone);//1

由于h5是可以使用localtion获取到当前页面的url的,所以我写了一个获取当前url上的参数方法

/**
 * 获取请求URL参数
 * @param name
 * @returns {string}
 */
str.getQueryString = function (name) {
    let val = '';
    let url = location.href // 获取url中"?"符后的字串
    let index = url.indexOf('?');
    if (index !== -1) {
        let str = url.substr(index + 1)
        let strs = str.split('&')
        for (let i = 0; i < strs.length; i++) {
            let arr = strs[i].split('=');
            if (arr[0] === name) {
                val = decodeURIComponent(arr[1])
            }
        }
    }
    return val
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

这样就可以获取到你想要的参数了!

微信小程序生成普通链接,并且跳转至小程序

应用场景:使用过程中一般会需要进行推广,那么我们直接进行小程序扫码进入,比较常见
我开发的流程
实现基本流程后-》微信公众平台配置-》进行代码上传体验版本-》草料生成二维码-》扫码实现效果

1、微信公众平台配置

由于微信小程序是需要需要进行配置允许普通链接跳转小程序才行的,不然无效
在这里插入图片描述
进入平台后找到-开发管理-开发设置,在比较下方进行添加配置

2、代码设置为体验版本

3、使用草料二维码生成器生成二维码

链接: 草料二维码官网

4、微信小程序的开发代码

1、在配置的首页地址处
onLoad(options){
if (options.hasOwnProperty('q') && options.q) {
  // 通过下面这步解码,可以拿到url的值
  const url = decodeURIComponent(options.q)
  // 对url中携带的参数提取处理
  const obj = str.getWxUrlParam(url);
  //参数
  this.intoPages = obj.intoPages;
  this.CardNO = obj.CardNO;
}
}

/**
 * 解析微信小程序的链接地址
 * @params url
 * @return {string}
 */

str.getWxUrlParam = function(url){
	let req = {};
	if(url.indexOf('#') !== -1){
		const strName = url.split('#')[1];
		const strNames = strName.split('&');
		for(let i = 0 ; i< strNames.length; i++){
			req[strNames[i].split('=')[0]] = decodeURI(strNames[i].split('=')[1]);
		}
	}else if(url.indexOf('?') !== -1){
		const strName = url.split('?')[1];
		const strNames = strName.split('&');
		for(let i = 0 ; i< strNames.length; i++){
			req[strNames[i].split('=')[0]] = decodeURI(strNames[i].split('=')[1]);
		}
	}
	return req;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/274247?site
推荐阅读
相关标签
  

闽ICP备14008679号