replace deprecated 'request' with 'http.get' so that no more external dependencies
This commit is contained in:
		
							parent
							
								
									1146a72d25
								
							
						
					
					
						commit
						2be5befb79
					
				@ -1,7 +1,8 @@
 | 
				
			|||||||
//const Bluebird=require('bluebird'); // http://bluebirdjs.com/
 | 
					 | 
				
			||||||
const util = require('util')
 | 
					const util = require('util')
 | 
				
			||||||
const RequestPromise = require('request-promise-native') // request-promise/-native。https://www.npmjs.com/package/request-promise. 还看到一个方法:Bluebird.promisifyAll(require("request"));
 | 
					//const RequestPromise = require('request-promise-native') // request-promise/-native。https://www.npmjs.com/package/request-promise. 还看到一个方法:Bluebird.promisifyAll(require("request"));
 | 
				
			||||||
 | 
					const http = require('http')
 | 
				
			||||||
const NodeMailer = require('nodemailer') // 或者 const smtpTransporter=require('nodemailer').createTransport({host:'', port:25, auth:{user:'',pass:''}})
 | 
					const NodeMailer = require('nodemailer') // 或者 const smtpTransporter=require('nodemailer').createTransport({host:'', port:25, auth:{user:'',pass:''}})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let smtpTransporter = null
 | 
					let smtpTransporter = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let smsClient = null // 在调用时,才创建 smsClient,防止 wo.envi 还没有建立好。
 | 
					let smsClient = null // 在调用时,才创建 smsClient,防止 wo.envi 还没有建立好。
 | 
				
			||||||
