HomeBasePagerApi.kt 4.21 KB
Newer Older
1 2 3 4 5 6 7 8
package com.yidianling.home.http

import com.ydl.ydlcommon.base.BaseApp
import com.ydl.ydlcommon.base.config.YDL_DOMAIN
import com.ydl.ydlcommon.base.config.YDL_DOMAIN_JAVA
import com.ydl.ydlcommon.data.PlatformDataManager
import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse
9
import com.ydl.ydlcommon.router.YdlCommonOut
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.home.model.bean.*
import io.reactivex.Observable
import retrofit2.http.*

/**
 * @author jiucheng
 * @描述:首页接口api
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2018/8/22
 */
interface HomeBasePagerApi {
    /**
     * 首页头部数据 Banner&分类
     */
    @GET("home/index")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getHomeHeaderData(): Observable<BaseAPIResponse<HomeHeaderBean>>

    /**
     * 首页咨询请求
     * goodType 为空或不传 则获取默认类型数据
     */
    @GET("doctor/list")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getConsultData(
        @Query("categories") category: String,
ydl committed
38
        @Query("limit") limit: String = "3",
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
        @Query("page") page: String = "1",
        @Query("uid") uid: String,
        @Query("searchWord") searchWord: String = "",
        @Query("showType") showType: String = "0",
        @Query("ffrom") ffrom: String = PlatformDataManager.getRam().getChannelName(),
        @Query("version") version: String = RxDeviceTool.getAppVersionName(BaseApp.getApp())
    ): Observable<BaseAPIResponse<HomeConsultBean>>

    /**
     * 首页倾述请求
     * goodType 为空或不传 则获取默认类型数据
     */
    @GET("auth/listen/search")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getConfideData(
        @Query("goodType") goodType: String,
        @Query("limit") limit: String = "3",
        @Query("page") page: String = "1",
        // 1: 查询第一个类型列表,较goodType比,低优先级
        @Query("isDefaultType") isDefaultType: String = "1",
        @Query("uid") uid: String,
        @Query("ffrom") ffrom: String = PlatformDataManager.getRam().getChannelName(),
        @Query("version") version: String = RxDeviceTool.getAppVersionName(BaseApp.getApp())
    ): Observable<BaseAPIResponse<HomeConfideBean>>

    //首页课程请求
    @GET("auth/course/getList")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getCourseData(
        @Query("listType") listType: String = "10",
        @Query("limit") limit: String = "3",
        @Query("uid") uid: String,
        @Query("ffrom") ffrom: String = PlatformDataManager.getRam().getChannelName(),
        @Query("version") version: String = RxDeviceTool.getAppVersionName(BaseApp.getApp())
    ): Observable<BaseAPIResponse<HomeCourseBean>>

    //首页测试请求
    @GET("test-item/home-recommend")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getTestData(
        @Query("uid") uid: String,
        @Query("ffrom") ffrom: String = PlatformDataManager.getRam().getChannelName(),
        @Query("version") version: String = RxDeviceTool.getAppVersionName(BaseApp.getApp())
    ): Observable<BaseAPIResponse<MutableList<HomeTestItemBean>>>

    //首页问答请求
    @GET("ask/list-old")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getAskData(
        @Query("perPageRows") perPageRows: String = "6",
        @Query("tab") tab: String = "2",
        @Query("accessToken") accessToken: String,
        @Query("uid") uid: String
    ): Observable<BaseAPIResponse<HomeAskBean>>

    //首页电台请求
    @GET("fm/list/all")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getFMData(@Query("perPageRows") perPageRows: String = "4"): Observable<BaseAPIResponse<HomeFMBean>>

    //首页文章请求
    @GET("article/list/all")
    @Headers(YDL_DOMAIN + YDL_DOMAIN_JAVA)
    fun getArticleData(@Query("perPageRows") perPageRows: String = "4"): Observable<BaseAPIResponse<HomeArticleBean>>

    //首页问答 - 点赞
    @FormUrlEncoded
    @POST("sq-active/zan")
    fun askZan(@FieldMap params: Map<String, String>): Observable<BaseResponse<AskResultBean>>

    //首页问答 - 关注
    @FormUrlEncoded
    @POST("sq-active/focus")
    fun askFocus(@FieldMap params: Map<String, String>): Observable<BaseResponse<AskResultBean>>


}