package com.application.zhangshi_app_android.data.source.http;
|
|
import com.android.app_base.http.ResultData;
|
import com.android.app_base.http.RetrofitManager;
|
import com.application.zhangshi_app_android.bean.CaptchaImageBean;
|
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean;
|
import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean;
|
import com.application.zhangshi_app_android.bean.LoginRequestBean;
|
import com.application.zhangshi_app_android.bean.LoginResponseBean;
|
import com.android.app_base.base.BaseConfig;
|
import com.application.zhangshi_app_android.data.source.HttpDataSource;
|
|
import java.util.Map;
|
|
import io.reactivex.Observable;
|
|
/**
|
* @author Ljj
|
* @date 2023.03.01. 21:23
|
* @desc 网络请求数据源 接口实现类
|
* 配合 Retrofit 使用
|
*/
|
public class HttpDataSourceImpl implements HttpDataSource {
|
private ApiService apiService;
|
private volatile static HttpDataSourceImpl INSTANCE = null;
|
|
private HttpDataSourceImpl() {
|
this.apiService = RetrofitManager.getInstance().getRetrofit(BaseConfig.BASE_URL).create(ApiService.class);
|
}
|
|
public static HttpDataSourceImpl getInstance() {
|
if (INSTANCE == null) {
|
synchronized (HttpDataSourceImpl.class) {
|
if (INSTANCE == null) {
|
INSTANCE = new HttpDataSourceImpl();
|
}
|
}
|
}
|
return INSTANCE;
|
}
|
|
public static void destroyInstance() {
|
INSTANCE = null;
|
}
|
|
/**
|
* 获取验证码图片
|
*/
|
@Override
|
public Observable<ResultData<CaptchaImageBean>> getCaptchaImage() {
|
return apiService.getCaptchaImage();
|
}
|
|
/**
|
* 登录
|
* @param loginRequestBean 登录参数
|
*/
|
@Override
|
public Observable<ResultData<LoginResponseBean>> login(LoginRequestBean loginRequestBean) {
|
return apiService.login(loginRequestBean);
|
}
|
|
/**
|
* 注册
|
*/
|
@Override
|
public Observable<ResultData<String>> register(LoginRequestBean loginRequestBean) {
|
return apiService.register(loginRequestBean);
|
}
|
/**
|
* 获取家大事记
|
*/
|
@Override
|
public Observable<ResultData<FamilyMemorabiliaResponseBean>> getFamilyMemorabilia(Map<String, Object> queryMap) {
|
return apiService.getFamilyMemorabilia(queryMap);
|
}
|
/**
|
* 增加家大事记
|
*/
|
@Override
|
public Observable<ResultData<String>> addFamilyMemorabilia(FamilyMemorabiliaBean familyMemorabiliaBean) {
|
return apiService.addFamilyMemorabilia(familyMemorabiliaBean);
|
}
|
/**
|
* 删除家大事记
|
*/
|
@Override
|
public Observable<ResultData<String>> deleteFamilyMemorabilia(String ids) {
|
return apiService.deleteFamilyMemorabilia(ids);
|
}
|
}
|