微信小程序中实现状态管理

微信小程序中实现状态管理,第1张

状态管理中非常重要的点就是发布/订阅模式,发布/订阅模式的原理非常简单,一边发布,一边订阅。订阅者在事件中心注册具名事件和回调函数,发布者通知事件中心执行所有同名的回调函数

既然需要提供事件注册(订阅)的功能,那么必然需要一个地方来存放所有的事件,同一个事件名可以有多个回调,那么显然数据结构如下:

所以事件中心的雏型如下:

订阅功能:在具名事件的回调数组中推入了一个新的回调,接受一个事件名和回调函数。

发布功能:调用对应事件名的所有回调函数,参数为事件名和回调参数。

该对象主要用于存储共享数据,当数据被更新时触发 stageChange 事件。

dispatch:调用 actions ,可以执行一些异步的 *** 作,然后调用commit

commit:调用mutations

需求说明:在首页将一本书加入书架,书架列表自动更新。

store/state.js

store/mutation.js

store/action.js

store/index.js

订阅(书架页)

发布(首页)

微信小程序提供了微信支付的接口, wx.requestPayment(OBJECT)

基本可以确定是小程序的bug了。现在只有比较麻烦的解决方案,点击支付后,一定时间内不断轮询后台,查询该订单的支付状态,这是最安全的方式了。

电脑微信登入小程序数字信封解密失败是回调中调用wx.login登录,会刷新登录态。。此时服务器使用code换取的sessionKey不是加密时使用的sessionKey,导致解密失败。解决方法是开发者提前进行login。或者在回调中先使用checkSession进行登录态检查,避免login刷新登录状态。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11031651.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存