/** * Created by hoopoe8 on 2017/1/8. */ import Base64 from 'base64-js'; import UTF8 from 'utf-8'; class EngineUtils{ static isEmptyObject(O){ for (var x in O){ return false; } return true; } static arrayToJsonString(_param){ try{ return JSON.stringify(_param); }catch (err){ console.log("arrayToJsonString error:"+err.message); } return null; } static arrayFromJsonString(_param){ try{ return JSON.parse(_param); }catch (err){ console.log("arrayFromJsonString error:"+err.message); } return null; } //生成时间戳后9位 保证唯一 static creatSoleNumberFromTimestamp(){ let time = new Date().getTime(); let timestamp:int = time % 1000000000;//time后9位 return timestamp; } //生成时间戳毫秒 static creatTimestamp(){ let time = parseInt(new Date().getTime()/1000);//精确到毫秒 return time; } //生成时间戳 string static creatTimestampStr(){ let curTime = new Date(); let timeStr = "" + curTime.getFullYear() + "-"; timeStr += (curTime.getMonth()+1) + "-"; timeStr += curTime.getDate() + "-"; timeStr+=curTime.getHours() + "-"; timeStr+=curTime.getMinutes() + "-"; timeStr+=curTime.getSeconds(); return timeStr; } //生成时间戳 格式:"20170209" static creatTimestampYMD(){ let curTime = new Date(); let year = "" + curTime.getFullYear(); let month = "" +(curTime.getMonth()+1); let day = "" + curTime.getDate(); if(month.length<2){ month="0"+month; } if(day.length<2){ day="0"+day; } return year+month+day; } static objectToBase64(_object){ try{ let _objectStr=JSON.stringify(_object); //console.log("objectToBase64------1----------") let byte=UTF8.setBytesFromString(_objectStr); //console.log("objectToBase64------2----------") let _objectBase64=Base64.fromByteArray(byte); return _objectBase64 }catch (err){ console.log("objectToBase64 err:"+err.message); return ""; } return "" } static objectFromBase64(_objectBase64){ try{ let byte=Base64.toByteArray(_objectBase64); let _objectStr=UTF8.getStringFromBytes(byte); let _object=JSON.parse(_objectStr); return _object }catch (err){ console.log("objectFromBase64 err:"+err.message); return null; } return null } } export default EngineUtils;