@@ -72,14 +72,14 @@ object Request {
7272    private  var  call:  Call <LiveInfo >?  =  null 
7373    private  var  callAuth:  Call <Auth >?  =  null 
7474    private  var  callInfo:  Call <Info >?  =  null 
75-     private  var  fAuth :  Call <FAuth >?  =  null 
75+     private  var  callFAuth :  Call <FAuth >?  =  null 
7676    private  var  callPage:  Call < pageModel.Response > ?  =  null 
7777
7878    private  fun  cancelCall () {
7979        call?.cancel()
8080        callAuth?.cancel()
8181        callInfo?.cancel()
82-         fAuth ?.cancel()
82+         callFAuth ?.cancel()
8383        callPage?.cancel()
8484    }
8585
@@ -91,7 +91,6 @@ object Request {
9191        val  data =  YSP .getAuthData(tvModel)
9292        val  request =  AuthRequest (data)
9393        callAuth =  request.let  { yspApiService.getAuth(" guid=${YSP .getGuid()} ; $cookie " 
94- 
9594        callAuth?.enqueue(object  :  Callback <Auth > {
9695            override  fun  onResponse (call :  Call <Auth >, response :  Response <Auth >) {
9796                if  (response.isSuccessful) {
@@ -106,12 +105,12 @@ object Request {
106105                        if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
107106                            tvModel.retryTimes++ 
108107                            if  (tvModel.getTV().needToken) {
109-                                 if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
108+                                 if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
110109                                    if  (! tvModel.getTV().mustToken) {
111110                                        fetchAuth(tvModel, cookie)
112111                                    }
113112                                } else  {
114-                                     token  =  " " 
113+                                     tvModel.needGetToken  =  true 
115114                                    fetchAuth(tvModel)
116115                                }
117116                            } else  {
@@ -124,12 +123,12 @@ object Request {
124123                    if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
125124                        tvModel.retryTimes++ 
126125                        if  (tvModel.getTV().needToken) {
127-                             if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
126+                             if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
128127                                if  (! tvModel.getTV().mustToken) {
129128                                    fetchAuth(tvModel, cookie)
130129                                }
131130                            } else  {
132-                                 token  =  " " 
131+                                 tvModel.needGetToken  =  true 
133132                                fetchAuth(tvModel)
134133                            }
135134                        } else  {
@@ -144,12 +143,12 @@ object Request {
144143                if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
145144                    tvModel.retryTimes++ 
146145                    if  (tvModel.getTV().needToken) {
147-                         if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
146+                         if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
148147                            if  (! tvModel.getTV().mustToken) {
149148                                fetchAuth(tvModel, cookie)
150149                            }
151150                        } else  {
152-                             token  =  " " 
151+                             tvModel.needGetToken  =  true 
153152                            fetchAuth(tvModel)
154153                        }
155154                    } else  {
@@ -212,13 +211,13 @@ object Request {
212211                            if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
213212                                tvModel.retryTimes++ 
214213                                if  (tvModel.getTV().needToken) {
215-                                     if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
214+                                     if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
216215                                        if  (! tvModel.getTV().mustToken) {
217216                                            fetchVideo(tvModel, cookie)
218217//                                             fetchAuth(tvModel, cookie)
219218                                        }
220219                                    } else  {
221-                                         token  =  " " 
220+                                         tvModel.needGetToken  =  true 
222221                                        fetchVideo(tvModel)
223222//                                         fetchAuth(tvModel)
224223                                    }
@@ -237,13 +236,13 @@ object Request {
237236                            if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
238237                                tvModel.retryTimes++ 
239238                                if  (tvModel.getTV().needToken) {
240-                                     if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
239+                                     if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
241240                                        if  (! tvModel.getTV().mustToken) {
242241                                            fetchVideo(tvModel, cookie)
243242//                                             fetchAuth(tvModel, cookie)
244243                                        }
245244                                    } else  {
246-                                         token  =  " " 
245+                                         tvModel.needGetToken  =  true 
247246                                        fetchVideo(tvModel)
248247//                                         fetchAuth(tvModel)
249248                                    }
@@ -259,13 +258,13 @@ object Request {
259258                    if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
260259                        tvModel.retryTimes++ 
261260                        if  (tvModel.getTV().needToken) {
262-                             if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
261+                             if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
263262                                if  (! tvModel.getTV().mustToken) {
264263                                    fetchVideo(tvModel, cookie)
265264//                                     fetchAuth(tvModel, cookie)
266265                                }
267266                            } else  {
268-                                 token  =  " " 
267+                                 tvModel.needGetToken  =  true 
269268                                fetchVideo(tvModel)
270269//                                 fetchAuth(tvModel)
271270                            }
@@ -282,12 +281,12 @@ object Request {
282281                if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
283282                    tvModel.retryTimes++ 
284283                    if  (tvModel.getTV().needToken) {
285-                         if  (tvModel.tokenRetryTimes  ==  tvModel.tokenRetryMaxTimes ) {
284+                         if  (tvModel.tokenYSPRetryTimes  ==  tvModel.tokenYSPRetryMaxTimes ) {
286285                            if  (! tvModel.getTV().mustToken) {
287286                                fetchVideo(tvModel, cookie)
288287                            }
289288                        } else  {
290-                             token  =  " " 
289+                             tvModel.needGetToken  =  true 
291290                            fetchVideo(tvModel)
292291                        }
293292                    } else  {
@@ -300,20 +299,28 @@ object Request {
300299
301300    private  fun  fetchAuth (tvModel :  TVViewModel ) {
302301        cancelCall()
303-         if  (token  ==   " " 
302+         if  (tvModel.needGetToken ) {
304303            callInfo =  yspTokenService.getInfo(" " 
305304            callInfo?.enqueue(object  :  Callback <Info > {
306305                override  fun  onResponse (call :  Call <Info >, response :  Response <Info >) {
307-                     if  (response.isSuccessful) {
306+                     if  (response.isSuccessful  &&  response.body()?.data?.token  !=   null ) {
308307                        token =  response.body()?.data?.token!! 
309308                        Log .i(TAG , " info success $token " 
309+                         tvModel.needGetToken =  false 
310+                         tvModel.tokenYSPRetryTimes =  0 
310311                        val  cookie = 
311312                            " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
312313                        fetchAuth(tvModel, cookie)
314+                     } else  if  (response.code() ==  304 ) {
315+                         tvModel.needGetToken =  false 
316+                         tvModel.tokenYSPRetryTimes =  0 
317+                         val  cookie = 
318+                             " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109; yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
319+                         fetchVideo(tvModel, cookie)
313320                    } else  {
314321                        Log .e(TAG , " info status error" 
315-                         if  (tvModel.tokenRetryTimes  <  tvModel.tokenRetryMaxTimes ) {
316-                             tvModel.tokenRetryTimes ++ 
322+                         if  (tvModel.tokenYSPRetryTimes  <  tvModel.tokenYSPRetryMaxTimes ) {
323+                             tvModel.tokenYSPRetryTimes ++ 
317324                            fetchAuth(tvModel)
318325                        } else  {
319326                            if  (! tvModel.getTV().mustToken) {
@@ -327,8 +334,8 @@ object Request {
327334
328335                override  fun  onFailure (call :  Call <Info >, t :  Throwable ) {
329336                    Log .e(TAG , " info request error $t " 
330-                     if  (tvModel.tokenRetryTimes  <  tvModel.tokenRetryMaxTimes ) {
331-                         tvModel.tokenRetryTimes ++ 
337+                     if  (tvModel.tokenYSPRetryTimes  <  tvModel.tokenYSPRetryMaxTimes ) {
338+                         tvModel.tokenYSPRetryTimes ++ 
332339                        fetchVideo(tvModel)
333340                    } else  {
334341                        if  (! tvModel.getTV().mustToken) {
@@ -349,20 +356,28 @@ object Request {
349356    private  fun  fetchVideo (tvModel :  TVViewModel ) {
350357        cancelCall()
351358        Log .d(TAG , " fetchVideo" 
352-         if  (token  ==   " " 
359+         if  (tvModel.needGetToken ) {
353360            callInfo =  yspTokenService.getInfo(" " 
354361            callInfo?.enqueue(object  :  Callback <Info > {
355362                override  fun  onResponse (call :  Call <Info >, response :  Response <Info >) {
356363                    if  (response.isSuccessful &&  response.body()?.data?.token !=  null ) {
357364                        token =  response.body()?.data?.token!! 
358365                        Log .i(TAG , " info success $token " 
366+                         tvModel.needGetToken =  false 
367+                         tvModel.tokenYSPRetryTimes =  0 
368+                         val  cookie = 
369+                             " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109; yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
370+                         fetchVideo(tvModel, cookie)
371+                     } else  if  (response.code() ==  304 ) {
372+                         tvModel.needGetToken =  false 
373+                         tvModel.tokenYSPRetryTimes =  0 
359374                        val  cookie = 
360375                            " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109; yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
361376                        fetchVideo(tvModel, cookie)
362377                    } else  {
363378                        Log .e(TAG , " info status error" 
364-                         if  (tvModel.tokenRetryTimes  <  tvModel.tokenRetryMaxTimes ) {
365-                             tvModel.tokenRetryTimes ++ 
379+                         if  (tvModel.tokenYSPRetryTimes  <  tvModel.tokenYSPRetryMaxTimes ) {
380+                             tvModel.tokenYSPRetryTimes ++ 
366381                            fetchVideo(tvModel)
367382                        } else  {
368383                            if  (! tvModel.getTV().mustToken) {
@@ -376,8 +391,8 @@ object Request {
376391
377392                override  fun  onFailure (call :  Call <Info >, t :  Throwable ) {
378393                    Log .e(TAG , " info request error $t " 
379-                     if  (tvModel.tokenRetryTimes  <  tvModel.tokenRetryMaxTimes ) {
380-                         tvModel.tokenRetryTimes ++ 
394+                     if  (tvModel.tokenYSPRetryTimes  <  tvModel.tokenYSPRetryMaxTimes ) {
395+                         tvModel.tokenYSPRetryTimes ++ 
381396                        fetchVideo(tvModel)
382397                    } else  {
383398                        if  (! tvModel.getTV().mustToken) {
@@ -405,8 +420,8 @@ object Request {
405420            qa =  " FHD" 
406421        }
407422
408-         fAuth  =  fAuthService.getAuth(tokenFH, tvModel.getTV().pid, qa)
409-         fAuth ?.enqueue(object  :  Callback <FAuth > {
423+         callFAuth  =  fAuthService.getAuth(tokenFH, tvModel.getTV().pid, qa)
424+         callFAuth ?.enqueue(object  :  Callback <FAuth > {
410425            override  fun  onResponse (call :  Call <FAuth >, response :  Response <FAuth >) {
411426                if  (response.isSuccessful &&  response.body()?.data?.live_url !=  null ) {
412427                    val  url =  response.body()?.data?.live_url!! 
0 commit comments