diff --git a/index.js b/index.js index b94d6e5..18d2180 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,10 @@ var Session = require('./lib/session'); var request = require('./lib/request'); var Tunnel = require('./lib/tunnel'); +var authHeader = function() { + return request.buildAuthHeader(Session.get()); +} + var exports = module.exports = { login: login.login, setLoginUrl: login.setLoginUrl, @@ -13,6 +17,7 @@ var exports = module.exports = { request: request.request, RequestError: request.RequestError, + authHeader: authHeader, Tunnel: Tunnel, }; diff --git a/lib/login.js b/lib/login.js index 28bca0c..23f7f59 100644 --- a/lib/login.js +++ b/lib/login.js @@ -136,7 +136,16 @@ var login = function login(options) { if (session) { wx.checkSession({ success: function () { - options.success(session.userInfo); + wx.getUserInfo({ + success: function (userResult) { + options.success(userResult.userInfo); + }, + + fail: function () { + Session.clear(); + doLogin(); + }, + }); }, fail: function () { @@ -157,4 +166,4 @@ module.exports = { LoginError: LoginError, login: login, setLoginUrl: setLoginUrl, -}; \ No newline at end of file +}; diff --git a/lib/request.js b/lib/request.js index e2d5e6a..4b0433e 100644 --- a/lib/request.js +++ b/lib/request.js @@ -110,4 +110,5 @@ function request(options) { module.exports = { RequestError: RequestError, request: request, + buildAuthHeader: buildAuthHeader, }; \ No newline at end of file