EngineUtils.js 2.7 KB
/**
 * 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;