@@ -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后面可以去掉
101129var 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);
23382339advance . init ( COS , task ) ;
23392340
23402341COS . getAuthorization = util . getAuth ;
2341- COS . version = '1.0.10 ' ;
2342+ COS . version = '1.0.11 ' ;
23422343
23432344module . exports = COS ;
23442345
0 commit comments