其实阿里推送官网也有自己的sdk。可是他给的demo就一两个方法,其它的都就没有了。项目代码上传到我的 Gitlab aliyun_push上去了,感兴趣的可以下载试试,配置几个参数就可以使用了。
想了想还是自己按照他们的接口自己写重新写一套吧。
在写的过程当中,有个非常小心的地方,时间格式字段,由于没有看清楚,以为 new Date().toISOString();不OK了,那就错了。
new Date().toISOString() 出来的时间,是带毫秒的,他给出的接口里的是不带毫秒的。
第二个就是生成签名,这里要小心就是有一字符要进行转换要不能他就直说签名不正确,于是就封装了一个类。
export default class CommParamService {
constructor() {
this.__InitBaseParams();
}
/**
* 基本参数
*
* @memberof CommParamService
*/
__InitBaseParams() {
this.ParamMap = {};
//--公共参数部分。
this.AddParam('Version', version);
this.AddParam('Format', format);
this.AddParam('AccessKeyId', accessKeyId);
this.AddParam('SignatureMethod', signatureMethod);
this.AddParam('SignatureVersion', signatureVersion);
this.AddParam('SignatureNonce', Utility.generateSerNum()); // 随机数
this.AddParam('Timestamp', new Date().toISOString()); // 时间截
}
/**
* 添加参数
*
* @param {*} key
* @param {*} value
* @memberof CommParam
*/
AddParam(key,