|
@@ -9,9 +9,9 @@ import cn.zhxu.okhttps.HttpTask
|
|
|
import cn.zhxu.okhttps.OkHttps
|
|
import cn.zhxu.okhttps.OkHttps
|
|
|
import cn.zhxu.okhttps.gson.GsonMsgConvertor
|
|
import cn.zhxu.okhttps.gson.GsonMsgConvertor
|
|
|
import cn.zhxu.okhttps.okhttp.OkHttpClientWrapper
|
|
import cn.zhxu.okhttps.okhttp.OkHttpClientWrapper
|
|
|
|
|
+import com.grkj.iscs.MyApplication
|
|
|
import com.grkj.iscs.R
|
|
import com.grkj.iscs.R
|
|
|
import com.grkj.iscs.model.Constants
|
|
import com.grkj.iscs.model.Constants
|
|
|
-import com.grkj.iscs.model.IscsToken
|
|
|
|
|
import com.grkj.iscs.model.Token
|
|
import com.grkj.iscs.model.Token
|
|
|
import com.grkj.iscs.model.UrlConsts
|
|
import com.grkj.iscs.model.UrlConsts
|
|
|
import com.grkj.iscs.model.UrlConsts.SIGN_IN
|
|
import com.grkj.iscs.model.UrlConsts.SIGN_IN
|
|
@@ -58,11 +58,7 @@ class NetHttpManager {
|
|
|
itPreChain.proceed()
|
|
itPreChain.proceed()
|
|
|
return@addSerialPreprocessor
|
|
return@addSerialPreprocessor
|
|
|
}
|
|
}
|
|
|
-// requestTokenAndRefreshIfExpired {
|
|
|
|
|
-// itPreChain.task.addHeader("Access-Token", it)
|
|
|
|
|
-// itPreChain.proceed()
|
|
|
|
|
-// }
|
|
|
|
|
- doLogin {
|
|
|
|
|
|
|
+ requestTokenAndRefreshIfExpired {
|
|
|
itPreChain.task.addHeader("Authorization", it)
|
|
itPreChain.task.addHeader("Authorization", it)
|
|
|
itPreChain.proceed()
|
|
itPreChain.proceed()
|
|
|
}
|
|
}
|
|
@@ -76,42 +72,22 @@ class NetHttpManager {
|
|
|
fun requestTokenAndRefreshIfExpired(callback: (String?) -> Unit) {
|
|
fun requestTokenAndRefreshIfExpired(callback: (String?) -> Unit) {
|
|
|
val token = Token.fromSp(context!!)
|
|
val token = Token.fromSp(context!!)
|
|
|
if (token == null) {
|
|
if (token == null) {
|
|
|
-// doLogin(callback)
|
|
|
|
|
|
|
+ doLogin(callback)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
if (token.isValid()) {
|
|
if (token.isValid()) {
|
|
|
- callback(token.accessToken)
|
|
|
|
|
|
|
+ callback(token.token)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- // 访问令牌已过期,刷新令牌未过期,则调接口刷新当前令牌
|
|
|
|
|
-// myHttp.async(TOKEN_REFRESH)
|
|
|
|
|
- myHttp.async("/app-api/member/auth/refresh-token")
|
|
|
|
|
- .skipPreproc() // 跳过所有预处理器
|
|
|
|
|
- .addBodyPara("refreshToken", token.refreshToken)
|
|
|
|
|
- .nextOnIO()
|
|
|
|
|
- .setOnResponse { res: HttpResult ->
|
|
|
|
|
- exceptionCount = 0
|
|
|
|
|
- if (!res.isSuccessful) {
|
|
|
|
|
-// doLogin(callback)
|
|
|
|
|
- return@setOnResponse
|
|
|
|
|
- }
|
|
|
|
|
- try {
|
|
|
|
|
- val newToken = res.body.toBean(Token::class.java)
|
|
|
|
|
- newToken.saveToSp(context!!)
|
|
|
|
|
- callback(newToken.accessToken)
|
|
|
|
|
- } catch (e: Exception) {
|
|
|
|
|
-// doLogin(callback)
|
|
|
|
|
- return@setOnResponse
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .setOnException { e: IOException ->
|
|
|
|
|
- evictHttpConnectPool(e)
|
|
|
|
|
-// doLogin(callback)
|
|
|
|
|
- }
|
|
|
|
|
- .post()
|
|
|
|
|
|
|
+ doLogin(callback)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun doLogin(callback: (String?) -> Unit) {
|
|
private fun doLogin(callback: (String?) -> Unit) {
|
|
|
|
|
+ val ctx = MyApplication.instance?.applicationContext
|
|
|
|
|
+ // TODO 临时注掉,方便调试
|
|
|
|
|
+// if (ctx == null || SPUtils.getLoginUser(ctx) == null) {
|
|
|
|
|
+// return
|
|
|
|
|
+// }
|
|
|
myHttp.async(SIGN_IN)
|
|
myHttp.async(SIGN_IN)
|
|
|
.skipPreproc()
|
|
.skipPreproc()
|
|
|
.addBodyPara("username", "admin")
|
|
.addBodyPara("username", "admin")
|
|
@@ -124,8 +100,7 @@ class NetHttpManager {
|
|
|
return@setOnResponse
|
|
return@setOnResponse
|
|
|
}
|
|
}
|
|
|
try {
|
|
try {
|
|
|
-// val newToken = it.body.toBean(Token::class.java)
|
|
|
|
|
- val newToken = it.body.toBean(IscsToken::class.java)
|
|
|
|
|
|
|
+ val newToken = it.body.toBean(Token::class.java)
|
|
|
newToken.saveToSp(context!!)
|
|
newToken.saveToSp(context!!)
|
|
|
callback(newToken.token)
|
|
callback(newToken.token)
|
|
|
} catch (e: Exception) {
|
|
} catch (e: Exception) {
|
|
@@ -159,6 +134,9 @@ class NetHttpManager {
|
|
|
.setOnResponse {
|
|
.setOnResponse {
|
|
|
exceptionCount = 0
|
|
exceptionCount = 0
|
|
|
if (it.isSuccessful) {
|
|
if (it.isSuccessful) {
|
|
|
|
|
+ MyApplication.instance?.applicationContext?.let { itCtx ->
|
|
|
|
|
+ Token.refresh(itCtx)
|
|
|
|
|
+ }
|
|
|
callback(it.body, null, it.status)
|
|
callback(it.body, null, it.status)
|
|
|
} else {
|
|
} else {
|
|
|
var bobyStr = it.body.toString()
|
|
var bobyStr = it.body.toString()
|