微信扫描普通链接二维码跳转小程序能力和小程序wx.showToast()与wx.hideLoading()冲突的问题 | 8月更文挑战

765 阅读2分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

前言:

最近开发小程序,关注到的一些问题,如小程序wx.showToast()与wx.hideLoading()冲突的问题;微信扫描普通链接二维码跳转小程序能力等等。作为笔记记录下

1、小程序wx.showToast()与wx.hideLoading()冲突的问题

  • 习惯性的使用finally引起的showToast闪退问题,模拟器中可以显示,但是在真机测试中就是不显示
xxx().then(({ code }) => {
    if(code!==200){
        wx.showToast({ ... })
    }
}).finally(() => (wx.hideLoading()))

小程序社区链接:同一层scope域中wx.showToast()wx.hideLoading()冲突,只要同一级上wx.showModal()前面使用了 wx.showLoading() 弹框就不会显示了。

  • 解决方法:
xxx().then(({ code }) => {
    wx.hideLoading() // 在wx.showToast()执行之前关闭
    if(code!==200){
        wx.showToast({ ... })
    }
}).catch(() => (wx.hideLoading()))

2、微信扫描普通链接二维码跳转小程序能力

需求背景:使用微信扫一扫二维码,直接打开小程序,并带入相应的参数,如userIdorderId的value值是动态,当打开小程序,则需要获取该参数。其实,微信公众平台早已开放扫描普通链接二维码跳转小程序能力,请查看

  • 开始配置: 1、开发 -> 开发管理 -> 开发设置 -> 扫普通链接二维码打开小程序
    2、开发 -> 开发管理 -> 开发设置 -> 服务器域名

    注:我遇到的问题,证书无效导致二维码规则一直不通过,当场xxx!!!在提一点:规则生产的随机码文件需要放置项目的根目录,可通过xxx.xxx.xxx/随机文件.READMD…

到这里,开发和体验版去扫描普通二维码,还是不能跳转到小程序,只有当测试链接 配置的完整链接(注意:完整链接,如果你改成https://xxx.xxx.xxx?userId=123&orderId=124,就跳不了了),去生成二维码,再用微信扫一扫,就可以跳到小程序。心想我不可能只有五个链接的撒,也不可能每个都配置,毕竟userIdorderId的value值是不固定的,心里估计万马奔腾啊!!!
重点:  其实这个不用担心,域名和规则配置对了,再生产的版本中,只要二维码中存在https://xxx.xxx.xxx,就可以正常的跳转,并且解析url后面的参数,在onLoadoptions.q,再附上解密方法decodeURIComponent(options.q),解析URL方法,可查看parseUrlParams方法,点击这里

下面提供一种查看证数是否过期或者有效的方式,谷歌浏览器打开,如下图:

3、小程序navigationBarTitleText不生效问题

app.json 中 pages[]没有配置路由