sunmao-sdk
Version:
榫卯-开箱即用赋能-sdk
93 lines (75 loc) • 2.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isLogFetch = exports.isSkipLog = exports.aclCheckPermissions = exports.sunmaoLog = exports.getProDictionaries = exports.getDictionariesOld = exports.getPageDetails = exports.host = exports.getHsfHost = exports.getDictionaries = exports.redirectUrl = void 0;
var _ = require("..");
/**
* 接入外部服务时
* 以线上为准则,外部服务的稳定性第一
* 避免外部服务预发影响本服务预发
*/
// 依赖宫廷的转发网关
var redirectUrl = "https://serverless-gateway.alibtrip.com/redirect"; // 字典统一走其他数据来源
exports.redirectUrl = redirectUrl;
var getDictionaries = "https://admin.alibtrip.com/enum/dictionary/queryEnum.action";
/**
* 支持HSF代理
* 由于HSF环境特性,额外提供此功能
* 外部服务不稳定性由用户兜底
* @returns 环境对应服务地址
*/
exports.getDictionaries = getDictionaries;
var getHsfHost = function getHsfHost() {
switch (_.CP.getSunmaoParams().env) {
case "prod":
return "https://fl-btrip-cp.fc.alibaba-inc.com";
case "pre":
return "https://fl-btrip-cp.pre-fc.alibaba-inc.com";
default:
return "http://fl-btrip-cp.fc.alibaba.net";
}
}; // // 榫卯平台 线上地址
exports.getHsfHost = getHsfHost;
var host = "https://fl-btrip-cp.fc.alibaba-inc.com"; // export const host = "https://fl-btrip-cp.pre-fc.alibaba-inc.com"; // TODOdev 测试预发环境,使用
// export const getPageDetails = `${getHsfHost()}/ext/page/details`; // TODOdev 榫卯平台本地开发时,使用
exports.host = host;
var getPageDetails = "".concat(host, "/ext/page/details");
exports.getPageDetails = getPageDetails;
var getDictionariesOld = "".concat(host, "/ext/dic/select/list");
exports.getDictionariesOld = getDictionariesOld;
var getProDictionaries = "".concat(host, "/api/dic/project/list");
exports.getProDictionaries = getProDictionaries;
var sunmaoLog = "".concat(host, "/ext/sunmao/log");
exports.sunmaoLog = sunmaoLog;
var aclCheckPermissions = "/api/acl/checkPermissions";
/**
* 用于日志系统记录判断
* @param {请求链接} url
* @returns 日志是否跳过该请求
*/
exports.aclCheckPermissions = aclCheckPermissions;
var isSkipLog = function isSkipLog(url) {
return !url.includes(sunmaoLog) // 过滤日志请求
// 不在过滤字典获取、schema获取,用于埋点
//|| url.includes(getPageDetails) ||
// url.includes(getDictionaries) ||
// url.includes(getDictionariesOld)
;
};
/**
* 用于日志系统记录判断
* @param {请求链接} url
* @param {请求体} body
* @returns 是否为日志请求
*/
exports.isSkipLog = isSkipLog;
var isLogFetch = function isLogFetch(url, body) {
try {
var data = JSON.parse(body);
return data.url === sunmaoLog && url.includes(redirectUrl) // 日志请求
; // 代理转发
} catch (_unused) {}
return false;
};
exports.isLogFetch = isLogFetch;