package com.king.tv.http; import com.king.tv.bean.AppStart; import com.king.tv.bean.LiveCategory; import com.king.tv.bean.LiveListResult; import com.king.tv.bean.P; import com.king.tv.bean.Recommend; import com.king.tv.bean.Room; import com.king.tv.bean.SearchRequestBody; import com.king.tv.bean.SearchResult; import org.json.JSONArray; import org.json.JSONObject; import java.util.List; import java.util.Map; import retrofit2.Callback; import retrofit2.http.Body; import retrofit2.http.Field; import retrofit2.http.FieldMap; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.Path; import retrofit2.http.Query; import retrofit2.http.QueryMap; import rx.Observable; /** * @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a> * @since 2017/2/13 */ public interface APIService { /** * 获取App启动页信息 * @return */ @GET("json/page/app-data/info.json?v=3.0.1&os=1&ver=4") Observable<AppStart> getAppStartInfo(); /** * 获取分类列表 * @return * * categories/list.json */ @GET("json/app/index/category/info-android.json?v=3.0.1&os=1&ver=4") Observable<List<LiveCategory>> getAllCategories(); /** * 获取推荐列表 * @return */ @GET("json/app/index/recommend/list-android.json?v=3.0.1&os=1&ver=4") Observable<Recommend> getRecommend(); /** * 获取直播列表 * @return */ @GET("json/play/list.json?v=3.0.1&os=1&ver=4") Observable<LiveListResult> getLiveListResult(); @GET("json/categories/{slug}/list.json?v=3.0.1&os=1&ver=4") Observable<LiveListResult> getLiveListResultByCategories(@Path("slug") String slug); /** * 进入房间 * @param uid * @return */ @GET("json/rooms/{uid}/info.json?v=3.0.1&os=1&ver=4") Observable<Room> enterRoom(@Path("uid")String uid); /** * 搜索 * @param searchRequestBody * @return */ @POST("site/search") Observable<SearchResult> search(@Body SearchRequestBody searchRequestBody); }