@ -38,39 +39,48 @@ module.exports = {
 | 
				
			|||||||
      smsUrl = wo.envi.SMS.dxton.urlWorld // 国际短信不需要签名、模板,可发送任意内容。
 | 
					      smsUrl = wo.envi.SMS.dxton.urlWorld // 国际短信不需要签名、模板,可发送任意内容。
 | 
				
			||||||
      smsNumber = matches[0] + matches[1]
 | 
					      smsNumber = matches[0] + matches[1]
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    //    return Bluebird.promisify(Http.get)(smsUrl+'&mobile='+smsNumber+"&content="+encodeURIComponent(msg));
 | 
					    // let returnValue = await RequestPromise.get(smsUrl + '&mobile=' + smsNumber + '&content=' + encodeURIComponent(msg))
 | 
				
			||||||
    let returnValue = await RequestPromise.get(smsUrl + '&mobile=' + smsNumber + '&content=' + encodeURIComponent(msg))
 | 
					    // let returnValue = await axios.get(smsUrl + '&mobile=' + smsNumber + '&content=' + encodeURIComponent(msg))
 | 
				
			||||||
    let result = { _state: 'SMS_SEND_FAIL', code: returnValue }
 | 
					    // following code with http.get is untested:
 | 
				
			||||||
    switch (parseInt(returnValue)) {
 | 
					    return util.promisify(http.get)(smsUrl + '&mobile=' + smsNumber + '&content=' + encodeURIComponent(msg))
 | 
				
			||||||
      // 短信接口代码:http://www.dxton.com/help_detail/2.html
 | 
					    .then((resp)=>{
 | 
				
			||||||
      case 100:
 | 
					      let data = ''
 | 
				
			||||||
        return { _state: 'SMS_SENT_SUCCESS', code: '100', msg: 'sendSms: 发送成功 (表示已和我们接口连通)' }
 | 
					      resp.on('data', (chunk) => { data += chunk })
 | 
				
			||||||
      case 101:
 | 
					      resp.on('end', () => {
 | 
				
			||||||
        result.msg = 'sendSms: 验证失败(账号、密码可能错误)'
 | 
					        let returnValue = JSON.parse(data)
 | 
				
			||||||
      case 102:
 | 
					        let result = { _state: 'SMS_SEND_FAIL', code: returnValue }
 | 
				
			||||||
        result.msg = 'sendSms: 手机号码格式不正确'
 | 
					        switch (parseInt(returnValue)) {
 | 
				
			||||||
      case 103:
 | 
					          // 短信接口代码:http://www.dxton.com/help_detail/2.html
 | 
				
			||||||
        result.msg = 'sendSms: 会员级别不够'
 | 
					          case 100:
 | 
				
			||||||
      case 104:
 | 
					            return { _state: 'SMS_SENT_SUCCESS', code: '100', msg: 'sendSms: 发送成功 (表示已和我们接口连通)' }
 | 
				
			||||||
        result.msg = 'sendSms: 内容未审核 (试用或小批量应用,只能用系统后台公共模板格式,标点符号都要一致!)'
 | 
					          case 101:
 | 
				
			||||||
      case 105:
 | 
					            result.msg = 'sendSms: 验证失败(账号、密码可能错误)'
 | 
				
			||||||
        result.msg = 'sendSms: 内容过多或无合适匹配通道'
 | 
					          case 102:
 | 
				
			||||||
      case 106:
 | 
					            result.msg = 'sendSms: 手机号码格式不正确'
 | 
				
			||||||
        result.msg = 'sendSms: 账户余额不足'
 | 
					          case 103:
 | 
				
			||||||
      case 107:
 | 
					            result.msg = 'sendSms: 会员级别不够'
 | 
				
			||||||
        result.msg = 'sendSms: Ip受限'
 | 
					          case 104:
 | 
				
			||||||
      case 108:
 | 
					            result.msg = 'sendSms: 内容未审核 (试用或小批量应用,只能用系统后台公共模板格式,标点符号都要一致!)'
 | 
				
			||||||
        result.msg = 'sendSms: 手机号码发送太频繁(一天5个),请换号或隔天再发'
 | 
					          case 105:
 | 
				
			||||||
      case 109:
 | 
					            result.msg = 'sendSms: 内容过多或无合适匹配通道'
 | 
				
			||||||
        result.msg = 'sendSms: 帐号被锁定'
 | 
					          case 106:
 | 
				
			||||||
      case 110:
 | 
					            result.msg = 'sendSms: 账户余额不足'
 | 
				
			||||||
        result.msg = 'sendSms: 手机号发送频率持续过高,黑名单屏蔽数日'
 | 
					          case 107:
 | 
				
			||||||
      case 120:
 | 
					            result.msg = 'sendSms: Ip受限'
 | 
				
			||||||
        result.msg = 'sendSms: 系统升级'
 | 
					          case 108:
 | 
				
			||||||
      default:
 | 
					            result.msg = 'sendSms: 手机号码发送太频繁(一天5个),请换号或隔天再发'
 | 
				
			||||||
        console.error(result)
 | 
					          case 109:
 | 
				
			||||||
        return result
 | 
					            result.msg = 'sendSms: 帐号被锁定'
 | 
				
			||||||
    }
 | 
					          case 110:
 | 
				
			||||||
 | 
					            result.msg = 'sendSms: 手机号发送频率持续过高,黑名单屏蔽数日'
 | 
				
			||||||
 | 
					          case 120:
 | 
				
			||||||
 | 
					            result.msg = 'sendSms: 系统升级'
 | 
				
			||||||
 | 
					          default:
 | 
				
			||||||
 | 
					            console.error(result)
 | 
				
			||||||
 | 
					            return result
 | 
				
			||||||
 | 
					        }  
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  async sendSmsAliyun (phone, msgParam, templateCode, signName) {
 | 
					  async sendSmsAliyun (phone, msgParam, templateCode, signName) {
 | 
				
			||||||
@ -1,14 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "base.messenger",
 | 
					  "name": "base.messenger",
 | 
				
			||||||
 | 
					  "main": "messenger.js",
 | 
				
			||||||
  "version": "0.1.0",
 | 
					  "version": "0.1.0",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@alicloud/sms-sdk": "^1.1.3",
 | 
					    "@alicloud/sms-sdk": "^1.1.3",
 | 
				
			||||||
    "nodemailer": "^4.4.1",
 | 
					    "nodemailer": "^4.4.1"
 | 
				
			||||||
    "request": "^2.88.2",
 | 
					 | 
				
			||||||
    "request-promise-native": "^1.0.9"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {},
 | 
					 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "setup": "npm install"
 | 
					    "setup": "npm install"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user