微信小程序开发的坑

作者: , 共 1337 字 , 共阅读 0

1、后台发通知需要指定正确的程序版本

微信小程序的通知,点击后可以唤起小程序,并打开指定的页面。但这需要后台发通知时指定正确的程序版本。

否则会出现:「开发版小程序已过期,请在开发者工具重新扫码」。

2、慎用 promise ,尽量用传统的 success/fail 回调

在一个模式对话框点击确认后弹出消息订阅窗口时, modal 必须要用 success/fail 的回调方式:

wx.showModal({
  title: "title",
  content: "content", 
  success: (res: any) => { 
    if (res.confirm) {
      wx.requestSubscribeMessage({ 
        tmplIds: [TMPL_ID],
        success: (res: any) => {
          console.log(res);
        },
        fail: (err) => {
          console.error(err); 
        }, 
      };       
    }
  },
});

如果modal 使用 promise 方式,订阅窗口将无法启动,报错:

requestSubscribeMessage:fail can only be invoked by user TAP gesture.

如果很不幸, requestSubscribeMessage 也用了 promise 的方式,则抛出来一个更莫名其妙的异常:None没有then成员函数

3、多处弹出框点击取消无效

在提供cancel-text的空间的地方,一定要绑定 bind:cancel ,否则点击取消空间无法关闭:

<van-action-sheet description="请审核" cancel-text="取消" 
    show="{{ showAudit }}" actions="{{ auditStatuses }}" 
    bind:close="auditClose" bind:select="auditSelect" />

增加 bind:cancel :

<van-action-sheet description="请审核" cancel-text="取消" 
    show="{{ showAudit }}" actions="{{ auditStatuses }}" 
    bind:close="auditClose" bind:cancel="auditClose" bind:select="auditSelect" />

Q. E. D.

IT » git
分支是一条线,随着开发进度一直往前推进,可以分叉、合并等。
户外 » 亲子骑行
水木 BBS 的骑行版有一篇很好的总结:https://www.mysmth.net/nForum/#!article/Cyclone/972551