@centralx/central-studio-api
v0.0.1
Published
CentralX Dashboard API TypeScript Client
Readme
@centralx/central-studio-api
CentralX Dashboard API TypeScript Client,封装后端微服务 API 为 TypeScript npm 类库,供内部视图和外部前端项目使用。
安装
npm install @centralx/central-studio-api快速开始
引入即可使用,无需额外配置:
import {tenantApi, applicationApi} from '@centralx/central-studio-api';
// 查询租户列表
const page = await tenantApi.page({name: '示例', page: 1, size: 20});
// 查询应用详情
const app = await applicationApi.details('app-id-123');
// 新增租户
const newTenant = await tenantApi.add({
code: 'demo',
name: '演示',
databaseId: 'db-id',
enabled: true,
});自定义配置
如需自定义 HTTP 客户端(如添加拦截器、修改超时等),在应用入口调用一次 configureClient:
// main.ts 或应用入口
import axios from 'axios';
import {configureClient} from '@centralx/central-studio-api';
configureClient(axios => {
const client = axios.create({
baseURL: '/dashboard/api',
timeout: 5000,
});
// 添加请求拦截器(如 Token 注入)
client.interceptors.request.use(config => {
const token = getToken();
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
});
return client;
});注意:
configureClient只能调用一次,应在应用入口尽早调用。
API 列表
| 模块 | 导出 | 说明 |
|-----------|-----------------------------------------------------------------|-------------|
| Session | sessionApi | 会话管理、当前用户信息 |
| SaaS | tenantApi, applicationApi | 租户、应用管理 |
| Identity | identityAccountApi, identityGroupApi, identityStrategyApi | 账户、组、认证策略 |
| Authority | roleApi, menuApi | 角色、菜单权限 |
| Gateway | gatewayApi | 网关过滤器 |
| Logging | logCollectorApi, logFilterApi, logStorageApi | 日志采集、过滤、存储 |
| Storage | storageApi | 对象存储桶管理 |
| Multicast | multicastApi | 广播消息 |
| System | databaseApi, dictionaryApi | 数据库、字典配置 |
每类 API 都提供以下方法:
| 方法 | 说明 |
|------------------|----------|
| page(query) | 分页查询列表 |
| details(id) | 根据主键查询详情 |
| add(params) | 新增数据 |
| update(params) | 更新数据 |
| delete(ids) | 删除数据 |
| enable(id) | 启用数据 |
| disable(id) | 禁用数据 |
类型定义
所有类型在导入时自动可用:
import {TenantParams, TenantPageQuery, Tenant} from '@centralx/central-studio-api';
const params: TenantParams = {
code: 'demo',
name: '演示',
databaseId: 'db-id',
enabled: true,
};License
MIT
