"use strict";
|
cc._RF.push(module, '70062pr0GVInaTKlun3vtGf', 'vedio_model');
|
// Scripts/mod/vedio/vedio_model.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里填写详细说明,主要填写该模块的功能简要
|
// <br/>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();
|