微信服务器的session有效期和服务器本地session的有效期不可能保持完全一致,这在拉取服务器用户数据时候会存在问题。
看到的一个文档的文字:
因为session也存在有效,一旦我们请求业务的CGI后台判断登录态失效了,那么前端可以根据后台返回的错误码来判断是否重新登录。
所以就没有必要每次wx.checkSession,而且wx.checkSession几乎是没有用的到必要,因为登录态可以由我们业务维护,一旦失效,wx.login()重新换回一个session_key 就ok了嘛。
结论是:wx.checkSession几乎没有必要调用,而且他本身耗时,长达300+ms。
有人解答下吗
@raphealguo @杨泉
小程序有类似树形结构的组件吗?或者有类似替代的方法?
用了 <block wx:if="{{profile}}">,完美解决 感谢
@raphealguo @杨泉
@剑农
你可以在wxml的根结点上做 wx:if="{{profile}}"
或者有其他折中的办法吗?
第一个问题:
感觉没有用的。。
你们小程序机制是页面一开始就渲染了。。
比如我在wxml页面
{{profile.user_name==null||profile.user_name.trim()==''?'待补全':profile.user_name}}
这样一个变量。
一开始 为null 他就是显示待补全。
直到有新的setData才会重新渲染。。
所以现在很尴尬啊 不能在我获取数据之后再渲染页面吗??
我现在每次访问小程序 刚开始看到的界面是一堆 待补全 然后过一小段时间刷新。
第三个问题解决了- -
我以为是能自定义的。原来是有限制的
onLoad: function (options) {
console.log(JSON.stringify(app.globalData.userInfo));
var that = this;
app.getUserInfo(_getUserInfo);
function _getUserInfo(cb, profile) {
that.setData({
profile: profile
})
}
},
我onLoad获取用户是个异步的过程,但这时候OnShow已经触发了。这时候页面的显示全部都是NULL
这个问题怎么处理啊?
@raphealguo有两个问题我还想请教下1、userInfo保存在全局变量里是个异步的过程,我在分页面里获取不到应该怎么处理,要延迟200毫秒左右才能取到,时间不固定。或者有什么办法,能在APPLAUNCH里加载全局变量吗?因为我现在个人资料页面 如果用异步的话会有个延迟显示的问题。2、小程序右上角没法放确定按钮,我在修改资料的时候是否需要增加确定按钮 还是利用小键盘的完成,这样会不会不太人性化。3、 为什么input的confirm-type我使用了无效。。好奇怪。
你们的文档写得都是不太清楚的。很多API都写得没有逻辑性