From ce08481e7c051dc9c42c7869903e7c5ee9cacc89 Mon Sep 17 00:00:00 2001 From: wangyaqi Date: Fri, 20 Nov 2020 15:06:38 +0800 Subject: [PATCH] update(uniCloud): getTempFileURL for aliyun --- packages/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js b/packages/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js index dfa95a0258..5ad5ba58ed 100644 --- a/packages/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js +++ b/packages/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js @@ -1 +1 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var r=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),r={},o=r.lib={},s=o.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},i=o.WordArray=s.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var s=0;s>>2]>>>24-s%4*8&255;t[r+s>>>2]|=i<<24-(r+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=s.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,r=[],o=function(t){t=t;var n=987654321,r=4294967295;return function(){var o=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return o/=4294967296,(o+=.5)*(e.random()>.5?1:-1)}},s=0;s>>2]>>>24-o%4*8&255;r.push((s>>>4).toString(16)),r.push((15&s).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new i.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(s))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new i.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},h=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new i.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,u=e.min(4*c,o);if(c){for(var l=0;l>>24)|4278255360&(o<<24|o>>>8)}var s=this._hash.words,i=e[t+0],c=e[t+1],p=e[t+2],d=e[t+3],y=e[t+4],g=e[t+5],v=e[t+6],_=e[t+7],m=e[t+8],b=e[t+9],w=e[t+10],T=e[t+11],S=e[t+12],E=e[t+13],k=e[t+14],O=e[t+15],A=s[0],P=s[1],I=s[2],N=s[3];A=u(A,P,I,N,i,7,a[0]),N=u(N,A,P,I,c,12,a[1]),I=u(I,N,A,P,p,17,a[2]),P=u(P,I,N,A,d,22,a[3]),A=u(A,P,I,N,y,7,a[4]),N=u(N,A,P,I,g,12,a[5]),I=u(I,N,A,P,v,17,a[6]),P=u(P,I,N,A,_,22,a[7]),A=u(A,P,I,N,m,7,a[8]),N=u(N,A,P,I,b,12,a[9]),I=u(I,N,A,P,w,17,a[10]),P=u(P,I,N,A,T,22,a[11]),A=u(A,P,I,N,S,7,a[12]),N=u(N,A,P,I,E,12,a[13]),I=u(I,N,A,P,k,17,a[14]),A=l(A,P=u(P,I,N,A,O,22,a[15]),I,N,c,5,a[16]),N=l(N,A,P,I,v,9,a[17]),I=l(I,N,A,P,T,14,a[18]),P=l(P,I,N,A,i,20,a[19]),A=l(A,P,I,N,g,5,a[20]),N=l(N,A,P,I,w,9,a[21]),I=l(I,N,A,P,O,14,a[22]),P=l(P,I,N,A,y,20,a[23]),A=l(A,P,I,N,b,5,a[24]),N=l(N,A,P,I,k,9,a[25]),I=l(I,N,A,P,d,14,a[26]),P=l(P,I,N,A,m,20,a[27]),A=l(A,P,I,N,E,5,a[28]),N=l(N,A,P,I,p,9,a[29]),I=l(I,N,A,P,_,14,a[30]),A=h(A,P=l(P,I,N,A,S,20,a[31]),I,N,g,4,a[32]),N=h(N,A,P,I,m,11,a[33]),I=h(I,N,A,P,T,16,a[34]),P=h(P,I,N,A,k,23,a[35]),A=h(A,P,I,N,c,4,a[36]),N=h(N,A,P,I,y,11,a[37]),I=h(I,N,A,P,_,16,a[38]),P=h(P,I,N,A,w,23,a[39]),A=h(A,P,I,N,E,4,a[40]),N=h(N,A,P,I,i,11,a[41]),I=h(I,N,A,P,d,16,a[42]),P=h(P,I,N,A,v,23,a[43]),A=h(A,P,I,N,b,4,a[44]),N=h(N,A,P,I,S,11,a[45]),I=h(I,N,A,P,O,16,a[46]),A=f(A,P=h(P,I,N,A,p,23,a[47]),I,N,i,6,a[48]),N=f(N,A,P,I,_,10,a[49]),I=f(I,N,A,P,k,15,a[50]),P=f(P,I,N,A,g,21,a[51]),A=f(A,P,I,N,S,6,a[52]),N=f(N,A,P,I,d,10,a[53]),I=f(I,N,A,P,w,15,a[54]),P=f(P,I,N,A,c,21,a[55]),A=f(A,P,I,N,m,6,a[56]),N=f(N,A,P,I,O,10,a[57]),I=f(I,N,A,P,v,15,a[58]),P=f(P,I,N,A,E,21,a[59]),A=f(A,P,I,N,y,6,a[60]),N=f(N,A,P,I,T,10,a[61]),I=f(I,N,A,P,p,15,a[62]),P=f(P,I,N,A,b,21,a[63]),s[0]=s[0]+A|0,s[1]=s[1]+P|0,s[2]=s[2]+I|0,s[3]=s[3]+N|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,o=8*t.sigBytes;n[o>>>5]|=128<<24-o%32;var s=e.floor(r/4294967296),i=r;n[15+(o+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),n[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,r,o,s,i){var a=e+(t&n|~t&r)+o+i;return(a<>>32-s)+t}function l(e,t,n,r,o,s,i){var a=e+(t&r|n&~r)+o+i;return(a<>>32-s)+t}function h(e,t,n,r,o,s,i){var a=e+(t^n^r)+o+i;return(a<>>32-s)+t}function f(e,t,n,r,o,s,i){var a=e+(n^(t|~r))+o+i;return(a<>>32-s)+t}t.MD5=s._createHelper(c),t.HmacMD5=s._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n,o,s;e.exports=(o=(n=r).lib.Base,s=n.enc.Utf8,void(n.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),i=this._iKey=t.clone(),a=o.words,c=i.words,u=0;u{t.success&&t.success(e),t.complete&&t.complete(e)}).catch(e=>{t.fail&&t.fail(e),t.complete&&t.complete(e)})}}class i extends Error{constructor(e){super(e.message),this.errMsg=e.message||"",Object.defineProperties(this,{code:{get:()=>e.code},requestId:{get:()=>e.requestId},message:{get(){return this.errMsg},set(e){this.errMsg=e}}})}}let a;try{a=require("uni-stat-config").default||require("uni-stat-config")}catch(e){a={appid:""}}let c,u;function l(e=8){let t="";for(;t.length{t(Object.assign(e,{complete(e){e||(e={}),"h5"===process.env.VUE_APP_PLATFORM&&"development"===process.env.NODE_ENV&&e.errMsg&&0===e.errMsg.indexOf("request:fail")&&console.warn("发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5");const t=e.data&&e.data.header&&e.data.header["x-serverless-request-id"]||e.header&&e.header["request-id"];if(!e.statusCode||e.statusCode>=400)return r(new i({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));const o=e.data;if(o.error)return r(new i({code:o.error.code,message:o.error.message,requestId:t}));o.result=o.data,o.requestId=t,delete o.data,n(o)}}))})}};const d={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};class y{constructor(e){["spaceId","clientSecret"].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error("缺少参数"+t)}),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},e),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=d}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return p.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch(t=>new Promise((e,n)=>{!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()}).then(()=>this.getAccessToken()).then(()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})):this.getAccessToken().then(()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=p.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),r={"Content-Type":"application/json"};return"auth"!==t&&(n.token=this.accessToken,r["x-basement-token"]=this.accessToken),r["x-serverless-sign"]=p.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:r}}getAccessToken(){return this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then(e=>new Promise((t,n)=>{e.result&&e.result.accessToken?(this.setAccessToken(e.result.accessToken),t(this.accessToken)):n(new i({code:"AUTH_FAILED",message:"获取accessToken失败"}))}))}authorize(){this.getAccessToken()}callFunction(e){const t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:r,fileType:o,onUploadProgress:s}){return new Promise((a,c)=>{const u=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:r,fileType:o,header:{"X-OSS-server-side-encrpytion":"AES256"},success(e){e&&e.statusCode<400?a(e):c(new i({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){c(e)}});"function"==typeof s&&u&&"function"==typeof u.onProgressUpdate&&u.onProgressUpdate(e=>{s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})})})}reportOSSUpload(e){const t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:r,config:o}){if(!t)throw new i({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});const s=o&&o.envType||this.config.envType;let a,c;return this.getOSSUploadOptionsFromPath({env:s,filename:t}).then(t=>{const o=t.result;a=o.id,c="https://"+o.cdnDomain+"/"+o.ossPath;const s={url:"https://"+o.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:o.accessKeyId,Signature:o.signature,host:o.host,id:a,key:o.ossPath,policy:o.policy,success_action_status:200},fileName:"file",name:"file",filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},s,{onUploadProgress:r}))}).then(()=>this.reportOSSUpload({id:a})).then(t=>new Promise((n,r)=>{t.success?n({success:!0,filePath:e,fileID:c}):r(new i({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}deleteFile({fileList:e}){const t={method:"serverless.file.resource.delete",params:JSON.stringify({id:e[0]})};return this.request(this.setupRequest(t))}}const g={init(e){const t=new y(e);["deleteFile"].forEach(e=>{t[e]=s(t[e]).bind(t)});const n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.constomAuth=t.auth,t}};var v,_,m=n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getQuery=function(e,t){if("undefined"==typeof window)return!1;var n=t||window.location.search,r=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=n.substr(n.indexOf("?")+1).match(r);return null!=o?o[2]:""},t.getHash=function(e){var t=window.location.hash.match(new RegExp("[#?&/]"+e+"=([^&#]*)"));return t?t[1]:""},t.removeParam=function(e,t){var n=t.split("?")[0],r=[],o=-1!==t.indexOf("?")?t.split("?")[1]:"";if(""!==o){for(var s=(r=o.split("&")).length-1;s>=0;s-=1)r[s].split("=")[0]===e&&r.splice(s,1);n=n+"?"+r.join("&")}return n},t.createPromiseCallback=function(){var e;if(!Promise){(e=function(){}).promise={};var t=function(){throw new Error('Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.')};return Object.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}var n=new Promise((function(t,n){e=function(e,r){return e?n(e):t(r)}}));return e.promise=n,e},t.getWeixinCode=function(){return t.getQuery("code")||t.getHash("code")},t.getMiniAppCode=function(){return new Promise((function(e,t){wx.login({success:function(t){e(t.code)},fail:function(e){t(e)}})}))},t.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},t.isString=function(e){return"string"==typeof e},t.isUndefined=function(e){return void 0===e},t.isInstanceOf=function(e,t){return e instanceof t},t.isFormData=function(e){return"[object FormData]"===Object.prototype.toString.call(e)},t.genSeqId=function(){return Math.random().toString(16).slice(2)},t.getArgNames=function(e){var t=e.toString();return t.slice(t.indexOf("(")+1,t.indexOf(")")).match(/([^\s,]+)/g)},t.formatUrl=function(e,t,n){void 0===n&&(n={});var r=/\?/.test(t),o="";for(var s in n)""===o?!r&&(t+="?"):o+="&",o+=s+"="+encodeURIComponent(n[s]);return/^http(s)?\:\/\//.test(t+=o)?t:""+e+t}})),b="dist/index.js",w="./dist/index.d.ts",T={build:"npm run tsc && webpack",tsc:"tsc -p tsconfig.json","tsc:w":"tsc -p tsconfig.json -w",test:"jest --verbose false -i",e2e:'NODE_ENV=e2e webpack && jest --config="./jest.e2e.config.js" --verbose false -i "e2e"',start:"webpack-dev-server --hot --open",eslint:'eslint "./**/*.js" "./**/*.ts"',"eslint-fix":'eslint --fix "./**/*.js" "./**/*.ts"',test_web:"npm run tsc && webpack-dev-server --devtool eval-source-map --progress --colors --hot --inline --content-base ./dist --host jimmytest-088bef.tcb.qcloud.la --port 80 --disableHostCheck true --mode development --config webpack.test.js"},S={type:"git",url:"https://github.com/TencentCloudBase/tcb-js-sdk"},E=["tcb","js-sdk"],k={"@cloudbase/adapter-interface":"^0.2.0","@cloudbase/adapter-wx_mp":"^0.2.1","@cloudbase/database":"^0.9.8"},O={"@babel/core":"^7.6.2","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/plugin-transform-runtime":"^7.6.2","@babel/preset-env":"^7.6.2","@babel/preset-typescript":"^7.6.0","@babel/runtime":"^7.6.2","@types/jest":"^23.1.4","@types/node":"^10.14.4","@types/superagent":"^4.1.4",axios:"^0.19.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.6","babel-polyfill":"^6.26.0",eslint:"^5.16.0","eslint-config-alloy":"^1.4.2","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-plugin-typescript":"^1.0.0-rc.3",express:"^4.17.1",husky:"^3.1.0",jest:"^24.7.1","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","power-assert":"^1.6.1",puppeteer:"^1.20.0","serve-static":"^1.14.1","ts-jest":"^23.10.4","ts-loader":"^6.2.1",typescript:"^3.4.3","typescript-eslint-parser":"^22.0.0",webpack:"^4.41.3","webpack-bundle-analyzer":"^3.4.1","webpack-cli":"^3.3.0","webpack-dev-server":"^3.3.1","webpack-merge":"^4.2.2","webpack-visualizer-plugin":"^0.1.11"},A={hooks:{"pre-commit":"lint-staged"}},P={name:"tcb-js-sdk",version:"1.3.5",description:"js sdk for tcb",main:b,types:w,scripts:T,repository:S,keywords:E,author:"jimmyjzhang",license:"ISC",dependencies:k,devDependencies:O,husky:A,"lint-staged":{"*.{js,ts}":["eslint --fix","git add"]}},I=(v=Object.freeze({__proto__:null,name:"tcb-js-sdk",version:"1.3.5",description:"js sdk for tcb",main:b,types:w,scripts:T,repository:S,keywords:E,author:"jimmyjzhang",license:"ISC",dependencies:k,devDependencies:O,husky:A,default:P}))&&v.default||v,N=n((function(t,n){var r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(n,"__esModule",{value:!0});var o=r(I);n.SDK_VERISON=o.version,n.ACCESS_TOKEN="access_token",n.ACCESS_TOKEN_Expire="access_token_expire",n.REFRESH_TOKEN="refresh_token",n.ANONYMOUS_UUID="anonymous_uuid",n.LOGIN_TYPE_KEY="login_type",n.protocol="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:",n.BASE_URL="e2e"===process.env.NODE_ENV&&"pre"===process.env.END_POINT?"//tcb-pre.tencentcloudapi.com/web":"//tcb-api.tencentcloudapi.com/web"}));!function(e){e.local="local",e.none="none",e.session="session"}(_||(_={}));var x=function(){},R=function(){};var C=Object.freeze({__proto__:null,get StorageType(){return _},AbstractSDKRequest:x,AbstractStorage:R,formatUrl:function(e,t,n){void 0===n&&(n={});var r=/\?/.test(t),o="";for(var s in n)""===o?!r&&(t+="?"):o+="&",o+=s+"="+encodeURIComponent(n[s]);return/^http(s)?\:\/\//.test(t+=o)?t:""+e+t}}),U=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__assign||function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=0?JSON.parse(n).content:""},e.prototype.removeStore=function(e){this.storageClass.removeItem(e)},e}();n.Cache=s;var i=function(e){function t(){var t=e.call(this)||this;return q.Adapter.adapter.root.tcbObject||(q.Adapter.adapter.root.tcbObject={}),t}return o(t,e),t.prototype.setItem=function(e,t){q.Adapter.adapter.root.tcbObject[e]=t},t.prototype.getItem=function(e){return q.Adapter.adapter.root.tcbObject[e]},t.prototype.removeItem=function(e){delete q.Adapter.adapter.root.tcbObject[e]},t.prototype.clear=function(){delete q.Adapter.adapter.root.tcbObject},t}(C.AbstractStorage)})),D=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0},e}();n.IEventEmitter=c;var u=new c;n.addEventListener=function(e,t){u.on(e,t)},n.activateEvent=function(e,t){void 0===t&&(t={}),u.fire(e,t)},n.removeEventListener=function(e,t){u.off(e,t)},n.EVENTS={LOGIN_STATE_CHANGED:"loginStateChanged",LOGIN_STATE_EXPIRE:"loginStateExpire",LOGIN_TYPE_CHANGE:"loginTypeChanged",ANONYMOUS_CONVERTED:"anonymousConverted",REFRESH_ACCESS_TOKEN:"refreshAccessToken"}})),L=n((function(t,n){var r=e&&e.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]Date.now())return[2,{credential:{accessToken:e,refreshToken:this.cache.getStore(this.refreshTokenKey)}}];this.cache.removeStore(this.accessTokenKey),this.cache.removeStore(this.accessTokenExpireKey)}if(!1===Object.values(c).includes(c[this.scope]))throw new Error("错误的scope类型");return q.Adapter.runtime!==q.RUNTIME.WX_MP?[3,2]:[4,l.getMiniAppCode()];case 1:return n=i.sent(),[3,4];case 2:return[4,l.getWeixinCode()];case 3:if(!(n=i.sent()))return[2,this.redirect()];i.label=4;case 4:return r=function(e){switch(e){case c.snsapi_login:return"WECHAT-OPEN";default:return"WECHAT-PUBLIC"}}(this.scope),[4,this.getRefreshTokenByWXCode(this.appid,r,n)];case 5:return o=i.sent(),s=o.refreshToken,this.cache.setStore(this.refreshTokenKey,s),o.accessToken&&this.cache.setStore(this.accessTokenKey,o.accessToken),o.accessTokenExpire&&this.cache.setStore(this.accessTokenExpireKey,o.accessTokenExpire+Date.now()),D.activateEvent(D.EVENTS.LOGIN_STATE_CHANGED),D.activateEvent(D.EVENTS.LOGIN_TYPE_CHANGE,h.LOGINTYPE.WECHAT),[2,{credential:{refreshToken:s}}]}}))}))},t.prototype.redirect=function(){var e=l.removeParam("code",location.href);e=l.removeParam("state",e),e=encodeURIComponent(e);var t="//open.weixin.qq.com/connect/oauth2/authorize";"snsapi_login"===this.scope&&(t="//open.weixin.qq.com/connect/qrconnect"),"redirect"===u[this.loginMode]&&(location.href=t+"?appid="+this.appid+"&redirect_uri="+e+"&response_type=code&scope="+this.scope+"&state="+this.state+"#wechat_redirect")},t}(h.default);n.default=p})),F=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__assign||function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]{d.request({url:B("https:",t),data:n,method:"POST",header:r,success(t){e(t)},fail(e){o(e)}})})}upload(e){return new Promise((t,n)=>{const{url:r,file:o,data:s,headers:i,fileType:a}=e,c=d.uploadFile({url:B("https:",r),name:"file",formData:Object.assign({},s),filePath:o,fileType:a,header:i,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&s.success_action_status&&(n.statusCode=parseInt(s.success_action_status,10)),t(n)},fail(e){"mp-alipay"===process.env.VUE_APP_PLATFORM&&"development"===process.env.NODE_ENV&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate(t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})})})}}const W={setItem(e,t){d.setStorageSync(e,t)},getItem:e=>d.getStorageSync(e),removeItem(e){d.removeStorageSync(e)},clear(){d.clearStorageSync()}};const z={genAdapter:function(){return{root:{},reqClass:$,localStorage:W,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};V.useAdapters(z);const J=V,X=J.init;J.init=function(e){e.env=e.spaceId;const t=X.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;const n=t.auth;t.auth=function(e){const t=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach(e=>{t[e]=s(t[e]).bind(t)}),t},t.customAuth=t.auth;return["deleteFile","getTempFileURL","downloadFile"].forEach(e=>{t[e]=s(t[e]).bind(t)}),t};let Q,Z;function ee(e){Q||(Q={PLATFORM:process.env.VUE_APP_PLATFORM,OS:u,APPID:a.appid,CLIENT_SDK_VERSION:"1.0.0"},Z={ak:a.appid,p:"android"===u?"a":"i",ut:f(),uuid:h()});const t=JSON.parse(JSON.stringify(e.data||{})),n=e.name,r=this.config.spaceId,o={tencent:"t",aliyun:"a"}[this.config.provider],s=Object.assign({},Z,{fn:n,sid:r,pvd:o});if(Object.assign(t,{clientInfo:Q,uniCloudClientInfo:encodeURIComponent(JSON.stringify(s))}),!t.uniIdToken){const e=d.getStorageSync("uni_id_token")||d.getStorageSync("uniIdToken");e&&(t.uniIdToken=e)}return e.data=t,e}const te=Symbol("CLIENT_DB_INTERNAL");function ne(e,t){return e.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=te,new Proxy(e,{get:(e,n,r)=>function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,n)||e[n]||"string"!=typeof n?e[n]:t.get(e,n,r)})}class re extends Error{constructor(e,t){super(e),this.code=t}}function oe(e){switch(t=e,Object.prototype.toString.call(t).slice(8,-1).toLowerCase()){case"array":return e.map(e=>oe(e));case"object":return e._internalType===te||Object.keys(e).forEach(t=>{e[t]=oe(e[t])}),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}var t}let se;let ie=new class{init(e){let t={};const n=!1!==e.debugFunction&&"development"===process.env.NODE_ENV&&("h5"===process.env.VUE_APP_PLATFORM&&navigator.userAgent.indexOf("HBuilderX")>0||"app-plus"===process.env.VUE_APP_PLATFORM);switch(e.provider){case"tencent":t=J.init(Object.assign(e,{useDebugFunction:n}));break;case"aliyun":t=g.init(Object.assign(e,{useDebugFunction:n}));break;default:throw new Error("未提供正确的provider参数")}t.isReady=!1;const r=t.auth();return t.initSignIn=r.getLoginState().then(e=>e?Promise.resolve():r.signInAnonymously()).then(()=>new Promise(e=>{"quickapp-native"===process.env.VUE_APP_PLATFORM?(u="android",uni.getStorage({key:"__DC_CLOUD_UUID",success(t){c=t.data?t.data:l(32),e()}})):setTimeout(()=>{u=uni.getSystemInfoSync().platform,c=uni.getStorageSync("__DC_CLOUD_UUID")||l(32),e()},0)})).then(()=>{t.isReady=!0}),function(e){const t=e.callFunction;e.callFunction=function(e){let n;return n=this.isReady?Promise.resolve():this.initSignIn,n.then(()=>{const n=ee.call(this,e),r={aliyun:"aliyun",tencent:"tcb"}[this.config.provider];return new Promise((o,s)=>{t.call(this,n).then(t=>{if(this.config.useDebugFunction&&t&&t.requestId){const n=JSON.stringify({spaceId:this.config.spaceId,functionName:e.name,requestId:t.requestId});console.log(`[${r}-request]${n}[/${r}-request]`)}o(t)}).catch(t=>{if(this.config.useDebugFunction&&t&&t.requestId){const n=JSON.stringify({spaceId:this.config.spaceId,functionName:e.name,requestId:t.requestId});console.log(`[${r}-request]${n}[/${r}-request]`)}t&&t.message&&(t.message=`[${e.name}]: ${t.message}`),s(t)})})})};const n=e.callFunction;e.callFunction=function(e){return s(n).call(this,e)}}(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){let n;return n=this.isReady?Promise.resolve():this.initSignIn,n.then(()=>t.call(this,e))};const n=e.uploadFile;e.uploadFile=function(e){return s(n).call(this,e)}}(t),function(e){e.database=function(){if(se)return se;const t={},n={};class r{constructor(e,t,n){this.content=e,this.prevStage=t,this.actionName=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map(e=>({$method:e.$method,$param:e.$param}))}}get useAggregate(){let e=this,t=!1;for(;e.prevStage;){e=e.prevStage;const n=e.content.$method;if("aggregate"===n||"pipeline"===n){t=!0;break}}return t}get count(){if(!this.useAggregate)return function(){return this._send("count",Array.from(arguments))};const e=this;return function(){return i({$method:"count",$param:oe(Array.from(arguments))},e,e.actionName)}}get(){return this._send("get",Array.from(arguments))}add(){return this._send("add",Array.from(arguments))}remove(){return this._send("remove",Array.from(arguments))}update(){return this._send("update",Array.from(arguments))}end(){return this._send("end",Array.from(arguments))}set(){throw new Error("客户端禁止使用set方法")}_send(r,o){const s=this.toJSON();return s.$db.push({$method:r,$param:o}),e.callFunction({name:"DCloud-clientDB",data:{action:this.actionName,command:s}}).then(e=>{const{code:r,message:o,token:s,tokenExpired:i}=e.result;return r?Promise.reject(new re(o,r)):(s&&i&&t.refreshToken&&t.refreshToken.forEach(e=>{e({token:s,tokenExpired:i})}),s&&i&&n.refreshToken&&n.refreshToken.forEach(e=>{e({token:s,tokenExpired:i})}),Promise.resolve(e))}).catch(e=>{const t=new re(e.message,e.code||"SYSTEM_ERROR");return n.error&&n.error.forEach(e=>{e(t)}),/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn("clientDB未初始化,请在web控制台保存一次schema以开启clientDB"),Promise.reject(e)})}}const o=["db.Geo","db.command","command.aggregate"];function s(e,t){return o.indexOf(`${e}.${t}`)>-1}function i(e,t,n){return ne(new r(e,t,n),{get(e,t){let r="db";return e&&e.content&&(r=e.content.$method),s(r,t)?i({$method:t},e,n):function(){return i({$method:t,$param:oe(Array.from(arguments))},e,n)}}})}function a({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map(e=>({$method:e})),{$method:t,$param:this.param}]}}}}const c={auth:{on:(e,n)=>{t[e]=t[e]||[],t[e].indexOf(n)>-1||t[e].push(n)},off:(e,n)=>{t[e]=t[e]||[];const r=t[e].indexOf(n);-1!==r&&t[e].splice(r,1)}},on:(e,t)=>{n[e]=n[e]||[],n[e].indexOf(t)>-1||n[e].push(t)},off:(e,t)=>{n[e]=n[e]||[];const r=n[e].indexOf(t);-1!==r&&n[e].splice(r,1)},env:ne({},{get:(e,t)=>({$env:t})}),action:e=>ne({},{get:(t,n)=>s("db",n)?i({$method:n},null,e):function(){return i({$method:n,$param:oe(Array.from(arguments))},null,e)}}),Geo:ne({},{get:(e,t)=>a({path:["Geo"],method:t})}),get serverDate(){return a({path:[],method:"serverDate"})},get RegExp(){return a({path:[],method:"RegExp"})}};return se=ne(c,{get:(e,t)=>s("db",t)?i({$method:t}):function(){return i({$method:t,$param:oe(Array.from(arguments))})}}),se}}(t),t.init=this.init,t}};try{let e={};1===process.env.UNI_CLOUD_PROVIDER.length&&(e=process.env.UNI_CLOUD_PROVIDER[0]),ie=ie.init(e)}catch(e){["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database"].forEach(e=>{ie[e]=function(){const e=process.env.UNI_CLOUD_PROVIDER.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":"应用未关联服务空间,请在cloudfunctions目录右键关联服务空间";return console.error(e),Promise.reject(new i({code:"SYS_ERR",message:e}))}})}var ae=ie;export default ae; +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var r=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),r={},o=r.lib={},s=o.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},i=o.WordArray=s.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var s=0;s>>2]>>>24-s%4*8&255;t[r+s>>>2]|=i<<24-(r+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=s.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,r=[],o=function(t){t=t;var n=987654321,r=4294967295;return function(){var o=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return o/=4294967296,(o+=.5)*(e.random()>.5?1:-1)}},s=0;s>>2]>>>24-o%4*8&255;r.push((s>>>4).toString(16)),r.push((15&s).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new i.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(s))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new i.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},h=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new i.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,u=e.min(4*c,o);if(c){for(var l=0;l>>24)|4278255360&(o<<24|o>>>8)}var s=this._hash.words,i=e[t+0],c=e[t+1],p=e[t+2],d=e[t+3],y=e[t+4],g=e[t+5],_=e[t+6],v=e[t+7],m=e[t+8],b=e[t+9],w=e[t+10],T=e[t+11],E=e[t+12],S=e[t+13],O=e[t+14],k=e[t+15],A=s[0],P=s[1],I=s[2],N=s[3];A=u(A,P,I,N,i,7,a[0]),N=u(N,A,P,I,c,12,a[1]),I=u(I,N,A,P,p,17,a[2]),P=u(P,I,N,A,d,22,a[3]),A=u(A,P,I,N,y,7,a[4]),N=u(N,A,P,I,g,12,a[5]),I=u(I,N,A,P,_,17,a[6]),P=u(P,I,N,A,v,22,a[7]),A=u(A,P,I,N,m,7,a[8]),N=u(N,A,P,I,b,12,a[9]),I=u(I,N,A,P,w,17,a[10]),P=u(P,I,N,A,T,22,a[11]),A=u(A,P,I,N,E,7,a[12]),N=u(N,A,P,I,S,12,a[13]),I=u(I,N,A,P,O,17,a[14]),A=l(A,P=u(P,I,N,A,k,22,a[15]),I,N,c,5,a[16]),N=l(N,A,P,I,_,9,a[17]),I=l(I,N,A,P,T,14,a[18]),P=l(P,I,N,A,i,20,a[19]),A=l(A,P,I,N,g,5,a[20]),N=l(N,A,P,I,w,9,a[21]),I=l(I,N,A,P,k,14,a[22]),P=l(P,I,N,A,y,20,a[23]),A=l(A,P,I,N,b,5,a[24]),N=l(N,A,P,I,O,9,a[25]),I=l(I,N,A,P,d,14,a[26]),P=l(P,I,N,A,m,20,a[27]),A=l(A,P,I,N,S,5,a[28]),N=l(N,A,P,I,p,9,a[29]),I=l(I,N,A,P,v,14,a[30]),A=h(A,P=l(P,I,N,A,E,20,a[31]),I,N,g,4,a[32]),N=h(N,A,P,I,m,11,a[33]),I=h(I,N,A,P,T,16,a[34]),P=h(P,I,N,A,O,23,a[35]),A=h(A,P,I,N,c,4,a[36]),N=h(N,A,P,I,y,11,a[37]),I=h(I,N,A,P,v,16,a[38]),P=h(P,I,N,A,w,23,a[39]),A=h(A,P,I,N,S,4,a[40]),N=h(N,A,P,I,i,11,a[41]),I=h(I,N,A,P,d,16,a[42]),P=h(P,I,N,A,_,23,a[43]),A=h(A,P,I,N,b,4,a[44]),N=h(N,A,P,I,E,11,a[45]),I=h(I,N,A,P,k,16,a[46]),A=f(A,P=h(P,I,N,A,p,23,a[47]),I,N,i,6,a[48]),N=f(N,A,P,I,v,10,a[49]),I=f(I,N,A,P,O,15,a[50]),P=f(P,I,N,A,g,21,a[51]),A=f(A,P,I,N,E,6,a[52]),N=f(N,A,P,I,d,10,a[53]),I=f(I,N,A,P,w,15,a[54]),P=f(P,I,N,A,c,21,a[55]),A=f(A,P,I,N,m,6,a[56]),N=f(N,A,P,I,k,10,a[57]),I=f(I,N,A,P,_,15,a[58]),P=f(P,I,N,A,S,21,a[59]),A=f(A,P,I,N,y,6,a[60]),N=f(N,A,P,I,T,10,a[61]),I=f(I,N,A,P,p,15,a[62]),P=f(P,I,N,A,b,21,a[63]),s[0]=s[0]+A|0,s[1]=s[1]+P|0,s[2]=s[2]+I|0,s[3]=s[3]+N|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,o=8*t.sigBytes;n[o>>>5]|=128<<24-o%32;var s=e.floor(r/4294967296),i=r;n[15+(o+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),n[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,r,o,s,i){var a=e+(t&n|~t&r)+o+i;return(a<>>32-s)+t}function l(e,t,n,r,o,s,i){var a=e+(t&r|n&~r)+o+i;return(a<>>32-s)+t}function h(e,t,n,r,o,s,i){var a=e+(t^n^r)+o+i;return(a<>>32-s)+t}function f(e,t,n,r,o,s,i){var a=e+(n^(t|~r))+o+i;return(a<>>32-s)+t}t.MD5=s._createHelper(c),t.HmacMD5=s._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n,o,s;e.exports=(o=(n=r).lib.Base,s=n.enc.Utf8,void(n.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),i=this._iKey=t.clone(),a=o.words,c=i.words,u=0;u{t.success&&t.success(e),t.complete&&t.complete(e)}).catch(e=>{t.fail&&t.fail(e),t.complete&&t.complete(e)})}}class i extends Error{constructor(e){super(e.message),this.errMsg=e.message||"",Object.defineProperties(this,{code:{get:()=>e.code},requestId:{get:()=>e.requestId},message:{get(){return this.errMsg},set(e){this.errMsg=e}}})}}let a;try{a=require("uni-stat-config").default||require("uni-stat-config")}catch(e){a={appid:""}}let c,u;function l(e=8){let t="";for(;t.length{t(Object.assign(e,{complete(e){e||(e={}),"h5"===process.env.VUE_APP_PLATFORM&&"development"===process.env.NODE_ENV&&e.errMsg&&0===e.errMsg.indexOf("request:fail")&&console.warn("发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5");const t=e.data&&e.data.header&&e.data.header["x-serverless-request-id"]||e.header&&e.header["request-id"];if(!e.statusCode||e.statusCode>=400)return r(new i({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));const o=e.data;if(o.error)return r(new i({code:o.error.code,message:o.error.message,requestId:t}));o.result=o.data,o.requestId=t,delete o.data,n(o)}}))})}};const d={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};class y{constructor(e){["spaceId","clientSecret"].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error("缺少参数"+t)}),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},e),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=d}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return p.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch(t=>new Promise((e,n)=>{!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()}).then(()=>this.getAccessToken()).then(()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})):this.getAccessToken().then(()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=p.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),r={"Content-Type":"application/json"};return"auth"!==t&&(n.token=this.accessToken,r["x-basement-token"]=this.accessToken),r["x-serverless-sign"]=p.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:r}}getAccessToken(){return this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then(e=>new Promise((t,n)=>{e.result&&e.result.accessToken?(this.setAccessToken(e.result.accessToken),t(this.accessToken)):n(new i({code:"AUTH_FAILED",message:"获取accessToken失败"}))}))}authorize(){this.getAccessToken()}callFunction(e){const t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:r,fileType:o,onUploadProgress:s}){return new Promise((a,c)=>{const u=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:r,fileType:o,header:{"X-OSS-server-side-encrpytion":"AES256"},success(e){e&&e.statusCode<400?a(e):c(new i({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){c(e)}});"function"==typeof s&&u&&"function"==typeof u.onProgressUpdate&&u.onProgressUpdate(e=>{s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})})})}reportOSSUpload(e){const t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:r,config:o}){if(!t)throw new i({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});const s=o&&o.envType||this.config.envType;let a,c;return this.getOSSUploadOptionsFromPath({env:s,filename:t}).then(t=>{const o=t.result;a=o.id,c="https://"+o.cdnDomain+"/"+o.ossPath;const s={url:"https://"+o.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:o.accessKeyId,Signature:o.signature,host:o.host,id:a,key:o.ossPath,policy:o.policy,success_action_status:200},fileName:"file",name:"file",filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},s,{onUploadProgress:r}))}).then(()=>this.reportOSSUpload({id:a})).then(t=>new Promise((n,r)=>{t.success?n({success:!0,filePath:e,fileID:c}):r(new i({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}deleteFile({fileList:e}){const t={method:"serverless.file.resource.delete",params:JSON.stringify({id:e[0]})};return this.request(this.setupRequest(t))}getTempFileURL({fileList:e}){return new Promise((t,n)=>{t({fileList:e.map(e=>({fileID:e,tempFileURL:e}))})})}}const g={init(e){const t=new y(e);["deleteFile, getTempFileURL"].forEach(e=>{t[e]=s(t[e]).bind(t)});const n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.constomAuth=t.auth,t}};var _,v,m=n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getQuery=function(e,t){if("undefined"==typeof window)return!1;var n=t||window.location.search,r=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),o=n.substr(n.indexOf("?")+1).match(r);return null!=o?o[2]:""},t.getHash=function(e){var t=window.location.hash.match(new RegExp("[#?&/]"+e+"=([^&#]*)"));return t?t[1]:""},t.removeParam=function(e,t){var n=t.split("?")[0],r=[],o=-1!==t.indexOf("?")?t.split("?")[1]:"";if(""!==o){for(var s=(r=o.split("&")).length-1;s>=0;s-=1)r[s].split("=")[0]===e&&r.splice(s,1);n=n+"?"+r.join("&")}return n},t.createPromiseCallback=function(){var e;if(!Promise){(e=function(){}).promise={};var t=function(){throw new Error('Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.')};return Object.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}var n=new Promise((function(t,n){e=function(e,r){return e?n(e):t(r)}}));return e.promise=n,e},t.getWeixinCode=function(){return t.getQuery("code")||t.getHash("code")},t.getMiniAppCode=function(){return new Promise((function(e,t){wx.login({success:function(t){e(t.code)},fail:function(e){t(e)}})}))},t.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},t.isString=function(e){return"string"==typeof e},t.isUndefined=function(e){return void 0===e},t.isInstanceOf=function(e,t){return e instanceof t},t.isFormData=function(e){return"[object FormData]"===Object.prototype.toString.call(e)},t.genSeqId=function(){return Math.random().toString(16).slice(2)},t.getArgNames=function(e){var t=e.toString();return t.slice(t.indexOf("(")+1,t.indexOf(")")).match(/([^\s,]+)/g)},t.formatUrl=function(e,t,n){void 0===n&&(n={});var r=/\?/.test(t),o="";for(var s in n)""===o?!r&&(t+="?"):o+="&",o+=s+"="+encodeURIComponent(n[s]);return/^http(s)?\:\/\//.test(t+=o)?t:""+e+t}})),b="dist/index.js",w="./dist/index.d.ts",T={build:"npm run tsc && webpack",tsc:"tsc -p tsconfig.json","tsc:w":"tsc -p tsconfig.json -w",test:"jest --verbose false -i",e2e:'NODE_ENV=e2e webpack && jest --config="./jest.e2e.config.js" --verbose false -i "e2e"',start:"webpack-dev-server --hot --open",eslint:'eslint "./**/*.js" "./**/*.ts"',"eslint-fix":'eslint --fix "./**/*.js" "./**/*.ts"',test_web:"npm run tsc && webpack-dev-server --devtool eval-source-map --progress --colors --hot --inline --content-base ./dist --host jimmytest-088bef.tcb.qcloud.la --port 80 --disableHostCheck true --mode development --config webpack.test.js"},E={type:"git",url:"https://github.com/TencentCloudBase/tcb-js-sdk"},S=["tcb","js-sdk"],O={"@cloudbase/adapter-interface":"^0.2.0","@cloudbase/adapter-wx_mp":"^0.2.1","@cloudbase/database":"^0.9.8"},k={"@babel/core":"^7.6.2","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-object-rest-spread":"^7.6.2","@babel/plugin-transform-runtime":"^7.6.2","@babel/preset-env":"^7.6.2","@babel/preset-typescript":"^7.6.0","@babel/runtime":"^7.6.2","@types/jest":"^23.1.4","@types/node":"^10.14.4","@types/superagent":"^4.1.4",axios:"^0.19.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.6","babel-polyfill":"^6.26.0",eslint:"^5.16.0","eslint-config-alloy":"^1.4.2","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-plugin-typescript":"^1.0.0-rc.3",express:"^4.17.1",husky:"^3.1.0",jest:"^24.7.1","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","power-assert":"^1.6.1",puppeteer:"^1.20.0","serve-static":"^1.14.1","ts-jest":"^23.10.4","ts-loader":"^6.2.1",typescript:"^3.4.3","typescript-eslint-parser":"^22.0.0",webpack:"^4.41.3","webpack-bundle-analyzer":"^3.4.1","webpack-cli":"^3.3.0","webpack-dev-server":"^3.3.1","webpack-merge":"^4.2.2","webpack-visualizer-plugin":"^0.1.11"},A={hooks:{"pre-commit":"lint-staged"}},P={name:"tcb-js-sdk",version:"1.3.5",description:"js sdk for tcb",main:b,types:w,scripts:T,repository:E,keywords:S,author:"jimmyjzhang",license:"ISC",dependencies:O,devDependencies:k,husky:A,"lint-staged":{"*.{js,ts}":["eslint --fix","git add"]}},I=(_=Object.freeze({__proto__:null,name:"tcb-js-sdk",version:"1.3.5",description:"js sdk for tcb",main:b,types:w,scripts:T,repository:E,keywords:S,author:"jimmyjzhang",license:"ISC",dependencies:O,devDependencies:k,husky:A,default:P}))&&_.default||_,N=n((function(t,n){var r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(n,"__esModule",{value:!0});var o=r(I);n.SDK_VERISON=o.version,n.ACCESS_TOKEN="access_token",n.ACCESS_TOKEN_Expire="access_token_expire",n.REFRESH_TOKEN="refresh_token",n.ANONYMOUS_UUID="anonymous_uuid",n.LOGIN_TYPE_KEY="login_type",n.protocol="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:",n.BASE_URL="e2e"===process.env.NODE_ENV&&"pre"===process.env.END_POINT?"//tcb-pre.tencentcloudapi.com/web":"//tcb-api.tencentcloudapi.com/web"}));!function(e){e.local="local",e.none="none",e.session="session"}(v||(v={}));var R=function(){},C=function(){};var x=Object.freeze({__proto__:null,get StorageType(){return v},AbstractSDKRequest:R,AbstractStorage:C,formatUrl:function(e,t,n){void 0===n&&(n={});var r=/\?/.test(t),o="";for(var s in n)""===o?!r&&(t+="?"):o+="&",o+=s+"="+encodeURIComponent(n[s]);return/^http(s)?\:\/\//.test(t+=o)?t:""+e+t}}),U=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__assign||function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=0?JSON.parse(n).content:""},e.prototype.removeStore=function(e){this.storageClass.removeItem(e)},e}();n.Cache=s;var i=function(e){function t(){var t=e.call(this)||this;return q.Adapter.adapter.root.tcbObject||(q.Adapter.adapter.root.tcbObject={}),t}return o(t,e),t.prototype.setItem=function(e,t){q.Adapter.adapter.root.tcbObject[e]=t},t.prototype.getItem=function(e){return q.Adapter.adapter.root.tcbObject[e]},t.prototype.removeItem=function(e){delete q.Adapter.adapter.root.tcbObject[e]},t.prototype.clear=function(){delete q.Adapter.adapter.root.tcbObject},t}(x.AbstractStorage)})),D=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0},e}();n.IEventEmitter=c;var u=new c;n.addEventListener=function(e,t){u.on(e,t)},n.activateEvent=function(e,t){void 0===t&&(t={}),u.fire(e,t)},n.removeEventListener=function(e,t){u.off(e,t)},n.EVENTS={LOGIN_STATE_CHANGED:"loginStateChanged",LOGIN_STATE_EXPIRE:"loginStateExpire",LOGIN_TYPE_CHANGE:"loginTypeChanged",ANONYMOUS_CONVERTED:"anonymousConverted",REFRESH_ACCESS_TOKEN:"refreshAccessToken"}})),L=n((function(t,n){var r=e&&e.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]Date.now())return[2,{credential:{accessToken:e,refreshToken:this.cache.getStore(this.refreshTokenKey)}}];this.cache.removeStore(this.accessTokenKey),this.cache.removeStore(this.accessTokenExpireKey)}if(!1===Object.values(c).includes(c[this.scope]))throw new Error("错误的scope类型");return q.Adapter.runtime!==q.RUNTIME.WX_MP?[3,2]:[4,l.getMiniAppCode()];case 1:return n=i.sent(),[3,4];case 2:return[4,l.getWeixinCode()];case 3:if(!(n=i.sent()))return[2,this.redirect()];i.label=4;case 4:return r=function(e){switch(e){case c.snsapi_login:return"WECHAT-OPEN";default:return"WECHAT-PUBLIC"}}(this.scope),[4,this.getRefreshTokenByWXCode(this.appid,r,n)];case 5:return o=i.sent(),s=o.refreshToken,this.cache.setStore(this.refreshTokenKey,s),o.accessToken&&this.cache.setStore(this.accessTokenKey,o.accessToken),o.accessTokenExpire&&this.cache.setStore(this.accessTokenExpireKey,o.accessTokenExpire+Date.now()),D.activateEvent(D.EVENTS.LOGIN_STATE_CHANGED),D.activateEvent(D.EVENTS.LOGIN_TYPE_CHANGE,h.LOGINTYPE.WECHAT),[2,{credential:{refreshToken:s}}]}}))}))},t.prototype.redirect=function(){var e=l.removeParam("code",location.href);e=l.removeParam("state",e),e=encodeURIComponent(e);var t="//open.weixin.qq.com/connect/oauth2/authorize";"snsapi_login"===this.scope&&(t="//open.weixin.qq.com/connect/qrconnect"),"redirect"===u[this.loginMode]&&(location.href=t+"?appid="+this.appid+"&redirect_uri="+e+"&response_type=code&scope="+this.scope+"&state="+this.state+"#wechat_redirect")},t}(h.default);n.default=p})),K=n((function(t,n){var r,o=e&&e.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=e&&e.__assign||function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]{d.request({url:$("https:",t),data:n,method:"POST",header:r,success(t){e(t)},fail(e){o(e)}})})}upload(e){return new Promise((t,n)=>{const{url:r,file:o,data:s,headers:i,fileType:a}=e,c=d.uploadFile({url:$("https:",r),name:"file",formData:Object.assign({},s),filePath:o,fileType:a,header:i,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&s.success_action_status&&(n.statusCode=parseInt(s.success_action_status,10)),t(n)},fail(e){"mp-alipay"===process.env.VUE_APP_PLATFORM&&"development"===process.env.NODE_ENV&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate(t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})})})}}const W={setItem(e,t){d.setStorageSync(e,t)},getItem:e=>d.getStorageSync(e),removeItem(e){d.removeStorageSync(e)},clear(){d.clearStorageSync()}};const z={genAdapter:function(){return{root:{},reqClass:B,localStorage:W,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};V.useAdapters(z);const J=V,X=J.init;function Q(e){return new Promise((t,n)=>{d.request({...e,success(e){t(e)},fail(e){n(e)}})})}function Z({name:e,data:t}){const{localAddress:n,localPort:r}=this,o=`http://${n}:${r}/cloudfunctions/${e}`;return Q({method:"POST",url:`http://${n}:${r}/system/check-function`,data:{name:e}}).then(({statusCode:e,data:t})=>{const{code:n,message:r}=t||{};return{code:n||"SYS_ERR",message:r||"SYS_ERR"}}).then(({code:n,message:r})=>{if(!n){switch(n){case"MODULE_ENCRYPTED":console.error("此云函数依赖加密公共模块不可本地调试,自动切换为已部署的云函数");break;case"FUNCTION_ENCRYPTED":console.error("此云函数已加密不可本地调试,自动切换为已部署的云函数");break;case"SWITCH_TO_CLOUD":break;default:console.error(`检测本地调试服务出现错误:${r},自动切换为已部署的云函数`)}return this.originCallFunction({name:e,data:t})}return new Promise((e,n)=>{Q({method:"POST",url:o,data:t}).then(({statusCode:t,data:r})=>!t||t>=400?n(new i({code:r.code||"SYS_ERR",message:r.message||"request:fail"})):e({result:r})).catch(e=>n(new i({code:e.code||"SYS_ERR",message:e.message||"request:fail"})))})})}J.init=function(e){e.env=e.spaceId;const t=X.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;const n=t.auth;t.auth=function(e){const t=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach(e=>{t[e]=s(t[e]).bind(t)}),t},t.customAuth=t.auth;return["deleteFile","getTempFileURL","downloadFile"].forEach(e=>{t[e]=s(t[e]).bind(t)}),t};let ee,te;function ne(e){ee||(ee={PLATFORM:process.env.VUE_APP_PLATFORM,OS:u,APPID:a.appid,CLIENT_SDK_VERSION:"1.0.0"},te={ak:a.appid,p:"android"===u?"a":"i",ut:f(),uuid:h()});const t=JSON.parse(JSON.stringify(e.data||{})),n=e.name,r=this.config.spaceId,o={tencent:"t",aliyun:"a"}[this.config.provider],s=Object.assign({},te,{fn:n,sid:r,pvd:o});if(Object.assign(t,{clientInfo:ee,uniCloudClientInfo:encodeURIComponent(JSON.stringify(s))}),!t.uniIdToken){const e=d.getStorageSync("uni_id_token")||d.getStorageSync("uniIdToken");e&&(t.uniIdToken=e)}return e.data=t,e}function re(e){const t=e.callFunction;e.callFunction=function(e){let n;return n=this.isReady?Promise.resolve():this.initUniCloud,n.then(()=>{const n=ne.call(this,e),r={aliyun:"aliyun",tencent:"tcb"}[this.config.provider];return new Promise((o,s)=>{t.call(this,n).then(t=>{if(this.config.useDebugFunction&&t&&t.requestId){const n=JSON.stringify({spaceId:this.config.spaceId,functionName:e.name,requestId:t.requestId});console.log(`[${r}-request]${n}[/${r}-request]`)}o(t)}).catch(t=>{if(this.config.useDebugFunction&&t&&t.requestId){const n=JSON.stringify({spaceId:this.config.spaceId,functionName:e.name,requestId:t.requestId});console.log(`[${r}-request]${n}[/${r}-request]`)}t&&t.message&&(t.message=`[${e.name}]: ${t.message}`),s(t)})})})};const n=e.callFunction;if(e.callFunction=function(e){return s(n).call(this,e)},"enable"===process.env.CF_LOCAL&&(!process.env.UNI_CLOUD_PROVIDER||1!==process.env.UNI_CLOUD_PROVIDER.length)){e.originCallFunction=e.callFunction,e.callFunction=function(t){let n;return n=e.isReady?Promise.resolve():this.initUniCloud,n.then(()=>Z.call(this,t))};const t=e.callFunction;e.callFunction=function(e){return s(t).call(this,e)}}}const oe=Symbol("CLIENT_DB_INTERNAL");function se(e,t){return e.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=oe,new Proxy(e,{get:(e,n,r)=>function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}(e,n)||e[n]||"string"!=typeof n?e[n]:t.get(e,n,r)})}class ie extends Error{constructor(e,t){super(e),this.code=t}}function ae(e){switch(t=e,Object.prototype.toString.call(t).slice(8,-1).toLowerCase()){case"array":return e.map(e=>ae(e));case"object":return e._internalType===oe||Object.keys(e).forEach(t=>{e[t]=ae(e[t])}),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}var t}let ce;async function ue(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await Q({url:n});return!(!e.data||0!==e.data.code)}catch(e){return!1}}let le=new class{init(e){let t={};const n=!1!==e.debugFunction&&"development"===process.env.NODE_ENV&&("h5"===process.env.VUE_APP_PLATFORM&&navigator.userAgent.indexOf("HBuilderX")>0||"app-plus"===process.env.VUE_APP_PLATFORM);switch(e.provider){case"tencent":t=J.init(Object.assign(e,{useDebugFunction:n}));break;case"aliyun":t=g.init(Object.assign(e,{useDebugFunction:n}));break;default:throw new Error("未提供正确的provider参数")}t.isReady=!1;const r=t.auth();return t.initUniCloud=r.getLoginState().then(e=>e?Promise.resolve():r.signInAnonymously()).then(()=>{if("development"===process.env.NODE_ENV&&"enable"===process.env.CF_LOCAL){let e;try{e=JSON.parse(process.env.CF_SERVER)}catch(e){throw console.error("调试服务连接失败"),e}const{address:t,servePort:n}=e;return async function(e,t){let n;for(let r=0;r{e&&(t.localAddress=e,t.localPort=n)}).then(()=>new Promise(e=>{"quickapp-native"===process.env.VUE_APP_PLATFORM?(u="android",uni.getStorage({key:"__DC_CLOUD_UUID",success(t){c=t.data?t.data:l(32),e()}})):setTimeout(()=>{u=uni.getSystemInfoSync().platform,c=uni.getStorageSync("__DC_CLOUD_UUID")||l(32),e()},0)})).then(()=>{t.isReady=!0}),re(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){let n;return n=this.isReady?Promise.resolve():this.initUniCloud,n.then(()=>t.call(this,e))};const n=e.uploadFile;e.uploadFile=function(e){return s(n).call(this,e)}}(t),function(e){e.database=function(){if(ce)return ce;const t={},n={};class r{constructor(e,t,n){this.content=e,this.prevStage=t,this.actionName=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map(e=>({$method:e.$method,$param:e.$param}))}}get useAggregate(){let e=this,t=!1;for(;e.prevStage;){e=e.prevStage;const n=e.content.$method;if("aggregate"===n||"pipeline"===n){t=!0;break}}return t}get count(){if(!this.useAggregate)return function(){return this._send("count",Array.from(arguments))};const e=this;return function(){return i({$method:"count",$param:ae(Array.from(arguments))},e,e.actionName)}}get(){return this._send("get",Array.from(arguments))}add(){return this._send("add",Array.from(arguments))}remove(){return this._send("remove",Array.from(arguments))}update(){return this._send("update",Array.from(arguments))}end(){return this._send("end",Array.from(arguments))}set(){throw new Error("客户端禁止使用set方法")}_send(r,o){const s=this.toJSON();return s.$db.push({$method:r,$param:o}),e.callFunction({name:"DCloud-clientDB",data:{action:this.actionName,command:s}}).then(e=>{const{code:r,message:o,token:s,tokenExpired:i}=e.result;return r?Promise.reject(new ie(o,r)):(s&&i&&t.refreshToken&&t.refreshToken.forEach(e=>{e({token:s,tokenExpired:i})}),s&&i&&n.refreshToken&&n.refreshToken.forEach(e=>{e({token:s,tokenExpired:i})}),Promise.resolve(e))}).catch(e=>{const t=new ie(e.message,e.code||"SYSTEM_ERROR");return n.error&&n.error.forEach(e=>{e(t)}),/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn("clientDB未初始化,请在web控制台保存一次schema以开启clientDB"),Promise.reject(e)})}}const o=["db.Geo","db.command","command.aggregate"];function s(e,t){return o.indexOf(`${e}.${t}`)>-1}function i(e,t,n){return se(new r(e,t,n),{get(e,t){let r="db";return e&&e.content&&(r=e.content.$method),s(r,t)?i({$method:t},e,n):function(){return i({$method:t,$param:ae(Array.from(arguments))},e,n)}}})}function a({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map(e=>({$method:e})),{$method:t,$param:this.param}]}}}}const c={auth:{on:(e,n)=>{t[e]=t[e]||[],t[e].indexOf(n)>-1||t[e].push(n)},off:(e,n)=>{t[e]=t[e]||[];const r=t[e].indexOf(n);-1!==r&&t[e].splice(r,1)}},on:(e,t)=>{n[e]=n[e]||[],n[e].indexOf(t)>-1||n[e].push(t)},off:(e,t)=>{n[e]=n[e]||[];const r=n[e].indexOf(t);-1!==r&&n[e].splice(r,1)},env:se({},{get:(e,t)=>({$env:t})}),action:e=>se({},{get:(t,n)=>s("db",n)?i({$method:n},null,e):function(){return i({$method:n,$param:ae(Array.from(arguments))},null,e)}}),Geo:se({},{get:(e,t)=>a({path:["Geo"],method:t})}),get serverDate(){return a({path:[],method:"serverDate"})},get RegExp(){return a({path:[],method:"RegExp"})}};return ce=se(c,{get:(e,t)=>s("db",t)?i({$method:t}):function(){return i({$method:t,$param:ae(Array.from(arguments))})}}),ce}}(t),t.init=this.init,t}};try{let e={};1===process.env.UNI_CLOUD_PROVIDER.length&&(e=process.env.UNI_CLOUD_PROVIDER[0]),le=le.init(e)}catch(e){["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database"].forEach(e=>{le[e]=function(){const e=process.env.UNI_CLOUD_PROVIDER.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":"应用未关联服务空间,请在cloudfunctions目录右键关联服务空间";return console.error(e),Promise.reject(new i({code:"SYS_ERR",message:e}))}})}var he=le;export default he; -- GitLab