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> getCaptchaImage() { return apiService.getCaptchaImage(); } /** * 登录 * @param loginRequestBean 登录参数 */ @Override public Observable> login(LoginRequestBean loginRequestBean) { return apiService.login(loginRequestBean); } /** * 注册 */ @Override public Observable> register(LoginRequestBean loginRequestBean) { return apiService.register(loginRequestBean); } /** * 获取家大事记 */ @Override public Observable> getFamilyMemorabilia(Map queryMap) { return apiService.getFamilyMemorabilia(queryMap); } /** * 增加家大事记 */ @Override public Observable> addFamilyMemorabilia(FamilyMemorabiliaBean familyMemorabiliaBean) { return apiService.addFamilyMemorabilia(familyMemorabiliaBean); } /** * 删除家大事记 */ @Override public Observable> deleteFamilyMemorabilia(String ids) { return apiService.deleteFamilyMemorabilia(ids); } /** * 修改家大事记 */ @Override public Observable> updateFamilyMemorabilia(FamilyMemorabiliaBean familyMemorabiliaBean) { return apiService.updateFamilyMemorabilia(familyMemorabiliaBean); } }