smsTypes.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. export interface DeviceStatus {
  2. signalStrength: number;
  3. carrier: string;
  4. mode: '短信' | '电话' | '语音' | '余额查询';
  5. }
  6. export interface SmsItem {
  7. id: string;
  8. phone: string;
  9. content: string;
  10. taskId: string;
  11. status: 'pending' | 'success' | 'failed';
  12. createdAt: string;
  13. updatedAt: string;
  14. }
  15. export interface SmsResponse {
  16. data: {
  17. list: SmsItem[];
  18. status: DeviceStatus;
  19. };
  20. }
  21. // 短信接口配置
  22. export interface SmsConfig {
  23. apiUrl: string;
  24. username: string;
  25. encryptedPassword: string; // 加密存储的密码
  26. timeout?: number; // 超时时间(毫秒)
  27. maxRetries?: number; // 最大重试次数
  28. enableMock?: boolean; // 是否启用模拟模式
  29. }
  30. // API请求/响应类型
  31. export interface SmsApiRequest {
  32. phone: string;
  33. content: string;
  34. signName?: string;
  35. templateCode?: string;
  36. username?: string; // 认证用户名
  37. password?: string; // 认证密码
  38. }
  39. export interface SmsApiResponse {
  40. success: boolean;
  41. code: string;
  42. message?: string;
  43. data?: {
  44. taskId: string;
  45. serialNumbers?: string[];
  46. };
  47. }
  48. // 错误类型
  49. export interface SmsError {
  50. code: string;
  51. message: string;
  52. timestamp: string;
  53. stack?: string;
  54. }
  55. // 性能指标
  56. export interface SmsMetrics {
  57. requestCount: number;
  58. successCount: number;
  59. failureCount: number;
  60. averageLatency: number;
  61. lastRequestTime?: string;
  62. }