瀏覽代碼

feat: support login

Acathur 3 年之前
父節點
當前提交
a1ec088bf4
共有 4 個文件被更改,包括 37 次插入12 次删除
  1. 6 4
      dist/lib/ids.d.ts
  2. 14 3
      dist/lib/ids.js
  3. 1 1
      package.json
  4. 16 4
      src/lib/ids.ts

+ 6 - 4
dist/lib/ids.d.ts

@@ -1,3 +1,4 @@
+import { RequestConfig } from './request';
 export interface IdsConfig {
     endpoint: string;
     accessKeyId: string;
@@ -100,14 +101,15 @@ export declare const randomtail: () => string;
 export declare class Ids {
     config: IdsConfig;
     constructor(config: IdsConfig);
-    private request;
+    request(config: RequestConfig): Promise<any>;
     getCrawlAuthors(channel: IdsChannel): Promise<any>;
     getCrawlArticleRules(params: {
         ids: string[];
         channel: IdsChannel;
     }): Promise<any>;
     putArticle(data: IdsArticle, rule: IdsCrawlRule): Promise<any>;
-    putProvider(data: IdsProvider): Promise<any>;
-    putSolution(data: IdsSolution): Promise<any>;
-    createUser(data: IdsUser): Promise<any>;
+    putProvider(data: IdsProvider, config?: RequestConfig): Promise<any>;
+    putSolution(data: IdsSolution, config?: RequestConfig): Promise<any>;
+    createUser(data: IdsUser, config?: RequestConfig): Promise<any>;
+    login(data: IdsUser, config?: RequestConfig): Promise<any>;
 }

+ 14 - 3
dist/lib/ids.js

@@ -86,31 +86,42 @@ class Ids {
             data
         });
     }
-    putProvider(data) {
+    putProvider(data, config) {
         return this.request({
+            ...config,
             method: 'POST',
             url: `/api/ids/putSourceData`,
             data
         });
     }
-    putSolution(data) {
+    putSolution(data, config) {
         data.ext_sold = data.ext_sold || 0;
         data.ext_score = data.ext_score || 0;
         if (data.extra && typeof data.extra === 'object') {
             data.extra = JSON.stringify(data.extra);
         }
         return this.request({
+            ...config,
             method: 'POST',
             url: `/api/ids/putSolutionData`,
             data
         });
     }
-    createUser(data) {
+    createUser(data, config) {
         return this.request({
+            ...config,
             method: 'POST',
             url: `/api/ids/createUser`,
             data
         });
     }
+    login(data, config) {
+        return this.request({
+            ...config,
+            method: 'POST',
+            url: `/api/ids/login`,
+            data
+        });
+    }
 }
 exports.Ids = Ids;

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "crawler-lib",
-  "version": "1.2.2",
+  "version": "1.3.0",
   "main": "dist/lib/index.js",
   "module": "dist/lib/index.js",
   "author": "Acathur",

+ 16 - 4
src/lib/ids.ts

@@ -120,7 +120,7 @@ export class Ids {
     this.config = config
   }
 
-  private async request(config: RequestConfig) {
+  async request(config: RequestConfig) {
     const { endpoint, accessKeyId, accessKeySecret } = this.config
     const querystr = querystring.stringify({
       nonce: genNonceString(),
@@ -187,15 +187,16 @@ export class Ids {
     })
   }
 
-  putProvider(data: IdsProvider) {
+  putProvider(data: IdsProvider, config?: RequestConfig) {
     return this.request({
+      ...config,
       method: 'POST',
       url: `/api/ids/putSourceData`,
       data
     })
   }
 
-  putSolution(data: IdsSolution) {
+  putSolution(data: IdsSolution, config?: RequestConfig) {
     data.ext_sold = data.ext_sold || 0
     data.ext_score = data.ext_score || 0
 
@@ -204,17 +205,28 @@ export class Ids {
     }
 
     return this.request({
+      ...config,
       method: 'POST',
       url: `/api/ids/putSolutionData`,
       data
     })
   }
 
-  createUser(data: IdsUser) {
+  createUser(data: IdsUser, config?: RequestConfig) {
     return this.request({
+      ...config,
       method: 'POST',
       url: `/api/ids/createUser`,
       data
     })
   }
+
+  login(data: IdsUser, config?: RequestConfig) {
+    return this.request({
+      ...config,
+      method: 'POST',
+      url: `/api/ids/login`,
+      data
+    })
+  }
 }