mtl-js-sdk
Version:
155 lines (131 loc) • 4.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _cryptoJs = _interopRequireDefault(require("crypto-js/crypto-js"));
var _encBase = _interopRequireDefault(require("crypto-js/enc-base64"));
var _urlencode = _interopRequireDefault(require("urlencode"));
var _axios = _interopRequireDefault(require("axios"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// const Base_Url = "https://ucg-test-core.yonyoucloud.com";
var Base_Url = "https://ucg-online-core.yonyoucloud.com";
function Plugin(options) {
var exports = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _ref = options || {
platform: window.mtl.platform
},
platform = _ref.platform;
var getSignature = function getSignature(obj) {
var appKey = obj.appKey,
appSecret = obj.appSecret,
date = obj.date;
var string = "appKey".concat(appKey, "timestamp").concat(date);
var hmac256 = _cryptoJs["default"].HmacSHA256(string, appSecret);
var base64Encode = _encBase["default"].stringify(hmac256);
var urlEncode = _urlencode["default"].encode(base64Encode);
return urlEncode;
};
var onCommon = function onCommon(func, object) {
var promise = new Promise(func);
promise.then(function (res) {
var code = res.code,
message = res.message,
data = res.data;
if (data.code == "200") {
object.success && object.success(data.data);
object.complete && object.complete(data);
} else {
object.fail && object.fail(res.data);
object.complete && object.complete(res.data);
}
})["catch"](function (err) {
object.fail && object.fail(err);
object.complete && object.complete(err);
});
};
var getAccessToken = function getAccessToken(obj) {
onCommon(function (resolve, reject) {
var date = Date.now();
var url = obj.url,
appKey = obj.appKey,
appSecret = obj.appSecret;
var signature = getSignature({
appKey: appKey,
appSecret: appSecret,
date: date
});
axiosRequest({
url: "".concat(url || Base_Url, "/ucg/oauth/getToken?appKey=").concat(appKey, "×tamp=").concat(date, "&signature=").concat(signature),
method: 'GET',
complete: function complete(res) {
resolve(res);
},
fail: function fail(err) {
reject(err);
}
});
}, obj);
};
var findApplicationData = function findApplicationData(obj) {
onCommon(function (resolve, reject) {
var url = obj.url,
tenantId = obj.tenantId,
terminalType = obj.terminalType,
userId = obj.userId,
access_token = obj.access_token;
var data = {
tenantId: tenantId,
terminalType: terminalType,
userId: userId
};
axiosRequest({
url: "".concat(url || Base_Url, "/service/getAuthedAppCodesGroupByLabelsForTerminalType?access_token=").concat(access_token),
data: data,
method: 'POST',
complete: function complete(res) {
resolve(res);
},
fail: function fail(err) {
reject(err);
}
});
}, obj);
};
function axiosRequest(object) {
(0, _axios["default"])(object).then(function (response) {
var code = response.status,
message = response.statusText,
data = response.data;
if (code === 200) {
object.success && object.success(data);
} else {
object.fail && object.fail({
code: code,
message: message,
data: data
});
}
object.complete && object.complete({
code: code,
message: message,
data: data
});
})["catch"](function (err) {
var result = {
code: FAIL_CODE,
message: err.message
};
object.fail && object.fail(result);
object.complete && object.complete(result);
});
}
exports.module = {
getAccessToken: getAccessToken,
findApplicationData: findApplicationData
};
exports.symbolPath = exports.symbolPath || "appcenter";
return exports;
}
var _default = Plugin;
exports["default"] = _default;