Skip to content

Commit 534639e

Browse files
authored
Merge pull request #54 from livehigh/master
fix:getObjectUrl报错问题
2 parents 4aaf55b + 9eca5ee commit 534639e

File tree

5 files changed

+94
-91
lines changed

5 files changed

+94
-91
lines changed

demo-album/lib/cos-wx-sdk-v5.js

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,34 @@ function camSafeUrlEncode(str) {
9797
.replace(/\*/g, '%2A');
9898
}
9999

100+
function getObjectKeys(obj, forKey) {
101+
var list = [];
102+
for (var key in obj) {
103+
if (obj.hasOwnProperty(key)) {
104+
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
105+
}
106+
}
107+
return list.sort(function (a, b) {
108+
a = a.toLowerCase();
109+
b = b.toLowerCase();
110+
return a === b ? 0 : (a > b ? 1 : -1);
111+
});
112+
};
113+
114+
var obj2str = function (obj) {
115+
var i, key, val;
116+
var list = [];
117+
var keyList = getObjectKeys(obj);
118+
for (i = 0; i < keyList.length; i++) {
119+
key = keyList[i];
120+
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
121+
key = camSafeUrlEncode(key).toLowerCase();
122+
val = camSafeUrlEncode(val) || '';
123+
list.push(key + '=' + val)
124+
}
125+
return list.join('&');
126+
};
127+
100128
//测试用的key后面可以去掉
101129
var getAuth = function (opt) {
102130
opt = opt || {};
@@ -120,34 +148,6 @@ var getAuth = function (opt) {
120148
if (!SecretId) return console.error('missing param SecretId');
121149
if (!SecretKey) return console.error('missing param SecretKey');
122150

123-
var getObjectKeys = function (obj, forKey) {
124-
var list = [];
125-
for (var key in obj) {
126-
if (obj.hasOwnProperty(key)) {
127-
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
128-
}
129-
}
130-
return list.sort(function (a, b) {
131-
a = a.toLowerCase();
132-
b = b.toLowerCase();
133-
return a === b ? 0 : (a > b ? 1 : -1);
134-
});
135-
};
136-
137-
var obj2str = function (obj) {
138-
var i, key, val;
139-
var list = [];
140-
var keyList = getObjectKeys(obj);
141-
for (i = 0; i < keyList.length; i++) {
142-
key = keyList[i];
143-
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
144-
key = camSafeUrlEncode(key).toLowerCase();
145-
val = camSafeUrlEncode(val) || '';
146-
list.push(key + '=' + val)
147-
}
148-
return list.join('&');
149-
};
150-
151151
// 签名有效起止时间
152152
var now = Math.round(getSkewTime(opt.SystemClockOffset) / 1000) - 1;
153153
var exp = now;
@@ -172,7 +172,7 @@ var getAuth = function (opt) {
172172
var signKey = CryptoJS.HmacSHA1(qKeyTime, SecretKey).toString();
173173

174174
// 步骤二:构成 FormatString
175-
var formatString = [method, pathname, obj2str(queryParams), obj2str(headers), ''].join('\n');
175+
var formatString = [method, pathname, util.obj2str(queryParams), util.obj2str(headers), ''].join('\n');
176176

177177
// 步骤三:计算 StringToSign
178178
var stringToSign = ['sha1', qSignTime, CryptoJS.SHA1(formatString).toString(), ''].join('\n');
@@ -655,6 +655,7 @@ var util = {
655655
throttleOnProgress: throttleOnProgress,
656656
getFileSize: getFileSize,
657657
getSkewTime: getSkewTime,
658+
obj2str: obj2str,
658659
getAuth: getAuth,
659660
compareVersion: compareVersion,
660661
canFileSlice: canFileSlice,
@@ -2338,7 +2339,7 @@ base.init(COS, task);
23382339
advance.init(COS, task);
23392340

23402341
COS.getAuthorization = util.getAuth;
2341-
COS.version = '1.0.10';
2342+
COS.version = '1.0.11';
23422343

23432344
module.exports = COS;
23442345

demo/lib/cos-wx-sdk-v5.js

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,34 @@ function camSafeUrlEncode(str) {
9797
.replace(/\*/g, '%2A');
9898
}
9999

100+
function getObjectKeys(obj, forKey) {
101+
var list = [];
102+
for (var key in obj) {
103+
if (obj.hasOwnProperty(key)) {
104+
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
105+
}
106+
}
107+
return list.sort(function (a, b) {
108+
a = a.toLowerCase();
109+
b = b.toLowerCase();
110+
return a === b ? 0 : (a > b ? 1 : -1);
111+
});
112+
};
113+
114+
var obj2str = function (obj) {
115+
var i, key, val;
116+
var list = [];
117+
var keyList = getObjectKeys(obj);
118+
for (i = 0; i < keyList.length; i++) {
119+
key = keyList[i];
120+
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
121+
key = camSafeUrlEncode(key).toLowerCase();
122+
val = camSafeUrlEncode(val) || '';
123+
list.push(key + '=' + val)
124+
}
125+
return list.join('&');
126+
};
127+
100128
//测试用的key后面可以去掉
101129
var getAuth = function (opt) {
102130
opt = opt || {};
@@ -120,34 +148,6 @@ var getAuth = function (opt) {
120148
if (!SecretId) return console.error('missing param SecretId');
121149
if (!SecretKey) return console.error('missing param SecretKey');
122150

123-
var getObjectKeys = function (obj, forKey) {
124-
var list = [];
125-
for (var key in obj) {
126-
if (obj.hasOwnProperty(key)) {
127-
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
128-
}
129-
}
130-
return list.sort(function (a, b) {
131-
a = a.toLowerCase();
132-
b = b.toLowerCase();
133-
return a === b ? 0 : (a > b ? 1 : -1);
134-
});
135-
};
136-
137-
var obj2str = function (obj) {
138-
var i, key, val;
139-
var list = [];
140-
var keyList = getObjectKeys(obj);
141-
for (i = 0; i < keyList.length; i++) {
142-
key = keyList[i];
143-
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
144-
key = camSafeUrlEncode(key).toLowerCase();
145-
val = camSafeUrlEncode(val) || '';
146-
list.push(key + '=' + val)
147-
}
148-
return list.join('&');
149-
};
150-
151151
// 签名有效起止时间
152152
var now = Math.round(getSkewTime(opt.SystemClockOffset) / 1000) - 1;
153153
var exp = now;
@@ -172,7 +172,7 @@ var getAuth = function (opt) {
172172
var signKey = CryptoJS.HmacSHA1(qKeyTime, SecretKey).toString();
173173

174174
// 步骤二:构成 FormatString
175-
var formatString = [method, pathname, obj2str(queryParams), obj2str(headers), ''].join('\n');
175+
var formatString = [method, pathname, util.obj2str(queryParams), util.obj2str(headers), ''].join('\n');
176176

177177
// 步骤三:计算 StringToSign
178178
var stringToSign = ['sha1', qSignTime, CryptoJS.SHA1(formatString).toString(), ''].join('\n');
@@ -655,6 +655,7 @@ var util = {
655655
throttleOnProgress: throttleOnProgress,
656656
getFileSize: getFileSize,
657657
getSkewTime: getSkewTime,
658+
obj2str: obj2str,
658659
getAuth: getAuth,
659660
compareVersion: compareVersion,
660661
canFileSlice: canFileSlice,
@@ -2338,7 +2339,7 @@ base.init(COS, task);
23382339
advance.init(COS, task);
23392340

23402341
COS.getAuthorization = util.getAuth;
2341-
COS.version = '1.0.10';
2342+
COS.version = '1.0.11';
23422343

23432344
module.exports = COS;
23442345

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-wx-sdk-v5",
3-
"version": "1.0.10",
3+
"version": "1.0.11",
44
"description": "小程序 SDK for [腾讯云对象存储服务](https://cloud.tencent.com/product/cos)",
55
"main": "demo/lib/cos-wx-sdk-v5.js",
66
"scripts": {

src/cos.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@ base.init(COS, task);
5757
advance.init(COS, task);
5858

5959
COS.getAuthorization = util.getAuth;
60-
COS.version = '1.0.10';
60+
COS.version = '1.0.11';
6161

6262
module.exports = COS;

src/util.js

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,34 @@ function camSafeUrlEncode(str) {
1717
.replace(/\*/g, '%2A');
1818
}
1919

20+
function getObjectKeys(obj, forKey) {
21+
var list = [];
22+
for (var key in obj) {
23+
if (obj.hasOwnProperty(key)) {
24+
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
25+
}
26+
}
27+
return list.sort(function (a, b) {
28+
a = a.toLowerCase();
29+
b = b.toLowerCase();
30+
return a === b ? 0 : (a > b ? 1 : -1);
31+
});
32+
};
33+
34+
var obj2str = function (obj) {
35+
var i, key, val;
36+
var list = [];
37+
var keyList = getObjectKeys(obj);
38+
for (i = 0; i < keyList.length; i++) {
39+
key = keyList[i];
40+
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
41+
key = camSafeUrlEncode(key).toLowerCase();
42+
val = camSafeUrlEncode(val) || '';
43+
list.push(key + '=' + val)
44+
}
45+
return list.join('&');
46+
};
47+
2048
//测试用的key后面可以去掉
2149
var getAuth = function (opt) {
2250
opt = opt || {};
@@ -40,34 +68,6 @@ var getAuth = function (opt) {
4068
if (!SecretId) return console.error('missing param SecretId');
4169
if (!SecretKey) return console.error('missing param SecretKey');
4270

43-
var getObjectKeys = function (obj, forKey) {
44-
var list = [];
45-
for (var key in obj) {
46-
if (obj.hasOwnProperty(key)) {
47-
list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key);
48-
}
49-
}
50-
return list.sort(function (a, b) {
51-
a = a.toLowerCase();
52-
b = b.toLowerCase();
53-
return a === b ? 0 : (a > b ? 1 : -1);
54-
});
55-
};
56-
57-
var obj2str = function (obj) {
58-
var i, key, val;
59-
var list = [];
60-
var keyList = getObjectKeys(obj);
61-
for (i = 0; i < keyList.length; i++) {
62-
key = keyList[i];
63-
val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]);
64-
key = camSafeUrlEncode(key).toLowerCase();
65-
val = camSafeUrlEncode(val) || '';
66-
list.push(key + '=' + val)
67-
}
68-
return list.join('&');
69-
};
70-
7171
// 签名有效起止时间
7272
var now = Math.round(getSkewTime(opt.SystemClockOffset) / 1000) - 1;
7373
var exp = now;
@@ -92,7 +92,7 @@ var getAuth = function (opt) {
9292
var signKey = CryptoJS.HmacSHA1(qKeyTime, SecretKey).toString();
9393

9494
// 步骤二:构成 FormatString
95-
var formatString = [method, pathname, obj2str(queryParams), obj2str(headers), ''].join('\n');
95+
var formatString = [method, pathname, util.obj2str(queryParams), util.obj2str(headers), ''].join('\n');
9696

9797
// 步骤三:计算 StringToSign
9898
var stringToSign = ['sha1', qSignTime, CryptoJS.SHA1(formatString).toString(), ''].join('\n');
@@ -575,6 +575,7 @@ var util = {
575575
throttleOnProgress: throttleOnProgress,
576576
getFileSize: getFileSize,
577577
getSkewTime: getSkewTime,
578+
obj2str: obj2str,
578579
getAuth: getAuth,
579580
compareVersion: compareVersion,
580581
canFileSlice: canFileSlice,

0 commit comments

Comments
 (0)