package me.qixingchen.mdbilibili.network;
import me.qixingchen.mdbilibili.model.FeedbackM;
import me.qixingchen.mdbilibili.model.List;
import me.qixingchen.mdbilibili.model.RecommendM;
import me.qixingchen.mdbilibili.model.SearchM;
import me.qixingchen.mdbilibili.model.UserNameM;
import me.qixingchen.mdbilibili.model.UserUidM;
import me.qixingchen.mdbilibili.model.VideoHDM;
import me.qixingchen.mdbilibili.model.VideoM;
import retrofit.http.GET;
import retrofit.http.Query;
import rx.Observable;
/**
* Created by Farble on 2015/7/28 22.
*/
public interface Api {
String URL = "http://api.bilibili.cn/";
String VIDEO_URL = "http://www.bilibili.com/";
interface SearchApi {
@GET("search")
Observable<SearchM> doSearch(@Query("keyword") String keyword, @Query("page") int page,
@Query("pagesize") int pagesize, @Query("order") String order);
}
interface RecommendApi {
@GET("author_recommend")
Observable<RecommendM> getRecommendApi(@Query("aid") int aid);
}
interface FeedBackApi {
@GET("feedback")
Observable<FeedbackM> getFeedBackApiApi(@Query("aid") int aid, @Query("ver") int ver);
}
interface UserInfoBynameApi {
@GET("userinfo")
Observable<UserNameM> getUserInfoBynameApi(@Query("user") String user);
}
interface UserInfoByuidApi {
@GET("userinfo")
Observable<UserUidM> getUserInfoByuidApi(@Query("uid") String uid);
}
interface View {
@GET("view")
Observable<me.qixingchen.mdbilibili.model.View> getViewInfo(
@Query("id") int aid,
@Query("page") int page
);
@GET("view")
Observable<me.qixingchen.mdbilibili.model.View> getViewInfo(
@Query("id") int aid,
@Query("page") int page,
@Query("fav") int fav
);
}
interface VideoApi {
/**
* 获取高清视频接口
* 请求位于 http://interface.bilibili.com/
* 海外需要使用 /playurl 接口
*/
@GET("v_cdn_play")
Observable<VideoHDM> getVideoApi(
@Query("otype") String otype,
@Query("cid") String cid,
@Query("type") String type,
@Query("quality") int quality,
@Query("appkey") String appkey
);
@GET("m/html5")
Observable<VideoM> getVideoApiRx(@Query("aid") int aid);
}
interface ListApi {
@GET("list")
Observable<List> getList(
@Query("tid") int tid,
@Query("ver") int ver,
@Query("pagesize") int pageSize
);
}
}