@@ -7212,7 +7212,7 @@ module.exports = function(module) {
72127212/*! exports provided: name, version, description, main, types, scripts, repository, keywords, author, license, bugs, homepage, dependencies, devDependencies, default */
72137213/***/ ( function ( module ) {
72147214
7215- module . exports = JSON . parse ( "{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.4.8\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.2\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}" ) ;
7215+ module . exports = JSON . parse ( "{\"name\":\"cos-js-sdk-v5\",\"version\":\"1.4.9\",\"description\":\"JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)\",\"main\":\"dist/cos-js-sdk-v5.js\",\"types\":\"index.d.ts\",\"scripts\":{\"server\":\"node server/sts.js\",\"dev\":\"cross-env NODE_ENV=development webpack -w --mode=development\",\"build\":\"cross-env NODE_ENV=production webpack --mode=production\",\"cos-auth.min.js\":\"uglifyjs ./demo/common/cos-auth.js -o ./demo/common/cos-auth.min.js -c -m\"},\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/tencentyun/cos-js-sdk-v5.git\"},\"keywords\":[],\"author\":\"carsonxu\",\"license\":\"ISC\",\"bugs\":{\"url\":\"https://github.com/tencentyun/cos-js-sdk-v5/issues\"},\"homepage\":\"https://github.com/tencentyun/cos-js-sdk-v5#readme\",\"dependencies\":{\"@xmldom/xmldom\":\"^0.8.2\"},\"devDependencies\":{\"@babel/core\":\"7.17.9\",\"@babel/plugin-transform-runtime\":\"7.18.10\",\"@babel/preset-env\":\"7.16.11\",\"babel-loader\":\"8.2.5\",\"body-parser\":\"^1.18.3\",\"cross-env\":\"^5.2.0\",\"express\":\"^4.16.4\",\"qcloud-cos-sts\":\"^3.0.2\",\"request\":\"^2.87.0\",\"terser-webpack-plugin\":\"4.2.3\",\"webpack\":\"4.46.0\",\"webpack-cli\":\"4.10.0\"}}" ) ;
72167216
72177217/***/ } ) ,
72187218
@@ -11087,9 +11087,9 @@ function putObjectCopy(params, callback) {
1108711087 return ;
1108811088 }
1108911089
11090- var SourceBucket = m [ 1 ] ;
11091- var SourceRegion = m [ 3 ] ;
11092- var SourceKey = decodeURIComponent ( m [ 4 ] ) ;
11090+ var SourceBucket = m . Bucket ;
11091+ var SourceRegion = m . Region ;
11092+ var SourceKey = decodeURIComponent ( m . Key ) ;
1109311093 submitRequest . call ( this , {
1109411094 Scope : [ {
1109511095 action : 'name/cos:GetObject' ,
@@ -11138,9 +11138,9 @@ function uploadPartCopy(params, callback) {
1113811138 return ;
1113911139 }
1114011140
11141- var SourceBucket = m [ 1 ] ;
11142- var SourceRegion = m [ 3 ] ;
11143- var SourceKey = decodeURIComponent ( m [ 4 ] ) ;
11141+ var SourceBucket = m . Bucket ;
11142+ var SourceRegion = m . Region ;
11143+ var SourceKey = decodeURIComponent ( m . Key ) ;
1114411144 submitRequest . call ( this , {
1114511145 Scope : [ {
1114611146 action : 'name/cos:GetObject' ,
@@ -12130,6 +12130,11 @@ function getUrl(params) {
1213012130 Bucket : longBucket ,
1213112131 Region : region
1213212132 } ) ;
12133+ } // 兼容不带冒号的http、https
12134+
12135+
12136+ if ( [ 'http' , 'https' ] . includes ( params . protocol ) ) {
12137+ params . protocol = params . protocol + ':' ;
1213312138 }
1213412139
1213512140 var protocol = params . protocol || ( util . isBrowser && location . protocol === 'http:' ? 'http:' : 'https:' ) ;
@@ -12550,7 +12555,8 @@ function _submitRequest(params, callback) {
1255012555 } ) ;
1255112556
1255212557 if ( params . action ) {
12553- url = url + '?' + params . action ;
12558+ // 已知问题,某些版本的qq会对url自动拼接(比如/upload被拼接成/upload=(null))导致签名错误,这里做下兼容。
12559+ url = url + '?' + ( util . isIOS_QQ ? "" . concat ( params . action , "=" ) : params . action ) ;
1255412560 }
1255512561
1255612562 if ( params . qsStr ) {
@@ -13462,12 +13468,13 @@ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_m
1346213468
1346313469var pkg = __webpack_require__ ( /*! ../package.json */ "./package.json" ) ;
1346413470
13465- var BeaconAction = __webpack_require__ ( /*! ../lib/beacon.min */ "./lib/beacon.min.js" ) ;
13466-
1346713471var beacon = null ;
1346813472
1346913473var getBeacon = function getBeacon ( delay ) {
1347013474 if ( ! beacon ) {
13475+ // 不放在顶层是避免首次引入就被加载,从而避免在某些环境比如webworker里加载灯塔sdk内window相关对象报错
13476+ var BeaconAction = __webpack_require__ ( /*! ../lib/beacon.min */ "./lib/beacon.min.js" ) ;
13477+
1347113478 beacon = new BeaconAction ( {
1347213479 appkey : "0AND0VEVB24UBGDU" ,
1347313480 versionCode : pkg . version ,
@@ -14112,12 +14119,12 @@ var parseSelectPayload = function parseSelectPayload(chunk) {
1411214119var getSourceParams = function getSourceParams ( source ) {
1411314120 var parser = this . options . CopySourceParser ;
1411414121 if ( parser ) return parser ( source ) ;
14115- var m = source . match ( / ^ ( [ ^ . ] + - \d + ) \. c o s ( v 6 | - c d c ) ? \. ( [ ^ . ] + ) \. m y q c l o u d \. c o m \/ ( .+ ) $ / ) ;
14122+ var m = source . match ( / ^ ( [ ^ . ] + - \d + ) \. c o s ( v 6 | - c d c | - i n t e r n a l ) ? \. ( [ ^ . ] + ) \. ( ( m y q c l o u d \. c o m ) | ( t e n c e n t c o s \. c n ) ) \/ ( .+ ) $ / ) ;
1411614123 if ( ! m ) return null ;
1411714124 return {
1411814125 Bucket : m [ 1 ] ,
1411914126 Region : m [ 3 ] ,
14120- Key : m [ 4 ]
14127+ Key : m [ 7 ]
1412114128 } ;
1412214129} ;
1412314130
@@ -14584,7 +14591,7 @@ var apiWrapper = function apiWrapper(apiName, apiFn) {
1458414591 } ;
1458514592
1458614593 var errMsg = checkParams ( ) ;
14587- var isSync = apiName === 'getAuth' || apiName === 'getObjectUrl' ;
14594+ var isSync = apiName === 'getAuth' ;
1458814595
1458914596 if ( typeof Promise === 'function' && ! isSync && ! callback ) {
1459014597 return new Promise ( function ( resolve , reject ) {
@@ -14725,7 +14732,28 @@ var isNode = function isNode() {
1472514732
1472614733var isCIHost = function isCIHost ( url ) {
1472714734 return / ^ h t t p s ? : \/ \/ ( [ ^ / ] + \. ) ? c i \. [ ^ / ] + / . test ( url ) ;
14728- } ;
14735+ } ; //判断是否是ios
14736+
14737+
14738+ var isIOS = function ( ) {
14739+ if ( ( typeof navigator === "undefined" ? "undefined" : _typeof ( navigator ) ) !== 'object' ) {
14740+ return false ;
14741+ }
14742+
14743+ var u = navigator . userAgent ;
14744+ var isIOS = ! ! u . match ( / \( i [ ^ ; ] + ; ( U ; ) ? C P U .+ M a c O S X / ) ; //ios终端
14745+
14746+ return isIOS ;
14747+ } ( ) ; // 判断是qq内置浏览器
14748+
14749+
14750+ var isQQ = function ( ) {
14751+ if ( ( typeof navigator === "undefined" ? "undefined" : _typeof ( navigator ) ) !== 'object' ) {
14752+ return false ;
14753+ }
14754+
14755+ return / \s Q Q / i. test ( navigator . userAgent ) ;
14756+ } ( ) ;
1472914757
1473014758var util = {
1473114759 noop : noop ,
@@ -14760,7 +14788,8 @@ var util = {
1476014788 getSourceParams : getSourceParams ,
1476114789 isBrowser : true ,
1476214790 isNode : isNode ,
14763- isCIHost : isCIHost
14791+ isCIHost : isCIHost ,
14792+ isIOS_QQ : isIOS && isQQ
1476414793} ;
1476514794module . exports = util ;
1476614795/* WEBPACK VAR INJECTION */ } . call ( this , __webpack_require__ ( /*! ./../node_modules/process/browser.js */ "./node_modules/process/browser.js" ) ) )
0 commit comments