"use strict"; cc._RF.push(module, '70062pr0GVInaTKlun3vtGf', 'vedio_model'); // Scripts/mod/vedio/vedio_model.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-05-16 17:20:08 // -------------------------------------------------------------------- var MainuiController = require("mainui_controller"); var MainuiConst = require("mainui_const"); var VedioModel = cc.Class({ "extends": BaseClass, ctor: function ctor() {}, properties: {}, initConfig: function initConfig() { this.today_like_num = 0; //-- 今日点赞数 this.today_like_is_full = false; //-- 今日是否点赞数达到最大 this.all_vedio_data = {}; // 全部录像数据 this.filt_lv_flag = true; // 是否筛选等级相近的玩家录像 }, setPublicVedioData: function setPublicVedioData(data) { if (!data) return; var self = this; // -- 类型 if (!self.all_vedio_data[data.type]) { self.all_vedio_data[data.type] = {}; } // -- 条件 if (!self.all_vedio_data[data.type][data.cond_type]) { self.all_vedio_data[data.type][data.cond_type] = {}; } // -- 添加录像数据 if (!self.all_vedio_data[data.type][data.cond_type].vedio_data) { self.all_vedio_data[data.type][data.cond_type].vedio_data = []; } for (var i = 0; i < data.replay_list.length; ++i) { var v = data.replay_list[i]; self.all_vedio_data[data.type][data.cond_type].vedio_data.push(v); } // -- 判断一下数据是否已经达到最大值,达到了则不再继续请求数据 if (data.len > self.all_vedio_data[data.type][data.cond_type].vedio_data.length) { self.all_vedio_data[data.type][data.cond_type].is_full = false; } else { self.all_vedio_data[data.type][data.cond_type].is_full = true; } }, // -- 获取录像大厅数据 getPublicVedioData: function getPublicVedioData(vedioType, cond_type) { var vedio_data = {}; if (vedioType) { if (this.all_vedio_data[vedioType]) { vedio_data = this.all_vedio_data[vedioType][cond_type] || {}; } } return vedio_data; }, // -- 设置今日点赞数 setTodayLikeNum: function setTodayLikeNum(num) { this.today_like_num = num; var red_status = false; this.today_like_is_full = true; var likes_limit_cfg = Config.video_data.data_const["likes_limit"]; if (likes_limit_cfg && likes_limit_cfg.val > num) { red_status = true; this.today_like_is_full = false; } MainuiController.getInstance().setFunctionTipsStatus(MainuiConst.icon.vedio, red_status); }, getTodayLikeNum: function getTodayLikeNum() { return this.today_like_num; }, // -- 是否请求过录像数据 checkIsReqVedioDataByType: function checkIsReqVedioDataByType(vedioType, cond_type) { if (this.all_vedio_data[vedioType] && this.all_vedio_data[vedioType][cond_type]) { return true; } return false; }, getFiltLevelFlag: function getFiltLevelFlag() { return this.filt_lv_flag; }, // -- 缓存一下竞技场分页是否勾选筛选等级相近的玩家 setFiltLevelFlag: function setFiltLevelFlag(flag) { this.filt_lv_flag = flag; }, checkTodayLikeIsFull: function checkTodayLikeIsFull() { return this.today_like_is_full; }, // -- 更新数据(本地缓存主动更新) updateVedioData: function updateVedioData(vedioType, id, key, val) { var new_data; for (var i in this.all_vedio_data) { var all_data = this.all_vedio_data[i]; for (var k in all_data) { var v = all_data[k]; for (var m = 0; m < v.vedio_data.length; m++) { var vData = v.vedio_data[m]; if (vData.id == id) { vData[key] = val; new_data = vData; } } } } return new_data; } }); cc._RF.pop();