| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import Common from '../common/Common';
- import DataModelBase from '../framework/DataModelBase';
- import DataModelManager from '../framework/DataModelManager';
- import LogicUnitManager from '../framework/LogicUnitManager';
- import Event from '../net/Event';
- // TODO 查询数据保存到WeekRank中
- export default class WeekQuery extends DataModelBase
- {
- constructor(modelName)
- {
- super(modelName);
- this.weekRank = DataModelManager.getModel('WeekRank');
- this.configData = DataModelManager.getModel('ConfigData');
- this.lum = LogicUnitManager;
- this.loginLogic = this.lum.getBehavior('LoginBehavior');
- }
- getPullRankInfoUrl(rankType)
- {
- //return requestUrl + areaCode;
- }
- pullData(rankType)
- {
- var requestUrl = this.configData.getApiAddress() == '' ? 'http://192.168.3.178:8080/ranklist/pull_area_ranklist' : this.configData.getApiAddress()+'/ranklist/pull_area_ranklist';
- var areaCode = this.loginLogic.area_code;
-
- switch(rankType)
- {
- case Common.RankType.CityRank:
- areaCode = areaCode / 100 * 100;
- break;
- case Common.RankType.ProvinceRank:
- areaCode = areaCode / 10000 * 10000;
- break;
- case Common.RankType.CountryRank:
- areaCode = 111111;
- break;
- }
- this.weekRank.clearBuff();
- var xhr = cc.loader.getXMLHttpRequest();
- xhr.open("POST", requestUrl, true);
- let self = this;
- xhr.onreadystatechange = function()
- {
- if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 300))
- {
- console.log('http res(' + xhr.responseText.length + '):' + xhr.responseText);
- try
- {
- var ret = JSON.parse(xhr.responseText);
- self.onGetDataSuccess(rankType, ret);
- }
- catch(e)
- {
- console.log('err:' + e);
- }
- }
- };
- var body = {"area_code" : areaCode.toString() };
- xhr.send(JSON.stringify(body));
- }
- // TODO 保存数据
- onGetDataSuccess(rankType, json)
- {
- //this.weekRank.addRank(rankType, rankInfo);
- for (var i = 0; i < json.records.length; ++i)
- {
- var rankInfo =
- {
- headUrl : 'https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJ0J3Obq3uG2q5Pib0S3B8ickiaaLhffLbqLWiaiaiaFW2nHrxDWI4uoGibyKDUHhtNNoYmaYbDwtSFbbrVg/132',
- nickName : 'avatar',
- weekScore : 890,
- };
- if (!json.records[i].userInfo)
- {
- continue;
- }
- var userInfo = JSON.parse(json.records[i].userInfo);
- rankInfo.weekScore = json.records[i].score ? json.records[i].score : 0;
- rankInfo.headUrl = userInfo.avatarUrl;
- rankInfo.nickName = userInfo.nickName;
- this.weekRank.addRank(rankType, rankInfo);
- }
- this.weekRank.swapBuff(rankType);
- this.loginLogic.emit(Event.COM_MSG.REFRESH_RANK_VIEW);
- }
- }
|