models.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. export namespace desktop {
  2. export class ApiResp {
  3. data?: models.RespData;
  4. static createFrom(source: any = {}) {
  5. return new ApiResp(source);
  6. }
  7. constructor(source: any = {}) {
  8. if ('string' === typeof source) source = JSON.parse(source);
  9. this.data = this.convertValues(source["data"], models.RespData);
  10. }
  11. convertValues(a: any, classs: any, asMap: boolean = false): any {
  12. if (!a) {
  13. return a;
  14. }
  15. if (a.slice) {
  16. return (a as any[]).map(elem => this.convertValues(elem, classs));
  17. } else if ("object" === typeof a) {
  18. if (asMap) {
  19. for (const key of Object.keys(a)) {
  20. a[key] = new classs(a[key]);
  21. }
  22. return a;
  23. }
  24. return new classs(a);
  25. }
  26. return a;
  27. }
  28. }
  29. }
  30. export namespace models {
  31. export class RespData {
  32. code: number;
  33. msg: string;
  34. data: any;
  35. static createFrom(source: any = {}) {
  36. return new RespData(source);
  37. }
  38. constructor(source: any = {}) {
  39. if ('string' === typeof source) source = JSON.parse(source);
  40. this.code = source["code"];
  41. this.msg = source["msg"];
  42. this.data = source["data"];
  43. }
  44. }
  45. }