266 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
		
			
		
	
	
			266 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
| 
								 | 
							
								import type { BasePaginationConfig } from "../hooks/useTable";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 定义 getDataType 函数可能返回的所有类型
							 | 
						||
| 
								 | 
							
								type DataType
							 | 
						||
| 
								 | 
							
								  = | "String"
							 | 
						||
| 
								 | 
							
								    | "Number"
							 | 
						||
| 
								 | 
							
								    | "Boolean"
							 | 
						||
| 
								 | 
							
								    | "Symbol"
							 | 
						||
| 
								 | 
							
								    | "Undefined"
							 | 
						||
| 
								 | 
							
								    | "Null"
							 | 
						||
| 
								 | 
							
								    | "Object"
							 | 
						||
| 
								 | 
							
								    | "Array"
							 | 
						||
| 
								 | 
							
								    | "Function"
							 | 
						||
| 
								 | 
							
								    | "Date"
							 | 
						||
| 
								 | 
							
								    | "RegExp"
							 | 
						||
| 
								 | 
							
								    | "Error"
							 | 
						||
| 
								 | 
							
								    | "Map"
							 | 
						||
| 
								 | 
							
								    | "Set"
							 | 
						||
| 
								 | 
							
								    | "WeakMap"
							 | 
						||
| 
								 | 
							
								    | "WeakSet"
							 | 
						||
| 
								 | 
							
								    | "ArrayBuffer"
							 | 
						||
| 
								 | 
							
								    | "DataView"
							 | 
						||
| 
								 | 
							
								    | "Promise"
							 | 
						||
| 
								 | 
							
								    | "Generator"
							 | 
						||
| 
								 | 
							
								    | "GeneratorFunction"
							 | 
						||
| 
								 | 
							
								    | "AsyncFunction"
							 | 
						||
| 
								 | 
							
								    | "Arguments"
							 | 
						||
| 
								 | 
							
								    | "Math"
							 | 
						||
| 
								 | 
							
								    | "JSON"
							 | 
						||
| 
								 | 
							
								    | "Window"
							 | 
						||
| 
								 | 
							
								    | "HTMLDocument"
							 | 
						||
