UNPKG

tplus-api

Version:

tplus api invoke

1 lines 3.45 kB
{"version":3,"sources":["tplus-api/../src/store/ReLoginStore.ts"],"names":[],"mappings":"AAEA,cAAM,YAAY;IAEd,OAAO,SAAK;IACZ,QAAQ,KAAM;IAEd,QAAQ,SAAS;IACjB,YAAY,SAAuB;IACnC,SAAS,SAAuB;IAEhC;;;OAGG;IACH,eAAe,CAAC,YAAY,KAAA;IAK5B;;;OAGG;IACH,YAAY,CAAC,SAAS,KAAA;IAKtB;;OAEG;WACU,OAAO;IASpB;;OAEG;WACU,SAAS;IAatB;;OAEG;IACG,YAAY;IAalB;;OAEG;IACG,KAAK;IAgBL,KAAK;IASX;;OAEG;IACH,IAAI;CAGP;AACD,eAAe,YAAY,CAAC","file":"ReLoginStore.d.ts","sourcesContent":["import User from '../model/User';\nimport axios from 'axios';\nclass ReLoginStore{\n\n timerId = 0;\n timerObj = {};//控制轮训的标识位\n\n unitTime = 1000; //单位秒\n intervalTime = 10 * this.unitTime; //轮训时间间隔 \n delayTime = 30 * this.unitTime; //轮训时间间隔\n\n /**\n * 设置轮训时间间隔\n * @param {*} intervalTime 秒\n */\n setIntervalTime(intervalTime){\n this.intervalTime = intervalTime * this.unitTime;\n return this;\n }\n\n /**\n * 设置延迟启动时间\n * @param {*} delayTime \n */\n setDelayTime(delayTime){\n this.delayTime = delayTime * this.unitTime;\n return this;\n }\n\n /**\n * 重登陆方法\n */\n static async relogin() {\n const user = Object.assign(new User(),User.restore());\n const param = {\n clientName: window.localStorage.clientName,\n desc: window.localStorage.desc\n }\n await user.loginTplus(param);\n }\n\n /**\n * 延长session时长 重连接口\n */\n static async reconnect() {\n const user = User.restore();\n return new Promise((resolve,reject)=>{\n axios.create({baseURL: user.channel.targetURL}).get(`/sm/runmanage/linktplus.aspx?method=getonlinusers&token=${user.tplusToken}`).then((res)=>{\n if(res.status === 200 ){\n resolve(true);\n }else{\n resolve(false);\n }\n });\n });\n }\n\n /**\n * 判断当前环境是否是云部署\n */\n async isCloudProxy(){\n const user = User.restore();\n return new Promise((resolve,reject)=>{\n axios.create({baseURL: user.channel.targetURL}).get('/ajaxpro/Ufida.T.SM.Login.UIP.LoginManager,Ufida.T.SM.Login.UIP.ashx?method=GetVersionType').then((res)=>{\n if(res.status === 200 && res.data.value && res.data.value.IsCloudDeployment){\n resolve(res.data.value.IsCloudDeployment);\n }else{\n resolve(false);\n }\n });\n });\n }\n\n /**\n * 开启重登陆轮询\n */\n async start () {\n await this.delay();\n const id = this.timerId++;\n this.timerObj[id] = true;\n let timerObj = this.timerObj;\n let intervalTime = this.intervalTime;\n async function timerFn () {\n if (!timerObj[id]) {\n return\n }\n await ReLoginStore.reconnect();\n setTimeout(timerFn, intervalTime);\n }\n timerFn()\n }\n\n async delay(){\n const delayTime = this.delayTime;\n return new Promise((resolve,reject)=>{\n setTimeout(()=>{\n resolve();\n },delayTime);\n });\n }\n\n /**\n * 关闭轮询\n */\n stop () {\n this.timerObj = {}\n }\n}\nexport default ReLoginStore;"]}