pda/zhuike/.svn/pristine/be/beef08ea36a7025fc3059839524...

110 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.novelbook.android.netapi;
import java.util.Map;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Streaming;
import retrofit2.http.Url;
/**
* Created by 眼神 on 2018/3/27.
*
* 存放所有的Api
*/
public interface HttpApi {
//请填写自己的接口名
// @POST("abc")
// Observable<ResponseBody> getDataForBean(@Body DouBanMovieRequest bean);
@GET("top250")
Observable<ResponseBody> getDataForMap(@QueryMap Map<String, Integer> map);
/**
* 通过地址下载一个文件
*/
@GET("ab")
@Streaming
Call<ResponseBody> downloadFile(@Url String fileUrl);
//http://xiaoshuofenxiang.com/api/g/
@GET("g/")
Observable<ResponseBody> getMasterDomain();
//http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.json
@GET("n/{id}")
Observable<ResponseBody> getNovel(@Path("id") int novelId);
//http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.mulu-urls.json
@GET("n/{id}/mulu-urls")
Observable<ResponseBody> getNovelSites(@Path("id") int novelId);
//http://xiaoshuofenxiang.com/api/s/www.qu.la.json
@GET("s/{siteDomain}.json")
Observable<ResponseBody> getNovelRule(@Path("siteDomain") String siteDomain);
@GET("page/index")
Observable<ResponseBody> getFirstPage(@Query("sex") int Sex);
//分类的总榜显示每个小说分类有多少本书http://xiaoshuofenxiang.com/api/page/noveltype
@GET("page/noveltype")
Observable<ResponseBody> getCates(@Query("sex") int sex);
// sex1 2progress:1, 连载中、2已完本3. 新书 http://xiaoshuofenxiang.com/api/search/nt/言情/2?sex=2&progress=1
//@GET("search/nt/{cate}/{pageno}?sex={sex}&progress={progress} ")
// Observable<ResponseBody> search(@Query("cate") String cate, @Query("pageno") int pageno, @Query("sex") int sex, @Query("progress") int progress);
@GET("search/nt/{cate}/{pageno}")
Observable<ResponseBody> getCateNovels(@Path("cate") String cate, @Path("pageno") int pageno, @Query("sex") int sex, @Query("progress") int progress);
//小说排行 http://xiaoshuofenxiang.com/api/page/rank?fn=hot
@GET("page/rank")
Observable<ResponseBody> getNovelPaihang(@Query("fn") String fn,@Query("sex") int Sex);
//相关小说 http://xiaoshuofenxiang.com/api/n/6/about
@GET("n/{novelId}/about")
Observable<ResponseBody> getNovelsRelated(@Path("novelId") int novelId);
//同作者其它小说http://xiaoshuofenxiang.com/api/n/7/author
@GET("n/{novelId}/author")
Observable<ResponseBody> getNovelsSameAuthor(@Path("novelId") int novelId);
//站点榜单http://xiaoshuofenxiang.com/api/page/siteranks?sex=1
/* @GET("page/siteranks")
Observable<ResponseBody> getSiteRanks(@Query("sex") int Sex);
//http://xiaoshuofenxiang.com/api/page/siterank?fn=qidian-yuanchuangfengyunbang&pn=3
@GET("page/siterank")
Observable<ResponseBody> getSiteRankDetail(@Query("fn")String fn,@Query("pn")int pageNo,@Query("sex") int Sex);*/
@GET( "search/{keyword}/{pageno}")
Observable<ResponseBody> getSeachNolvelist(@Path("keyword")String keyWord,@Path("pageno")int pageNo,@Query("sex") int Sex);
// 搜索分类 http://xiaoshuofenxiang.com/api/page/topdata
@GET("page/topdata")
Observable<ResponseBody> getSearchTitles(@Query("sex") int Sex);
//返回指定id列表的小说列表api/novels/1,2
@GET("novels/{nvs}")
Observable<ResponseBody> getNovelsByIds(@Path("nvs")String nvs );
//返回指定id列表的小说列表
@GET("page/hot-keywords")
Observable<ResponseBody> getSearchHotKeys();
@GET("download/version.xml")
Observable<ResponseBody> getVersion();
@GET("page/category")
Observable<ResponseBody> getPaihangBangCateList(@Query("sex") int Sex,@Query("type") String type);
@GET("page/siteranks")
Observable<ResponseBody> getPaihangBangByCate(@Query("sex") int Sex,@Query("cid") int cid);
@GET("page/siterank")
Observable<ResponseBody> getPaihangBangList(@Query("sex") int Sex,@Query("cid") int cid,@Query("pn")int pageNo);
@FormUrlEncoded
@POST("r/{actionType}.shtml") //{action type}.shtml?msg=${msg}
Observable<ResponseBody> reportMsg(@Path("actionType")String actionType, @FieldMap Map<String, String> map);
}