问题是如何解决的,我也碰到同样的问题
关于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-10-29麻烦的是要去给每个页面加padding-top,然后我设置了一个公共的id=‘container’,给这个类名设置了如下样式 [图片]怎么让这个值适配状态栏
自定义导航栏自定义导航栏 头部设置固定定位之后页面部分被挡住的问题,如何解决?
2018-10-22那如果我想点击图片实现换一张该如何实现呢
图片显示问题[图片]小程序中如何显示后台返回的这种格式的图片
2018-10-09