Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | 1x 1x 1x 2x 1x 1x 1x 2x 2x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 1x 3x 3x 3x 3x 3x 3x 1x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 1x 2x 2x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 1x 2x 1x 1x | 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var aes = require('crypto-js/aes');
var utf8 = require('crypto-js/enc-utf8');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var aes__default = /*#__PURE__*/_interopDefaultLegacy(aes);
var utf8__default = /*#__PURE__*/_interopDefaultLegacy(utf8);
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var __assign = function() {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var config = {
SECRET: 'bbg_520',
EXPIRE_TIME: 30 * 1000,
};
var AuthType;
(function (AuthType) {
AuthType["WxH5"] = "wx_h5";
AuthType["Pc"] = "pc";
})(AuthType || (AuthType = {}));
var Auth = (function () {
function Auth(params) {
this.cstProps = params;
this.SSO_HOST_MAP = new Map([
['dev', 'http://sso.lanxinxueyuan.com'],
['stage', 'http://sso.lanxinxueyuan.com'],
['prod', 'http://sso.lanxinxueyuan.com'],
]);
this.SSO_HOST = this.SSO_HOST_MAP.get(params.env);
this.expireTime = config.EXPIRE_TIME;
this.secret = config.SECRET;
}
Auth.prototype.getSignInUrlIst = function (params) {
var signInUrlIst = new URL(this.SSO_HOST);
signInUrlIst.pathname = '/sign_in';
signInUrlIst.searchParams.set('ref', decodeURIComponent(params.ref));
signInUrlIst.searchParams.set('auth_type', params.auth_type);
signInUrlIst.searchParams.set('source', this.cstProps.source);
return signInUrlIst;
};
Auth.prototype.toSignInWxH5 = function (params) {
var signInUrlIst = this.getSignInUrlIst(__assign(__assign({}, params), { auth_type: AuthType.WxH5 }));
if (!this.cstProps.source_appid) {
alert('缺失source_appid');
return false;
}
signInUrlIst.searchParams.set('source_appid', this.cstProps.source_appid);
var url = signInUrlIst.href;
location.replace(url);
return url;
};
Auth.prototype.toSignInPC = function (params) {
var signInUrlIst = this.getSignInUrlIst(__assign(__assign({}, params), { auth_type: AuthType.WxH5 }));
var url = signInUrlIst.href;
location.replace(url);
return url;
};
Auth.prototype.signOut = function (params) {
if (params === void 0) { params = { ref: location.href }; }
var refUrl = decodeURIComponent(params.ref);
localStorage.removeItem('token');
var signOutUrlIst = new URL(this.SSO_HOST);
signOutUrlIst.pathname = 'sign_out';
signOutUrlIst.searchParams.set('ref', refUrl);
var url = signOutUrlIst.href;
location.replace(url);
return url;
};
Auth.prototype.getEncodeToken = function (params) {
Iif (params === void 0) { params = {}; }
var token = params.token || localStorage.getItem('token') || '';
var tokenInfo = { token: token, expire: Date.now() + this.expireTime };
var encodeToken = aes__default['default']
.encrypt(JSON.stringify(tokenInfo), this.secret)
.toString();
return encodeURIComponent(encodeToken);
};
Auth.prototype.decodeSsoToken = function (params) {
Eif (params === void 0) { params = {}; }
var currentUrl = params.currentUrl || location.href;
var urlIst = new URL(currentUrl);
var ssoToken = urlIst.searchParams.get('sso_token');
if (!ssoToken) {
return { status: false, msg: '链接上不存在sso_token' };
}
var tokenInfo = this.getTokenInfo(ssoToken);
if (!tokenInfo || typeof tokenInfo !== 'object') {
return { status: false, msg: 'token解密失败' };
}
Iif (Date.now() > tokenInfo.expire) {
return { status: false, msg: 'sso_token已过期' };
}
localStorage.setItem('token', tokenInfo.token);
urlIst.searchParams.delete('sso_token');
location.replace(urlIst.href);
return { status: true, msg: '' };
};
Auth.prototype.getTokenInfo = function (ticket) {
var tokenInfoStr = aes__default['default']
.decrypt(decodeURIComponent(ticket), this.secret)
.toString(utf8__default['default']);
var tokenInfo = null;
try {
tokenInfo = JSON.parse(tokenInfoStr);
}
catch (_a) {
console.log();
}
return tokenInfo;
};
return Auth;
}());
exports.Auth = Auth;
|