@@ -7,6 +7,8 @@ import android.util.Base64
77import  android.util.Log 
88import  com.lizongying.mytv.Utils.getDateFormat 
99import  com.lizongying.mytv.api.ApiClient 
10+ import  com.lizongying.mytv.api.Auth 
11+ import  com.lizongying.mytv.api.AuthRequest 
1012import  com.lizongying.mytv.api.Info 
1113import  com.lizongying.mytv.api.LiveInfo 
1214import  com.lizongying.mytv.api.LiveInfoRequest 
@@ -52,6 +54,84 @@ class Request {
5254    }
5355
5456    var  call:  Call <LiveInfo >?  =  null 
57+     var  callAuth:  Call <Auth >?  =  null 
58+ 
59+     private  fun  fetchAuth (tvModel :  TVViewModel , cookie :  String ) {
60+         callAuth?.cancel()
61+ 
62+         val  title =  tvModel.title.value
63+ 
64+         val  data =  ysp?.getAuthData(tvModel)
65+         val  request =  data?.let  { AuthRequest (it) }
66+         callAuth =  request?.let  { yspApiService.getAuth(" guid=${ysp?.getGuid()} ; $cookie " 
67+ 
68+         callAuth?.enqueue(object  :  Callback <Auth > {
69+             override  fun  onResponse (call :  Call <Auth >, response :  Response <Auth >) {
70+                 if  (response.isSuccessful) {
71+                     val  liveInfo =  response.body()
72+ 
73+                     if  (liveInfo?.data?.token !=  null ) {
74+                         Log .i(TAG , " token ${liveInfo.data.token} " 
75+                         ysp?.token =  liveInfo.data.token
76+                         fetchVideo(tvModel, cookie)
77+                     }  else  {
78+                         Log .e(TAG , " $title  token error" 
79+                         if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
80+                             tvModel.retryTimes++ 
81+                             if  (tvModel.getTV().needToken) {
82+                                 if  (tvModel.tokenRetryTimes ==  tvModel.tokenRetryMaxTimes) {
83+                                     if  (! tvModel.getTV().mustToken) {
84+                                         fetchAuth(tvModel, cookie)
85+                                     }
86+                                 } else  {
87+                                     token =  " " 
88+                                     fetchAuth(tvModel)
89+                                 }
90+                             } else  {
91+                                 fetchAuth(tvModel, cookie)
92+                             }
93+                         }
94+                     }
95+                 } else  {
96+                     Log .e(TAG , " $title  auth status error" 
97+                     if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
98+                         tvModel.retryTimes++ 
99+                         if  (tvModel.getTV().needToken) {
100+                             if  (tvModel.tokenRetryTimes ==  tvModel.tokenRetryMaxTimes) {
101+                                 if  (! tvModel.getTV().mustToken) {
102+                                     fetchAuth(tvModel, cookie)
103+                                 }
104+                             } else  {
105+                                 token =  " " 
106+                                 fetchAuth(tvModel)
107+                             }
108+                         } else  {
109+                             fetchAuth(tvModel, cookie)
110+                         }
111+                     }
112+                 }
113+             }
114+ 
115+             override  fun  onFailure (call :  Call <Auth >, t :  Throwable ) {
116+                 Log .e(TAG , " $title  auth request error $t " 
117+                 if  (tvModel.retryTimes <  tvModel.retryMaxTimes) {
118+                     tvModel.retryTimes++ 
119+                     if  (tvModel.getTV().needToken) {
120+                         if  (tvModel.tokenRetryTimes ==  tvModel.tokenRetryMaxTimes) {
121+                             if  (! tvModel.getTV().mustToken) {
122+                                 fetchVideo(tvModel, cookie)
123+                             }
124+                         } else  {
125+                             token =  " " 
126+                             fetchAuth(tvModel)
127+                         }
128+                     } else  {
129+                         fetchAuth(tvModel, cookie)
130+                     }
131+                 }
132+             }
133+         })
134+     }
55135
56136    fun  fetchVideo (tvModel :  TVViewModel , cookie :  String ) {
57137        call?.cancel()
@@ -64,7 +144,7 @@ class Request {
64144        tvModel.seq =  0 
65145        val  data =  ysp?.switch(tvModel)
66146        val  request =  data?.let  { LiveInfoRequest (it) }
67-         call =  request?.let  { yspApiService.getLiveInfo(" guid=${ysp?.getGuid()} ; $cookie " 
147+         call =  request?.let  { yspApiService.getLiveInfo(" guid=${ysp?.getGuid()} ; $cookie " ysp !! .token,  it) }
68148
69149        call?.enqueue(object  :  Callback <LiveInfo > {
70150            override  fun  onResponse (call :  Call <LiveInfo >, response :  Response <LiveInfo >) {
@@ -175,6 +255,53 @@ class Request {
175255        })
176256    }
177257
258+     fun  fetchAuth (tvModel :  TVViewModel ) {
259+         if  (token ==  " " 
260+             yspTokenService.getInfo()
261+                 .enqueue(object  :  Callback <Info > {
262+                     override  fun  onResponse (call :  Call <Info >, response :  Response <Info >) {
263+                         if  (response.isSuccessful) {
264+                             token =  response.body()?.data?.token!! 
265+                             Log .i(TAG , " info success $token " 
266+                             val  cookie = 
267+                                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
268+                             fetchAuth(tvModel, cookie)
269+                         } else  {
270+                             Log .e(TAG , " info status error" 
271+                             if  (tvModel.tokenRetryTimes <  tvModel.tokenRetryMaxTimes) {
272+                                 tvModel.tokenRetryTimes++ 
273+                                 fetchAuth(tvModel)
274+                             } else  {
275+                                 if  (! tvModel.getTV().mustToken) {
276+                                     val  cookie = 
277+                                         " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109" 
278+                                     fetchAuth(tvModel, cookie)
279+                                 }
280+                             }
281+                         }
282+                     }
283+ 
284+                     override  fun  onFailure (call :  Call <Info >, t :  Throwable ) {
285+                         Log .e(TAG , " info request error $t " 
286+                         if  (tvModel.tokenRetryTimes <  tvModel.tokenRetryMaxTimes) {
287+                             tvModel.tokenRetryTimes++ 
288+                             fetchVideo(tvModel)
289+                         } else  {
290+                             if  (! tvModel.getTV().mustToken) {
291+                                 val  cookie = 
292+                                     " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109" 
293+                                 fetchAuth(tvModel, cookie)
294+                             }
295+                         }
296+                     }
297+                 })
298+         } else  {
299+             val  cookie = 
300+                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
301+             fetchAuth(tvModel, cookie)
302+         }
303+     }
304+ 
178305    fun  fetchVideo (tvModel :  TVViewModel ) {
179306        if  (token ==  " " 
180307            yspTokenService.getInfo()
@@ -184,7 +311,7 @@ class Request {
184311                            token =  response.body()?.data?.token!! 
185312                            Log .i(TAG , " info success $token " 
186313                            val  cookie = 
187-                                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
314+                                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205;  yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
188315                            fetchVideo(tvModel, cookie)
189316                        } else  {
190317                            Log .e(TAG , " info status error" 
@@ -194,7 +321,7 @@ class Request {
194321                            } else  {
195322                                if  (! tvModel.getTV().mustToken) {
196323                                    val  cookie = 
197-                                         " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109" 
324+                                         " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205;  yspappid=519748109" 
198325                                    fetchVideo(tvModel, cookie)
199326                                }
200327                            }
@@ -209,26 +336,28 @@ class Request {
209336                        } else  {
210337                            if  (! tvModel.getTV().mustToken) {
211338                                val  cookie = 
212-                                     " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109" 
339+                                     " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205;  yspappid=519748109" 
213340                                fetchVideo(tvModel, cookie)
214341                            }
215342                        }
216343                    }
217344                })
218345        } else  {
219346            val  cookie = 
220-                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
347+                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205;  yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token " 
221348            fetchVideo(tvModel, cookie)
222349        }
223350    }
224351
225352    fun  fetchData (tvModel :  TVViewModel ) {
226353        if  (tvModel.getTV().needToken) {
227-             fetchVideo(tvModel)
354+ //             fetchVideo(tvModel)
355+             fetchAuth(tvModel)
228356        } else  {
229357            val  cookie = 
230-                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109" 
231-             fetchVideo(tvModel, cookie)
358+                 " versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205" 
359+ //             fetchVideo(tvModel, cookie)
360+             fetchAuth(tvModel, cookie)
232361        }
233362    }
234363
0 commit comments