@gt6/sdk
Version:
GT6 SDK for articles management - A comprehensive JavaScript/TypeScript library for managing articles, categories, and tags in GT6 platform
425 lines • 10.9 kB
TypeScript
import { GT6Client } from '../core/client';
export interface LoginRequest {
username: string;
password: string;
platformId: number;
}
export interface LoginResponse {
success: boolean;
message?: string;
token?: string;
user?: {
userId: number;
username: string;
userLevel: number;
status: boolean;
platformId: number;
d1: number;
d2: number;
d3: number;
};
}
export interface RegisterRequest {
username: string;
password: string;
platformId: number;
ibcode?: string;
}
export interface RegisterResponse {
success: boolean;
message?: string;
userId?: number;
}
export interface UserData {
userId: number;
username: string;
userLevel: number;
status: boolean;
platformId: number;
d1: number;
d2: number;
d3: number;
token: string;
}
export interface UserFunds {
id: number;
userId: number;
userType: number;
fund: string;
noFund: string;
rentFund: string;
marginFund: string;
marginNoFund: string;
userIntegral: number;
creditLevel: number;
}
export interface UserFundsResponse {
success: boolean;
fund: UserFunds;
message?: string;
}
export interface PaymentRecord {
id: number;
orderId: string;
userId: number;
userType: number;
methodId: number;
recordType: number;
amount: string;
status: string;
description?: string;
adminDescription?: string;
img?: string;
createTime: string;
updateTime?: string;
}
export interface PaymentRecordsResponse {
success: boolean;
records: PaymentRecord[];
total: number;
page: number;
pageSize: number;
message?: string;
}
export interface PaymentRecordsOptions {
page?: number;
pageSize?: number;
status?: string;
recordType?: number;
methodId?: number;
}
export interface FundLog {
logId: number;
fundId: number | null;
userId: number;
fieldName: string;
oldBalance: string;
newBalance: string;
changeAmount: string;
operatorId: number;
operationTime: string;
remark: string | null;
}
export interface FundLogsResponse {
success: boolean;
logs: FundLog[];
total: number;
message?: string;
}
export interface FundLogsOptions {
page?: number;
pageSize?: number;
}
export interface RetailOrderDetail {
detail_id: number;
product_id: number;
product_name: string;
address_id: number;
sku: string;
shipping_fee: number;
tax_fee: number;
quantity: number;
single_price: number;
total_price: number;
region_id: number;
remark: string;
created_at: string;
updated_at: string;
}
export interface RetailOrder {
order_id: number;
user_id: number;
user_type: number;
total_amount: number;
pay_way: number;
payment_record_id: number | null;
fund_log_id: number | null;
status: number;
product_type: number;
created_at: string;
updated_at: string;
platform_id: number;
d1: number;
d2: number;
d3: number;
details: RetailOrderDetail[];
}
export interface RetailOrdersResponse {
success: boolean;
data: {
total: number;
page: number;
pageSize: number;
orders: RetailOrder[];
};
message?: string;
}
export interface RetailOrdersOptions {
page?: number;
pageSize?: number;
}
export interface AddressInfo {
addressId: number;
userId: number;
userType: number;
consignee: string;
phone: string;
address: string;
regionId: number;
isDefault: boolean;
createdAt: string;
updatedAt: string;
}
export interface AddressesResponse {
success: boolean;
addresses?: AddressInfo[];
message?: string;
}
export interface UserProfile {
email: string | null;
phone: string | null;
avatar: string | null;
realName: string | null;
}
export interface UserProfileResponse {
success: boolean;
message?: string;
user?: UserProfile;
}
export interface UpdateProfileRequest {
email?: string;
phone?: string;
realName?: string;
avatar?: string;
}
export interface UpdateProfileResponse {
success: boolean;
message?: string;
}
export interface ChangePasswordRequest {
oldPassword: string;
newPassword: string;
}
export interface ChangePasswordResponse {
success: boolean;
message?: string;
}
export interface AddressRequest {
regionId: number;
consignee: string;
phone: string;
address: string;
isDefault: boolean;
userType?: number;
}
export interface AddressResponse {
success: boolean;
message?: string;
addressId?: number;
}
export interface UploadResponse {
success: boolean;
message?: string;
url?: string;
}
/**
* 用户管理API模块
* 提供用户登录、注册等功能
*/
export declare class UsersAPI {
private client;
constructor(client: GT6Client);
/**
* 用户登录
* @param loginData 登录数据
* @returns 登录响应
*/
login(loginData: LoginRequest): Promise<LoginResponse>;
/**
* 用户注册
* @param registerData 注册数据
* @returns 注册响应
*/
register(registerData: RegisterRequest): Promise<RegisterResponse>;
/**
* 保存用户数据到本地存储
* @param userData 用户数据
*/
saveUserData(userData: UserData): void;
/**
* 从本地存储获取用户数据
* @returns 用户数据或null
*/
getUserData(): UserData | null;
/**
* 清除本地存储的用户数据
*/
clearUserData(): void;
/**
* 检查用户是否已登录
* @returns 是否已登录
*/
isLoggedIn(): boolean;
/**
* 获取当前登录用户的token
* @returns token或null
*/
getToken(): string | null;
/**
* 获取当前登录用户信息
* @returns 用户信息或null
*/
getCurrentUser(): Omit<UserData, 'token'> | null;
/**
* 用户登出
*/
logout(): void;
/**
* 记住用户登录信息
* @param username 用户名
* @param password 密码
*/
rememberLogin(username: string, password: string): void;
/**
* 获取记住的登录信息
* @returns 记住的登录信息
*/
getRememberedLogin(): {
username: string;
password: string;
} | null;
/**
* 清除记住的登录信息
*/
clearRememberedLogin(): void;
/**
* 获取用户资金信息
* @returns 用户资金信息
*/
getUserFunds(): Promise<UserFundsResponse>;
/**
* 获取用户资金信息(简化版本,返回资金对象或null)
* @returns 用户资金信息或null
*/
getFunds(): Promise<UserFunds | null>;
/**
* 获取用户支付记录列表
* @param options 查询选项
* @returns 支付记录列表响应
*/
getPaymentRecords(options?: PaymentRecordsOptions): Promise<PaymentRecordsResponse>;
/**
* 获取用户支付记录列表(简化版本)
* @param page 页码,默认为1
* @param pageSize 每页数量,默认为10
* @returns 支付记录列表或null
*/
getPaymentRecordsSimple(page?: number, pageSize?: number): Promise<{
records: PaymentRecord[];
total: number;
page: number;
pageSize: number;
} | null>;
/**
* 获取用户资金日志列表
* @param options 查询选项
* @returns 资金日志列表响应
*/
getFundLogs(options?: FundLogsOptions): Promise<FundLogsResponse>;
/**
* 获取用户资金日志列表(简化版本)
* @param page 页码,默认为1
* @param pageSize 每页数量,默认为10
* @returns 资金日志列表或null
*/
getFundLogsSimple(page?: number, pageSize?: number): Promise<{
logs: FundLog[];
total: number;
} | null>;
/**
* 获取用户零售订单列表
* @param options 查询选项
* @returns 零售订单列表响应
*/
getRetailOrders(options?: RetailOrdersOptions): Promise<RetailOrdersResponse>;
/**
* 获取用户零售订单列表(简化版本)
* @param page 页码,默认为1
* @param pageSize 每页数量,默认为10
* @returns 零售订单列表或null
*/
getRetailOrdersSimple(page?: number, pageSize?: number): Promise<{
orders: RetailOrder[];
total: number;
page: number;
pageSize: number;
} | null>;
/**
* 获取用户地址列表
* @param userType 用户类型,默认为2(普通用户)
* @returns 地址列表响应
*/
getAddresses(userType?: number): Promise<AddressesResponse>;
/**
* 获取用户地址列表(简化版本)
* @param userType 用户类型,默认为2(普通用户)
* @returns 地址列表或null
*/
getAddressesSimple(userType?: number): Promise<AddressInfo[] | null>;
/**
* 根据地址ID获取地址信息
* @param addressId 地址ID
* @param userType 用户类型,默认为2(普通用户)
* @returns 地址信息或null
*/
getAddressById(addressId: number, userType?: number): Promise<AddressInfo | null>;
/**
* 获取用户资料
* @returns 用户资料响应
*/
getUserProfile(): Promise<UserProfileResponse>;
/**
* 获取用户资料(简化版本)
* @returns 用户资料或null
*/
getProfile(): Promise<UserProfile | null>;
/**
* 更新用户资料
* @param profileData 用户资料数据
* @returns 更新响应
*/
updateProfile(profileData: UpdateProfileRequest): Promise<UpdateProfileResponse>;
/**
* 修改密码
* @param passwordData 密码数据
* @returns 修改密码响应
*/
changePassword(passwordData: ChangePasswordRequest): Promise<ChangePasswordResponse>;
/**
* 创建地址
* @param addressData 地址数据
* @returns 创建地址响应
*/
createAddress(addressData: AddressRequest): Promise<AddressResponse>;
/**
* 更新地址
* @param addressId 地址ID
* @param addressData 地址数据
* @returns 更新地址响应
*/
updateAddress(addressId: number, addressData: AddressRequest): Promise<AddressResponse>;
/**
* 删除地址
* @param addressId 地址ID
* @param userType 用户类型,默认为2(普通用户)
* @returns 删除地址响应
*/
deleteAddress(addressId: number, userType?: number): Promise<AddressResponse>;
/**
* 上传文件
* @param file 文件对象
* @returns 上传响应
*/
uploadFile(file: File): Promise<UploadResponse>;
}
//# sourceMappingURL=users.d.ts.map