补充每日挑战UI细节

This commit is contained in:
2025-05-20 18:27:32 +08:00
parent 18785e7387
commit e1671a6b68
15 changed files with 77 additions and 31 deletions

View File

@@ -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()
}