11111
This commit is contained in:
@@ -167,5 +167,12 @@ dependencies {
|
||||
api 'com.adjust.sdk:adjust-android:4.30.1'
|
||||
api 'com.android.installreferrer:installreferrer:2.2'
|
||||
api 'com.google.firebase:firebase-analytics:15.0.0'
|
||||
|
||||
//Retrofit2库
|
||||
api 'com.squareup.retrofit2:retrofit:2.3.0'
|
||||
api 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
|
||||
//gson解析
|
||||
api 'com.squareup.retrofit2:converter-gson:2.3.0'
|
||||
//rxjava2库
|
||||
api 'io.reactivex.rxjava2:rxjava:2.0.1'
|
||||
api 'io.reactivex.rxjava2:rxandroid:2.0.1'
|
||||
}
|
||||
|
||||
52
common/src/main/java/com/yunbao/common/http/API.java
Normal file
52
common/src/main/java/com/yunbao/common/http/API.java
Normal file
@@ -0,0 +1,52 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.internal.bind.DateTypeAdapter;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.http.base.BaseApi;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
/**
|
||||
* pdLive接口
|
||||
*/
|
||||
public class API extends BaseApi {
|
||||
private PDLiveApi pdLiveApi;
|
||||
|
||||
private static API api;
|
||||
|
||||
|
||||
/**
|
||||
* 获取单利
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static API get() {
|
||||
if (null == api) {
|
||||
api = new API();
|
||||
}
|
||||
return api;
|
||||
}
|
||||
|
||||
public PDLiveApi pdLiveApi(Context context) {
|
||||
if (null == pdLiveApi) {
|
||||
//实例化gson
|
||||
Gson gson = new GsonBuilder()
|
||||
.registerTypeAdapter(Date.class, new DateTypeAdapter())
|
||||
.create();
|
||||
OkHttpClient.Builder builder = new OkHttpClient()
|
||||
.newBuilder()
|
||||
.addInterceptor(new PDLiveInterceptor(context));
|
||||
pdLiveApi = create(builder.build(),
|
||||
GsonConverterFactory.create(gson), RxJava2CallAdapterFactory.create(), CommonAppConfig.HOST, PDLiveApi.class);
|
||||
}
|
||||
return pdLiveApi;
|
||||
}
|
||||
}
|
||||
@@ -162,8 +162,6 @@ public class CommonHttpUtil {
|
||||
Log.i("来了", lang);
|
||||
//或者仅仅使用 locale = Locale.getDefault(); 不需要考虑接口 deprecated(弃用)问题
|
||||
HttpClient.getInstance().get("Home.getConfig", CommonHttpConsts.GET_CONFIG)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("langue", lang)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
@@ -228,32 +226,6 @@ public class CommonHttpUtil {
|
||||
setAttention(CommonHttpConsts.SET_ATTENTION, touid, callback);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 关注别人 或 取消对别人的关注的接口
|
||||
// */
|
||||
// public static void setAttention(String tag, final String touid, final CommonCallback<Integer> callback) {
|
||||
// if (touid.equals(CommonAppConfig.getInstance().getUid())) {
|
||||
// ToastUtil.show(WordUtil.getString(R.string.cannot_follow_self));
|
||||
// return;
|
||||
// }
|
||||
// HttpClient.getInstance().get("User.setAttent", tag)
|
||||
// .params("uid", CommonAppConfig.getInstance().getUid())
|
||||
// .params("token", CommonAppConfig.getInstance().getToken())
|
||||
// .params("touid", touid)
|
||||
// .execute(new HttpCallback() {
|
||||
// @Override
|
||||
// public void onSuccess(int code, String msg, String[] info) {
|
||||
// if (code == 0 && info.length > 0) {
|
||||
// int isAttention = JSON.parseObject(info[0]).getIntValue("isattent");//1是 关注 0是未关注
|
||||
// EventBus.getDefault().post(new FollowEvent(touid, isAttention));
|
||||
// if (callback != null) {
|
||||
// callback.callback(isAttention);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
/**
|
||||
* 关注别人 或 取消对别人的关注的接口
|
||||
*/
|
||||
@@ -263,8 +235,6 @@ public class CommonHttpUtil {
|
||||
return;
|
||||
}
|
||||
HttpClient.getInstance().get("User.setAttents", tag)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("touid", touid)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
@@ -291,8 +261,6 @@ public class CommonHttpUtil {
|
||||
isGoogle = "-1";
|
||||
}
|
||||
HttpClient.getInstance().get("User.getBalance", CommonHttpConsts.GET_BALANCE)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("type", 0)
|
||||
.params("isGooglePay", isGoogle)
|
||||
.execute(callback);
|
||||
@@ -349,8 +317,6 @@ public class CommonHttpUtil {
|
||||
*/
|
||||
public static void checkTokenInvalid() {
|
||||
HttpClient.getInstance().get("User.ifToken", CommonHttpConsts.CHECK_TOKEN_INVALID)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.execute(NO_CALLBACK);
|
||||
}
|
||||
|
||||
@@ -391,8 +357,6 @@ public class CommonHttpUtil {
|
||||
if ("2".equals(community_type)) {
|
||||
request = HttpClient.getInstance().post(CommonHttpConsts.COMMUNITY_SETREPORT, CommonHttpConsts.COMMUNITY_SETREPORT)
|
||||
.isMultipart(true)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("dynamic_id", dynamic_id)
|
||||
.params("report_type", report_type)
|
||||
.params("content", content)
|
||||
@@ -401,8 +365,6 @@ public class CommonHttpUtil {
|
||||
} else {
|
||||
request = HttpClient.getInstance().post(CommonHttpConsts.COMMUNITY_SETREPORT, CommonHttpConsts.COMMUNITY_SETREPORT)
|
||||
.isMultipart(true)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("token", CommonAppConfig.getInstance().getToken())
|
||||
.params("dynamic_id", dynamic_id)
|
||||
.params("report_type", report_type)
|
||||
.params("content", content)
|
||||
@@ -425,7 +387,6 @@ public class CommonHttpUtil {
|
||||
*/
|
||||
public static void getUserBaseinfo(String touid, HttpCallback callback) {
|
||||
HttpClient.getInstance().get("User.getUserBaseinfo", CommonHttpConsts.GET_USER_BASEINFO)
|
||||
.params("uid", CommonAppConfig.getInstance().getUid())
|
||||
.params("touid", touid)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.gson.Gson;
|
||||
import com.lzy.okgo.callback.AbsCallback;
|
||||
import com.lzy.okgo.model.Response;
|
||||
import com.lzy.okgo.request.base.Request;
|
||||
@@ -33,6 +35,8 @@ public abstract class HttpCallback extends AbsCallback<JsonBean> {
|
||||
@Override
|
||||
public void onSuccess(Response<JsonBean> response) {
|
||||
JsonBean bean = response.body();
|
||||
String gson = new Gson().toJson(bean);
|
||||
Log.e("onSuccess",gson);
|
||||
if (bean != null) {
|
||||
if (200 == bean.getRet()) {
|
||||
Data data = bean.getData();
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.lzy.okgo.OkGo;
|
||||
import com.lzy.okgo.cache.CacheMode;
|
||||
import com.lzy.okgo.cookie.CookieJarImpl;
|
||||
@@ -8,7 +10,11 @@ import com.lzy.okgo.request.GetRequest;
|
||||
import com.lzy.okgo.request.PostRequest;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
@@ -47,17 +53,12 @@ public class HttpClient {
|
||||
builder.writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
|
||||
builder.cookieJar(new CookieJarImpl(new MemoryCookieStore()));
|
||||
builder.retryOnConnectionFailure(true);
|
||||
// Dispatcher dispatcher = new Dispatcher();
|
||||
// dispatcher.setMaxRequests(20000);
|
||||
// dispatcher.setMaxRequestsPerHost(10000);
|
||||
// builder.dispatcher(dispatcher);
|
||||
|
||||
//输出HTTP请求 响应信息
|
||||
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor("http");
|
||||
loggingInterceptor.setPrintLevel(HttpLoggingInterceptor.Level.BODY);
|
||||
builder.addInterceptor(loggingInterceptor);
|
||||
//添加PDLive请求常用信息
|
||||
mOkHttpClient = builder.build();
|
||||
|
||||
OkGo.getInstance().init(CommonAppContext.sInstance)
|
||||
.setOkHttpClient(mOkHttpClient)
|
||||
.setCacheMode(CacheMode.NO_CACHE)
|
||||
@@ -66,23 +67,51 @@ public class HttpClient {
|
||||
}
|
||||
|
||||
public GetRequest<JsonBean> get(String serviceName, String tag) {
|
||||
Context context = CommonAppContext.sInstance.getApplicationContext();
|
||||
//拼装基本信息
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (IMLoginManager.isLogin(context)) {
|
||||
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
||||
map.put("uid", String.valueOf(model.getId()));
|
||||
map.put("token", model.getToken());
|
||||
}
|
||||
return OkGo.<JsonBean>get(mUrl + serviceName)
|
||||
.headers("Connection","keep-alive")
|
||||
.params(map, true)
|
||||
.headers("Connection", "keep-alive")
|
||||
.tag(tag)
|
||||
.params(CommonHttpConsts.LANGUAGE, mLanguage);
|
||||
}
|
||||
|
||||
|
||||
public GetRequest<JsonBean> get(String url,String serviceName, String tag) {
|
||||
public GetRequest<JsonBean> get(String url, String serviceName, String tag) {
|
||||
|
||||
Context context = CommonAppContext.sInstance.getApplicationContext();
|
||||
//拼装基本信息
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (IMLoginManager.isLogin(context)) {
|
||||
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
||||
map.put("uid", String.valueOf(model.getId()));
|
||||
map.put("token", model.getToken());
|
||||
}
|
||||
return OkGo.<JsonBean>get(url + serviceName)
|
||||
.headers("Connection","keep-alive")
|
||||
.headers("Connection", "keep-alive")
|
||||
.params(map, true)
|
||||
.tag(tag)
|
||||
.params(CommonHttpConsts.LANGUAGE, mLanguage);
|
||||
}
|
||||
|
||||
public PostRequest<JsonBean> post(String serviceName, String tag) {
|
||||
Context context = CommonAppContext.sInstance.getApplicationContext();
|
||||
//拼装基本信息
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (IMLoginManager.isLogin(context)) {
|
||||
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
||||
map.put("uid", String.valueOf(model.getId()));
|
||||
map.put("token", model.getToken());
|
||||
}
|
||||
return OkGo.<JsonBean>post(mUrl + serviceName)
|
||||
.headers("Connection","keep-alive")
|
||||
.headers("Connection", "keep-alive")
|
||||
.params(map, true)
|
||||
.tag(tag)
|
||||
.params(CommonHttpConsts.LANGUAGE, mLanguage);
|
||||
}
|
||||
|
||||
33
common/src/main/java/com/yunbao/common/http/PDLiveApi.java
Normal file
33
common/src/main/java/com/yunbao/common/http/PDLiveApi.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
/**
|
||||
* PDLive网络接口访问
|
||||
*/
|
||||
public interface PDLiveApi {
|
||||
/**
|
||||
* 用户手机号登录
|
||||
*
|
||||
* @param userName
|
||||
* @param passWord
|
||||
* @param uuidDevice
|
||||
* @param pushid
|
||||
* @param lastlogindevice
|
||||
* @return
|
||||
*/
|
||||
@FormUrlEncoded
|
||||
@POST("/api/public/?service=Login.userLogin")
|
||||
Observable<ResponseModel<IMLoginModel>> loginByManager(
|
||||
@Field("user_login") String userName,
|
||||
@Field("user_pass") String passWord,
|
||||
@Field("uuid_Device") String uuidDevice,
|
||||
@Field("pushid") String pushid,
|
||||
@Field("lastlogindevice") String lastlogindevice
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
|
||||
/**
|
||||
* PDlLive通用拦截器
|
||||
*/
|
||||
public class PDLiveInterceptor implements Interceptor {
|
||||
private Context context;
|
||||
|
||||
PDLiveInterceptor(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response intercept(Chain chain) throws IOException {
|
||||
//拼接请求,添加头
|
||||
Request request = chain.request();
|
||||
Request.Builder builder = request.newBuilder();
|
||||
Log.e("TAG", "Request: " + request.toString());
|
||||
//已登录则添加全局参数
|
||||
if (IMLoginManager.isLogin(context)) {
|
||||
IMLoginModel model = IMLoginManager.get(context).getUserInfo();
|
||||
builder.addHeader("userid", String.valueOf(model.getId()));
|
||||
builder.addHeader("token", model.getToken());
|
||||
}
|
||||
Response response = chain.proceed(builder.build());
|
||||
Log.e("TAG", "Request: " + response.toString());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class ResponseData<T> {
|
||||
@SerializedName("code")
|
||||
private int code;
|
||||
@SerializedName("msg")
|
||||
private String msg;
|
||||
@SerializedName("info")
|
||||
private T info;
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public ResponseData<T> setCode(int code) {
|
||||
this.code = code;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public ResponseData<T> setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public T getInfo() {
|
||||
return info;
|
||||
}
|
||||
|
||||
public ResponseData<T> setInfo(T info) {
|
||||
this.info = info;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.yunbao.common.http;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* 响应体基础结构(使用info字符串数组数据)
|
||||
*/
|
||||
public class ResponseModel<T> {
|
||||
/**
|
||||
* ret : 200
|
||||
* data : {"code":0,"msg":"登录成功","info":{"id":139372,"user_nicename":"新手指导员05","avatar":"https://napi.yaoulive.com/default.jpg","avatar_thumb":"https://napi.yaoulive.com/default_thumb.jpg","sex":1,"signature":"这家伙很懒,什么都没留下","coin":0,"gold":470,"goldsumption":0,"consumption":7200,"votestotal":0,"province":"","city":"","birthday":"","user_status":1,"issuper":0,"location":"","noble_id":0,"goodnum":"","is_guess":null,"langue":"chinese","goodnum_expire_time":null,"avatar2":null,"front_task":1,"level":"5","level_anchor":"1","vip":{"type":"0"},"liang":{"name":"0"},"medal_level":"0","medal_name":"","token":"790b4a59b46e22e68e04ba76c505dbc3","first_login":"0","token_rong":"Qx7tt7henwUJC3NXkwaOsnQeHkqz/DDlzFfBg3prJ6c=@xln2.sg.rongnav.com;xln2.sg.rongcfg.com"}}
|
||||
* msg :
|
||||
*/
|
||||
|
||||
@SerializedName("ret")
|
||||
private int ret;
|
||||
@SerializedName("data")
|
||||
private ResponseData<T> data;
|
||||
@SerializedName("msg")
|
||||
private String msg;
|
||||
|
||||
public int getRet() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public ResponseModel<T> setRet(int ret) {
|
||||
this.ret = ret;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ResponseData<T> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public ResponseModel<T> setData(ResponseData<T> data) {
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public ResponseModel<T> setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.yunbao.common.http.base;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.OkHttpClient;
|
||||
import retrofit2.CallAdapter;
|
||||
import retrofit2.Converter;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
||||
|
||||
|
||||
/**
|
||||
* 网络请求基类
|
||||
*/
|
||||
public class BaseApi {
|
||||
/**
|
||||
* 创建一个接口方法
|
||||
*
|
||||
* @param okHttpClient okhttp客户端
|
||||
* @param converterFactory 处理工厂类
|
||||
* @param callAdapterFactory 请求适配器工厂
|
||||
* @param baseUrl 基础地质
|
||||
* @param service 接口
|
||||
* @param <T> 接口泛型
|
||||
* @return 接口
|
||||
*/
|
||||
public <T> T create(OkHttpClient okHttpClient, Converter.Factory converterFactory, CallAdapter.Factory callAdapterFactory, String baseUrl, Class<T> service) {
|
||||
Retrofit.Builder builder = new Retrofit.Builder()
|
||||
//基础url
|
||||
.baseUrl(baseUrl)
|
||||
//客户端OKHttp
|
||||
.client(okHttpClient);
|
||||
//添加转换工厂
|
||||
if (null != converterFactory) {
|
||||
builder.addConverterFactory(converterFactory);
|
||||
}
|
||||
//添加请求工厂
|
||||
if (null != callAdapterFactory) {
|
||||
builder.addCallAdapterFactory(callAdapterFactory);
|
||||
}
|
||||
//创建retrofit对象
|
||||
Retrofit retrofit = builder.build();
|
||||
|
||||
//返回创建的api
|
||||
return retrofit.create(service);
|
||||
}
|
||||
|
||||
public <T> T createApi(Interceptor interceptor, Converter.Factory converterFactory, CallAdapter.Factory callAdapterFactory, String baseUrl, Class<T> service) {
|
||||
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
|
||||
if (null != interceptor) {
|
||||
builder.addInterceptor(interceptor);
|
||||
}
|
||||
return create(builder.build(), converterFactory, callAdapterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createApi(Map<String, String> headerMap, Converter.Factory converterFactory, CallAdapter.Factory callAdapterFactory, String baseUrl, Class<T> service) {
|
||||
return createApi(new CommonInterceptor(headerMap), converterFactory, callAdapterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createApi(Converter.Factory converterFactory, CallAdapter.Factory callAdapterFactory, String baseUrl, Class<T> service) {
|
||||
return createApi(new HashMap<>(), converterFactory, callAdapterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createApi(CallAdapter.Factory callAdapterFactory, String baseUrl, Class<T> service) {
|
||||
return createApi(null, callAdapterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createApi(String baseUrl, Class<T> service) {
|
||||
return createApi(null, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createRxApi(Interceptor interceptor, Converter.Factory converterFactory, String baseUrl, Class<T> service) {
|
||||
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
|
||||
if (null != interceptor) {
|
||||
builder.addInterceptor(interceptor);
|
||||
}
|
||||
return create(builder.build(), converterFactory, RxJava2CallAdapterFactory.create(), baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createRxApi(Map<String, String> headerMap, Converter.Factory converterFactory, String baseUrl, Class<T> service) {
|
||||
return createRxApi(new CommonInterceptor(headerMap), converterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createRxApi(Converter.Factory converterFactory, String baseUrl, Class<T> service) {
|
||||
return createRxApi(new HashMap<>(), converterFactory, baseUrl, service);
|
||||
}
|
||||
|
||||
public <T> T createRxApi(String baseUrl, Class<T> service) {
|
||||
return createRxApi(null, baseUrl, service);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.yunbao.common.http.base;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Request;
|
||||
|
||||
/**
|
||||
* 通用性拦截器
|
||||
*/
|
||||
public class CommonInterceptor implements Interceptor {
|
||||
private Map<String, String> headerMap;
|
||||
|
||||
public CommonInterceptor(Map<String, String> headerMap) {
|
||||
this.headerMap = headerMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public okhttp3.Response intercept(Chain chain) throws IOException {
|
||||
//拼接请求,添加头
|
||||
Request.Builder builder = chain.request()
|
||||
.newBuilder();
|
||||
if (null != headerMap) {
|
||||
Iterator<String> iterator = headerMap.keySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
String key = iterator.next();
|
||||
String value = headerMap.get(key);
|
||||
builder.addHeader(key, value);
|
||||
}
|
||||
}
|
||||
return chain.proceed(builder.build());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.yunbao.common.http.main;
|
||||
|
||||
/**
|
||||
* maim的请求回调接口
|
||||
*/
|
||||
public interface HttpCallback<T> {
|
||||
/**
|
||||
* 请求成功
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
void onSuccess(T data);
|
||||
|
||||
/**
|
||||
* 请求失败
|
||||
*
|
||||
* @param error
|
||||
*/
|
||||
void onError(String error);
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.yunbao.common.http.main;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.http.API;
|
||||
import com.yunbao.common.http.ResponseModel;
|
||||
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.functions.Consumer;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
/**
|
||||
* main库的网络请求管理
|
||||
*/
|
||||
public class MainNetManager {
|
||||
private Activity mContext;
|
||||
private static MainNetManager manager;
|
||||
|
||||
public MainNetManager(Activity context) {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单利
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static MainNetManager get(Activity context) {
|
||||
if (null == manager) {
|
||||
manager = new MainNetManager(context);
|
||||
}
|
||||
return manager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机号登录
|
||||
*
|
||||
* @param phoneNum 手机号码
|
||||
* @param pwd 密码
|
||||
* @param uuid 设备码
|
||||
* @param callback 网络请求回调
|
||||
*/
|
||||
public void login(String phoneNum, String pwd, String uuid, HttpCallback<IMLoginModel> callback) {
|
||||
API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android")
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Consumer<ResponseModel<IMLoginModel>>() {
|
||||
@Override
|
||||
public void accept(ResponseModel<IMLoginModel> imLoginModelResponseModel) throws Exception {
|
||||
if (callback != null) {
|
||||
IMLoginModel model = imLoginModelResponseModel.getData().getInfo();
|
||||
callback.onSuccess(model);
|
||||
}
|
||||
}
|
||||
}, throwable -> {
|
||||
if (callback != null) {
|
||||
callback.onError(throwable.getMessage());
|
||||
}
|
||||
}).isDisposed();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -125,8 +125,8 @@ public class IMLoginManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void run() {
|
||||
HttpClient.getInstance().get("User.isInstructor", "isInstructor")
|
||||
.params("uid", userInfo.getId())
|
||||
.params("token", userInfo.getToken())
|
||||
.params("uid", userInfo.getId(),true)
|
||||
.params("token", userInfo.getToken(),true)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
@@ -103,8 +103,8 @@ public class InstructorRemarkManager extends BaseCacheManager {
|
||||
public void run() {
|
||||
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
|
||||
HttpClient.getInstance().get("User.getInstructorRemark", "getInstructorRemark")
|
||||
.params("uid", userInfo.getId())
|
||||
.params("token", userInfo.getToken())
|
||||
.params("uid", userInfo.getId(),true)
|
||||
.params("token", userInfo.getToken(),true)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
@@ -112,7 +112,7 @@ public class NoviceInstructorManager extends BaseCacheManager {
|
||||
if (TextUtils.equals(userModel.getIsAdmin(), "1")) {
|
||||
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
|
||||
HttpClient.getInstance().get("Message.setZdyMsg", "setZdyMsg")
|
||||
.params("uid", userInfo.getId())
|
||||
.params("uid", userInfo.getId(),true)
|
||||
.execute(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
android:id="@+id/quote_linear"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal"
|
||||
|
||||
Reference in New Issue
Block a user