rcs-sdk
Version:
封装客户端与平台间的相互调用功能。
67 lines • 3.02 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.get = void 0;
const debug = require('debug')('rcssdk:auth:srvapi');
const util_1 = require("../util");
const request_1 = require("../util/request");
function get(username, password) {
return __awaiter(this, void 0, void 0, function* () {
let rst;
if ((0, util_1.runAsMock)('auth')) {
const { mockFilePathGetToken } = this.config;
if (!mockFilePathGetToken)
return Promise.reject('没有指定模拟数据获取位置');
rst = yield (0, util_1.getMockData)(mockFilePathGetToken);
if (!rst)
return Promise.reject(`没有在指定位置[${mockFilePathGetToken}]获取模拟数据`);
}
else {
const { authApiServer, authApiTimeout, authApiPin } = this.config;
const apiurl = `${authApiServer ? authApiServer : ''}/auth/authenticate`;
const options = {
timeout: authApiTimeout,
};
debug(`通过[${apiurl}]获取token`);
try {
if (this.config.authType === 'apply') {
options.params = {
appkey: username,
secret: password,
};
rst = yield request_1.default.get(apiurl, options);
}
else {
const posted = {
username: username,
password: password,
};
if (authApiPin)
posted.pin = authApiPin;
options.headers = { 'Content-Type': 'application/json;charset=utf-8' };
rst = yield request_1.default.post(apiurl, posted, options);
}
}
catch (e) {
return Promise.reject(`通过[${apiurl}]获取token异常: ${e.message}`);
}
}
if (rst['code'] === 0) {
return Promise.resolve({
accessToken: rst['result'].access_token,
expires: rst['result'].expire_in,
});
}
return Promise.reject(`获取token失败:${rst['msg']}`);
});
}
exports.get = get;
//# sourceMappingURL=token.js.map