Common.js 10 KB
cc.Class({
    extends: cc.Component,

    properties: {
        // foo: {
        //    default: null,      // The default value will be used only when the component attaching
        //                           to a node for the first time
        //    url: cc.Texture2D,  // optional, default is typeof default
        //    serializable: true, // optional, default is true
        //    visible: true,      // optional, default is true
        //    displayName: 'Foo', // optional
        //    readonly: false,    // optional, default is false
        // },
        // ...
    },
    // use this for initialization
    onLoad: function () {

    },
    statics: {

        VERSION: "3.1.06",

        SCREEN_WIDTH: 1280.0,
        SCREEN_HEIGHT: 720.0,

        MOVE_DIRECTION_UP: 0,
        MOVE_DIRECTION_RIGHT: 1,
        MOVE_DIRECTION_DOWN: 2,
        MOVE_DIRECTION_LEFT: 3,


        FOCUS_FLY_DURATION: 0.2,
        FOCUS_BREATH_DURATION: 0.8,

        //Action Tag
        FEATURE_NODE_TRANSFER: 1,
        FOCUS_CELL_TRANSFER: 1,
        FOCUS_CONTAINER_TRANSFER: 1,
        FOCUS_CONTAINER_BREATH: 2,
        FOCUS_CONTAINER_JOGGLE: 3,




        OVERLENGTH_MOVING: 4,

        SCROLL_BY_FOCUS_CHANGE: 5,


        API_SORT_ASC: 'asc',
        API_SORT_DESC: 'desc',

        FEMALE: 0,
        MALE: 1,
        BAND: 2,

        ANDROID_KEY: {
            back: 6,
            up: 1003,
            right: 1001,
            down: 1004,
            left: 1000,
            enter: 1005
        },


        BUSINESS_PARAMETER: {
            //  {:,

        },


        OFFICIAL_PLATFORM_IP: 'http://139.196.192.33/',
        TEST_PLATFORM_IP: 'http://139.196.192.242:8081/',

        // TOPDRAW_API_SERVER :  'http://139.196.192.242:8081/hyperion.chimera/',
        // TOPDRAW_IMAGE_SERVER : 'http://139.196.192.242:8081/hyperion.resource/',
        // TOPDRAW_API_SERVER :  'http://39.130.160.199:8081/hyperion.chimera/',
        // TOPDRAW_IMAGE_SERVER : 'http://39.130.160.199:8081/hyperion.resource/',

        // TOPDRAW_LOG_SERVER:'http://139.196.37.202/sparrow.resource/',
        // // BI_BASE_PATH : 'http://139.196.192.242:81/1.gif',
        // BI_BASE_PATH : 'http://39.130.160.23:81/1.gif',



        //2019.8.16修改新服务器
        TOPDRAW_API_SERVER: 'http://demo.cloud.api.findfun.topdraw.cn:38081/findfun/',
        TOPDRAW_IMAGE_SERVER: 'http://demo.cloud.api.findfun.topdraw.cn:38081/findfun/',

        TOPDRAW_LOG_SERVER: 'http://139.196.37.202/sparrow.resource/',
        // BI_BASE_PATH : 'http://139.196.192.242:81/1.gif',
        BI_BASE_PATH: 'http://melody.hi.a170.ottcn.com:80/1.gif',
        BI_BASE_PATH_NEW: 'http://melody.hi.a170.ottcn.com:80/2.gif',


        TV_LINK_ACTION_CLICK: 100,
        TV_LINK_ACTION_HOVER: 101,

        API_TOKEN: 'dd4b1968eb5b417e834c2687e23d2471',    //c744677d2c4e47e5987c8573325d2c56
        // TEST_API_TOKEN:'9b16e7b8ecc64a1d9df89bd394d6a06b',
        TEST_API_TOKEN: 'dd4b1968eb5b417e834c2687e23d2471',
        TEST_PLAY_URL: "http://39.130.192.215:6060/000000003200/866b5508be484775905dcfcdc9f18e3f/index.m3u8",
        USER_ID: '',
        AUTH_STATUS: 0,     //鉴权默认不成功  fix jerry
        AUTH_PRODUCT: "",
        AUTHORIZATIONNUM: "",
        DEBUG_MODE: 0,//0非调试模式,1调试模式
        //PLAY_LIST_ITEM_COUNT_LIMIT : 100,
        PLAY_LIST_ITEM_COUNT_LIMIT: 100000,//本来上限是100首,因为需求的改来改去,我先把这里改成100000,糊一下上限的问题
        ADD_2_PLAY_LIST_CEIL_PROMPT_DURATION: 5,
        BACK_WITH_DETAIN: true,
        //TEST_API_TOKEN:'6b071a064fb047bbbd47c5b3326f34d5',    B2C 的 


        _bIsHotUpdate: false,
        PRODUCT_LIST: null,
        VALID_PLAY_TIME_DURATION: 5 * 60,
        MEDIA_INVALID_PROMPT: '该地区暂未上线本歌曲,马上为您播放下一首哦!',
        g_strCurrentSceneName: "",
        g_iPlayerPlayedTime: 0,
        g_strPlayerPlayedId: null,
        g_oSpriteFrame: {},
        g_oSpriteFrameURL: {},
        g_oTextureInUsage: {},
        g_oRomoteURLTexture: {},
        g_aDebugKey: ["up", "up", "up", "up", "right", "right", "right", "down", "down", "left"],
        g_iDebugIndex: 0,
        loadRes: function (strResourceURL,/*iResourceIndex,*/onSuccess, onError, oScope) {
            cc.loader.loadRes(strResourceURL,
                function (error, loadedResource) {
                    cc.g_oUsedPrefabPaths[strResourceURL] = strResourceURL;
                    if (error) {
                        if (null != oScope) {
                            onError.call(oScope, error);
                        } else {
                            onError(error);
                        }
                    } else {
                        if (null != oScope) {
                            onSuccess.call(oScope, loadedResource/*,iResourceIndex*/);
                        } else {
                            onSuccess(loadedResource/*,iResourceIndex*/);
                        }
                    }
                }
            );

        },
        setTimeout: function (onTimeComplete, iDuration, oScope, argements) {

            /*
            window.setTimeout(onTimeComplete,iDuration,);
            
            
            cc.loader.loadRes(strResourceURL, 
                function(error,loadedResource){
                    if (error){
                        if(null!=oScope){
                            onError.call(oScope,error);
                        }else{
                            onError(error);
                        }   
                    }else{
                        if(null!=oScope){
                            onSuccess.call(oScope,loadedResource);
                        }else{
                            onSuccess(loadedResource);
                        }   
                    }             
                }            
            );
            */
        },
        getAbsolutePositionX: function (node) {

        },
        getAbsolutePositionY: function (node) {

        },
        promiseAjax: function () {

        },

        getNodePath: function (node) {
            let strPath = "";
            if (node) {
                while (node.parent && node.parent.parent) {//不算TopCanvas
                    strPath = "/" + node.name + strPath;
                    node = node.parent;
                }
            }
            return strPath.substring(1);
        },
        getX: function (tempNode) {
            let fCenterX = 0;
            while (tempNode.parent && tempNode.parent.parent) {//不算TopCanvas
                fCenterX += tempNode._fX || tempNode.x;
                tempNode = tempNode.parent;
            }
            return fCenterX;
        },
        getY: function (tempNode) {
            let fCenterY = 0;
            while (tempNode.parent.parent) {//不算TopCanvas
                //cc.log(tempNode.name+"  Y: "+tempNode.y)
                fCenterY += tempNode._fY || tempNode.y;
                tempNode = tempNode.parent;
            }
            return fCenterY;
        },

        /**
         * 用于合并对象 By Eva
         * @param target
         * @param firstSource
         * @returns {any}
         */
        assign: function (target, firstSource) {
            if (target === undefined || target === null)
                throw new TypeError("Cannot convert first argument to object");
            var to = Object(target);
            for (var i = 1; i < arguments.length; i++) {
                var nextSource = arguments[i];
                if (nextSource === undefined || nextSource === null) continue;
                var keysArray = Object.keys(Object(nextSource));
                for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
                    var nextKey = keysArray[nextIndex];
                    var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
                    if (desc !== undefined && desc.enumerable) to[nextKey] = nextSource[nextKey];
                }
            }
            return to;
        },

        renderSpriteByLocalImage: (localImgPath, sprite) => {
            cc.loader.loadRes(localImgPath, cc.SpriteFrame, (err, spriteFrame) => {
                if (err) {
                    cc.error(err.message || err);
                    return;
                }
                cc.log('Result should be a sprite frame: ' + (spriteFrame instanceof cc.SpriteFrame));
                sprite.spriteFrame = spriteFrame;
            });
        },
        /**
         *
         * @param fnSuccess 成功操作
         * @param iDelayDuration 延迟时间
         * @param fnTimeout 超时操作
         * @param oScope 作用域
         * @param strTag 操作标签,防止重复操作
         * @returns {Function}
         */
        timeoutify: function (fnSuccess, iDelayDuration, fnTimeout, oScope, strTag) {
            oScope.scheduleOnce(function () {
                !oScope["Request" + strTag + "Loaded"] && fnTimeout && fnTimeout.call(oScope);
                oScope["Request" + strTag + "Timout"] = true;
            }, iDelayDuration);
            return function () {
                //未超时
                if (!oScope["Request" + strTag + "Timout"]) {
                    oScope.unschedule(oScope.timeout);
                    fnSuccess.apply(oScope, arguments);
                }
            }
        },
        uuid: function (len, radix) {
            var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
            var uuid = [], i;
            radix = radix || chars.length;
            if (len) {
                for (i = 0; i < len; i++) uuid[i] = chars[0 | (eval('Math.random()') * radix)];
            } else {
                var r;
                uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
                uuid[14] = "4";
                for (i = 0; i < 36; i++) {
                    if (!uuid[i]) {
                        r = 0 | (eval('Math.random()') * 16);
                        uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
                    }
                }
            }
            return uuid.join("");
        }

    }
});