Pārlūkot izejas kodu

feat: support create user

Acathur 3 gadi atpakaļ
vecāks
revīzija
272ad32511
4 mainītis faili ar 56 papildinājumiem un 12 dzēšanām
  1. 10 0
      dist/lib/ids.d.ts
  2. 17 6
      dist/lib/ids.js
  3. 1 1
      package.json
  4. 28 5
      src/lib/ids.ts

+ 10 - 0
dist/lib/ids.d.ts

@@ -86,6 +86,15 @@ export interface IdsSolution {
     max_price?: number;
     extra?: IdsSolutionExtra | string;
 }
+export interface IdsUser {
+    uid?: string;
+    password: string;
+    mobile?: string;
+    email?: string;
+    nickname: string;
+    introduction?: string;
+    source: string;
+}
 export declare const randomtail: () => string;
 export declare class Ids {
     config: IdsConfig;
@@ -99,4 +108,5 @@ export declare class Ids {
     putArticle(data: IdsArticle, rule: IdsCrawlRule): Promise<any>;
     putProvider(data: IdsProvider): Promise<any>;
     putSolution(data: IdsSolution): Promise<any>;
+    createUser(data: IdsUser): Promise<any>;
 }

+ 17 - 6
dist/lib/ids.js

@@ -20,9 +20,8 @@ var IdsSource;
     IdsSource[IdsSource["Xiniu"] = 6] = "Xiniu";
     IdsSource[IdsSource["Website"] = 7] = "Website";
 })(IdsSource = exports.IdsSource || (exports.IdsSource = {}));
-const randomtail = () => {
-    return `_=${crypto_1.randomBytes(8).toString('hex')}`;
-};
+const genNonceString = () => crypto_1.randomBytes(8).toString('hex');
+const randomtail = () => `_=${genNonceString()}`;
 exports.randomtail = randomtail;
 class Ids {
     constructor(config) {
@@ -32,6 +31,8 @@ class Ids {
         const { endpoint, accessKeyId, accessKeySecret } = this.config;
         config.baseURL = endpoint;
         config.url = config.url || '/';
+        config.params = config.params || {};
+        config.params.nonce = genNonceString();
         const timestamp = Math.floor(Date.now() / 1000);
         const data = config.url.toLowerCase() + timestamp;
         const signature = crypto_1.createHmac('sha256', accessKeySecret).update(data).digest('base64');
@@ -71,14 +72,17 @@ class Ids {
         data.external_comment_num = data.external_comment_num || 0;
         return this.request({
             method: 'POST',
-            url: `/api/ids/putArticleData?crawl=${rule}&${exports.randomtail()}`,
+            url: `/api/ids/putArticleData`,
+            params: {
+                crawl: rule
+            },
             data
         });
     }
     putProvider(data) {
         return this.request({
             method: 'POST',
-            url: `/api/ids/putSourceData?${exports.randomtail()}`,
+            url: `/api/ids/putSourceData`,
             data
         });
     }
@@ -90,7 +94,14 @@ class Ids {
         }
         return this.request({
             method: 'POST',
-            url: `/api/ids/putSolutionData?${exports.randomtail()}`,
+            url: `/api/ids/putSolutionData`,
+            data
+        });
+    }
+    createUser(data) {
+        return this.request({
+            method: 'POST',
+            url: `/api/ids/createUser`,
             data
         });
     }

+ 1 - 1
package.json

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

+ 28 - 5
src/lib/ids.ts

@@ -97,10 +97,20 @@ export interface IdsSolution {
   extra?: IdsSolutionExtra | string
 }
 
-export const randomtail = () => {
-  return `_=${randomBytes(8).toString('hex')}`
+export interface IdsUser {
+  uid?: string
+  password: string
+  mobile?: string
+  email?: string
+  nickname: string
+  introduction?: string
+  source: string
 }
 
+const genNonceString = () => randomBytes(8).toString('hex')
+
+export const randomtail = () => `_=${genNonceString()}`
+
 export class Ids {
   config: IdsConfig
 
@@ -112,6 +122,8 @@ export class Ids {
     const { endpoint, accessKeyId, accessKeySecret } = this.config
     config.baseURL = endpoint
     config.url = config.url || '/'
+    config.params = config.params || {}
+    config.params.nonce = genNonceString()
 
     const timestamp = Math.floor(Date.now() / 1000)
     const data = config.url.toLowerCase() + timestamp
@@ -161,7 +173,10 @@ export class Ids {
 
     return this.request({
       method: 'POST',
-      url: `/api/ids/putArticleData?crawl=${rule}&${randomtail()}`,
+      url: `/api/ids/putArticleData`,
+      params: {
+        crawl: rule
+      },
       data
     })
   }
@@ -169,7 +184,7 @@ export class Ids {
   putProvider(data: IdsProvider) {
     return this.request({
       method: 'POST',
-      url: `/api/ids/putSourceData?${randomtail()}`,
+      url: `/api/ids/putSourceData`,
       data
     })
   }
@@ -184,7 +199,15 @@ export class Ids {
 
     return this.request({
       method: 'POST',
-      url: `/api/ids/putSolutionData?${randomtail()}`,
+      url: `/api/ids/putSolutionData`,
+      data
+    })
+  }
+
+  createUser(data: IdsUser) {
+    return this.request({
+      method: 'POST',
+      url: `/api/ids/createUser`,
       data
     })
   }