@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
83 lines (82 loc) • 1.73 kB
TypeScript
export declare enum DateHooks {
}
/**
* 日期模块状态
*/
export interface DateState {
/**
* 可用时间列表
*/
dateList: ITime[];
/**
* 日期范围
*/
dateRange: ITime[];
}
/**
* 时间
*/
export interface ITime {
date: string;
week: string;
weekNum: number;
status: 'unavailable' | 'available';
resource?: any[];
color?: string[];
}
/**
* 日期模块 API
*/
export interface DateModuleAPI {
/**
* 获取资源可用时间列表
*/
getResourceAvailableTimeList: (params: IGetAvailableTimeListParams) => Promise<ITime[]>;
/**
* 设置日期范围
*/
setDateRange: (range: ITime[]) => void;
/**
* 获取资源日期
*/
getResourceDates: (params: IGetAvailableTimeListParams) => Promise<ITime[]>;
}
export interface IGetAvailableTimeListParams {
url?: string;
/** 是否使用缓存 */
useCache?: boolean;
/** 查询参数 */
query?: {
/** 开始日期 */
start_date: string;
/** 结束日期 */
end_date: string;
/** 资源ID */
resource_ids?: Array<number | string>;
};
/** 规则 */
rules?: Array<{
/**
* 提前量
*/
cut_off_time?: {
future_day?: number;
unit?: number;
unit_type?: 'minutes' | 'hours' | 'days';
};
/**
* 资源ID
*/
resourceFormIds?: number[];
/**
* 日程ID
*/
schedule?: {
date: string;
color?: string[];
isExcluded: boolean;
}[];
}>;
/** 类型:按月查 | 按日查 */
type?: 'month' | 'day';
}