Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fastcoding
/
commonProject
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wangkai
2024-11-08 18:18:36 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
8f8901d3046284f933c64df078387eeb1588817a
8f8901d3
1 parent
3429c014
修改网络库
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
48 additions
and
25 deletions
app/src/main/java/com/wd/fastcoding/app/MyApplication.java
wdinterface/build.gradle
wdinterface/src/main/java/com/wd/foundation/wdinterface/config/IConfig.kt → wdinterface/src/main/java/com/wd/foundation/wdinterface/config/INetConfig.kt
wdinterface/src/main/java/com/wd/foundation/wdinterface/constant/InterfaceConstant.java
lib_base/src/main/java/com/wd/common/api/IRefreshToken.java → wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config/IRefreshToken.java
wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config/Config.java → wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config/NetConfig.java
lib_base/src/main/java/com/wd/common/interceptor/TokenInterceptor.java → wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/interceptor/TokenInterceptor.java
wdnetwork/src/main/java/com/wd/capability/network/RetrofitClient.java
app/src/main/java/com/wd/fastcoding/app/MyApplication.java
View file @
8f8901d
...
...
@@ -4,13 +4,15 @@ package com.wd.fastcoding.app;
import
android.app.Application
;
import
com.wd.capability.network.RetrofitClient
;
import
com.wd.
common
.interceptor.TokenInterceptor
;
import
com.wd.
foundation.wdinterfaceimpl
.interceptor.TokenInterceptor
;
import
com.wd.capability.router.ArouteInit
;
import
com.wd.foundation.wdkit.utils.CommonUtil
;
import
com.wd.fastcoding.app.start.StartTaskConfig
;
import
com.wd.foundation.wdkitcore.tools.AppContext
;
import
com.wd.foundation.wdkitcore.tools.StringUtils
;
import
okhttp3.Interceptor
;
/**
* @author devel
* @time 2024/8/28 星期三 16:23
...
...
@@ -35,10 +37,10 @@ public class MyApplication extends Application {
* 初始化第三方库
*/
private
void
initLibs
()
{
// 网络请求初始化,主线程立即调用
RetrofitClient
.
init
(
this
,
new
TokenInterceptor
(
RetrofitClient
.
getInterceptorHosts
()));
// 路由初始化,主线程立即调用
ArouteInit
.
getInstance
().
init
(
this
);
// 网络请求初始化,主线程立即调用
RetrofitClient
.
init
(
this
);
}
/**
...
...
wdinterface/build.gradle
View file @
8f8901d
...
...
@@ -49,6 +49,7 @@ android {
dependencies
{
api
'com.alibaba:arouter-api:1.5.2'
api
'com.squareup.okhttp3:okhttp:4.8.0'
}
uploadArchives
{
...
...
wdinterface/src/main/java/com/wd/foundation/wdinterface/config/IConfig.kt → wdinterface/src/main/java/com/wd/foundation/wdinterface/config/I
Net
Config.kt
View file @
8f8901d
package com.wd.foundation.wdinterface.config
import com.alibaba.android.arouter.facade.template.IProvider
import okhttp3.Interceptor
/**
* @author wangkai
* @version [V1.0.0, 2024/11/8]
* @brief
*/
interface IConfig : IProvider {
interface I
Net
Config : IProvider {
fun getBaseUrl(): String
fun getInterceptors(): Array<Interceptor>
}
...
...
wdinterface/src/main/java/com/wd/foundation/wdinterface/constant/InterfaceConstant.java
View file @
8f8901d
...
...
@@ -11,5 +11,5 @@ public class InterfaceConstant {
public
static
final
String
PATH_APP_INFO
=
PATH_MODULE_INTERFACE
+
"/AppInfoService"
;
public
static
final
String
PATH_
CONFIG
=
PATH_MODULE_INTERFACE
+
"/
Config"
;
public
static
final
String
PATH_
NET_CONFIG
=
PATH_MODULE_INTERFACE
+
"/Net
Config"
;
}
...
...
lib_base/src/main/java/com/wd/common/api
/IRefreshToken.java →
wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config
/IRefreshToken.java
View file @
8f8901d
package
com
.
wd
.
common
.
api
;
package
com
.
wd
.
foundation
.
wdinterfaceimpl
.
config
;
import
com.wd.capability.network.bean.TokenBean
;
...
...
wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config/Config.java → wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl/config/
Net
Config.java
View file @
8f8901d
...
...
@@ -5,26 +5,36 @@ import android.content.Context;
import
androidx.annotation.NonNull
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.wd.foundation.wdinterface.config.IConfig
;
import
com.wd.capability.network.RetrofitClient
;
import
com.wd.foundation.wdinterface.config.INetConfig
;
import
com.wd.foundation.wdinterface.constant.InterfaceConstant
;
import
com.wd.foundation.wdinterfaceimpl.interceptor.TokenInterceptor
;
import
okhttp3.Interceptor
;
/**
* @author wangkai
* @version [V1.0.0, 2024/11/8]
* @brief
*/
@Route
(
path
=
InterfaceConstant
.
PATH_CONFIG
)
public
class
Config
implements
IConfig
{
@Route
(
path
=
InterfaceConstant
.
PATH_NET_CONFIG
)
public
class
NetConfig
implements
INetConfig
{
private
static
final
String
baseUrlRel
=
"https://pdapis.pdnews.cn/"
;
@Override
public
void
init
(
Context
context
)
{
}
@NonNull
@Override
public
String
getBaseUrl
()
{
return
baseUrlRel
;
}
@NonNull
@Override
public
void
init
(
Context
context
)
{
public
Interceptor
[]
getInterceptors
()
{
return
new
TokenInterceptor
[]{
new
TokenInterceptor
(
RetrofitClient
.
getInterceptorHosts
())};
}
}
...
...
lib_base/src/main/java/com/wd/common
/interceptor/TokenInterceptor.java →
wdinterfaceimpl/src/main/java/com/wd/foundation/wdinterfaceimpl
/interceptor/TokenInterceptor.java
View file @
8f8901d
package
com
.
wd
.
common
.
interceptor
;
package
com
.
wd
.
foundation
.
wdinterfaceimpl
.
interceptor
;
import
android.os.Handler
;
import
android.os.Looper
;
...
...
@@ -11,7 +11,6 @@ import androidx.annotation.NonNull;
import
com.wd.base.log.Logger
;
import
com.wd.capability.network.BaseObserver
;
import
com.wd.capability.network.RetrofitClient
;
import
com.wd.common.api.IRefreshToken
;
import
com.wd.capability.network.bean.MetaBean
;
import
com.wd.capability.network.bean.TokenBean
;
import
com.wd.capability.network.constant.EventConstants
;
...
...
@@ -20,6 +19,7 @@ import com.wd.capability.network.constant.ParameterConstant;
import
com.wd.capability.network.interceptor.LoggingInterceptor
;
import
com.wd.capability.network.refreshtoken.IRefreshTokenForJsCallBack
;
import
com.wd.capability.network.response.BaseResponse
;
import
com.wd.foundation.wdinterfaceimpl.config.IRefreshToken
;
import
com.wd.foundation.wdkit.json.JsonParseUtil
;
import
com.wd.foundation.wdkit.utils.DeviceUtil
;
import
com.wd.foundation.wdkit.utils.SpUtils
;
...
...
wdnetwork/src/main/java/com/wd/capability/network/RetrofitClient.java
View file @
8f8901d
...
...
@@ -13,6 +13,9 @@ import com.wd.capability.network.interceptor.BaseInterceptor;
import
com.wd.capability.network.interceptor.DynamicTimeoutInterceptor
;
import
com.wd.capability.network.interceptor.LoggingInterceptor
;
import
com.wd.capability.network.interceptor.MultiDomainInterceptor
;
import
com.wd.foundation.wdinterface.config.INetConfig
;
import
com.wd.foundation.wdinterface.constant.InterfaceConstant
;
import
com.wd.foundation.wdkitcore.router.ArouterServiceManager
;
import
com.wd.foundation.wdkitcore.tools.ArrayUtils
;
import
java.io.File
;
...
...
@@ -63,25 +66,20 @@ public class RetrofitClient {
* 过滤接口名字不做429弹窗
*/
private
static
List
<
String
>
interceptorHosts
;
private
static
Interceptor
mTokenInterceptor
;
public
static
void
init
(
Context
context
)
{
mContext
=
context
;
}
public
static
void
init
(
Context
context
,
Interceptor
tokenInterceptor
)
{
mContext
=
context
;
mTokenInterceptor
=
tokenInterceptor
;
}
/**
* 429不弹出
*
* @param requestHosts
*/
public
static
void
initInterceptor
(
List
<
String
>
requestHosts
)
{
if
(
ArrayUtils
.
isNotEmpty
(
requestHosts
)){
if
(
null
==
interceptorHosts
){
public
static
void
initInterceptor
(
List
<
String
>
requestHosts
)
{
if
(
ArrayUtils
.
isNotEmpty
(
requestHosts
))
{
if
(
null
==
interceptorHosts
)
{
interceptorHosts
=
new
ArrayList
<>();
}
interceptorHosts
.
clear
();
...
...
@@ -112,6 +110,10 @@ public class RetrofitClient {
if
(
TextUtils
.
isEmpty
(
url
))
{
url
=
baseUrl
;
}
INetConfig
config
=
ArouterServiceManager
.
provide
(
InterfaceConstant
.
PATH_NET_CONFIG
);
if
(
config
!=
null
)
{
url
=
config
.
getBaseUrl
();
}
if
(
httpCacheDirectory
==
null
)
{
httpCacheDirectory
=
new
File
(
mContext
.
getCacheDir
(),
NetManager
.
getNetManager
().
builder
.
getCacheFile
());
...
...
@@ -124,12 +126,17 @@ public class RetrofitClient {
e
.
printStackTrace
();
}
Interceptor
[]
mInterceptors
=
config
.
getInterceptors
();
// HttpsUtils.SslParams sslParams = HttpsUtils.getSslSocketFactory();
OkHttpClient
.
Builder
builder
=
new
OkHttpClient
.
Builder
().
cache
(
cache
);
builder
.
addInterceptor
(
new
MultiDomainInterceptor
())
.
addInterceptor
(
new
BaseInterceptor
(
mContext
))
.
addInterceptor
(
mTokenInterceptor
)
.
addInterceptor
(
new
DynamicTimeoutInterceptor
());
.
addInterceptor
(
new
BaseInterceptor
(
mContext
));
if
(
mInterceptors
!=
null
&&
mInterceptors
.
length
>
0
)
{
for
(
Interceptor
interceptor
:
mInterceptors
)
{
builder
.
addInterceptor
(
interceptor
);
}
}
builder
.
addInterceptor
(
new
DynamicTimeoutInterceptor
());
if
(
BuildConfig
.
DEBUG
)
{
builder
.
addInterceptor
(
new
LoggingInterceptor
());
}
...
...
Please
register
or
login
to post a comment