ids.d.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import { RequestConfig } from './request';
  2. export interface IdsConfig {
  3. endpoint: string;
  4. accessKeyId: string;
  5. accessKeySecret: string;
  6. }
  7. export declare enum IdsChannel {
  8. Csdn = 1,
  9. Wechat = 2,
  10. Zhihu = 3,
  11. Juejin = 4
  12. }
  13. export declare type IdsCrawlRule = 'fulldata' | 'extdata';
  14. export interface IdsArticle {
  15. code: IdsChannel;
  16. author_id: string | number;
  17. cover_url?: string;
  18. title: string;
  19. author_name?: string;
  20. sn_code: string;
  21. original_url?: string;
  22. source_address: string;
  23. is_headline?: 0 | 1;
  24. is_original: 0 | 1;
  25. body: string;
  26. label?: string;
  27. published_at: Date;
  28. external_read_num?: number;
  29. external_see_num?: number;
  30. external_like_num?: number;
  31. external_comment_num?: number;
  32. }
  33. export declare enum IdsSource {
  34. Manual = 0,
  35. User = 1,
  36. AliyunMarket = 2,
  37. TencentCloudMarket = 3,
  38. HuaweiCloudMarket = 4,
  39. Xiniu = 6,
  40. Website = 7
  41. }
  42. export interface IdsProvider {
  43. name: string;
  44. short_name?: string;
  45. tel?: string;
  46. email?: string;
  47. logo?: string;
  48. description?: string;
  49. service_time?: string;
  50. source: IdsSource;
  51. source_pid: string | number;
  52. source_url?: string;
  53. }
  54. export interface IdsSolutionExtra {
  55. api_gateway: {
  56. service_id: string;
  57. api_id: string;
  58. dep_api_id?: string[];
  59. };
  60. icon_padding?: number;
  61. }
  62. export interface IdsSolution {
  63. uid: number;
  64. title: string;
  65. description: string;
  66. images: string;
  67. details: string;
  68. plain_text?: string;
  69. service_type?: string[];
  70. dimension: 1 | 2;
  71. status: number;
  72. source: IdsSource;
  73. source_id: string;
  74. source_pid: string;
  75. source_dt?: string;
  76. source_url: string;
  77. source_tags?: string[];
  78. source_labels?: string;
  79. ext_sold?: number;
  80. ext_score?: number;
  81. skus?: any[];
  82. api?: any[];
  83. doc_path?: string;
  84. is_signed?: 1 | 0;
  85. type?: 'gateway';
  86. min_price?: number;
  87. max_price?: number;
  88. extra?: IdsSolutionExtra | string;
  89. }
  90. export interface IdsUser {
  91. uid?: string;
  92. password: string;
  93. mobile?: string;
  94. email?: string;
  95. nickname: string;
  96. introduction?: string;
  97. icon_url?: string;
  98. source: string;
  99. }
  100. export declare const randomtail: () => string;
  101. export declare class Ids {
  102. config: IdsConfig;
  103. constructor(config: IdsConfig);
  104. request(config: RequestConfig): Promise<any>;
  105. getCrawlAuthors(channel: IdsChannel): Promise<any>;
  106. getCrawlArticleRules(params: {
  107. ids: string[];
  108. channel: IdsChannel;
  109. }): Promise<any>;
  110. putArticle(data: IdsArticle, rule: IdsCrawlRule): Promise<any>;
  111. putProvider(data: IdsProvider, config?: RequestConfig): Promise<any>;
  112. putSolution(data: IdsSolution, config?: RequestConfig): Promise<any>;
  113. createUser(data: IdsUser, config?: RequestConfig): Promise<any>;
  114. login(data: IdsUser, config?: RequestConfig): Promise<any>;
  115. }