CMQ.js
var Ksort = require("../lib/ksort.js"); var CryptoJS_hmacSHA1 = require("../lib/hmac-sha1.js") var CryptoJS_Base64Encode = require("../lib/enc-base64-min.js") / GetURL('CreateQueue','queueName') GetURL('ListQueue',‘searchWord’) GetURL('DeleteQueue') GetURL('SendMessage','queueName','msgBody') GetURL('ReceiveMessage','queueName') */ function GetURL() { var Nonce = Math.round(Math.random() * 65535) var Timestamp = Math.round(new Date().getTime() / 1000) var SecretId = 'AKIDObYFgsbTs1uXv36bxxxxxxxxxxxx' var SecretKey = 'pQoxsZ2QaXFk01oNxxxxxxxxxxxxxx' var data = [{ Action: 'CreateQueue', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, maxMsgSize: 65536, msgRetentionSeconds: 300,//24Hours后无论消费与否都被删除 pollingWaitSeconds: 10, queueName: arguments[1], visibilityTimeout: 1, }, { Action: 'ListQueue', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, searchWord: arguments[1] }, { Action: 'DeleteQueue', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, }, { Action: 'SendMessage', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, queueName: arguments[1], msgBody: arguments[2] }, { Action: 'ReceiveMessage', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, queueName: arguments[1], pollingWaitSeconds: 5 }, { Action: 'DeleteMessage', Nonce: Nonce, SecretId: SecretId, Timestamp: Timestamp, queueName: arguments[1], receiptHandle: arguments[2] }] var dataTemp, temp = '' if (arguments[0] == 'CreateQueue') { dataTemp = Ksort.ksort(data[0]); } else if (arguments[0] == 'ListQueue') { dataTemp = Ksort.ksort(data[1]) } else if (arguments[0] == 'DeleteQueue') { dataTemp = Ksort.ksort(data[2]) } else if (arguments[0] == 'SendMessage') { dataTemp = Ksort.ksort(data[3]) } else if (arguments[0] == 'ReceiveMessage') { dataTemp = Ksort.ksort(data[4]) } for (var item in dataTemp) { if (item == 'Action') { temp += '?' + item + '='; } else { temp += '&' + item + '='; } temp += dataTemp[item] } var StrTemp = 'GETcmq-queue-gz.api.qcloud.com/v2/index.php' StrTemp += temp; var result = CryptoJS_Base64Encode.enc.Base64.stringify(CryptoJS_hmacSHA1.HmacSHA1(StrTemp, SecretKey)) var resultStr = 'https://cmq-queue-gz.api.qcloud.com/v2/index.php' + temp + '&Signature=' + encodeURIComponent(result) console.log(resultStr) return resultStr } module.exports = { GetURL: GetURL }
使用说明:
1.填入自己对应的SecretId、Secretkey
2.引入的外部js在前边文章中已经列出:ksort.js、hmac-sha1.js、enc-base64-min.js
3.记得将此接口暴漏,在要使用的js文件中直接引用
4.使用方法已在代码中的注释中了
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228459.html原文链接:https://javaforall.net
