@ylink-sdk/meeting 0.2.0-beta.7 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]");class t{constructor(e){Object.defineProperty(this,"baseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_defaultHeaders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_beforeRequest",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_errorHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.baseURL=e.baseURL,this._beforeRequest=e.beforeRequest,this._errorHandler=e.error}_request(t){const{
|
|
1
|
+
"use strict";const e=e=>encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]");class t{constructor(e){Object.defineProperty(this,"baseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_defaultHeaders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_beforeRequest",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_errorHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.baseURL=e.baseURL,this._beforeRequest=e.beforeRequest,this._errorHandler=e.error}_request(t){const{timeout:r=18e5}=t;let{headers:l={}}=t;return t.url=i(this.baseURL,t.url||""),t.url=((t,r)=>{if(!r)return t;const n=[];Object.keys(r).forEach((t=>{const s=r[t];if(null==s)return;let o;Array.isArray(s)?(o=s,t+="[]"):o=[s],o.forEach((r=>{null!==r&&"object"==typeof r&&(r=JSON.stringify(r)),n.push(`${e(t)}=${e(r)}`)}))}));const s=n.join("&");if(s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t})(t.url,t.params),l=Object.assign(l,this._defaultHeaders),Object.keys(l).forEach((e=>{"Content-Type"!==e&&e.toUpperCase()==="Content-Type".toUpperCase()&&(l["Content-Type"]=l[e],delete l[e])})),o(t.data)&&(t.data=t.data.buffer),a(t.data)&&(l&&!l["Content-Type"]&&(l["Content-Type"]="application/json;charset=utf-8"),t.data=JSON.stringify(t.data)),t.headers=l,t.timeout=r,this._beforeRequest&&this._beforeRequest(t),"undefined"!=typeof wx&&void 0!==wx.request?s(t):n(t)}setDefaultHeader(e,t){e in this._defaultHeaders&&(""===t||null===t)?delete this._defaultHeaders[e]:this._defaultHeaders[e]=t}get(e,t){return this._errorHandler?this._request(Object.assign(t||{},{url:e,method:"GET"})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(t||{},{url:e,method:"GET"}))}post(e,t,r){return this._errorHandler?this._request(Object.assign(r||{},{url:e,method:"POST",data:t})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(r||{},{url:e,method:"POST",data:t}))}}class r{constructor(e){let t;Object.defineProperty(this,"promise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.promise=new Promise((e=>{t=e})),e((e=>{this.reason||(this.reason=e,t(this.reason))}))}static source(){let e;const t=new r((t=>{e=t}));return{cancel:e,token:t}}}const n=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:o="GET",headers:a,cancelToken:i,withResDate:l}=e;let u=new XMLHttpRequest;u.open(o.toUpperCase(),s,!0),u.timeout=e.timeout;const c=()=>{if(u){if(u.status>=200&&u.status<300)try{const e=JSON.parse(u.responseText);l&&(e.responseDate=new Date(u.getResponseHeader("Date")).getTime()),t(e)}catch(e){r(new Error("E_JSON_PARSE"+u.responseText))}else r({url:s,statusCode:u.status});u=null}};"onloadend"in u?u.onloadend=c:u.onreadystatechange=()=>{u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(c)},u.onabort=()=>{u&&(r({url:s,statusCode:u.status,type:"request abort"}),u=null)},u.onerror=()=>{r(new Error("Network Error")),u=null},u.ontimeout=()=>{r(new Error("timeout of "+e.timeout+"ms exceeded")),u=null},"setRequestHeader"in u&&Object.keys(a).forEach((e=>{null===n&&"content-type"===e.toLowerCase()?delete a[e]:u.setRequestHeader(e,a[e])})),i&&i.promise.then((e=>{u&&(u.abort(),r(e),u=null)})),u.send(n)})),s=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:o="GET",headers:a,cancelToken:i}=e,l=wx.request({url:s,data:n,method:o.toUpperCase(),timeout:e.timeout,header:a,success(e){e.statusCode>=200&&e.statusCode<300?t(e.data):r({url:s,statusCode:e.statusCode})},fail(e){r("request:fail abort"===e.errMsg&&i&&i.reason||e)}});i&&i.promise.then((()=>{l&&l.abort()}))})),o=e=>{let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t},a=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},i=(e,t)=>e&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)?((e,t)=>t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e)(e,t):t;function l(e,t,r,n){return new(r||(r=Promise))((function(s,o){function a(e){try{l(n.next(e))}catch(t){o(t)}}function i(e){try{l(n.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((n=n.apply(e,t||[])).next())}))}function u(e,t,r){return l(this,void 0,void 0,(function*(){const{inboxes:n,clientID:s,meetingID:o,cancelToken:a,status:i}=t;if(yield(()=>l(this,void 0,void 0,(function*(){let t;try{t=yield e.post("/ypush/api/v1/meeting-control/polling",{basic:{tenantId:100,clientId:s,meetingId:o},inboxes:n},{cancelToken:a,withResDate:!0})}catch(c){return i.attempts++,void console.error(c)}if(!t)return console.error("polling error: ","response is null"),void i.attempts++;const{data:l={},bizCode:u,error:c}=t;if(u&&900408!==u)return console.error("polling error: ",JSON.stringify(c)),void i.attempts++;i.attempts=0,l&&Object.keys(l).forEach((e=>{const t=n.find((t=>t.name===e));t&&(t.seqId=l[e].maxSeqId,l[e].items&&l[e].items.forEach((e=>{const t=JSON.parse(e.content);["liveStream","recording"].includes(t.event)&&(t.stime=e.stime),r(t)})))}))})))(),!i.running)return;if(i.attempts>c)return console.error("polling Max Attempts"),void(t.onError&&t.onError({message:"Max Attempts"}));const p=i.attempts?d(i.attempts):0;i.timer=setTimeout((()=>{i.running&&u(e,t,r)}),p)}))}const c=5,d=e=>{console.log(`computeNextTimeout attempts: ${e}`);let t=Math.floor(Math.random()*Math.pow(2,e)+1);return t<2&&(t=2),t>30&&(t=30),1e3*t},p=self;let f,h=r.source(),m="",b="",g="";const y={running:!1,attempts:0,timer:null};function w(e){f=new t({baseURL:m}),y.running=!0,u(f,{inboxes:e,clientID:b,meetingID:g,cancelToken:h.token,status:y},(e=>{p.postMessage(e)})),p.postMessage("pollingStarted")}function O(){y.running=!1,y.timer&&(clearTimeout(y.timer),y.timer=null),h.cancel(),h=r.source(),p.postMessage("pollingStopped")}p.addEventListener("message",(e=>{"baseURL"in e.data&&(m=e.data.baseURL),"clientID"in e.data&&(b=e.data.clientID),"meetingID"in e.data&&(g=e.data.meetingID);const{inboxes:t=[]}=e.data;"rePolling"in e.data&&(O(),w(t)),"status"in e.data&&(e.data.status?w(t):O())}),!1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ylink-sdk/meeting",
|
|
3
|
-
"version": "0.2.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Meeting control of yealink",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/meeting.esm.prod.js",
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"workers": ["polling.worker.ts"]
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@ylink-sdk/shared": "
|
|
28
|
+
"@ylink-sdk/shared": "0.2.0-beta.2"
|
|
29
29
|
}
|
|
30
30
|
}
|