wzp
2021-05-13 7d694a9113118daec5be7ac224dab46a3b20f106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
var http=require("http");
var crypto = require('crypto');
 
//md5("客户 ID|令牌密钥|年-月-日-时")
 
// var result = md5.update('a').digest('hex');
// console.log(result)
 
// var t= md5.update("123|8bbfb73c30bc09fe33f7addbe66ec13b|2015-06-24-13").digest('hex')
// console.log(t=='05c646f9a7124965acd207e6b956ad49');
// 得到的令牌为:
// 05c646f9a7124965acd207e6b956ad49
Date.prototype.Format = function (fmt) {
    var o = {
      'M+': this.getMonth() + 1,
      'd+': this.getDate(),
      'H+': this.getHours(),
      'm+': this.getMinutes(),
      's+': this.getSeconds(),
      'S+': this.getMilliseconds()
    };
    //因为date.getFullYear()出来的结果是number类型的,所以为了让结果变成字符串型,下面有两种方法:
    if (/(y+)/.test(fmt)) {
      //第一种:利用字符串连接符“+”给date.getFullYear()+'',加一个空字符串便可以将number类型转换成字符串。
      fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
      if (new RegExp('(' + k + ')').test(fmt)) {
        //第二种:使用String()类型进行强制数据类型转换String(date.getFullYear()),这种更容易理解。
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(String(o[k]).length)));
      }
    }
    return fmt;
  };
  Date.prototype.DateAdd = function(strInterval, Number) { 
    var dtTmp = this; 
    switch (strInterval) { 
     case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number)); 
     case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number)); 
     case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number)); 
     case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number)); 
     case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number)); 
     case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
     case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
     case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
    } 
   } 
  var request = require('request')
  var now=new Date().Format("yyyy-MM-dd-HH");
  var keycode="c684fb8d2202ddebace919f86ae5992e";
  var customeId=2910;
  var domain_id=7274; //域名固定
  var category_id=8015 //地址池分类编号
  // var token=md5.update(`${customeId}|${keycode}|${now}`).digest('hex');
  function getToken(){
    var now=new Date().Format("yyyy-MM-dd-HH");
    var md5 = crypto.createHash('md5');
     return md5.update(`${customeId}|${keycode}|${now}`).digest('hex');
  }
 
  
  function httppostFile(url,formdata,callbackFunc,errorcallBackFunc){
    request({
      url: url,
      method: "POST",
      json: true,
      headers:formdata.getHeaders(),
      data: formdata
  }, function(error, response, ret) {
      if (!error && response.statusCode == 200) {
          // console.log(body) // 请求成功的处理逻辑
          if(callbackFunc)
              callbackFunc(ret)
      }else
      {
        if(errorcallBackFunc)
          errorcallBackFunc();
      }
  });
  }
  function httprequest(url,requestData,callbackFunc,errorcallBackFunc){
    request({
        url: url,
        method: "POST",
        json: true,
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
        },
        body: requestData
    }, function(error, response, ret) {
        if (!error && response.statusCode == 200) {
            // console.log(body) // 请求成功的处理逻辑
            if(callbackFunc)
                callbackFunc(ret)
        }else
        {
          if(errorcallBackFunc)
            errorcallBackFunc();
        }
    });
};
 
 
 
  exports.httprequest=httprequest;
  exports.getToken=getToken;
  exports.customeId=customeId;
  // exports.token=token;
  exports.domain_id=domain_id
  exports.category_id=category_id