腾讯CMQ封装

腾讯CMQ封装CMQ jsvarKsort require lib ksort js varCryptoJS hmacSHA1 require lib hmac sha1 js varCryptoJS Base64Encode require lib enc base64 min js

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

(0)
上一篇 2026年3月16日 下午6:58
下一篇 2026年3月16日 下午6:58


相关推荐

  • SwipeRefreshLayout 使用

    SwipeRefreshLayout 使用SwipeRefreshLayout使用v4包下SwipeRefreshLayout支持listView,webView,scrollView,recyclerView等在布局中使用SwipeRefreshLayout将需要下拉刷新的控件包裹。当这些控件滑动到边缘时会触发SwipeRefreshLayout.onRefresh();到此便完成了一次下拉刷新的操作。使用如下方法改变划出的

    2022年6月25日
    27
  • JsonNode、JsonObject常用方法[通俗易懂]

    JsonNode、JsonObject常用方法[通俗易懂]jsonNode,fastJson常用的方法

    2022年7月12日
    58
  • 腾讯混元多模态理解模型升级,元宝支持同时处理10张图片

    腾讯混元多模态理解模型升级,元宝支持同时处理10张图片

    2026年3月13日
    38
  • fcntl和select函数彻底搞明白

    fcntl和select函数彻底搞明白fcntl 和 select 函数彻底搞明白 nbsp 第一 fcntl 函数详细使用 nbsp nbsp nbsp nbsp nbsp nbsp fcntl 有强大的功能 它能够复制一个现有的描述符 获得 设置文件描述符标记 获得 设置文件状态标记 获得 设置异步 I O 所有权 获得 设置纪录锁 当多个用户共同使用 操作一个文件的情况 Linux 通常采用的方法就是给文件上锁 来避免共享资源产生竞争的状态 fcntl 文件锁有两种类型 建议性锁和强制

    2026年3月17日
    1
  • Win10升级要卸载virtualbox virtualbox怎么办

    Win10升级要卸载virtualbox virtualbox怎么办相信许多朋友会在 Win10 升级时遇到提示 想要更新 win10 系统的话就需要卸载 VirtualBox 因为这个软件与 Windows10 不兼容 如果你不卸载 系统无法更新 但很多人找不到软件 VirtualBox 那么 Win10 升级要卸载 virtualboxvi 怎么办 下面小编就给大家分享下 Win10 升级要卸载 virtualboxvi 的解决方法 方法 1 直接删除 virtualbox 这个文件在 C ProgramFiles 这个位置 打开 c 盘搜索

    2026年3月16日
    3
  • 树莓派接口定义「建议收藏」

    树莓派接口定义「建议收藏」树莓派接口定义GPIODSI显示端口CSI摄像头接口MicroSD插槽HDMI/USB/Network接口MicroUSB电源接口/3.5mm音频输出接口GPIOGPIO(通用输入/输出接口)是树莓派重要的功能接口,它相当于Arduino上的GPIO引脚。这些引脚可以用于程序中读取电路中的电信号,也可以为控制电路提供电信号。使用GPIO时要非常小心,因为GPIO容易损坏,它使用…

    2022年6月1日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号