Commit ca1fd454 authored by zhangjinzhou's avatar zhangjinzhou

调整分页接口

parent 37e957aa
......@@ -759,7 +759,7 @@ export const updateMainTimerAfterGetData = (chapter = -1) => {
NetManager.ins.hc_home(() => {
if (chapter != -1) {
//更新地图关卡数据
levelHomeData.updateLevelData(chapter)
levelHomeData.getLevelDataNew(chapter,chapter);
}
updateMainTimer();
......
......@@ -2622,4 +2622,19 @@ export class NetManager extends ABNetManager {
};
this.send(net);
}
public hc_levelhomeNew(callback:Function,startlevel:Number,endlevel:Number):void{
const net: INetData = {
name: 'hc_levelhomenew',
uri: window['duiba'] + '/customActivity/happyclear/findConsumerRecordsNew',
type: 'get',
dataType: 'json',
param: {
activityId: DataManager.ins.customCfgData.actId,
lowerLevel:startlevel,
upperLevel:endlevel
},
callback: callback
};
this.send(net);
}
}
\ No newline at end of file
......@@ -12,121 +12,147 @@ export default class levelHomeData {
if (this.leveldata[idx]) {
return this.leveldata[idx].stars;
} else {
console.error("未取到对应数据===》", idx);
// console.error("未取到对应数据===》", idx);
return 1;
}
}
static async getPageLevelData(idx, pagesize = 30) {
static async getLevelDataNew(startlevel, endlevel) {
return new Promise((r) => {
let playerlevel = getHomeData().playerlevel;
if(idx>playerlevel){
return r();
if (startlevel > playerlevel) {
startlevel = playerlevel;
}
if (endlevel > playerlevel) {
endlevel = playerlevel;
}
if (startlevel < 1) {
startlevel = 1;
}
let chalevel = playerlevel - idx;
let pageno = Math.floor(chalevel / pagesize);
let startidx = playerlevel - pageno * pagesize;
let endidx = startidx - pagesize;
if (endidx < 0) {
endidx = 0;
if (endlevel < 1) {
endlevel = 1;
}
let shouldget = false;
for (let i1 = endidx+1; i1 < startidx; i1++) {
for (let i1 = startlevel; i1 <= endlevel; i1++) {
if (!this.leveldata[i1]) {
// console.log("33",this.leveldata[i1],this.leveldata,i1);
shouldget = true;
break;
}
}
// console.log("获取关卡数据==》shouldget", shouldget, this.leveldata, startlevel, endlevel);
if (!shouldget) {
// console.error("已存在,不必请求");
return r();
}else{
// console.error("还需要请求=====》",endidx,startidx,idx,this.leveldata);
}
NetManager.ins.hc_levelhome((s, data) => {
// console.error("hc_levelhome",s,data);
console.error("获取关卡数据==》", startlevel, endlevel);
NetManager.ins.hc_levelhomeNew((s, data) => {
if (s) {
if (data && data.data) {
let levels = data.data;
let levelsleng = levels.length - 1;
let j=0;
let j = 0;
for (let i = levelsleng; i > -1; i--) {
let idata = levels[i];
this.leveldata[startidx-j] = idata;
this.leveldata[startlevel + j] = idata;
j++;
}
if(idx==8){
if(!this.leveldata[1]){
this.getPageLevelData(1);
}
}
console.log("关卡数据添加==》",this.leveldata);
}
// console.log("getPageLevelData",this.leveldata);
// console.error("请求一次page", pageno);
// console.log("获取levelData===>", this.leveldata.length, pageno);
}
r();
}, pageno, pagesize);
return;
}, startlevel, endlevel);
})
}
static updateLevelData(idx, pagesize = 30) {
let playerlevel = getHomeData().playerlevel;
let chalevel = playerlevel-idx;
let pageno = Math.floor(chalevel/pagesize);
let startidx = playerlevel-pageno*pagesize;
NetManager.ins.hc_levelhome((s,data)=>{
if(s){
if(data&&data.data){
let levels = data.data;
let levelsleng = levels.length-1;
let j=0;
for(let i=levelsleng;i>-1;i--){
let idata = levels[i];
this.leveldata[startidx-j]=idata;
j++;
}
}
// console.log("updateLevelData",this.leveldata);
// try{
// if(SceneCtrl.instance.mapscene){
// // console.log("updateLevelData更新mapscene");
// // SceneCtrl.instance.mapscene.updateScene();
// }
// }catch(e){
// static async getPageLevelData(idx, pagesize = 30) {
// return new Promise((r) => {
// let playerlevel = getHomeData().playerlevel;
// if(idx>playerlevel){
// return r();
// }
// let chalevel = playerlevel - idx;
// let pageno = Math.floor(chalevel / pagesize);
// let startidx = playerlevel - pageno * pagesize;
// let endidx = startidx - pagesize;
// if (endidx < 0) {
// endidx = 0;
// }
// let shouldget = false;
// for (let i1 = endidx+1; i1 < startidx; i1++) {
// if (!this.leveldata[i1]) {
// // console.log("33",this.leveldata[i1],this.leveldata,i1);
// shouldget = true;
// break;
// }
// }
// if (!shouldget) {
// // console.error("已存在,不必请求");
// return r();
// }else{
// // console.error("还需要请求=====》",endidx,startidx,idx,this.leveldata);
// }
// NetManager.ins.hc_levelhome((s, data) => {
// // console.error("hc_levelhome",s,data);
// if (s) {
// if (data && data.data) {
// let levels = data.data;
// let levelsleng = levels.length - 1;
// let j=0;
// for (let i = levelsleng; i > -1; i--) {
// let idata = levels[i];
// this.leveldata[startidx-j] = idata;
// j++;
// }
// if(idx==8){
// if(!this.leveldata[1]){
// this.getPageLevelData(1);
// }
// }
// }
// // console.log("getPageLevelData",this.leveldata);
// // console.error("请求一次page", pageno);
// // console.log("获取levelData===>", this.leveldata.length, pageno);
// }
// r();
// }, pageno, pagesize);
// return;
// })
// }
// static updateLevelData(idx, pagesize = 30) {
// let playerlevel = getHomeData().playerlevel;
// let chalevel = playerlevel-idx;
// let pageno = Math.floor(chalevel/pagesize);
// let startidx = playerlevel-pageno*pagesize;
// NetManager.ins.hc_levelhome((s,data)=>{
// if(s){
// if(data&&data.data){
// let levels = data.data;
// let levelsleng = levels.length-1;
// let j=0;
// for(let i=levelsleng;i>-1;i--){
// let idata = levels[i];
// this.leveldata[startidx-j]=idata;
// j++;
// }
// }
// }
// },pageno,pagesize);
// return;
// }
// }
}
},pageno,pagesize);
return;
// let pageno = Math.ceil(idx / pagesize);
// let startidx = pagesize * (pageno - 1);
// NetManager.ins.hc_levelhome((s, data1) => {
// if (s) {
// let data = data1;
// if (data && data.data && data.data.levels) {
// let levels = data.data.levels;
// let levelsleng = levels.length - 1;
// for (let i = levelsleng; i > -1; i--) {
// let idata = levels[i];
// this.leveldata[i + startidx] = idata;
// }
// }
// }
// }, pageno, pagesize);
}
static async initMapLevelData() {
let playerlevel = getHomeData().playerlevel;
if(playerlevel>30){
if(playerlevel>60){
await this.getPageLevelData(8);
if (playerlevel > 30) {
if (playerlevel > 60) {
await this.getLevelDataNew(1, 8);
}
await this.getPageLevelData(playerlevel-30);
await this.getLevelDataNew(playerlevel - 8, playerlevel);
} else {
await this.getLevelDataNew(1, playerlevel);
}
await this.getPageLevelData(playerlevel);
}
}
\ No newline at end of file
......@@ -5182,7 +5182,8 @@ export default class MainScene extends Scene {
data.level = this.chapter;
NetManager.ins.hc_home(() => {
//更新地图关卡数据
levelHomeData.updateLevelData(this.chapter)
// levelHomeData.updateLevelData(this.chapter)
levelHomeData.getLevelDataNew(this.chapter,this.chapter);
SceneCtrl.instance.change(ModuleTypes.MAP_SCENE, data,function(){
// console.error("complete==>func");
SceneCtrl.instance.mapscene.awakeShow();
......
......@@ -585,12 +585,13 @@ export default class MapScene extends Scene {
let page1 = Math.floor((playerlevel - i3endlevel) / pagesize);
let page2 = Math.floor((playerlevel - i3startlevel) / pagesize);
if (page1 != page2) {
await levelHomeData.getPageLevelData(i3startlevel);
await levelHomeData.getPageLevelData(i3endlevel);
} else {
await levelHomeData.getPageLevelData(i3endlevel);
}
await levelHomeData.getLevelDataNew(i3startlevel,i3endlevel);
// if (page1 != page2) {
// await levelHomeData.getPageLevelData(i3startlevel);
// await levelHomeData.getPageLevelData(i3endlevel);
// } else {
// await levelHomeData.getPageLevelData(i3endlevel);
// }
this.changePartLevelShow(i3map, i3startlevel, "mid");
}
}
......
......@@ -213,6 +213,9 @@ const config = {
'/customActivity/happyclear/findConsumerRecords': {
data: './happyclear/homelevel.json'
},
'/customActivity/happyclear/findConsumerRecordsNew': {
data: './happyclear/homelevel.json'
},
};
for (let item in config) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment