小程序跳转:云开发H5跳转小程序的坑,微信可跳,H5无法跳

目录

问题描述

本文适合小白交流,首次利用小程序云开发,将遇到的坑记录一下。我也是在论坛搜到很些人遇到类似问题,但是并没有正解,连官方的人都不知道开发者错在哪一步,其实是小白开发者进入了误区,后续会说明这个误区。可以到官方论坛看类似问题

注意: 所遇到问题的案例是来自官方提供的案例

官方说明: 网页会判断所在的环境来觉得采用哪种跳转方式,如检测到微信客户端内,则免鉴权使用开放标签跳转,如检测到在外部浏览器或 App,则使用 URL Scheme 跳转小程序。

按照官方说明,也就是说只要是在微信浏览器打开,就利用的是标签来直接打开小程序的。那么使用非微信浏览器,就是用的URL Scheme 跳转小程序,即是通过云服务拿到跳转小程序的地址,然后就能直接跳转。

我的流程: 将官方提供的代码下载下来->将配置信息替换成我们小程序的->然后直接将h5-open-miniprogram整个文件夹上传到云开发中的静态网站->配置好访问地址->然后在云函数中自己建了一个名为public的云函数。这时候我打开网址确实能访问到部署的html,但是马上就跳出了404页面:

image

排查问题: 出现这种问题,肯定是跳转链接的问题。然后注释代码中的调整部分,打印下返回的值:

image

预想的是返回的值不对,结果发发现果然没有openLink这个值,所以就会跳到上面那个错误页面,如图:

image

直到这里,问题所在是找到了~

分析原因

首先直接抛出结果:上面我的流程是错误的

后面单独了解了下云开发,经过实验证明才发现是云函数部署错误,所以导致访问不到相应的数据,微信浏览器能跳转,非微信浏览器跳转失败。

我的误区: 由于官方提供的代码h5代码和云函数代码放在一起的,一开始以为一起放到静态网站就完事了,看来还是我太天真,小白就是小白,打脸了~啪啪响的那种。

好的,那么问题是定位到了。我看到很多问这种没有返回openLink的问题,我想可能也是云函数没部署正确。

解决方案

前面铺垫了那么多,正解在这里:

  • 首先html单独上传到静态网站上面;
  • 云函数需要借助微信开发工具来部署,建一个小程序云开发项目,将public复制到cloudfunctions目录下;
  • 在public目录下安装wx-server-sdk依赖;
  • 然后右键部署,部署完就OK了;
  • 更多详细步骤请参考我的另一篇博客:小程序跳转:云开发之h5跳小程序

最终返回值的效果:

image

到这里,问题基本上都能解决了。有句话送给所有小白开发者,世上无难事,只怕有心人。

更多前端知识

如果有任何疑问可以留言,更多相关技术也可以加QQ群交流:568984539

更多前端、uniapp、nodejs等相关知识可关注我个人博客:https://blog.csdn.net/qq_42961150?spm=1011.2124.3001.5343

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上网的虫不叫网虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值