import AppSdk from "./AppSdk"; import DateUtils from "../uitl/DateUtils"; import ObjectInstance from "../uitl/ObjectInstance"; /**转盘 获取转盘机会的 */ export default class LuckDrawModel { private _data: LuckDrawData; private propRemove: number = 0; private propChange: number = 0; async init() { this._data = await this.initData(); AppSdk.I.putData('luckDrawProp', JSON.stringify({ remove: 0, change: 0 })) AppSdk.I.putData('LuckDrawToSign', JSON.stringify({ istoSignin: 0 })) } async initData() { let data = new LuckDrawData; let lastTime = Laya.LocalStorage.getItem('LuckDrawLastTime') || '0'; data.luckDrawLastTime = parseInt(lastTime); let last = DateUtils.timeDay(data.luckDrawLastTime); let today = DateUtils.today; if (last != today) { lastTime = DateUtils.nowTime.toString(); Laya.LocalStorage.setItem('LuckDrawLastTime', lastTime); data.luckDrawLastTime = parseInt(lastTime); /**初始化数据 * 1 签到 * 2 视频 * 3 摇一摇 * 4 红包 */ data.list = []; let list = []; for (let index = 0; index < 4; index++) { let item = new LuckDrawVo; item.type = index + 1; item.num = 0; item.isUse = 0; item.useNum = 0; list.push(item); } data.list = list; } else { let luckDrawData: any = await AppSdk.I.getData('LuckDrawData'); data.list = luckDrawData.data.list; } // UtilTool.log('------LuckDrawData--update init -data----' + JSON.stringify(data)) AppSdk.I.putData('LuckDrawData', JSON.stringify(data)) this._data = data; return data; } get data(): LuckDrawData { return this._data; } updateData(index: number, addNum: number = 1) { this.data.list[index].num += addNum; AppSdk.I.putData('LuckDrawData', JSON.stringify(this.data)) } async getPropData() { // AppSdk.I.putData('luckDrawProp', JSON.stringify({remove:3,change:2})) let luckDrawProp: any = await AppSdk.I.getData('luckDrawProp'); // let luckDrawProp = { code: 0, data: { remove: 3, change: 2 } } this.propRemove = Number(luckDrawProp.data.remove); this.propChange = Number(luckDrawProp.data.change); if (this.propRemove > 0) { this.updateRemoveProp(); } else { this.updateChangeProp(); } return luckDrawProp; } async updateRemoveProp() { if (this.propRemove > 0) { // ViewManager.I.openPopwin(ReceivePropsPopwin, BoosterType.Remove, this.propRemove, true); // ViewManager.I.openPopwin(GetpropPopwin,PropType.hammer,1) this.propRemove = 0; AppSdk.I.putData('luckDrawProp', JSON.stringify({ remove: 0, change: this.propChange })); } } updateChangeProp() { if (this.propChange > 0) { // ViewManager.I.openPopwin(ReceivePropsPopwin, BoosterType.Change, this.propChange); // ViewManager.I.openPopwin(GetpropPopwin,PropType.refresh,1) this.propChange = 0; AppSdk.I.putData('luckDrawProp', JSON.stringify({ remove: this.propRemove, change: 0 })); } } static get I(): LuckDrawModel { return ObjectInstance.get(LuckDrawModel) as LuckDrawModel; } } class LuckDrawData { list: LuckDrawVo[]; luckDrawLastTime: number; } class LuckDrawVo { type: number; num: number; isUse: number; useNum: number; }