小程序扫描普通链接二维码跳转小程序指定界面方法


Posted in Javascript onMay 07, 2019

微信官方文档https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html

看了官方文档之后,还是存在很多困惑,微信小程序是托管到微信服务器上的,要想扫描普通链接跳转指定界面,首先要知道微信把小程序放的服务器的访问路径,这些最初想法,可是看微信官方文档,感觉不是我想的这样的

小程序扫描普通链接二维码跳转小程序指定界面方法

文档上:“二维码规则的域名须通过ICP备案的验证。”如果是微信的服务器,那他们就不必这么写了,

可是小程序是托管微信服务器上的,为什么扫码自己服务器上的url能跳转呢?困惑反倒是多了,然后各种查资料,最后还是在微信官方文档上找到答案了

 小程序扫描普通链接二维码跳转小程序指定界面方法

原来是这样!恍然大悟!微信会扫描所有自己配置的url,如果匹配上了,就跳转至指定界面,还有个前提,小程序必须先发布代码,才可以。

小程序扫描普通链接二维码跳转小程序指定界面方法

 下面记录一下详情:

1.二维码规则,这里需要下载微信提供的验证文件,放到指定目录,验证不过会有提示,验证过了如图所示,配置几层目录根据自己的需求而定,上图这个:https://www.aaa.com/a/b/c/ 验证文件放置到c目录同层

2.测试链接,这里的url就是扫码之后,跳转到你指定界面里,可以获取到你此处配置这个完整的url包括参数,当然,这个参数是一个动态参数,配置的时候是写死了一个,你的应用中,自己动态生成这个参数,
https://www.aaa.com/a/b/c/d/service?flag=123 目录a/b/c/d/是在你的服务器上真实存在的目录,在d目录里面有个脚本service,当然目录名称脚本名称换成你自己的,flag这个key值不能改变,123换成你的实际生成的动态参数

3.在app.js中这样获取参数
util.js
/**
* 获取url参数
*/

let getQueryString = function (url,name) {
 console.log("url = "+url)
 console.log("name = " + name)
 var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
 var r = url.substr(1).match(reg) 
 if (r != null) {
  console.log("r = " + r)
  console.log("r[2] = " + r[2])
  return r[2]
 }
 return null;
}
module.exports = {
 getQueryString: getQueryString,
}

//app.js文件如下:

var utils = require('./utils/util')

App({
 onLaunch: function (options) {
  console.log("全局onLaunch options==" + JSON.stringify(options))
  let q = decodeURIComponent(options.query.q)
  if (q){
   console.log("全局onLaunch onload url=" + q)
   console.log("全局onLaunch onload 参数 flag=" + utils.getQueryString(q, 'flag'))
  }

 }

})

在其它的界面中的js脚本中这样获取参数

Page({

 /**
  * 页面的初始数据
  */
 data: {

 },

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  console.log("index 生命周期 onload"+JSON.stringify(options))
  //在此函数中获取扫描普通链接二维码参数
  let q = decodeURIComponent(options.q)
  if(q){
   console.log("index 生命周期 onload url=" + q)
   console.log("index 生命周期 onload 参数 flag=" + utils.getQueryString(q, 'flag'))
  }
 }

})

以上所述是小编给大家介绍的小程序扫描普通链接二维码跳转小程序指定界面详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
奇妙的js
Sep 24 Javascript
图片自动缩小 点击放大
Jul 07 Javascript
Javascript倒计时代码
Aug 12 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
javascript实现tab切换的两个实例
Nov 05 Javascript
基于Javascript实现二级联动菜单效果
Mar 04 Javascript
详解express与koa中间件模式对比
Aug 07 Javascript
two.js之实现动画效果示例
Nov 06 Javascript
vue实现简单学生信息管理
May 30 Javascript
浅谈JavaScript 声明提升
Sep 14 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
May 07 #Javascript
vue接入腾讯防水墙代码
May 07 #Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
May 07 #Javascript
详解vue中使用protobuf踩坑记
May 07 #Javascript
Node.js一行代码实现静态文件服务器的方法步骤
May 07 #Javascript
微信小程序扫描二维码获取信息实例详解
May 07 #Javascript
Vue数据绑定简析小结
May 07 #Javascript
You might like
MSN消息提示类
2006/09/05 Javascript
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
python读取Android permission文件
2013/11/01 Python
python回调函数中使用多线程的方法
2017/12/25 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
python反扒机制的5种解决方法
2021/02/06 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
预备党员思想汇报范文
2014/01/11 职场文书
自荐信写法介绍
2014/01/25 职场文书
预备党员转正考核材料
2014/06/03 职场文书
应届大学生求职信
2014/07/20 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
停电放假通知
2015/04/14 职场文书
消防演习通知
2015/04/25 职场文书
2019消防宣传标语!
2019/07/10 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL