Skip to content

@mbjia/site-env

Package

@mbjia/site-env

环境、域名、主题和 license 配置包。services 和业务组件的接口域名、站点环境、主题配置会受到这个包影响。

安装

bash
npm install @mbjia/site-env

何时使用

场景是否需要
需要读取当前环境、API host、主题配置需要
业务组件或 services 需要正确请求后端通常需要
只写纯展示页面且不请求接口不一定需要

主要导出

  • 构建环境:isLocalisDevisTestisPreisPre2isProd
  • 主题:getThemeConfig、OEM 主题相关方法
  • 域名:API_ENV
  • 常量:TOKEN_NAMEUSERUSER_ID

入口模块:

模块说明
buildEnv构建环境和运行环境判断。
oemThemeOEM/品牌主题、站点域名和主题配置。
domains内部资源域名判断和主站判断。
license实时预览、素材编辑、云剪辑 license 配置。

API_ENV

API_ENV.host 会按环境切换:

环境host
local/api
OEM dev//mbjia-api-dev3.atvideo.cc
dev/test测试 API
pre/pre2预发 API
prod线上 API

业务组件和 services 的接口地址都受这个包影响。

环境与域名

名称类型说明
MBJIA_ROOT_URLstring当前站点根路径,来自 getCurrentSitePath().root
dev3stringOEM dev3 API 地址。
testHoststring测试环境 API 地址;轻应用会指向 lapp-dev。
preHoststring预发环境 API 地址;轻应用会指向 lapp-pre。
pre2Hoststringpre2 环境 API 地址。
onLineHoststring线上 API 地址;轻应用会指向 lapp。
API_ENV{ host: string; getTokenUrl: string }当前运行环境使用的 API 配置。

环境判断来自 buildEnv

名称说明
isLocal本地开发。
isDev / isTest测试环境。
isPre / isPre2预发环境。
isProd / isMbjiaProd生产环境。
isOemDevOEM 开发环境。
isLightApplication轻应用环境。
isAiSaas()判断是否 AI SaaS 来源。
getHost()获取当前 host。
getEnvKey()返回 devprepre2mbjia_prodprod

域名工具来自 domains

名称说明
isInNet(url)判断是否内部资源域名。
selfWebsite()判断是否主站或默认来源。

主题工具来自 oemTheme

名称说明
getThemeConfig()获取当前主题完整配置。
getThemePage(path)获取页面主题配置。
isThemePageOpen(path, id)判断页面功能开关是否打开。
getThemeComponent(path)获取组件主题配置。
isThemeComponentOpen(path, id)判断组件功能开关是否打开。
isOemSite() / isOemTheme()判断是否 OEM 站点/主题。
getCurrentSitePath()获取当前主题下 root、jijian、aiCut、scriptEditor 地址。
getCurrentSiteAllPaths()获取所有站点路径集合。
themesSettings主题站点配置集合。
siteKey当前站点 key。
resolveUrls(urls)根据环境解析 URL。
bthTxtAndLogo()获取按钮文案与 logo 相关配置。
getTheme()获取当前主题 key。
getThemeSetting()获取当前主题站点配置。
AI_CLIP_URL / AI_CLIP_ALL_URLAI 剪辑地址。

主题类型

主题配置来自 packages/site-env/themes

ts
export interface BrandTheme {
  id: string
  name: string
  logo: string
  favicon: string
  bg: string
  variables?: Record<string, string>
  license?: string
  roles?: BrandThemeRole[] | Record<string, boolean>
  components?: Record<string, BrandThemeComponent>
  images: Record<string, string>
  icons?: Record<string, string>
  title?: string
  pages?: Record<string, BrandThemePage>
  colors?: Record<string, string>
}

常用结构:

类型说明
BrandTheme整个品牌主题。
BrandThemeComponent某个组件或模块的主题配置。
BrandThemePage页面级主题配置,包含图标、颜色、角色、图片和 options。
BrandThemeRole角色开关,包含 idopen
ThemeType所有主题 key。
ComponentIdTypebrand_mooliv.components 的组件 id。
PagesIdTypebrand_mooliv.pages 的页面 id。

已登记主题:

主题 key
brand_mooliv
brand_huichuan
brand_onechance
brand_linkfox
brand_wangkelai
brand_driflow
以及对应 _aicut_jijian 变体

MBJIA Tools 文档