@lark-project/cli
Version:
飞书项目插件开发工具
90 lines (89 loc) • 3.08 kB
TypeScript
/**
* 对齐 IDL:meego_idl/app_center/api/api_app_development.thrift
* - SaveAppDescriptionInfoRequest / SaveAppDescriptionInfoResponse
* - POST /goapi/v5/app/development/tool/description/info
*/
interface RichText {
doc?: string;
doc_html?: string;
doc_text?: string;
is_empty?: boolean;
}
interface AppDescriptionProtocolInfo {
clause_url?: string;
privacy_policy_url?: string;
has_change?: boolean;
}
interface AppDescriptionI18NInfo {
name?: string;
short?: string;
icon?: string;
description?: RichText;
document_url?: string[];
document?: unknown[];
carousel_list?: unknown[];
protocol?: unknown;
}
interface SaveAppDescriptionInfoResponseBody {
icon?: string;
i18n_info?: Record<string, AppDescriptionI18NInfo>;
protocol?: AppDescriptionProtocolInfo;
category_ids?: string[];
i18n_lang?: string[];
default_lang?: string;
product_key?: string;
/**
* 插件类型(IDL GetAppDescriptionInfoResponse.app_type / AppType enum):
* 0 普通插件 / 1 AI 应用。仅 GET 取描述信息时由后端回填。
*/
app_type?: number;
/** AI 应用的能力点位类型,如 ['ai_node'] / ['ai_field'];普通插件无此字段。 */
point_types?: string[];
}
/**
* 获取插件描述信息(草稿态)。
* IDL: api_app_development.GetAppDescriptionInfoRequest / Response
* GET /goapi/v5/app/development/tool/description/info?app_key=XXX&data_status=draft
*/
export declare function getPluginDescriptionInfo({ siteDomain, appKey, dataStatus, }: {
siteDomain: string;
appKey: string;
dataStatus?: 'draft' | 'released';
}): Promise<SaveAppDescriptionInfoResponseBody>;
/**
* 对齐前端 BaseInfoForm handleChange 的 update_type 分类:
* ICON = 1 — icon 单独更新,顶层字段
* I18N = 2 — name/short/description/document/carousel_list 走 i18n_info[lang]
* CATEGORY = 3 — category_ids 单独更新,顶层字段
* PROTOCOL = 4 — protocol 单独更新,顶层字段
*/
declare enum PluginDescUpdateType {
ICON = 1,
I18N = 2,
CATEGORY = 3,
PROTOCOL = 4
}
interface UpdatePluginDescriptionRequest {
siteDomain: string;
appKey: string;
/** I18N 类字段,写入 i18n_info[lang] */
name?: string;
/** 短描述(纯文本,对应 i18n_info.short) */
short?: string;
/** 详情描述(纯文本,会转为富文本结构写入 i18n_info.description) */
detailDescription?: string;
document?: unknown[];
carouselList?: unknown[];
/** 独立更新类字段 */
icon?: string;
protocol?: AppDescriptionProtocolInfo;
categoryIds?: string[];
/** 指定更新类型,不传则自动推断 */
updateType?: PluginDescUpdateType;
/** 国际化语言,默认 ['zh-cn'] */
i18nLang?: string[];
/** i18n 写入的语言 key,默认 'zh-cn' */
lang?: string;
}
export declare function updatePluginDescription(req: UpdatePluginDescriptionRequest): Promise<SaveAppDescriptionInfoResponseBody>;
export {};