也不知道微信在调整啥,我之前测试登录的时候,在用户授权那步多了一个可授予临时用户权限的一个选项,然后我没理它仍选本微信用户,然后后端获取 session_key 的位置就报错了,说找不到 watermark 属性,更奇怪的是我打算用工具真机调试时,那个弹出临时用户权限的位置已经又变回原来的样子了...然后就无法重现错误,但后端仍不时收到其他用户的登录报错。不得不吐槽,微信调整就不能自己先测测好吗?
小程序授权解密授权信息watermark无法返回https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html 解密后无法获取watermark [图片]
2021-07-16你好,问题解决了吗? 我之前长列表调好不闪,但是新加了一些内容,列表什么都没改,然后图片就会闪了。感觉和 setData 关系非常大,但又不清楚机制。
recycle-view长列表回滚出现闪动,麻烦问下什么问题?recycle-view在使用过程中出现闪动,上滑加载更多正常,回滚会存在闪动 场景: 一次接口100张图片,调用两次接口,滑动到130张图片位置开始回滚,在回滚到某个位置时,例如第80张图片会闪动到第83张图片(陷入循环,滚动条依然可以回到顶部,回到顶部最前面的一些图片没有渲染),看scrollTop是正常的 条件: 1、正常使用组件 2、图片高度等一些组件注意点都已设置
2020-11-05对,token 是在app.js 里获得并设置到 app.globalData 里的。由于 getUserinfo 接口的调整还做了一个用户登录页,也是可能是在登录页获得的 token 。上面问题里说的情况 token 是肯定已经设置了的,否则第一次点击按钮不会有token 数据的
关于app实例的问题在真机测试我们小程序的过程中发现一个奇怪的问题,就是登录时将用户 token 存储在 app 实例的 globalData 下,在请求业务接口的时候再取 token 放在请求头里带到后台获取数据,然后有很小的概率获取不到 app 实例下的数据,不但 app 下的数据没有,而且 wx.getStorageSync 方法也获取不到东西。几率大概是五十分之一这样,貌似在网速不稳定的时候出现几率更高,在开发工具没有出现过这种情况。 我本身不是做前台的,小程序代码是个女同事写的,我看了也没发现什么逻辑问题,只是有点乱,以下是按钮事件句柄: [代码]tabSelect: [代码][代码]function[代码] [代码](e) {[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]var[代码] [代码]num = e.currentTarget.dataset.tabnum;[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]tabnum: num[代码][代码] [代码][代码]})[代码][代码] [代码][代码]pos = 0;[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]groupList: [],[代码][代码] [代码][代码]searchLoading: [代码][代码]true[代码][代码], [代码][代码]//"上拉加载"的变量,默认true,隐藏 [代码][代码] [代码][代码]searchLoadingComplete: [代码][代码]false[代码] [代码]//“没有数据”的变量,默认false,隐藏 [代码][代码] [代码][代码]})[代码][代码] [代码][代码]loadMore(that);[代码][代码] [代码][代码]}[代码] 然后请求的 loadMore 方法: [代码]var[代码] [代码]loadMore = [代码][代码]function[代码] [代码](that) {[代码][代码] [代码][代码]if[代码] [代码](!that.data.busy) {[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]busy: [代码][代码]true[代码][代码] [代码][代码]})[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: util.getUrl() + [代码][代码]'api/v1/groupPurchase/getListByState'[代码][代码],[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]state: that.data.tabnum,[代码][代码] [代码][代码]city_code: wx.getStorageSync([代码][代码]'cityCode'[代码][代码]),[代码][代码] [代码][代码]perPageNum: perPageNum,[代码][代码] [代码][代码]pos: pos[代码][代码] [代码][代码]},[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/json'[代码][代码],[代码][代码] [代码][代码]'Authorization'[代码][代码]: app.globalData.tokenStr[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]busy: [代码][代码]false[代码][代码] [代码][代码]})[代码][代码] [代码][代码]var[代码] [代码]data = res.data;[代码][代码] [代码][代码]if[代码] [代码](data.ret == 0) {[代码][代码] // 请求成功处理[代码] [代码] // ...[代码] [代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]wx.showModal({[代码][代码] [代码][代码]content: data.msg,[代码][代码] [代码][代码]showCancel: [代码][代码]false[代码][代码],[代码][代码] [代码][代码]confirmText: [代码][代码]"确定"[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]// complete[代码][代码] [代码][代码]wx.stopPullDownRefresh() [代码][代码]//停止下拉刷新[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]}[代码] 情况是这样,在没有重新加载页面的情况下,分别点击两个绑定了同一个事件 tabSelect 的按钮,第一个按钮请求成功的,传到后台的数据都正常。在相隔数秒后点击第二个按钮,就获取不到 app.globalData.tokenStr 和缓存下的 cityCode 。以下是日志截图: 点击第一个按钮: [图片] 点击第二个按钮: [图片] 相隔的时间不到 10 秒,我不清楚这个问题产生的原因,因为产生这个问题的概率很小,而且无法稳定的重现,我对小程序也不是很熟悉,所以想到社区来请教,有哪位朋友遇到过类似的问题或者有什么解决的方向么?望不吝赐教,谢谢。 还有一点就是这个问题不止出现在这个页面,如果测试的次数够多的话相信在所有用到 token 的页面都会出现。
2018-05-19