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.