小程序setData坑,我仍在摸索

小程序setData坑,我仍在摸索,第1张

thta.setData在则晌使用过程中需要注意:

1、通过setData后的数据,在wxml页面中可直接使用

2、但在page{}  逻辑层中去使用setData后的数据就歼盯顷需要清楚,必须是setData后去调用,(氏陆this.data.xxx  或  that.data.xxx )的形式去调用

关于小程序    globalData  问题

在日常的开发中,难免有些数据是很多页面都要用到的,怎么才能设置一次就可以全局使用,可以尽量往  app.js  index.js(首页)  中设置,这使得一进入小程序就设置好了全局数据

(app.js设置全局数据)

1app.js

2其他页面怎么使用?

首先引入app      (let app = getApp())

直接  app.globalData.H  就可以拿到 H 全局数据

(其他页面设置全局数据)

直接  app.globalData.xxx = 想要设成全局变量的数据

使用  app.globalData.xxx  就可以拿到 xxx 全局数据

这种情况偶发,一般发生在隔一段时间之后第一次登录时。

导致问题的原因是 getUserInfo 放在了 wx.login 之前。 getUserInfo 获清和取到 iv 和 encryptedData 传给后台。wx.login调用时用户的 session_key 可能会被更新而致使旧 session_key 失效。这样后台再去解密的时候就等于在用新的 session_key 去解密旧的 session_key 加密的数据,就会报 ILLEGAL_BUFFER 错误。

正常的流程应该是:

很容易错写成在 wx.getUserInfo 的回调里再调 wx.login 拿 code 再发送给服务器,局携这样 getUserInfo 里的 data 加密用的session_key就有可能跟解密的时候的 session_key 不一致,因为 wx.login 有可能会刷新了 session_key

建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录答腊盯态。


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

原文地址: http://outofmemory.cn/yw/12345674.html

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

发表评论

登录后才能评论

评论列表(0条)

保存