赞
踩
1 用户在登录一次后,微信的服务器会通过session 记录用户的登录态,如果用户长时间不登录的话,这个服务端的session会被清理掉,当调用checksession 的时候,会告诉你失败,用户已经下线了,session不在了,同时,如果你再想要解析用户的公开数据的时候需要重新获取这个session_key
-------> session_key 有什么用?
服务端给你的数据是加密的,如果你想解密就需要就需要sesison_key
--------> 怎么获取session_key ?
客户端通过 wx.login方法获取一个code(5 分钟内有效),把code 发送给自己的服务器,服务器通过另外的接口获取session-key
如果code 过期,那么就会获取不到session-key。
---------->如果我存储ssessiion-key 在自己的服务器,每次解析数据的时候就可以直接使用啦?
并不是,session-key 会过期。
----------> 那么我第一次登录的时候解析完数据,保存到服务器里,以后就不需要反复获取用户数据,获取sessionkey 并且解析数据啦?
可以,但是有个缺点,你保存的信息,是用户第一次登录时候的信息,如果用户修改了头像之类的,你数据库的信息不能够和微信的保持同步。
----------> 我想要自己的数据是最新的怎么办?
那么就每次进入小程序的时候调用登录接口,获取新的用户数据,获取sessonkey, 解析数据,然后展示数据。
----------->每次都要调用登录接口?
好像是这样,
---------->那么后台也要每次都获取sessionkey吗
不需要,你可以在前端通过checksessionkey 来检查sessionkey 是不是已经过期了,如果没有过期,那么就不需要重新获取。
---------> 每次都登录是不是有点麻烦?
我觉得也是,所以直接获取一次信息就好了,本地存储一个token ,除非用户删除小程序,不然的话,根本不需要登录。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。