package com.zxhl.cms.router

import android.content.Intent
import com.zxhl.cms.common.Constant

/**
 * Created by gaoleichao on 2018/12/8.
 */
interface RounterApi {

    @RounterUri(Constant.scheme + "://login")
    fun getIntentActivityLogin(): Intent

    @RounterUri(Constant.scheme + "://local_login")
    fun getIntentActivityLocalLogin(): Intent

    @RounterUri(Constant.scheme + "://web")
    fun getIntentActivityAdWeb(
        @RounterParam("title") title: String,
        @RounterParam("url") url: String,
        @RounterParam("delay") delay: Int,
        @RounterParam("sid") sid: Int,
        @RounterParam("deep_url_re") deep_url_re: String,
        @RounterParam("incentive_level") incentive_level: Int,
        @RounterParam("alert") alert: String,
        @RounterParam("slot_id") slot_id: String,
        @RounterParam("timeTrigger") timeTrigger: String
    ): Intent

    @RounterUri(Constant.scheme + "://web")
    fun getIntentActivityWeb(
        @RounterParam("title") title: String,
        @RounterParam("url") url: String
    ): Intent

    @RounterUri(Constant.scheme + "://adshare")
    fun getIntentActivityAdShare(@RounterParam("data") data: String): Intent

    @RounterUri(Constant.scheme + "://invite_code")
    fun getIntentActivityInviteCode(): Intent

    @RounterUri(Constant.scheme + "://read_and_timer")
    fun getIntentActivityRead(@RounterParam("type") type: String): Intent

    @RounterUri(Constant.scheme + "://click_ad")
    fun getIntentActivityTaskNav(@RounterParam("type") type: String): Intent

    @RounterUri(Constant.scheme + "://wechat_share")
    fun getIntentActivityAdShareList(): Intent

    @RounterUri(Constant.scheme + "://collect")
    fun getIntentActivityCollect(): Intent

    @RounterUri(Constant.scheme + "://news_history")
    fun getIntentActivityNewsHistory(): Intent


    @RounterUri(Constant.scheme + "://message")
    fun getIntentActivityMessage(): Intent

    @RounterUri(Constant.scheme + "://news_detail")
    fun getIntentActivityNewsDatail(
        @RounterParam("title") title: String,
        @RounterParam("url") url: String,
        @RounterParam("shareUrl") shareUrl: String,
        @RounterParam("images") images: String,
        @RounterParam("tabid") tabid: String
    ): Intent

    @RounterUri(Constant.scheme + "://video_detail")
    fun getIntentActivityVideoDatail(
        @RounterParam("videoId") videoId: String,
        @RounterParam("url") url: String,
        @RounterParam("isV2") isV2: String,
        @RounterParam("image") image: String,
        @RounterParam("from") from: String
    ): Intent

    @RounterUri(Constant.scheme + "://choice_city")
    fun getIntentActivityChoiceCity(): Intent

    @RounterUri(Constant.scheme + "://new_user_withdraw")
    fun getIntentActivityNewUserWithdraw(): Intent

    @RounterUri(Constant.scheme + "://withdraw")
    fun getIntentActivityWithdraw(): Intent

    @RounterUri(Constant.scheme + "://splash")
    fun getIntentActivitySplash(): Intent

    @RounterUri(Constant.scheme + "://main")
    fun getIntentActivityMain(): Intent

    @RounterUri(Constant.scheme + "://video_clips")
    fun getIntentActivityVideoClips(@RounterParam("position") position: String): Intent

    @RounterUri(Constant.scheme + "://member")
    fun getIntentActivityMembers(): Intent

    @RounterUri(Constant.scheme + "://pay")
    fun getIntentActivityPay(
    ): Intent

    @RounterUri(Constant.scheme + "://starcoinpay")
    fun getIntentActivityStarCoinPay(
    ): Intent

    @RounterUri(Constant.scheme + "://memberrecord")
    fun getIntentActivityMemberRecordPay(
    ): Intent

    @RounterUri(Constant.scheme + "://coinpayrecord")
    fun getIntentActivityCoinPayRecord(
    ): Intent

    @RounterUri(Constant.scheme + "://goodsdetail")
    fun getIntentActivityGoodsDetail(@RounterParam("boxid") boxid: String): Intent

    @RounterUri(Constant.scheme + "://lotterybox")
    fun getIntentActivityLotteryBoxJump(
        @RounterParam("boxid") boxid: String,
        @RounterParam("type") type: String,
        @RounterParam("price") price: String
    ): Intent

    @RounterUri(Constant.scheme + "://lotteryruslut")
    fun getIntentActivityLotteryReslutJump(
        @RounterParam("boxid") boxid: String,
        @RounterParam("type") type: String,
        @RounterParam("price") price: String
    ): Intent

