UNPKG

tplus-api

Version:

tplus api invoke

460 lines (430 loc) 19.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _stringify = require("babel-runtime/core-js/json/stringify"); var _stringify2 = _interopRequireDefault(_stringify); var _iterator = require("babel-runtime/core-js/symbol/iterator"); var _iterator2 = _interopRequireDefault(_iterator); var _symbol = require("babel-runtime/core-js/symbol"); var _symbol2 = _interopRequireDefault(_symbol); var _promise = require("babel-runtime/core-js/promise"); var _promise2 = _interopRequireDefault(_promise); var _axios = require("axios"); var _axios2 = _interopRequireDefault(_axios); var _User = require("../model/User"); var _User2 = _interopRequireDefault(_User); var _isEmpty2 = require("lodash/isEmpty"); var _isEmpty3 = _interopRequireDefault(_isEmpty2); var _trim2 = require("lodash/trim"); var _trim3 = _interopRequireDefault(_trim2); var _querystring = require("querystring"); var _querystring2 = _interopRequireDefault(_querystring); var _TplusApi = require("./TplusApi"); var _TplusApi2 = _interopRequireDefault(_TplusApi); var _UIConfirm = require("../components/UIConfirm"); var _UIConfirm2 = _interopRequireDefault(_UIConfirm); var _app = require("../const/app"); var _mutantsMicrofx = require("mutants-microfx"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = _promise2.default))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = undefined && undefined.__generator || function (thisArg, body) { var _ = { label: 0, sent: function sent() { if (t[0] & 1) throw t[1];return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof _symbol2.default === "function" && (g[_iterator2.default] = function () { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) { try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0:case 1: t = op;break; case 4: _.label++;return { value: op[1], done: false }; case 5: _.label++;y = op[1];op = [0];continue; case 7: op = _.ops.pop();_.trys.pop();continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0;continue; } if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { _.label = op[1];break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1];t = op;break; } if (t && _.label < t[2]) { _.label = t[2];_.ops.push(op);break; } if (t[2]) _.ops.pop(); _.trys.pop();continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e];y = 0; } finally { f = t = 0; } }if (op[0] & 5) throw op[1];return { value: op[0] ? op[1] : void 0, done: true }; } }; var constant = _mutantsMicrofx.env.constant, platform = _mutantsMicrofx.env.platform; var QS = require('qs'); var LoginApi = /** @class */function () { function LoginApi() {} //用户登录验证 获取企业列表信息 LoginApi.authentication = function (_a) { var username = _a.username, password = _a.password; return __awaiter(this, void 0, void 0, function () { var ajax, param, response, result, errorInfo; return __generator(this, function (_b) { switch (_b.label) { case 0: ajax = _axios2.default.create({ baseURL: _app.ciaHost }); param = { 'auth_username': username, 'password': password, 'needOrgLists': '1', 'client_id': _app.clientId, 'client_secret': _app.clientSecret }; return [4 /*yield*/, ajax.post('/internal_api/client_authentication_with_userInfo', _querystring2.default.stringify(param))]; case 1: response = _b.sent(); result = response.data; errorInfo = ''; if (result.auth_result == 'true') { return [2 /*return*/, result]; } else { return [2 /*return*/, undefined]; } return [2 /*return*/]; } }); }); }; //用户修改密码操作 LoginApi.updatePwd = function (oldPassword, newPassword) { return __awaiter(this, void 0, void 0, function () { var user, access_token, appKey, passwordLevel, ajax, passwordInfo, param, response; return __generator(this, function (_a) { switch (_a.label) { case 0: user = _User2.default.restore(); access_token = user.accessToken; appKey = atob(_app.cspAk); passwordLevel = 1; ajax = _axios2.default.create({ baseURL: _app.ciaHost }); passwordInfo = (0, _stringify2.default)({ oldPassword: oldPassword, newPassword: newPassword, passwordLevel: passwordLevel }); param = { appKey: appKey, access_token: access_token, passwordInfo: passwordInfo }; return [4 /*yield*/, ajax.post('/api/v1/user/password', _querystring2.default.stringify(param))]; case 1: response = _a.sent(); return [2 /*return*/, response.data]; } }); }); }; LoginApi.authenticationByCode = function (code) { return __awaiter(this, void 0, void 0, function () { var ajax, param, response, d; return __generator(this, function (_a) { switch (_a.label) { case 0: ajax = _axios2.default.create({ baseURL: _app.ciaHost }); if (!(platform === constant.platform.chanjet)) return [3 /*break*/, 2]; param = QS.stringify({ client_id: _app.clientId, client_secret: _app.clientSecret, auth_code: code }); return [4 /*yield*/, ajax.post('/internal_api/codeForAccessTokenForClient', param)]; case 1: response = _a.sent(); return [3 /*break*/, 4]; case 2: if (!(platform === constant.platform.yonyou)) return [3 /*break*/, 4]; param = QS.stringify({ client_id: _app.clientId, client_secret: _app.clientSecret, // appKey: atob(cspAk), // appSecret: atob(cspAS), code: code }); return [4 /*yield*/, ajax.post('/special_api/v1/user/getTokenByYonyouCode', param)]; case 3: response = _a.sent(); _a.label = 4; case 4: d = response.data; if (d.hasOwnProperty('error') && d.hasOwnProperty('error_description') && !(0, _isEmpty3.default)((0, _trim3.default)(d.error_description))) { return [2 /*return*/, _promise2.default.reject(d.error_description)]; } else { if ((0, _isEmpty3.default)((0, _trim3.default)(d.user_id)) || (0, _isEmpty3.default)((0, _trim3.default)(d.access_token))) { return [2 /*return*/, _promise2.default.reject('获取用户信息错误')]; } else { return [2 /*return*/, _promise2.default.resolve(d)]; } } return [2 /*return*/]; } }); }); }; //获取云端的服务器地址 LoginApi.getTargetURL = function () { return __awaiter(this, void 0, void 0, function () { var ajax, resp; return __generator(this, function (_a) { switch (_a.label) { case 0: ajax = _axios2.default.create({ baseURL: _app.tplusWebAppApiHost }); return [4 /*yield*/, ajax.post('/serverUrl')]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; } }); }); }; //获取云端的服务器地址 LoginApi.getTargetURLByOrgID = function (targetOrgID) { return __awaiter(this, void 0, void 0, function () { var ajax, resp; return __generator(this, function (_a) { switch (_a.label) { case 0: ajax = _axios2.default.create({ baseURL: _app.tplusWebAppApiHost }); return [4 /*yield*/, ajax.post('/serverUrl', { targetOrgID: targetOrgID })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; } }); }); }; //获取T+的token LoginApi.checkTplusToken = function (orgId, serverUrl) { return __awaiter(this, void 0, void 0, function () { var checkThroughProxy, method, auth, clientName, desc, param, requestObj, user, ajax, url, user_req_id, resp; return __generator(this, function (_a) { switch (_a.label) { case 0: checkThroughProxy = false; if (serverUrl.indexOf(_app.proxyServer) > -1) { checkThroughProxy = true; } method = 'chanjet.EAP.GZQ.CSP.GetTPlusToken'; auth = _User2.default.restore(); clientName = window.localStorage.clientName || ''; desc = window.localStorage.desc || ''; //供循环调用时使用 if (!!clientName) window.localStorage.clientName = clientName; if (!!desc) window.localStorage.desc = desc; param = { orgId: orgId, cspUserId: auth.userId, cspAppKey: atob(_app.cspAk), cspAppSecret: '', lastLoginedToken: '', clientName: clientName, desc: desc, NoLogout: true }; requestObj = {}; requestObj = QS.stringify({ 'Apis': (0, _stringify2.default)({ 'Args': param, 'Method': method }) }); user = _User2.default.restore(); ajax = _axios2.default.create({ baseURL: serverUrl }); url = 'api/rest'; url = url + '?IsFree=1&methodName=' + method + '&userId=' + user.userId + '&orgId=' + orgId; user_req_id = user.userId + "x" + new Date().getTime().toString(16); url += '&user_req_id=' + user_req_id; return [4 /*yield*/, ajax.post(url, requestObj, { headers: { checkThroughProxy: checkThroughProxy, checkOrgId: orgId } }).then(function (resp) { return _promise2.default.resolve(resp); }).catch(function (err) { _UIConfirm2.default.show("未找到云企业(orgid:90015044950)对应的账套,请重新选择企业登录", function () {}); return _promise2.default.reject(err); })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; } }); }); }; LoginApi.changeOrg = function (orgId) { return __awaiter(this, void 0, void 0, function () { var ajax, auth, user, resp; return __generator(this, function (_a) { switch (_a.label) { case 0: ajax = _axios2.default.create({ baseURL: _app.tplusWebAppApiHost }); auth = _User2.default.restore(); user = _User2.default.restore(); return [4 /*yield*/, ajax.post('gettplusauthinfo', QS.stringify({ orgId: orgId, ciaUserId: auth.userId, ciaToken: user.accessToken, targetOrgID: orgId }), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; } }); }); }; //获取云端的配置信息 LoginApi.getApiConfig = function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/, _axios2.default.get(_app.prodProxyHost + "?url=https://newretail-static-pro-bj.oss-cn-beijing.aliyuncs.com/fe_gateway/api_config.json")]; }); }); }; //获取T+的token LoginApi.getTplusToken = function (_a) { var _b = _a.clientName, clientName = _b === void 0 ? window.localStorage.clientName || '' : _b, _c = _a.desc, desc = _c === void 0 ? window.localStorage.desc || '' : _c; return __awaiter(this, void 0, void 0, function () { var method, auth, param, resp; return __generator(this, function (_d) { switch (_d.label) { case 0: method = 'chanjet.EAP.GZQ.CSP.GetTPlusToken'; auth = _User2.default.restore(); //供循环调用时使用 if (!!clientName) window.localStorage.clientName = clientName; if (!!desc) window.localStorage.desc = desc; param = { orgId: auth.orgId, cspUserId: auth.userId, cspAppKey: atob(_app.cspAk), cspAppSecret: '', lastLoginedToken: '', clientName: clientName, desc: desc }; return [4 /*yield*/, (0, _TplusApi2.default)(param, method, false, true)]; case 1: resp = _d.sent(); return [2 /*return*/, resp]; } }); }); }; //获取jsTicket信息 LoginApi.getSignature = function () { return __awaiter(this, void 0, void 0, function () { var user, access_token, param, query, url, ajax; return __generator(this, function (_a) { user = _User2.default.restore(); access_token = user.accessToken; param = { appKey: atob(_app.cspAk), access_token: access_token }; query = QS.stringify(param); url = "/api/v1/thirdplatform/getSignature?" + query; ajax = _axios2.default.create({ baseURL: _app.ciaHost }); return [2 /*return*/, new _promise2.default(function (res, rej) { ajax.get(url).then(function (resp) { var d = resp.data; return res(d); }).catch(function (err) { return rej(err); }); })]; }); }); }; //注销T+ LoginApi.logout = function () { return __awaiter(this, void 0, void 0, function () { var method, param, resp; return __generator(this, function (_a) { switch (_a.label) { case 0: method = 'chanjet.Authorization.Logout'; param = {}; return [4 /*yield*/, (0, _TplusApi2.default)(param, method, false, false)]; case 1: resp = _a.sent(); return [2 /*return*/, resp]; } }); }); }; return LoginApi; }(); exports.default = LoginApi; //# sourceMappingURL=LoginApi.js.map //# sourceMappingURL=LoginApi.js.map