收藏
回答

扫普通链接二维码打开小程序 如何向小程序传参数

回答关注问题邀请回答
收藏

3 个回答

  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    01-24
    // onLoad(e)会有一个q参数传递过来
    if(e.q){
    var url = decodeURIComponent( q )
    		var requestParams = {}
    		if ( url.indexOf( "?" ) !== -1 ) {
    			let str = url.substr( url.indexOf( "?" ) + 1 ); //截取?后面的内容作为字符串
    			let strs = str.split( "&" ); //将字符串内容以&分隔为一个数组
    			for ( let i = 0; i < strs.length; i++ ) {
    				requestParams[ strs[ i ].split( "=" )[ 0 ] ] = decodeURI( strs[ i ].split( "=" )[ 1 ] );
    				// 将数组元素中'='左边的内容作为对象的属性名,'='右边的内容作为对象对应属性的属性值
    			}
    		}
    		
    		console.log( requestParams, "解析参数/地址:", url )
    		}else {
    //执行页面跳转进入参数接收
    }
    
    
    
    01-24
    有用
    回复
  • 正青春
    正青春
    01-24

    在小程序后台配置二维码跳转小程序规则之后即可使用微信(6.5.6及其以上客户端版本)扫码打开小程序。

    二维码链接内容会以参数 q 的形式带给页面,在onLoad事件中提取 q 参数并自行 decodeURIComponent 一次(对于小游戏可使用 wx.getEnterOptionsSync 接口获取),即可获取原二维码的完整内容。同时会附加一个参数 scancode_time(UNIX 时间戳,单位秒),表示用户扫码的时间。

    Page({
      onLoad(query) {
        const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容
        const scancode_time = parseInt(query.scancode_time) // 获取用户扫码时间 UNIX 时间戳
      }
    })
    


    01-24
    有用
    回复
  • 旷奇艺
    旷奇艺
    01-24
    Page({
      onLoad(query) {
        const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容
        const scancode_time = parseInt(query.scancode_time) // 获取用户扫码时间 UNIX 时间戳
      }
    })
    
    
    
    
    01-24
    有用
    回复
登录 后发表内容