| 
								 | 
							
								    | string; // 允许其他可能的类型
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 findCharIndex 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface FindCharIndexOptions {
							 | 
						||
| 
								 | 
							
								  /** 查找的字符串 */
							 | 
						||
| 
								 | 
							
								  str: string;
							 | 
						||
| 
								 | 
							
								  /** 查找的字符 */
							 | 
						||
| 
								 | 
							
								  char: string;
							 | 
						||
| 
								 | 
							
								  /** 第几次出现 */
							 | 
						||
| 
								 | 
							
								  num: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 paging 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface PagingOptions {
							 | 
						||
| 
								 | 
							
								  /** 分页的数组 */
							 | 
						||
| 
								 | 
							
								  list: any[];
							 | 
						||
| 
								 | 
							
								  /** 当前页 */
							 | 
						||
| 
								 | 
							
								  currentPage: number | string;
							 | 
						||
| 
								 | 
							
								  /** 每页条数 */
							 | 
						||
| 
								 | 
							
								  pageSize: number | string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 addingPrefixToFile 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface AddingPrefixToFileOptions {
							 | 
						||
| 
								 | 
							
								  /** 附件路径字段名 */
							 | 
						||
| 
								 | 
							
								  pathKey?: string;
							 | 
						||
| 
								 | 
							
								  /** 附件名称字段名 */
							 | 
						||
| 
								 | 
							
								  nameKey?: string;
							 | 
						||
| 
								 | 
							
								  /** 附件id字段名 */
							 | 
						||
| 
								 | 
							
								  idKey?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 getLabelName 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface GetLabelNameOptions {
							 | 
						||
| 
								 | 
							
								  /** 状态 */
							 | 
						||
| 
								 | 
							
								  status: number | string;
							 | 
						||
| 
								 | 
							
								  /** 翻译的数组 */
							 | 
						||
| 
								 | 
							
								  list: any[];
							 | 
						||
| 
								 | 
							
								  /** id字段名 */
							 | 
						||
| 
								 | 
							
								  idKey?: string;
							 | 
						||
| 
								 | 
							
								  /** name字段名 */
							 | 
						||
| 
								 | 
							
								  nameKey?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 getSelectAppointItemList 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface GetSelectAppointItemListOptions {
							 | 
						||
| 
								 | 
							
								  /** 获取的数组 */
							 | 
						||
| 
								 | 
							
								  list: any[];
							 | 
						||
| 
								 | 
							
								  /** 获取的值 */
							 | 
						||
| 
								 | 
							
								  value: any[];
							 | 
						||
| 
								 | 
							
								  /** 获取的id字段名 */
							 | 
						||
| 
								 | 
							
								  idKey?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 listTransTree 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface ListTransTreeOptions {
							 | 
						||
| 
								 | 
							
								  /** 需要转换的json */
							 | 
						||
| 
								 | 
							
								  json: any[];
							 | 
						||
| 
								 | 
							
								  /** id字段 */
							 | 
						||
| 
								 | 
							
								  idKey: string;
							 | 
						||
| 
								 | 
							
								  /** 父级id字段 */
							 | 
						||
| 
								 | 
							
								  parentIdKey: string;
							 | 
						||
| 
								 | 
							
								  /** 子级字段 */
							 | 
						||
| 
								 | 
							
								  childrenKey: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 为 isEmptyToWhether 函数定义接口类型
							 | 
						||
| 
								 | 
							
								interface IsEmptyToWhetherOptions {
							 | 
						||
| 
								 | 
							
								  /** 真值时显示的文本 */
							 | 
						||
| 
								 | 
							
								  yesText?: string;
							 | 
						||
| 
								 | 
							
								  /** 假值时显示的文本 */
							 | 
						||
| 
								 | 
							
								  noText?: string;
							 | 
						||
| 
								 | 
							
								  /** 判断为真的值 */
							 | 
						||
| 
								 | 
							
								  yesValue?: string | number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 计算序号
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function serialNumber(
							 | 
						||
| 
								 | 
							
								  pagination: BasePaginationConfig,
							 | 
						||
| 
								 | 
							
								  index: number
							 | 
						||
| 
								 | 
							
								): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 字符串数组转数组
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function toArrayString(value: string): Array<string>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 判断文件后缀名是否符合
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function interceptTheSuffix(name: string, suffix: string): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 图片转base64
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function image2Base64(imgUrl: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 图片转base64 (File对象版本)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function image2Base642(file: File): Promise<string>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 判断图片是否可访问成功
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function checkImgExists(imgUrl: string): Promise<any>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取数据类型
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getDataType(data: any): DataType;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 数组去重
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function ArrayDeduplication<T extends number | string>(arr: T[]): T[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 数组对象去重
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function arrayObjectDeduplication<T>(arr: T[], key: string): T[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 查找字符串中指定的值第几次出现的位置
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function findCharIndex(options: FindCharIndexOptions): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 生成指定两个值之间的随机数
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function randoms(min: number, max: number): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 千位分隔符
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function numFormat(num: number | string): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 验证是否为空
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function isEmpty(value: any): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取url参数
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getUrlParam(key: string): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 数据分页
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function paging<T>(options: PagingOptions): T[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取文件后缀
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getFileSuffix(name: string): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取文件名称
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getFileName(name: string): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 读取txt文档
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function readTxtDocument(filePah: string): Promise<string>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 将秒转换成时分秒
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function secondConversion(second: string | number): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 附件添加前缀
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function addingPrefixToFile<T extends Record<string, any>>(
							 | 
						||
| 
								 | 
							
								  list: T[],
							 | 
						||
| 
								 | 
							
								  options?: AddingPrefixToFileOptions
							 | 
						||
| 
								 | 
							
								): (T & { url: string; name: string; imgFilesId: any })[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 翻译状态
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getLabelName<T>(options: GetLabelNameOptions): string | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 计算文件大小
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function calculateFileSize(size: number | string): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 根据身份证号获取出生日期和性别
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function idCardGetDateAndGender(idCard: string): { sex: "1" | "0"; date: string };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取select中指定项组成的数组
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getSelectAppointItemList<T>(options: GetSelectAppointItemListOptions): T[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * json转换为树形结构
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function listTransTree<T>(options: ListTransTreeOptions): T[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 将值转换为"是"/"否"显示文本
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function isEmptyToWhether(
							 | 
						||
| 
								 | 
							
								  value: any,
							 | 
						||
| 
								 | 
							
								  options?: IsEmptyToWhetherOptions
							 | 
						||
| 
								 | 
							
								): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 生成指定长度的guid
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function createGuid(len?: number): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取序号列
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getIndexColumn(pagination: false | BasePaginationConfig): {
							 | 
						||
| 
								 | 
							
								  title: string;
							 | 
						||
| 
								 | 
							
								  key: string;
							 | 
						||
| 
								 | 
							
								  width: number;
							 | 
						||
| 
								 | 
							
								  render: (...args: any[]) => number;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 获取文件url
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export function getFileUrl(): string;
							 |