Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
Widget
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Android Widget
Widget
Commits
0286388b
Commit
0286388b
authored
Mar 14, 2025
by
tongzifang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add kick out
parent
b9b8c23b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
26 additions
and
7 deletions
+26
-7
build.gradle
fetch/build.gradle
+1
-1
StandardGsonConvertFactory.kt
...qimai/android/fetch/convert/StandardGsonConvertFactory.kt
+11
-4
StandardGsonResponseBodyConverter.kt
...ndroid/fetch/convert/StandardGsonResponseBodyConverter.kt
+8
-2
AppKickOut.kt
...n/java/com/qimai/android/fetch/interceptors/AppKickOut.kt
+6
-0
No files found.
fetch/build.gradle
View file @
0286388b
...
...
@@ -63,7 +63,7 @@ repositories {
mavenCentral
()
}
group
'com.qmai.android.fetch'
version
'1.0.0
07
'
version
'1.0.0
10
'
gradlePublish
{
...
...
fetch/src/main/java/com/qimai/android/fetch/convert/StandardGsonConvertFactory.kt
View file @
0286388b
...
...
@@ -3,6 +3,7 @@ package com.qimai.android.fetch.convert
import
com.google.gson.Gson
import
com.google.gson.TypeAdapter
import
com.google.gson.reflect.TypeToken
import
com.qimai.android.fetch.interceptors.AppKickOut
import
com.qimai.android.fetch.interceptors.ApprovalNode
import
com.qimai.android.fetch.interceptors.GsonParseError
import
com.qimai.android.fetch.interceptors.ServerError
...
...
@@ -24,7 +25,8 @@ import java.lang.reflect.Type
class
StandardGsonConvertFactory
constructor
(
private
var
gson
:
Gson
,
var
expire
:
TokenExpire
?,
var
approval
:
ApprovalNode
?
=
null
var
approval
:
ApprovalNode
?
=
null
,
var
appKickOut
:
AppKickOut
?
=
null
)
:
Converter
.
Factory
()
{
lateinit
var
adapter
:
TypeAdapter
<
out
Any
>
...
...
@@ -35,9 +37,14 @@ class StandardGsonConvertFactory constructor(
return
StandardGsonConvertFactory
(
gson
,
null
)
}
fun
create
(
gson
:
Gson
,
expire
:
TokenExpire
,
approval
:
ApprovalNode
?
=
null
):
StandardGsonConvertFactory
{
fun
create
(
gson
:
Gson
,
expire
:
TokenExpire
,
approval
:
ApprovalNode
?
=
null
,
appKickOut
:
AppKickOut
?
=
null
):
StandardGsonConvertFactory
{
if
(
gson
==
null
)
throw
Throwable
(
"gson == null"
)
return
StandardGsonConvertFactory
(
gson
,
expire
,
approval
)
return
StandardGsonConvertFactory
(
gson
,
expire
,
approval
,
appKickOut
)
}
}
...
...
@@ -47,7 +54,7 @@ class StandardGsonConvertFactory constructor(
retrofit
:
Retrofit
):
Converter
<
ResponseBody
,
*
>?
{
adapter
=
gson
.
getAdapter
(
TypeToken
.
get
(
type
))
return
StandardGsonResponseBodyConverter
(
adapter
,
gson
,
type
,
expire
,
approval
)
return
StandardGsonResponseBodyConverter
(
adapter
,
gson
,
type
,
expire
,
approval
,
appKickOut
)
}
}
fetch/src/main/java/com/qimai/android/fetch/convert/StandardGsonResponseBodyConverter.kt
View file @
0286388b
...
...
@@ -4,6 +4,7 @@ import android.text.TextUtils
import
com.google.gson.Gson
import
com.google.gson.JsonSyntaxException
import
com.google.gson.TypeAdapter
import
com.qimai.android.fetch.interceptors.AppKickOut
import
com.qimai.android.fetch.interceptors.ApprovalNode
import
com.qimai.android.fetch.interceptors.TokenExpire
import
com.qimai.android.fetch.model.BaseData
...
...
@@ -26,7 +27,8 @@ class StandardGsonResponseBodyConverter<T> constructor(
var
gson
:
Gson
,
var
type
:
Type
,
var
expire
:
TokenExpire
?,
var
approvalNode
:
ApprovalNode
?
=
null
var
approvalNode
:
ApprovalNode
?
=
null
,
var
appKickOut
:
AppKickOut
?
=
null
)
:
Converter
<
ResponseBody
,
T
>
{
...
...
@@ -34,13 +36,17 @@ class StandardGsonResponseBodyConverter<T> constructor(
val
reponseString
=
value
.
string
()
// throw TOKENExpireException("token过期")
val
baseData
=
gson
.
fromJson
(
reponseString
,
BaseData
::
class
.
java
)
?:
throw
UnknownHostException
()
val
baseData
=
gson
.
fromJson
(
reponseString
,
BaseData
::
class
.
java
)
?:
throw
UnknownHostException
()
if
(
TextUtils
.
equals
(
"false"
,
baseData
.
status
))
{
value
.
close
()
if
(
baseData
.
code
==
9001L
)
{
//这里如果先结束
expire
?.
expre
()
throw
TOKENExpireException
(
"登录超时"
,
reponseString
)
}
else
if
(
baseData
.
code
==
9010L
)
{
appKickOut
?.
kickOut
(
reponseString
)
throw
TOKENExpireException
(
""
,
reponseString
)
}
else
if
(
baseData
.
code
==
230630L
||
baseData
.
code
==
999999999L
)
{
approvalNode
?.
approval
(
reponseString
)
throw
ApprovalNodeException
(
""
,
reponseString
)
...
...
fetch/src/main/java/com/qimai/android/fetch/interceptors/AppKickOut.kt
0 → 100644
View file @
0286388b
package
com.qimai.android.fetch.interceptors
interface
AppKickOut
{
fun
kickOut
(
resStr
:
String
)
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment