UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

75 lines (65 loc) 2.25 kB
"use strict"; import { CP } from ".."; /** * 接入外部服务时 * 以线上为准则,外部服务的稳定性第一 * 避免外部服务预发影响本服务预发 */ // 依赖宫廷的转发网关 export const redirectUrl = `https://serverless-gateway.alibtrip.com/redirect`; // 字典统一走其他数据来源 export const getDictionaries = `https://admin.alibtrip.com/enum/dictionary/queryEnum.action`; /** * 支持HSF代理 * 由于HSF环境特性,额外提供此功能 * 外部服务不稳定性由用户兜底 * @returns 环境对应服务地址 */ export const 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"; } }; // // 榫卯平台 线上地址 export const 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 榫卯平台本地开发时,使用 export const getPageDetails = `${host}/ext/page/details`; export const getDictionariesOld = `${host}/ext/dic/select/list`; export const getProDictionaries = `${host}/api/dic/project/list`; export const sunmaoLog = `${host}/ext/sunmao/log`; export const aclCheckPermissions = `/api/acl/checkPermissions`; /** * 用于日志系统记录判断 * @param {请求链接} url * @returns 日志是否跳过该请求 */ export const isSkipLog = url => { return !( url.includes(sunmaoLog) // 过滤日志请求 // 不在过滤字典获取、schema获取,用于埋点 //|| url.includes(getPageDetails) || // url.includes(getDictionaries) || // url.includes(getDictionariesOld) ); }; /** * 用于日志系统记录判断 * @param {请求链接} url * @param {请求体} body * @returns 是否为日志请求 */ export const isLogFetch = (url, body) => { try { const data = JSON.parse(body); return ( data.url === sunmaoLog && url.includes(redirectUrl) // 日志请求 ); // 代理转发 } catch {} return false; };