-
Notifications
You must be signed in to change notification settings - Fork 0
/
global.d.ts
70 lines (63 loc) · 1.8 KB
/
global.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import * as axios from 'axios';
declare module 'axios' {
// 定制业务相关的网络请求响应格式, T 是具体的接口返回类型数据
export interface CustomSuccessData<T> {
code: number;
msg?: string;
message?: string;
data: T;
[keys: string]: any;
}
export interface AxiosInstance {
// <T = any>(config: AxiosRequestConfig): Promise<CustomSuccessData<T>>;
request<T = any, R = CustomSuccessData<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
get<T = any, R = CustomSuccessData<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
delete<T = any, R = CustomSuccessData<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
head<T = any, R = CustomSuccessData<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
post<T = any, R = CustomSuccessData<T>, D = any>(
url: string,
data?: D,
config?: AxiosRequestConfig<D>,
): Promise<R>;
put<T = any, R = CustomSuccessData<T>, D = any>(
url: string,
data?: D,
config?: AxiosRequestConfig<D>,
): Promise<R>;
patch<T = any, R = CustomSuccessData<T>, D = any>(
url: string,
data?: D,
config?: AxiosRequestConfig<D>,
): Promise<R>;
}
}
// 账单类型
export interface BillItemType {
bills: BillType[];
date: number;
}
export interface BillType {
amount: string;
date: string;
id: number;
pay_type: number;
remark: string;
type_id: number;
type_name: string;
}
// 筛选类型TS
export interface FilterType {
id: string;
name?: string;
type?: string;
user_id?: number;
}
// 类型标识
export type PayType = 'expense' | 'income';
// 用户信息
export interface UserInfoType {
id: number;
username: string;
signature: string;
avatar: string;
}