小程序订阅消息功能于2019年10月9日发布的小程序基础库290版本中发布,原来使用的模板消息功能将于 2020年1月10日下线!2020年1月10日下线!2020年1月10日下线! 意味着2020年1月10日起商家要给小程序用户推送消息,必须使用 订阅消息功能 来替代,原来的模板消息将无法使用了!!!
在订阅消息介绍文档中,官方介绍说消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。
经过几天的吐血体验,简而言之可以将模板消息到订阅消息功能的变化概括为一句话:
将接收消息的权利交给用户,将发送消息的权利交给商家。
为什么说将接收消息的权利交给用户呢?
众所周知,根据微信小程序模板消息规则,商家则可在不经用户同意的情况下,在限定时间内向用户发起限定条数的消息。比如原来使用模板消息支付完成后商家可在7天内发送3条模板消息给用户;而使用订阅消息后,只有用户同意订阅此类消息,才会收到此消息,否则该消息将不会强制通知给用户。
如何理解将发送消息的权利交给商家呢?
这是由于原来的模板消息限制有时间和数量限制,而订阅消息没有时间限制,数量上也只区分一次性和长期消息,当用户允许一次性消息则可发送一次订阅消息,如果用户总是允许接收消息则可不受时间和条数限制的发送此类消息给用户。比如原来使用模板消息,用户完成一次支付后,商家在7天内只允许发送3条模板消息给用户;而使用订阅消息后,如果用户允许一次性订阅此类消息,会收到一次性消息提醒,如果用户勾选总是允许接收此类消息,则可长期不受限制的推送多条此类支付状态模板消息给用户。
但需注意:在一次订阅中,点击“总是保持以上选择,不再询问”+“允许”之后,只能收到一条消息通知。 勾选总是,只是在下次调用wxrequestSubscribeMessage的时候帮你默认做出选择,还是需要调用了这个才能收到消息,而不是做出一次选择后就高枕无忧了。官方文档也没有写明确,有点坑
而且,用户点击“总是保持以上选择,不再询问”+“取消”之后,可以在设置中打开权限,但是还是需要触发wx。
正是通过将接收消息的权利交给用户,将发送消息的权利交给商家,这样两次权利的释放,实现微信小程序服务的闭环和为用户带来更优的体验。
A、按照使用场景可以分为两类消息:
一类是用户发给小程序的消息,比如客户咨询消息、留言提醒消息等。这一类消息一般是用户主动联系商家,商家为客户提供客服等服务;
另一类是商家(小程序)推送给用户的消息,比如到货提醒、物流发货提醒等。这一类消息可以使商家主动触达用户,方便商家维护客户,达到用户留存和促进活跃等目的。另外,可以看出小程序做一次性订阅消息,并不希望小程序消息泛滥,打扰用户,从而维护了良好的用户体验。
B、按照微信小程序官方消息分类:
订阅消息推送位置是在服务通知中,当用户收到订阅消息,该消息会出现在手机顶部通知栏中,可点开查看,也可进入微信App,点开微信服务通知中查看。推送成功结果如下图:
目前订阅消息还很不完善,官方文档对于很多限制没有明确说明,比如不能一次触发同时申请订阅超过3个模板消息。对于同一种消息,用户订阅次数是否有上限,官方没有说明,初步判断是不限的。
小程序订阅消息开发指南
微信小程序订阅消息踩坑初体验
Minax是一个专为小程序开发的状态管理库,它采用集中式存储管理应用的所有组件的状态,
并能够配置是否与缓存做绑定,使用方式类似与Vuex。通常可以用来解决多个试图共享同一
状态或者多个试图需要变更同一状态的场景。
针对221以下基础库版本,请将本库的dist目录复制到您的项目中,然后适用require或者import的方式引用即
或者
由于小程序的文件夹默认不采用npm的形式,所以第一步需要将小程序项目初始化成npm项目
然后根据你的包管理工具使用
或者
安装成功后,点击开发者工具中的菜单栏:工具 --> 构建 npm
勾选“使用 npm 模块”选项:
构建完成后即可使用 npm 包,js 中引入 npm 包:
Minax库的核心就是store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state以及action)。
Minax 和单纯的全局对象有以下两点不同:
Minax 的状态存储是基于发布订阅模式的,当页面或组件从 中设置了 mapState 时,相当于向store订阅了该状态,若 store 中的状态发生变化,那么相应的组件、页面也会相应地得到高效更新。
你不能直接改变 store 中的状态,改变 store 中的状态的唯一途径就是显式地提交发布 (commit),这样使得我们可以方便地跟踪每一个状态的变化。
我们建议在项目建一个store/indexjs文件,一个简单的store编写如下:
现在,你可以通过 storestate 来获取状态对象,以及通过 storecommit 方法触发状态变更:
在项目的appjs中,将store引入
在Page、Component、Behavior中配置mapState属性,其对应的值为一个字符串或者字符串数组
mapState: ['cartCount', 'mark'],
或者
mapState: 'cartCount',经mapState处理过的属性等效于设置月data中,您可以通过thisdatacartCount获取,也可以通过this$storestatecartCount获取
在wxml中,直接绑定改值既可
看到这里,你应该已经基本掌握本库的使用了
state是Minax的全部状态源,我们通过在state中设置的key来绑定状态,其有两个特性:
Minax支持于缓存绑定的模式,这一点你只需要知道即可,因为你无需 *** 作缓存,这一切都由store帮你做好,初始化时会自动读取,更新时会自动写入,而你要做的知识在bindStorageMode等于true时,配置state的持久化属性即可
action通常用于处理异步事物(你实在要同步使用我也没办法)
使用时
好啦,暂时先到这里,你可以愉快的coding啦
您可以按照以下步骤将截图放到腾讯小程序中:
1 在电脑上打开微信 Web 开发者工具,并在其菜单栏中选择“工具” -> “项目详情”。
2 然后,在“项目详情”页面中,单击“本地设置”选项卡,并启用“调试基础库最低版本设置”,确保您的微信小程序基础库版本符合您的程序所需的版本。
3 回到“开发者工具”的主界面,单击“新建项目”,输入项目名称和项目路径,并选择您所需要的小程序模板。
4 接下来,单击“创建项目”,微信 Web 开发者工具将自动生成所需的文件结构。
5 然后,找到您要放置截图的位置,可以通过右键单击相应的文件夹或资源,然后选择“新建文件”或“导入文件”。如果您使用的是 Mac,您可以使用 Command + N 快捷键来创建新文件。如果您要导入文件,则可以使用“文件”->“导入”菜单选项。
6 浏览到您的电脑上的截图,选择它并导入。
7 最后,将修改保存到本地,并在微信 Web 开发者工具中刷新页面,查看所做的更改是否已成功。
完成以上过程后,您就可以在腾讯小程序中使用您的截图了。
以上就是关于微信小程序订阅消息调研全部的内容,包括:微信小程序订阅消息调研、小程序状态管理库-Minax、怎样把截图放到腾讯小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)