RequestTest.java 2.57 KB
package com.cnlive.libs.demo;

import android.content.Context;

import com.cnlive.libs.base.data.network.RetrofitUtil;
import com.cnlive.libs.base.data.network.Subscriber;
import com.cnlive.libs.demo.data.model.AppInfo;
import com.cnlive.libs.demo.data.network.testapi.ApiRequest;
import com.cnlive.libs.demo.data.network.testapi.ApiService;

import io.reactivex.disposables.Disposable;


public class RequestTest {

    //---- Api Config Start ---
    public static final String success_code = "200";
    private static final String success_message = "数据加载成功";

    private static final String custom_error = "401";
    private static final String custom_response_message = "自定义事件";

    static {
        RetrofitUtil.setDebug(com.cnlive.libs.demo.Config.debug);
    }

    private static final Subscriber.CustomLoadResponse customLoadResponse = (code, message, pageData) -> {
        switch (code) {
            case custom_error:
                //Custom Error Event
                break;
        }
    };

    public static final Subscriber.Config subscriberBuild = Subscriber.newConfig()
            .putCustomResponse(custom_error, custom_response_message)
            .putInfo(Subscriber.Config.response_success, success_code, success_message)
            .setCustomLoadResponse(customLoadResponse);

    //---- Api Config End ---
    public void test(Context context) {
        Disposable disposable = ApiRequest.subscribe(
                ApiRequest.service(ApiService.class).appInfo(Config.APP_ID),
                new Subscriber<AppInfo>(context, subscriberBuild) {
                    @Override
                    public void onStart() {

                    }

                    @Override
                    public void onError(String code, String message) {
                        switch (code) {
                            case success_code:
                                break;
                            case Subscriber.Config.default_error_code:
                                break;
                            case Subscriber.Config.default_failure_code:
                                break;
                            case Subscriber.Config.default_unknown_error_code:
                                break;
                            case Subscriber.Config.default_no_network_code:
                                break;
                        }
                    }

                    @Override
                    public void onCompleted(String code, String message, AppInfo data) {

                    }
                });

        disposable.dispose();
    }


}