Appearance
团队应用
提供团队版插件相关的接口,用来获取团队版管理配置的信息。
TIP
团队应用 API 需要配合团队管理后台使用,请在团队后台创建对应应用后可以使用。(暂未开放第三方应用)
utools.team.info()
获取当前团队信息
类型定义
ts
function info(): TeamInfo;
TeamInfo
类型定义
ts
interface TeamInfo {
teamId: string;
teamName: string;
teamLogo: string;
userId: string;
userName: string;
userAvatar: string;
}
字段说明
teamId
团队 ID,创建团队时生成
teamName
团队名称,创建团队时填写
teamLogo
团队图标,返回图片的网络地址
userId
团队成员 ID,加入团队时生成
userName
团队成员名字,加入团队时填写
userAvatar
团队成员头像
示例代码
ts
const { teamName } = utools.team.info();
console.log(`当前团队为:${teamName}`);
utools.team.preset(key)
获取对应的团队配置,获取的配置需要在团队版,返回的数据为一个 JSON 对象
类型定义
ts
function preset<T>(key: string): T | null;
示例代码
ts
utools.onPluginEnter(() => {
// 每次启动插件,读取远端配置
const config = utools.team.preset<{
fontSize: number;
}>("config");
// 应用到本地插件
document.body.style.fontSize = `${config?.fontSize ?? 13}px`;
});
特殊用法
当在团队插件后台管理中,使用 SDK 的 setPreset
API 设置了 feature:
开头的 key,并将配置对象设置为 Feature
类型, uTools 将会自动处理为特殊关键字,将在插件被安装或启动时自动注册为功能关键字。
ts
// 管理后台配置写入
SDK.setPreset(
'feature:team_hello',
{
code: 'team_hello',
explain: 'hello world',
cmds: ['hello', '测试'],
icon: 'base64xxxxx',
extend: '扩展的其他字段'
}
)
访问这部分 preset 时,一般需要配合 onPluginEnter
使用。
ts
utools.onPluginEnter((enter) => {
// enter.code 为 'team_hello'
const feature = utools.team.preset(`feature:${enter.code}`);
// 处理feature对应的数据
});
utools.team.allPresets([ids])
获取当前团队下发的所有配置,支持接收一个 key 或者 keys 来查询特定前缀的配置列表,类似于 utools.db.allDocs
类型定义
ts
function allPresets(): Promise<{ key: string; value: any }[]>;
function allPresets(ids: string[]): Promise<{ key: string; value: any }[]>;
function allPresets(
dataStartsWith: string
): Promise<{ key: string; value: any }[]>;
示例代码
ts
utools.onPluginEnter(() => {
utools.team.allPresets().then((presets) => {
// 处理这些presets
});
});