ITestHomeContract.kt 1.76 KB
Newer Older
konghaorui committed
1 2 3 4 5 6 7 8 9 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 38 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
package com.yidianling.tests.home.contract

import com.ydl.ydlcommon.mvp.base.IModel
import com.ydl.ydlcommon.mvp.base.IPresenter
import com.ydl.ydlcommon.mvp.base.IView
import com.yidianling.tests.home.bean.TestHomeDataBean
import io.reactivex.Observable

/**
 * @author yuanwai
 * @描述:测试首页约束类
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2018/7/26
 */
interface ITestHomeContract{
    //View接口
    interface View : IView {
        /**
         * 测评首页数据请求
         */
        fun newHomeRequest()

        /**
         * 测评首页数据请求结果
         */
        fun newHomeResponse(datalist : List<TestHomeDataBean>)

        /**
         * 测评首页数据请求失败
         */
        fun newHomeRequestFail()

        /**
         * 每日精选 换一批
         */
        fun dailyChange()

        /**
         * 测评首页换一批请求结果
         */
        fun dailyChangeResponse(dataBean : TestHomeDataBean)
        /**
         * 加载更多
         */
        fun loadMoreResponse(datalist : List<TestHomeDataBean>)

        /**
         * 显示错误信息
         */
        fun showError(msg : String?)
    }

    interface Presenter : IPresenter<View> {
        /**
         * 测评首页数据请求
         */
        fun newHomeRequest()

        /**
         * 上拉加载更多
         */
        fun onLoadMore(page : Int)

        /**
         * 每日精选 换一批
         */
        fun dailyChange()
    }

    interface Model: IModel {
        /**
         * 测评首页数据请求
         */
        fun newHomeRequest() : Observable<List<TestHomeDataBean>>

        /**
         * 每日精选 换一批
         */
        fun dailyChange() : Observable<TestHomeDataBean>
    }
}