@@ -55,7 +55,6 @@ import {
5555} from "../utils/ConfigUtils" ;
5656import { NodeModel } from "../model/NodeModel" ;
5757import { ISearchSet } from "../model/Model" ;
58- import { statusBarService } from "../service/StatusBarService" ;
5958import { previewService } from "../service/PreviewService" ;
6059import { executeService } from "../service/ExecuteService" ;
6160import { getNodeIdFromFile } from "../utils/SystemUtils" ;
@@ -80,6 +79,7 @@ import { submissionService } from "../service/SubmissionService";
8079import { bricksDataService } from "../service/BricksDataService" ;
8180import { groupDao } from "../dao/groupDao" ;
8281import { fileMeta , ProblemMeta } from "../utils/problemUtils" ;
82+ import { BABA , BabaStr } from "../BABA" ;
8383
8484// 视图控制器
8585class TreeViewController implements Disposable {
@@ -111,7 +111,8 @@ class TreeViewController implements Disposable {
111111 * @returns A promise that resolves to a string.
112112 */
113113 public async submitSolution ( uri ?: vscode . Uri ) : Promise < void > {
114- if ( ! statusBarService . getUser ( ) ) {
114+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
115+ if ( ! sbp . getUser ( ) ) {
115116 promptForSignIn ( ) ;
116117 return ;
117118 }
@@ -144,7 +145,8 @@ class TreeViewController implements Disposable {
144145 */
145146 public async testSolution ( uri ?: vscode . Uri ) : Promise < void > {
146147 try {
147- if ( statusBarService . getStatus ( ) === UserStatus . SignedOut ) {
148+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
149+ if ( sbp . getStatus ( ) === UserStatus . SignedOut ) {
148150 return ;
149151 }
150152
@@ -254,7 +256,8 @@ class TreeViewController implements Disposable {
254256 */
255257 public async testCaseDef ( uri ?: vscode . Uri , allCase ?: boolean ) : Promise < void > {
256258 try {
257- if ( statusBarService . getStatus ( ) === UserStatus . SignedOut ) {
259+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
260+ if ( sbp . getStatus ( ) === UserStatus . SignedOut ) {
258261 return ;
259262 }
260263
@@ -289,7 +292,8 @@ class TreeViewController implements Disposable {
289292 */
290293 public async reTestSolution ( uri ?: vscode . Uri ) : Promise < void > {
291294 try {
292- if ( statusBarService . getStatus ( ) === UserStatus . SignedOut ) {
295+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
296+ if ( sbp . getStatus ( ) === UserStatus . SignedOut ) {
293297 return ;
294298 }
295299
@@ -337,7 +341,8 @@ class TreeViewController implements Disposable {
337341 */
338342 public async tesCaseArea ( uri ?: vscode . Uri , testcase ?: string ) : Promise < void > {
339343 try {
340- if ( statusBarService . getStatus ( ) === UserStatus . SignedOut ) {
344+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
345+ if ( sbp . getStatus ( ) === UserStatus . SignedOut ) {
341346 return ;
342347 }
343348
@@ -505,7 +510,8 @@ class TreeViewController implements Disposable {
505510 */
506511 public async getAllProblems ( ) : Promise < IProblem [ ] > {
507512 try {
508- if ( statusBarService . getStatus ( ) === UserStatus . SignedOut ) {
513+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
514+ if ( sbp . getStatus ( ) === UserStatus . SignedOut ) {
509515 return [ ] ;
510516 }
511517
@@ -603,7 +609,7 @@ class TreeViewController implements Disposable {
603609 return ;
604610 }
605611
606- if ( ! statusBarService . getUser ( ) && choice . value != "testapi" ) {
612+ if ( ! BABA . getProxy ( BabaStr . StatusBarProxy ) . getUser ( ) && choice . value != "testapi" ) {
607613 promptForSignIn ( ) ;
608614 return ;
609615 }
@@ -701,7 +707,8 @@ class TreeViewController implements Disposable {
701707 }
702708
703709 public async searchProblemByID ( ) : Promise < void > {
704- if ( ! statusBarService . getUser ( ) ) {
710+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
711+ if ( ! sbp . getUser ( ) ) {
705712 promptForSignIn ( ) ;
706713 return ;
707714 }
@@ -769,7 +776,8 @@ class TreeViewController implements Disposable {
769776 const problems : IProblem [ ] = await this . getAllProblems ( ) ;
770777 let randomProblem : IProblem ;
771778
772- const user_score = statusBarService . getUserContestScore ( ) ;
779+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
780+ const user_score = sbp . getUserContestScore ( ) ;
773781 if ( user_score > 0 ) {
774782 let min_score : number = getPickOneByRankRangeMin ( ) ;
775783 let max_score : number = getPickOneByRankRangeMax ( ) ;
@@ -851,10 +859,19 @@ class TreeViewController implements Disposable {
851859 ) ;
852860 if ( show_code == 100 ) {
853861 const promises : any [ ] = [
854- vscode . window . showTextDocument ( vscode . Uri . file ( finalPath ) , {
855- preview : false ,
856- viewColumn : vscode . ViewColumn . One ,
857- } ) ,
862+ vscode . window
863+ . showTextDocument ( vscode . Uri . file ( finalPath ) , {
864+ preview : false ,
865+ viewColumn : vscode . ViewColumn . One ,
866+ } )
867+ . then (
868+ ( editor ) => {
869+ eventService . emit ( "showProblemFinishOpen" , node , editor ) ;
870+ } ,
871+ ( error ) => {
872+ eventService . emit ( "showProblemFinishError" , node , error ) ;
873+ }
874+ ) ,
858875 promptHintMessage (
859876 "hint.commentDescription" ,
860877 'You can config how to show the problem description through "leetcode-problem-rating.showDescription".' ,
@@ -956,13 +973,14 @@ class TreeViewController implements Disposable {
956973 }
957974
958975 public async searchUserContest ( ) : Promise < void > {
959- if ( ! statusBarService . getUser ( ) ) {
976+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
977+ if ( ! sbp . getUser ( ) ) {
960978 promptForSignIn ( ) ;
961979 return ;
962980 }
963981 try {
964982 const needTranslation : boolean = isUseEndpointTranslation ( ) ;
965- const solution : string = await executeService . getUserContest ( needTranslation , statusBarService . getUser ( ) || "" ) ;
983+ const solution : string = await executeService . getUserContest ( needTranslation , sbp . getUser ( ) || "" ) ;
966984 const query_result = JSON . parse ( solution ) ;
967985 const tt : userContestRanKingBase = Object . assign ( { } , userContestRankingObj , query_result . userContestRanking ) ;
968986 eventService . emit ( "searchUserContest" , tt ) ;
@@ -972,7 +990,8 @@ class TreeViewController implements Disposable {
972990 }
973991 }
974992 public async searchToday ( ) : Promise < void > {
975- if ( ! statusBarService . getUser ( ) ) {
993+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
994+ if ( ! sbp . getUser ( ) ) {
976995 promptForSignIn ( ) ;
977996 return ;
978997 }
@@ -1137,7 +1156,8 @@ class TreeViewController implements Disposable {
11371156 }
11381157
11391158 public async refreshCheck ( ) : Promise < void > {
1140- if ( ! statusBarService . getUser ( ) ) {
1159+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
1160+ if ( ! sbp . getUser ( ) ) {
11411161 return ;
11421162 }
11431163 const day_start = systemUtils . getDayStart ( ) ; //获取当天零点的时间
@@ -1156,7 +1176,8 @@ class TreeViewController implements Disposable {
11561176 this . waitTodayQuestion = true ;
11571177 await this . searchToday ( ) ;
11581178 }
1159- let user_score = statusBarService . getUserContestScore ( ) ;
1179+
1180+ let user_score = sbp . getUserContestScore ( ) ;
11601181 if ( ! user_score && ! this . waitUserContest ) {
11611182 this . waitUserContest = true ;
11621183 await this . searchUserContest ( ) ;
@@ -1168,7 +1189,10 @@ class TreeViewController implements Disposable {
11681189 const temp_waitTodayQuestion : boolean = this . waitTodayQuestion ;
11691190 const temp_waitUserContest : boolean = this . waitUserContest ;
11701191 this . clearCache ( ) ;
1171- let user_score = statusBarService . getUserContestScore ( ) ;
1192+
1193+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
1194+
1195+ let user_score = sbp . getUserContestScore ( ) ;
11721196 for ( const problem of await this . getAllProblems ( ) ) {
11731197 this . explorerNodeMap . set ( problem . id , new NodeModel ( problem , true , user_score ) ) ;
11741198 this . fidToQid . set ( problem . id , problem . qid . toString ( ) ) ;
@@ -1188,7 +1212,8 @@ class TreeViewController implements Disposable {
11881212 }
11891213
11901214 public getRootNodes ( ) : NodeModel [ ] {
1191- let user_score = statusBarService . getUserContestScore ( ) ;
1215+ let sbp = BABA . getProxy ( BabaStr . StatusBarProxy ) ;
1216+ let user_score = sbp . getUserContestScore ( ) ;
11921217 const baseNode : NodeModel [ ] = [
11931218 new NodeModel (
11941219 Object . assign ( { } , defaultProblem , {
0 commit comments