补充每日挑战UI细节
This commit is contained in:
@@ -5,10 +5,14 @@ import { StorageManager } from "./StorageManager"
|
||||
export class DOUser {
|
||||
|
||||
private data: DataUser
|
||||
|
||||
private mapDones: Map<string, number> = new Map()
|
||||
|
||||
constructor(dataUser: DataUser) {
|
||||
this.data = dataUser
|
||||
for (var i=0; i<this.data.dones.length; i++) {
|
||||
var obj = this.data.dones[i]
|
||||
this.mapDones.set(obj.stageID, obj.progress)
|
||||
}
|
||||
}
|
||||
public getData(): DataUser {
|
||||
return this.data
|
||||
@@ -16,19 +20,21 @@ export class DOUser {
|
||||
|
||||
//====================================持久化数据
|
||||
public get_done(stageID: string): number {
|
||||
var find: StageProgress
|
||||
for (var i=0; i<this.data.dones.length; i++) {
|
||||
var obj = this.data.dones[i]
|
||||
if (obj.stageID == stageID) {
|
||||
find = obj
|
||||
break
|
||||
}
|
||||
}
|
||||
if (find) {
|
||||
return find.progress
|
||||
if (this.mapDones.has(stageID)) {
|
||||
return this.mapDones.get(stageID)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
public get_doneCountBydate(year: number, month: number): number {
|
||||
var count = 0
|
||||
var key = `${year}-${month}`
|
||||
this.mapDones.forEach((progres: number, stageID: string)=>{
|
||||
if (stageID.startsWith(key) && progres >= 1) {
|
||||
count ++
|
||||
}
|
||||
})
|
||||
return count
|
||||
}
|
||||
public update_stage_done(stageID: string, progress: number): void {
|
||||
var find: StageProgress
|
||||
for (var i=0; i<this.data.dones.length; i++) {
|
||||
@@ -45,6 +51,7 @@ export class DOUser {
|
||||
find = {stageID: stageID, progress: progress}
|
||||
this.data.dones.push(find)
|
||||
}
|
||||
this.mapDones.set(find.stageID, find.progress)
|
||||
StorageManager.getInstance().saveUser()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user