import { IuserInfo } from '../../aim/face'; import { PlusOperateForm, PlusCommonWidget, PlusOperateData, PlusBaseDefine } from '../../main/index'; import Config from './config'; /** * 该类是逻辑处理类 只供current_support调用 * * @export * @class */ let apiZooConfig = { "key": Config.upConfig().apiKey, "token": '' } export default class LogicSupport { static upSyncCount() { let oResut: any = {}; let aData = PlusOperateForm.upSyncData(); oResut.formWaitData = aData.length; oResut.formFullData = PlusOperateData.formData.rootReadItemsByFilter('zzzkey!=""').length; oResut.ItemFullData = PlusOperateData.dataItem.rootReadItemsByFilter('zzzkey!=""').length; return oResut; } static upUserInfo() { return PlusOperateData.systemVariable.upValue(Config.upConfig().variableStart + 'user_info'); } static checkLogin() { let bFlagLogin = false; let oUserInfo: any = this.upUserInfo(); if (oUserInfo != undefined) { apiZooConfig.token = oUserInfo.token; bFlagLogin = true; } return bFlagLogin; } static userLoginSuccess(oResult, that) { //console.warn(JSON.stringify(oResult)); PlusOperateData.systemVariable.inValue(Config.upConfig().variableStart + 'user_info', oResult); } static loginOut() { PlusOperateData.formData.rootDangerClear(); PlusOperateData.systemVariable.rootDangerClear(); //PlusOperateData.systemVariable.deleteByKey(Config.upConfig().variableStart + 'user_info'); } static fetchApiPromise(sApiName, oParam) { oParam.zoo = apiZooConfig; let oOption = { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify(oParam) }; return fetch(Config.upConfig().apiUrl + sApiName, oOption) .then((response) => response.json()) .then((responseData: any) => { if (responseData.status == 1) { return responseData; } else { PlusCommonWidget.msgAlert(responseData.error); throw ('apierr'); } }); ; } //新版同步操作 靠事件触发同步 static syncListenerPromise(oSyncData): Promise { /* let sCodes=PlusOperateForm.waitForSync(2, ''); let aData = PlusOperateForm.upSyncData(); let oInput = {}; let syncTimestamp = PlusOperateData.systemVariable.upValue(Config.upConfig().variableStart + 'sync_timestamp'); if (syncTimestamp == undefined) { syncTimestamp = '0'; } oInput.lastSyncTimestamp = parseInt(syncTimestamp); oInput.dataUpload = aData; */ let oInput: any = {}; oInput.lastSyncTimestamp = parseInt(oSyncData.timeStamp); oInput.dataUpload = oSyncData.syncData; oInput.syncOperate = oSyncData.syncOperate; return LogicSupport.fetchApiPromise( "api/genapp/post/formsync", oInput ).then((oResult: any) => { let oSyncResult = { timeStamp: parseInt(oResult.serverTimestamp), syncData: [] }; if (oResult.dataDownload != undefined && oResult.dataDownload.length > 0) { oResult.dataDownload.forEach((oItem) => { //将格式转换为字符串 以兼容数据储存格式 oItem.clientTimestamp = oItem.clientTimestamp.toString(); oItem.dataTimestamp = oItem.dataTimestamp.toString(); oSyncResult.syncData.push(oItem); }); } return oSyncResult; /* if (oResult.dataDownload != undefined && oResult.dataDownload.length > 0) { oResult.dataDownload.forEach((oItem) => { //将格式转换为字符串 以兼容数据储存格式 oItem.clientTimestamp = oItem.clientTimestamp.toString(); oItem.dataTimestamp = oItem.dataTimestamp.toString(); }); PlusOperateData.formData.rootWriteItemValue(oResult.dataDownload); } PlusOperateForm.waitForSync(4, sCodes.join(',')); PlusOperateData.systemVariable.inValue(Config.upConfig().variableStart + 'sync_timestamp', oResult.serverTimestamp); */ }); } /** * 旧版同步操作 * * @static * @returns * * @memberof LogicSupport */ static syncFormDataPromise() { let aData = PlusOperateForm.upSyncData(); let oInput: any = {}; let syncTimestamp = PlusOperateData.systemVariable.upValue(Config.upConfig().variableStart + 'sync_timestamp'); if (syncTimestamp == undefined) { syncTimestamp = '0'; } oInput.lastSyncTimestamp = parseInt(syncTimestamp); oInput.dataUpload = aData; return this.fetchApiPromise( "api/genapp/post/formsync", oInput ).then((oResult) => { if (oResult.dataDownload != undefined && oResult.dataDownload.length > 0) { oResult.dataDownload.forEach((oItem) => { //将格式转换为字符串 以兼容数据储存格式 oItem.clientTimestamp = oItem.clientTimestamp.toString(); oItem.dataTimestamp = oItem.dataTimestamp.toString(); }); PlusOperateData.formData.rootWriteItemValue(oResult.dataDownload); } PlusOperateForm.waitForSync(4, ''); PlusOperateData.systemVariable.inValue(Config.upConfig().variableStart + 'sync_timestamp', oResult.serverTimestamp); }); } }