42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
|
|
---
|
|||
|
|
name: jjb-base-api-overview
|
|||
|
|
description: 定义 JJB 底座平台 baseAPI 概述与环境判断。在调用 base、判断 __IN_BASE__ 时查阅。
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 底座平台API调用规范
|
|||
|
|
|
|||
|
|
## 概述与环境判断
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
当应用部署到底座平台(父应用)中时,子应用可以通过一套 **baseAPI** 访问底座平台提供的接口,实现子应用与父应用之间的通信和数据交互。
|
|||
|
|
|
|||
|
|
- **全局对象**:`base` - 提供应用与底座之间交互的 API
|
|||
|
|
- **使用场景**:子应用需要获取底座平台提供的能力或数据时
|
|||
|
|
- **调用方式**:通过 `base.xxx()` 的方式调用底座平台提供的接口
|
|||
|
|
|
|||
|
|
**⚠️ 重要约束**:所有 API 必须在应用处于底座中时才有效!调用前需要判断 `window.__IN_BASE__` 变量是否存在。
|
|||
|
|
|
|||
|
|
## 判断是否在底座中
|
|||
|
|
|
|||
|
|
在调用 baseAPI 之前,必须先判断当前应用是否运行在底座中:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 判断当前应用是否在底座中
|
|||
|
|
const isInBase = typeof window.__IN_BASE__ !== 'undefined';
|
|||
|
|
|
|||
|
|
if (isInBase) {
|
|||
|
|
// 可以安全调用 baseAPI
|
|||
|
|
base.getClientInfo({
|
|||
|
|
onSuccess: (data) => {
|
|||
|
|
console.log('终端信息:', data);
|
|||
|
|
},
|
|||
|
|
onFail: (error) => {
|
|||
|
|
console.error('获取失败:', error);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
console.warn('当前应用不在底座中,无法调用 baseAPI');
|
|||
|
|
}
|
|||
|
|
```
|