UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

93 lines (75 loc) 2.98 kB
"use strict"; 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;