general-assistant
Version:
General Assistant components
66 lines (61 loc) • 2.01 kB
TypeScript
import type { UploadProps } from "rc-upload";
import type { RenderFunction } from "./UI";
export interface FileItem {
uid: string;
name: string;
type: string;
size: number;
percent: number;
/** error 文件上传失败的错误信息 */
error?: string;
/** response 文件上传后接口的返回值 */
response?: any
}
// type LessThan<T, U> = T extends U ? false : true; ?参数比较
export interface VoiceProps {
/** 默认值 { minduration: 150, maxduration: 30000, warnduration: 3000 }
* 参数失效情况:
* minduration < 0 || warnduration < 0 || maxduration < 0
* maxduration <= minduration
* warnduration >= maxduration
*/
minduration?: number // 最小时长 单位ms default=150 ?正整数类型
maxduration?: number // 最大时长 单位ms default=30000
warnduration?: number // 倒计时时长 单位ms default=3000
}
export default interface INPUTPROPS {
/** 输入框初始文字 */
text?: string;
// 是否展示输入框
isShowInput?: boolean;
// 输入框是否禁用
disabled?: boolean;
// 占位符文字
placeholder?: string;
// // 点击发送事件监听
// onSend?: (text: string) => void;
// 是否允许语音转文字
allowVoice?: boolean;
// 语音输入的参数
voiceProps?: VoiceProps;
// 是否允许上传文件
allowUpload?: boolean;
// 上传组件的参数
uploadProps?: UploadProps & {
maxNumber?: number // 最大上传文件个数 默认10个
maxByte?: number // 最大单个文件字节量 默认204800b
};
// 整个输入区域的class
completeAreaClass?: string;
// 输入框左侧容器附加内容
LeftAdditionContainer?: RenderFunction;
// 输入框右侧容器class
inputAreaClass?: string;
// 输入框class
inputClass?: string;
// 输入框右侧容器附加顶部内容
RightAdditionContainer?: RenderFunction;
// 操作栏自定义图标
operateLeftCustomIcon?: Array<RenderFunction>;
operateRightCustomIcon?: Array<RenderFunction>;
}