Passed
Pull Request — master (#38)
by lv
04:13
created

app/libraries/mnsSdk.js   A

Complexity

Total Complexity 4
Complexity/F 1.33

Size

Lines of Code 36
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 0
wmc 4
eloc 24
c 1
b 0
f 0
nc 1
mnd 0
bc 3
fnc 3
dl 0
loc 36
rs 10
bpm 1
cpm 1.3333
noi 0

3 Functions

Rating   Name   Duplication   Size   Complexity  
A mnsSdk.js ➔ deleteQueue 0 3 1
A mnsSdk.js ➔ getMessage 0 8 1
A mnsSdk.js ➔ constructor 0 14 1
1
// const MnsConfig = require('../../config/mns-beijing')
2
const Validate = require('request-validate')
3
const AliMNS = require("ali-mns")
4
5
//redis单例
6
class MnsSdk {
7
  constructor(config, queueName) {
8
    Validate(config, {
9
      'account_id': 'required',
10
      'access_id': 'required',
11
      'access_key': 'required',
12
      'end_point_name': 'required',
13
    })
14
    this.account_id = config.account_id
15
    this.access_id = config.access_id
16
    this.access_key = config.access_key
17
    this.queueName = queueName
18
    this.account = new AliMNS.Account(this.account_id, this.access_id, this.access_key)
19
    this.mq = new AliMNS.MQ(this.queueName, this.account, config.end_point_name)
20
  }
21
22
  async getMessage() {
23
    let data = await this.mq.recvP(5)
24
25
    let result = {}
26
    result.handle = data.Message.ReceiptHandle
27
    result.body = data.Message.MessageBody
28
    return result
29
  }
30
31
  deleteQueue(handle) {
32
    this.mq.deleteP(handle)
33
  }
34
35
}
36
37
module.exports = MnsSdk