diff --git a/CHANGELOG.md b/CHANGELOG.md index bfe39cd..ef5c42b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## version 2.5.1 + +- 今日提交的分类,方便设置下次回顾时间 + ## version 2.4.1 - 简易 remark 功能, 用于回忆思考过程? 后续需要用这个数据生成文章 diff --git a/package.json b/package.json index d13e0ea..2ba01b9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vscode-leetcode-problem-rating", "displayName": "LeetCode", "description": "LeetCode 官方插件增强, 代码开源, 增加 LeetCode 题目难度分, 给个star吧, 球球了", - "version": "2.4.1", + "version": "2.5.1", "author": "ccagml", "publisher": "ccagml", "license": "MIT", diff --git a/src/controller/BricksViewController.ts b/src/controller/BricksViewController.ts index 3b126f2..41d1488 100644 --- a/src/controller/BricksViewController.ts +++ b/src/controller/BricksViewController.ts @@ -35,13 +35,23 @@ class BricksViewController implements Disposable { } // 今天搬的 public async getTodayNodes() { + let all_qid: string[] = await bricksDao.getTodayBricksSubmit(); const baseNode: BricksNode[] = []; + all_qid.forEach((qid) => { + let node = treeViewController.getNodeByQid(qid); + if (node) { + baseNode.push(node); + } + }); return baseNode; } public async getRootNodes(): Promise { let all_qid: string[] = await bricksDao.getTodayBricks(); + let all_submit_qid: string[] = await bricksDao.getTodayBricksSubmit(); + let has_qid = all_qid.length > 0; + let has_submit = all_submit_qid.length > 0; const baseNode: BricksNode[] = []; baseNode.push( @@ -55,6 +65,31 @@ class BricksViewController implements Disposable { has_qid ? TreeItemCollapsibleState.Collapsed : TreeItemCollapsibleState.None ) ); + + if (has_submit) { + let temp_score = 0; + all_submit_qid.forEach((qid) => { + let node = treeViewController.getNodeByQid(qid); + if (node && node.score && Number(node.score) > 0) { + temp_score += Number(node.score); + } + }); + + baseNode.push( + new BricksNode( + Object.assign({}, defaultProblem, { + id: BricksNormalId.Today, + name: + `今天搬了${all_submit_qid.length}块砖,赚了${temp_score}分` + + (all_submit_qid.length > 3 ? ",又是上分的一天~" : ",别吹牛了,赶紧干活啊!!!"), + }), + false, + 0, + TreeItemCollapsibleState.Collapsed + ) + ); + } + return baseNode; } diff --git a/src/dao/bricksDao.ts b/src/dao/bricksDao.ts index edd5c28..d4461f6 100644 --- a/src/dao/bricksDao.ts +++ b/src/dao/bricksDao.ts @@ -128,6 +128,21 @@ class BricksDao { return all_qid; } + public async getTodayBricksSubmit(): Promise { + let today_time = getDayStart(); + let all_bricks = await this.getAllBricks(); + let all_qid: Array = []; + for (const qid in all_bricks) { + const value = all_bricks[qid]; + const submit_time = value.submit_time || []; + let submit_size = submit_time.length; + if (submit_size > 0 && submit_time[submit_size - 1] >= today_time) { + all_qid.push(qid); + } + } + return all_qid; + } + public async getInfoByQid(qid: string) { let all_bricks = await this.getAllBricks(); return all_bricks[qid] || {}; diff --git a/src/model/Model.ts b/src/model/Model.ts index d869157..8f7738d 100644 --- a/src/model/Model.ts +++ b/src/model/Model.ts @@ -156,7 +156,6 @@ export enum BricksNormalId { No = "bricksNo", // 没活 NoDesc = "工头让你去上面那个工地,过几天再回来", Today = "bricksToday", - TodayDesc = "今天搬好的砖", } export enum BricksType {