    @RounterUri(Constant.scheme + "://receiveaddress")
    fun getIntentActivityReceiveAddressJump(
        @RounterParam("isDefault") isDefault: String
    ): Intent

    @RounterUri(Constant.scheme + "://editaddress")
    fun getIntentActivityEditAddressJump(
        @RounterParam("id") id: String,
        @RounterParam("username") username: String,
        @RounterParam("mobile") mobile: String,
        @RounterParam("region") region: String,
        @RounterParam("address") address: String,
        @RounterParam("defaultAddress") defaultAddress: String

    ): Intent

    @RounterUri(Constant.scheme + "://orderdetail")
    fun getIntentActivityOrderDetail(): Intent

    @RounterUri(Constant.scheme + "://shipsuccess")
    fun getIntentActivityShipmentSuccess(): Intent

    @RounterUri(Constant.scheme + "://settinginfo")
    fun getIntentActivitySettingInfo(): Intent

    @RounterUri(Constant.scheme + "://myfollow")
    fun getIntentActivityMyFollow(): Intent

    @RounterUri(Constant.scheme + "://myfans")
    fun getIntentActivityMyFans(): Intent

    @RounterUri(Constant.scheme + "://mylikes")
    fun getIntentActivityMyLikes(): Intent

    @RounterUri(Constant.scheme + "://visitor")
    fun getIntentActivityVisitor(): Intent

    @RounterUri(Constant.scheme + "://systemmsg")
    fun getIntentActivitySystemMsg(): Intent

    @RounterUri(Constant.scheme + "://videocalldemo")
    fun getIntentActivityVideoCallDemo(): Intent

    @RounterUri(Constant.scheme + "://setting")
    fun getIntentActivitySetting(): Intent

    @RounterUri(Constant.scheme + "://voiceroom")
    fun getIntentActivityVoiceRoom(): Intent

    @RounterUri(Constant.scheme + "://aboutus")
    fun getIntentActivityAboutUs(): Intent

    @RounterUri(Constant.scheme + "://userinfo")
    fun getIntentActivityUserInfo(): Intent

    @RounterUri(Constant.scheme + "://voice")
    fun getIntentActivityVoice(): Intent

    @RounterUri(Constant.scheme + "://report")
    fun getIntentActivityReport(@RounterParam("userId") userId: String): Intent

    @RounterUri(Constant.scheme + "://feedback")
    fun getIntentActivityFeedBack(): Intent

    @RounterUri(Constant.scheme + "://banner_detail")
    fun getIntentActivityBannerDetail(): Intent

    @RounterUri(Constant.scheme + "://createroom")
    fun getIntentActivityCreateRoom(): Intent

    @RounterUri(Constant.scheme + "://winterbox")
    fun getIntentActivityWinterBox(): Intent

    @RounterUri(Constant.scheme + "://userdetail")
    fun getIntentActivityUserDetail(
        @RounterParam("userId") userId: String, @RounterParam("detailfree") detailfree: String
    ): Intent

    @RounterUri(Constant.scheme + "://userdetail_hw")
    fun getIntentActivityUserDetailsHw(
        @RounterParam("userId") userId: String, @RounterParam("detailfree") detailfree: String
    ): Intent

    @RounterUri(Constant.scheme + "://video_result")
    fun getIntentActivityVideoResult(@RounterParam("url") str: String): Intent

    @RounterUri(Constant.scheme + "://login")
    fun getIntentLogin(): Intent

    @RounterUri(Constant.scheme + "://loginbefore")
    fun getIntentLoginBefore(): Intent

    @RounterUri(Constant.scheme + "://blocklist")
    fun getIntentBlockList(): Intent

    @RounterUri(Constant.scheme + "://updatenickname")
    fun getIntentUpdateNickName(): Intent

    @RounterUri(Constant.scheme + "://updateintrodution")
    fun getIntentUpdateIntrodution(@RounterParam("description") str: String): Intent

    @RounterUri(Constant.scheme + "://constellreslut")
    fun getIntentConstellReslut(): Intent

    @RounterUri(Constant.scheme + "://coin_store")
    fun getIntentCoinStore(): Intent

    @RounterUri(Constant.scheme + "://vip_pay")
    fun getIntentBecomeVip(): Intent

    //
    @RounterUri(Constant.scheme + "://payment_page")
    fun getIntentPaymentPage(
        @RounterParam("pay_goods_type") type: String,
        @RounterParam("pay_goods_id") id: String,
        @RounterParam("pay_goods_name") name: String,
        @RounterParam("pay_goods_price") price: String
    ): Intent
}