dingtalk-docs-cool-app
Version:
钉钉文档酷应用插件扩展 开发者初始化包
65 lines (64 loc) • 1.94 kB
TypeScript
type TextResultData = string | null;
type NumberResultData = number | null;
type SingleSelectResultData = string | null;
type MultiSelectResultData = string[] | null;
type AttachmentResultData = Array<{
fileName: string;
type: string;
url: string;
resourceId?: string;
}>;
type LinkResultData = {
text: string;
link: string;
};
type ObjectResultData = Record<string, TextResultData | NumberResultData | SingleSelectResultData | MultiSelectResultData | AttachmentResultData | LinkResultData>;
export interface ExecuteContext {
fetch: (url: string, options: any, authId?: string) => Promise<any>;
baseId: string;
sheetId: string;
extensionId: string;
tenantId: string;
logId: string;
}
export declare const enum FieldExecuteCode {
Success = 0,
Timeout = 300003,
Error = 300100,
RateLimit = 300201,
QuotaExhausted = 300202,
ConfigError = 300203,
InvalidArgument = 300204,
AuthorizationError = 300205
}
export interface ExecuteFailResult {
code: Exclude<FieldExecuteCode, FieldExecuteCode.Success>;
msg?: string;
errorMessage?: string;
extra?: Record<string, any>;
}
interface ExecuteSuccessResult {
code: FieldExecuteCode.Success;
}
export interface TextExecuteResult extends ExecuteSuccessResult {
data: string;
}
export interface NumberExecuteResult extends ExecuteSuccessResult {
data: NumberResultData;
}
export interface SingleSelectExecuteResult extends ExecuteSuccessResult {
data: SingleSelectResultData;
}
export interface MultiSelectExecuteResult extends ExecuteSuccessResult {
data: MultiSelectResultData;
}
export interface LinkExecuteResult extends ExecuteSuccessResult {
data: LinkResultData;
}
export interface AttachmentExecuteResult extends ExecuteSuccessResult {
data: AttachmentResultData;
}
export interface ObjectExecuteResult extends ExecuteSuccessResult {
data: ObjectResultData;
}
export {};