Commit ca1fd454 authored by zhangjinzhou's avatar zhangjinzhou

调整分页接口

parent 37e957aa
...@@ -759,7 +759,7 @@ export const updateMainTimerAfterGetData = (chapter = -1) => { ...@@ -759,7 +759,7 @@ export const updateMainTimerAfterGetData = (chapter = -1) => {
NetManager.ins.hc_home(() => { NetManager.ins.hc_home(() => {
if (chapter != -1) { if (chapter != -1) {
//更新地图关卡数据 //更新地图关卡数据
levelHomeData.updateLevelData(chapter) levelHomeData.getLevelDataNew(chapter,chapter);
} }
updateMainTimer(); updateMainTimer();
......
...@@ -2622,4 +2622,19 @@ export class NetManager extends ABNetManager { ...@@ -2622,4 +2622,19 @@ export class NetManager extends ABNetManager {
}; };
this.send(net); 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 { ...@@ -12,121 +12,147 @@ export default class levelHomeData {
if (this.leveldata[idx]) { if (this.leveldata[idx]) {
return this.leveldata[idx].stars; return this.leveldata[idx].stars;
} else { } else {
console.error("未取到对应数据===》", idx); // console.error("未取到对应数据===》", idx);
return 1; return 1;
} }
} }
static async getPageLevelData(idx, pagesize = 30) { static async getLevelDataNew(startlevel, endlevel) {
return new Promise((r) => { return new Promise((r) => {
let playerlevel = getHomeData().playerlevel; let playerlevel = getHomeData().playerlevel;
if(idx>playerlevel){ if (startlevel > playerlevel) {
return r(); startlevel = playerlevel;
}
if (endlevel > playerlevel) {
endlevel = playerlevel;
}
if (startlevel < 1) {
startlevel = 1;
} }
let chalevel = playerlevel - idx; if (endlevel < 1) {
let pageno = Math.floor(chalevel / pagesize); endlevel = 1;
let startidx = playerlevel - pageno * pagesize;
let endidx = startidx - pagesize;
if (endidx < 0) {
endidx = 0;
} }
let shouldget = false; let shouldget = false;
for (let i1 = endidx+1; i1 < startidx; i1++) {
for (let i1 = startlevel; i1 <= endlevel; i1++) {
if (!this.leveldata[i1]) { if (!this.leveldata[i1]) {
// console.log("33",this.leveldata[i1],this.leveldata,i1);
shouldget = true; shouldget = true;
break; break;
} }
} }
// console.log("获取关卡数据==》shouldget", shouldget, this.leveldata, startlevel, endlevel);
if (!shouldget) { if (!shouldget) {
// console.error("已存在,不必请求");
return r(); return r();
}else{
// console.error("还需要请求=====》",endidx,startidx,idx,this.leveldata);
} }
NetManager.ins.hc_levelhome((s, data) => { console.error("获取关卡数据==》", startlevel, endlevel);
// console.error("hc_levelhome",s,data); NetManager.ins.hc_levelhomeNew((s, data) => {
if (s) { if (s) {
if (data && data.data) { if (data && data.data) {
let levels = data.data; let levels = data.data;
let levelsleng = levels.length - 1; let levelsleng = levels.length - 1;
let j=0; let j = 0;
for (let i = levelsleng; i > -1; i--) { for (let i = levelsleng; i > -1; i--) {
let idata = levels[i]; let idata = levels[i];
this.leveldata[startidx-j] = idata; this.leveldata[startlevel + j] = idata;
j++; j++;
} }
if(idx==8){
if(!this.leveldata[1]){ console.log("关卡数据添加==》",this.leveldata);
this.getPageLevelData(1);
}
}
} }
// console.log("getPageLevelData",this.leveldata);
// console.error("请求一次page", pageno);
// console.log("获取levelData===>", this.leveldata.length, pageno);
} }
r(); r();
}, pageno, pagesize); }, startlevel, endlevel);
return;
}) })
} }
static updateLevelData(idx, pagesize = 30) { // static async getPageLevelData(idx, pagesize = 30) {
let playerlevel = getHomeData().playerlevel; // return new Promise((r) => {
let chalevel = playerlevel-idx; // let playerlevel = getHomeData().playerlevel;
let pageno = Math.floor(chalevel/pagesize); // if(idx>playerlevel){
let startidx = playerlevel-pageno*pagesize; // return r();
NetManager.ins.hc_levelhome((s,data)=>{ // }
if(s){ // let chalevel = playerlevel - idx;
if(data&&data.data){ // let pageno = Math.floor(chalevel / pagesize);
let levels = data.data; // let startidx = playerlevel - pageno * pagesize;
let levelsleng = levels.length-1; // let endidx = startidx - pagesize;
let j=0; // if (endidx < 0) {
for(let i=levelsleng;i>-1;i--){ // endidx = 0;
let idata = levels[i]; // }
this.leveldata[startidx-j]=idata; // let shouldget = false;
j++; // for (let i1 = endidx+1; i1 < startidx; i1++) {
} // if (!this.leveldata[i1]) {
} // // console.log("33",this.leveldata[i1],this.leveldata,i1);
// console.log("updateLevelData",this.leveldata); // shouldget = true;
// try{ // break;
// if(SceneCtrl.instance.mapscene){ // }
// // console.log("updateLevelData更新mapscene"); // }
// // SceneCtrl.instance.mapscene.updateScene(); // if (!shouldget) {
// } // // console.error("已存在,不必请求");
// }catch(e){ // 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() { static async initMapLevelData() {
let playerlevel = getHomeData().playerlevel; let playerlevel = getHomeData().playerlevel;
if(playerlevel>30){ if (playerlevel > 30) {
if(playerlevel>60){ if (playerlevel > 60) {
await this.getPageLevelData(8); await this.getLevelDataNew(1, 8);
} }
await this.getLevelDataNew(playerlevel - 8, playerlevel);
} else {
await this.getPageLevelData(playerlevel-30); 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 { ...@@ -5182,7 +5182,8 @@ export default class MainScene extends Scene {
data.level = this.chapter; data.level = this.chapter;
NetManager.ins.hc_home(() => { 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(){ SceneCtrl.instance.change(ModuleTypes.MAP_SCENE, data,function(){
// console.error("complete==>func"); // console.error("complete==>func");
SceneCtrl.instance.mapscene.awakeShow(); SceneCtrl.instance.mapscene.awakeShow();
......
...@@ -585,12 +585,13 @@ export default class MapScene extends Scene { ...@@ -585,12 +585,13 @@ export default class MapScene extends Scene {
let page1 = Math.floor((playerlevel - i3endlevel) / pagesize); let page1 = Math.floor((playerlevel - i3endlevel) / pagesize);
let page2 = Math.floor((playerlevel - i3startlevel) / pagesize); let page2 = Math.floor((playerlevel - i3startlevel) / pagesize);
if (page1 != page2) { await levelHomeData.getLevelDataNew(i3startlevel,i3endlevel);
await levelHomeData.getPageLevelData(i3startlevel); // if (page1 != page2) {
await levelHomeData.getPageLevelData(i3endlevel); // await levelHomeData.getPageLevelData(i3startlevel);
} else { // await levelHomeData.getPageLevelData(i3endlevel);
await levelHomeData.getPageLevelData(i3endlevel); // } else {
} // await levelHomeData.getPageLevelData(i3endlevel);
// }
this.changePartLevelShow(i3map, i3startlevel, "mid"); this.changePartLevelShow(i3map, i3startlevel, "mid");
} }
} }
......
...@@ -213,6 +213,9 @@ const config = { ...@@ -213,6 +213,9 @@ const config = {
'/customActivity/happyclear/findConsumerRecords': { '/customActivity/happyclear/findConsumerRecords': {
data: './happyclear/homelevel.json' data: './happyclear/homelevel.json'
}, },
'/customActivity/happyclear/findConsumerRecordsNew': {
data: './happyclear/homelevel.json'
},
}; };
for (let item in config) { 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