压缩历史至 95081aff

This commit is contained in:
ryan
2026-06-08 20:34:27 +08:00
commit 8a782525de
435 changed files with 71146 additions and 0 deletions
@@ -0,0 +1,32 @@
/**
* 交易服务模块
*
* @description
* 提供交易相关的功能,包括:
* - 查询交易记录列表(分页)
*
* @example
* ```typescript
* import { TransactionService } from '@/lib/services';
*
* // 查询交易记录
* const result = await TransactionService.getTransactions({
* page: 1,
* page_size: 20,
* types: ['receive'],
* statuses: ['success'],
* payee_transfer_status: 'pending',
* });
* ```
*/
export { TransactionService } from './transaction.service';
export { DEFAULT_ORDER_TYPES } from './types';
export type {
Order,
OrderType,
OrderStatus,
TransferStatus,
TransactionQueryParams,
TransactionListResponse,
} from './types';
@@ -0,0 +1,32 @@
import { BaseService } from '../core/base.service';
import type { TransactionQueryParams, TransactionListResponse } from './types';
/**
* 交易服务
* 处理订单和交易记录相关的 API 请求
*/
export class TransactionService extends BaseService {
protected static readonly basePath = '/api/v1/order';
/**
* 获取交易记录列表(分页)
* @param params - 查询参数
* @returns 交易记录列表
* @throws {UnauthorizedError} 当未登录时
* @throws {ValidationError} 当参数验证失败时
*
* @example
* ```typescript
* const result = await TransactionService.getTransactions({
* page: 1,
* page_size: 20,
* types: ['receive'],
* statuses: ['success'],
* payee_transfer_status: 'pending'
* });
* ```
*/
static async getTransactions(params: TransactionQueryParams): Promise<TransactionListResponse> {
return this.post<TransactionListResponse>('/transactions', params as unknown as Record<string, unknown>);
}
}
+134
View File
@@ -0,0 +1,134 @@
/**
* 订单类型
*/
export type OrderType = 'receive' | 'payment' | 'community' | 'online' | 'test' | 'distribute' | 'red_envelope_send' | 'red_envelope_receive' | 'red_envelope_refund';
/**
* 前端默认展示的订单类型
* 显式排除已移除的积分转移类型
*/
export const DEFAULT_ORDER_TYPES: OrderType[] = [
'receive',
'payment',
'community',
'online',
'test',
'distribute',
'red_envelope_send',
'red_envelope_receive',
'red_envelope_refund',
];
/**
* 订单状态
*/
export type OrderStatus = 'success' | 'pending' | 'failed' | 'expired' | 'disputing' | 'refund' | 'refused';
/**
* 到账状态
*/
export type TransferStatus = 'pending' | 'completed';
/**
* 订单信息
*/
export interface Order {
/** 订单 ID */
id: string;
/** 订单号(18位字符串) */
order_no: string;
/** 订单名称 */
order_name: string;
/** 商户订单号 */
merchant_order_no: string;
/** 付款方用户ID */
payer_user_id: string;
/** 收款方用户ID */
payee_user_id: string;
/** 付款方账户 */
payer_username: string;
/** 付款方头像 */
payer_avatar_url?: string;
/** 收款方账户 */
payee_username: string;
/** 收款方头像 */
payee_avatar_url?: string;
/** 交易金额(decimal字符串) */
amount: string;
/** 订单状态 */
status: OrderStatus;
/** 订单类型 */
type: OrderType;
/** 备注 */
remark: string;
/** 客户端ID */
client_id: string;
/** 交易时间 */
trade_time: string;
/** 过期时间 */
expires_at: string;
/** 创建时间 */
created_at: string;
/** 更新时间 */
updated_at: string;
/** 应用名称(可选) */
app_name?: string;
/** 应用主页 URL(可选) */
app_homepage_url?: string;
/** 应用描述(可选) */
app_description?: string;
/** 重定向 URI(可选) */
redirect_uri?: string;
/** 关联的争议 ID(可选) */
dispute_id?: string;
/** 支付类型 */
payment_type: string;
/** 是否到账 */
payee_transfer_status: TransferStatus;
/** 到账时间 */
payee_transfer_at: string;
}
/**
* 交易查询参数
*/
export interface TransactionQueryParams {
/** 页码,从 1 开始 */
page: number;
/** 每页数量,1-100 */
page_size: number;
/** 订单类型列表(可选) */
types?: OrderType[];
/** 订单状态列表(可选) */
statuses?: OrderStatus[];
/** 收款方结算状态(可选) */
payee_transfer_status?: TransferStatus;
/** 客户端 ID(可选) */
client_id?: string;
/** 开始时间(可选) */
startTime?: string;
/** 结束时间(可选) */
endTime?: string;
/** 订单 ID(可选) */
id?: string;
/** 订单名称,支持前缀模糊查询(可选) */
order_name?: string;
/** 付款方账户,支持前缀模糊查询(可选) */
payer_username?: string;
/** 收款方账户,支持前缀模糊查询(可选) */
payee_username?: string;
}
/**
* 交易列表响应
*/
export interface TransactionListResponse {
/** 总记录数 */
total: number;
/** 当前页码 */
page: number;
/** 每页数量 */
page_size: number;
/** 订单列表 */
orders: Order[];
}