diff --git a/index.js b/index.js
index 81ce08d..d2831a0 100644
--- a/index.js
+++ b/index.js
@@ -4,20 +4,16 @@ 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,
+ loginWithCode: login.loginWithCode,
setLoginUrl: login.setLoginUrl,
- LoginError: login.LoginError,
- requestLogin: login.requestLogin,
+
+ Session,
clearSession: Session.clear,
- Session: Session,
+
request: request.request,
RequestError: request.RequestError,
- authHeader: authHeader,
Tunnel: Tunnel,
};
@@ -27,4 +23,4 @@ Object.keys(constants).forEach(function (key) {
if (key.indexOf('ERR_') === 0) {
exports[key] = constants[key];
}
-});
+});
\ No newline at end of file
diff --git a/lib/login.js b/lib/login.js
index 8afe94e..613964a 100644
--- a/lib/login.js
+++ b/lib/login.js
@@ -1,233 +1,167 @@
-var utils = require('./utils');
+/**
+ * README!!!
+ * 为了兼容微信修改的登录逻辑
+ * 这里对登录的 SDK 进行重构
+ * 微信公告:https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=&docid=0000a26e1aca6012e896a517556c01
+ */
var constants = require('./constants');
var Session = require('./session');
-/***
- * @class
- * 表示登录过程中发生的异常
- */
-var LoginError = (function () {
- function LoginError(type, message) {
- Error.call(this, message);
- this.type = type;
- this.message = message;
- }
-
- LoginError.prototype = new Error();
- LoginError.prototype.constructor = LoginError;
-
- return LoginError;
-})();
-
/**
* 微信登录,获取 code 和 encryptData
*/
-var getWxLoginResult = function getLoginCode(callback, withCredentials, lang) {
+function getWxLoginResult (cb) {
wx.login({
- success: function (loginResult) {
- wx.getUserInfo({
- withCredentials: withCredentials,
- lang: lang,
- success: function (userResult) {
- callback(null, {
- code: loginResult.code,
- encryptedData: userResult.encryptedData,
- iv: userResult.iv,
- userInfo: userResult.userInfo,
- });
- },
-
- fail: function (userError) {
- var error = new LoginError(constants.ERR_WX_GET_USER_INFO, '获取微信用户信息失败,请检查网络状态');
- error.detail = userError;
- callback(error, null);
- },
- });
- },
-
- fail: function (loginError) {
- var error = new LoginError(constants.ERR_WX_LOGIN_FAILED, '微信登录失败,请检查网络状态');
- error.detail = loginError;
- callback(error, null);
+ success (loginResult) {
+ wx.getUserInfo({
+ success (userResult) {
+ cb(null, {
+ code: loginResult.code,
+ encryptedData: userResult.encryptedData,
+ iv: userResult.iv,
+ userInfo: userResult.userInfo
+ })
+ },
+ fail (userError) {
+ cb(new Error('获取微信用户信息失败,请检查网络状态'), null)
+ }
+ });
},
- });
-};
+ fail (loginError) {
+ cb(new Error('微信登录失败,请检查网络状态'), null)
+ }
+ })
+}
-var noop = function noop() {};
-var defaultOptions = {
+const noop = function noop() {}
+const defaultOptions = {
method: 'GET',
success: noop,
fail: noop,
loginUrl: null,
- withCredentials: true,
- lang: 'zh_CN',
-};
+}
/**
* @method
* 进行服务器登录,以获得登录会话
+ * 受限于微信的限制,本函数需要在 的回调函数中调用
+ * 需要先使用