【uni-app 微信小程序】短信链接,微信扫一扫打开小程序

获取URL Scheme为例

URL Scheme

官方文档

重要知识点

通过官方文档我们可以得知以下信息
在这里插入图片描述

  • 获取的 Scheme 格式为weixin://dl/business/?t= *TICKET*
  • 获取方式服务端获取
  • 系统兼容:ios 能直接打开,安卓需要一个 H5 中转页,使用location.href的方式打开

获取 URL Scheme

第一步 获取接口调用凭据

接口文档

appidsecret去微信公众平台获取
在这里插入图片描述
通过接口调用我们能够拿到access_token

第二步 获取加密scheme码

接口文档

注意事项: access_token需要以 query 方式传入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以在 query 里面拼接字符串参数,最终生成如下 URL Scheme
在这里插入图片描述
注意 以上接口的调用需要后端进行封装,然后给前端调用,jump_wxa->query的参数可以让前端传入,不同的场景传入不同的参数,为了解决短信连接中参数过长问题,可以使用短码服务讲参数信息生成一个短码如: E6GFMHALIBCN这种

前端解析URL Scheme

开发工具调试

再开发环境下,我们可以通过开发工具去进行调试,如下:
在这里插入图片描述
uni-app为例额,我们可以在App.vue--->onShow生命周期中获取到短码中的信息,如下
在这里插入图片描述
在这里插入图片描述
通过打印可以看到,path,query 中的信息都是上面接口中传入的数据,然后前端根据场景值1065进行调试

在这里插入图片描述
看官方文档其实这个调试还挺麻烦,path 的页面路径必须是已经发布的小程序存在的页面
我现在的处理方式是在App.vue->onShow中拦截到1065的场景值,我都会跳转到一个中转页,然后在中转页中做好逻辑判断,比如登录信息之类的,然后获取到自己业务系统中生成的短码,也就是上面介绍的短码E6GFMHALIBCN去请求自己业务系统的接口,获取到短码内容,内容中会包含后续操作的信息,如下:
在这里插入图片描述
这部分内容可以跟后端协商,生成模板,比如path,title等字段是固定的,其他字段可根据不同的场景进行增删

真机调试

最简单的调试就是用vscodelive serve插件起一个服务,里面就写一行代码,如下
这其实就是前面说的H5 中转页,解决安卓不支持 Scheme 的问题
在这里插入图片描述
然后讲这个服务的地址发送到短信或者微信聊天记录中主要:要在局域网内
在这里插入图片描述
点击之后可以出现以下界面操作
在这里插入图片描述
实际的情况,我们的 H5 中转页里面需要去请求接口换取URL Scheme,然后使用location.href打开小程序
在这里插入图片描述
发信的短信参考如下:
在这里插入图片描述
标红的字符是我们业务自己实现的短码,用于代码中接口请求获取URL Scheme的参数

微信扫一扫打开小程序

方式一: 扫普通二维码打开小程序

微信公众平台->开发管理->开发设置
在这里插入图片描述
可以看一下里面的介绍

方式二: 将短信中的链接生成二维码使用微信扫一扫打开

可以使用草料二维码生成测试一下
在这里插入图片描述
不过既然已经生成了短码以及链接,还是所有的打开方式使用一种模式,这样的话可以用同一个方法去执行业务逻辑

小程序内部扫一扫业务逻辑

在这里插入图片描述
微信的扫一扫跟小程序内部的扫一扫区别是
微信扫一扫遇到网页链接回去给你打开这个网页
小程序扫一扫所有的内容都会给你当成字符串
在这里插入图片描述
这个时候我们其实可以借助小程序的扫一扫去写短信链接,微信扫一扫打开小程序的逻辑
在这里插入图片描述
可以看到逻辑都是获取业务系统的短码,然后跳转到中转页,这样的好处就是我们小程序即使没上线,只要测试把小程序内部的扫一扫测试通过之后,等小程序上线短信链接打开的方式基本上就不会有啥问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值