SDK
SDK 是平台为开发者提供的核心开发工具包,通过 ChameleonSDK 类统一暴露平台能力。在 C# 脚本(平台接口组件中的 C# 脚本组件)或微服务开发中,可以通过 ChameleonSDK 参数访问所有平台功能。
概述
ChameleonSDK 是 SDK 的入口类,它聚合了以下核心能力模块:
| 模块 | 属性名 | 说明 |
|---|---|---|
| 工具方法 | Helper | URL 解析、时区转换等通用工具方法 |
| 数据访问 | DbContext | 平台封装的数据库操作接口 |
| 日志记录 | Logger | 日志记录器 |
| Open API | OpenApiHelper | 调用平台 Open API 接口 |
| 租户配置 | TenantSettingHelper | 读取租户/系统配置 |
| 消息通知 | NotificationHelper | 发送通知、管理待办事项 |
| 账户管理 | AccountHelper | 身份、角色管理等账户操作 |
| 人员信息 | UserInformationHelper | 批量添加/编辑人员信息 |
| 审批流 | WorkflowHelper | 发起审批、审批操作等 |
| HTTP 客户端 | HttpClientFactory | HTTP 客户端工厂,用于任意 HTTP 调用 |
| 异步任务 | TinyTaskHelper | 异步任务进度跟踪 |
| 缓存 | CacheHelper | 缓存读写操作(内存/Redis) |
| 服务调用 | ServiceCallHelper | 微服务间调用 |
快速开始
在 C# 脚本中使用
在平台接口的 C# 脚本组件中,ChameleonSDK 会作为参数自动注入:
using Chameleon.SDK;
public class MyScript
{
public async Task<object> ExecuteAsync(ComponentContext context, ChameleonSDK sdk)
{
// 记录日志
sdk.Logger.LogInformation("脚本开始执行");
// 读取租户配置
var config = sdk.TenantSettingHelper.GetTenantConfig();
var settingValue = config["MySection:MyKey"];
// 调用 Open API
var result = await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Hello",
new { message = "test" }
);
return result;
}
}
在微服务中使用
在微服务中,通过依赖注入获取 ChameleonSDK:
public class MyService
{
private readonly ChameleonSDK _sdk;
public MyService(ChameleonSDK sdk)
{
_sdk = sdk;
}
public async Task DoSomething()
{
// 使用 SDK 的各项能力
var token = _sdk.OpenApiHelper.GetSystemUserToken();
// ...
}
}
模块导航
- OpenApiHelper - Open API 调用 — 调用平台对外接口,自动处理认证
- AccountHelper - 账户管理 — 身份分配、角色管理、人员查询
- WorkflowHelper - 审批流操作 — 发起/同意/拒绝/驳回/撤回审批
- NotificationHelper - 消息通知与待办 — 发送通知、发送/关闭待办
- CacheHelper - 缓存操作 — 内存/Redis 缓存读写
- TinyTaskHelper - 异步任务进度 — 创建和跟踪异步任务进度
- TenantSettingHelper - 租户配置 — 读取系统和租户级配置
- UserInformationHelper - 人员信息管理 — 批量添加/编辑人员信息
- ServiceCallHelper - 微服务调用 — 子服务调用主站内部接口
- DbContext - 数据访问 — 基于 FreeSql 的业务数据增删改查,详见数据访问(DbContext)子目录
- Logger - 日志记录 — 结构化日志输出
- HttpClientFactory - HTTP 客户端工厂 — 调用外部 HTTP 服务
- SdkHelper - 通用工具方法 — URL 解析、时区转换
数据访问(DbContext)子目录
数据访问能力已按主题拆分为多篇文档,从 DbContext 总览进入:
- 数据访问总览 - 能力地图、获取方式、全局规约(异步优先、小写字段、
_id主键) - 数据增删改与逻辑删除 -
Add/Update/Delete/LogicDelete - 数据查询与分页 -
GetById/GetList/GetCount/IsExist - 过滤条件构建 -
DynamicFilter与FilterBuilder操作符 - 事务操作 -
Tran/TranAsync与嵌套事务 - SQL 查询与底层实例 - 原生 SQL、
GetDatabase() - 数据变更审计 - 写操作自动记录变更日志
下一步
- OpenAPI 接口文档 — 了解可调用的 Open API 列表
- C# 脚本组件 — 平台接口中的 C# 脚本编写指南
- C# 脚本示例集锦 — 更多实际使用示例