package com.adealink.weparty.joinus.datasource.remote

import com.adealink.frame.base.Rlt
import com.adealink.frame.network.data.Res
import com.adealink.weparty.applyskill.data.SkillListReq
import com.adealink.weparty.applyskill.data.SkillListRes
import com.adealink.weparty.joinus.data.BindPhoneReq
import com.adealink.weparty.joinus.data.ImproveUserInfoReq
import com.adealink.weparty.joinus.data.JoinStep3
import com.adealink.weparty.joinus.data.JoinUsData
import com.adealink.weparty.joinus.data.SendPhoneVerifyReq
import com.adealink.weparty.joinus.step2.data.LanguageConfigRes
import com.adealink.weparty.joinus.step3.data.CategoryFormReq
import com.adealink.weparty.joinus.step3.data.SubmitFormReq
import retrofit2.http.Body
import retrofit2.http.POST

interface JoinUsHttpService {

    /**
     * 查询陪玩师申请1-3步骤现有信息
     */
    @POST("playmate/apply/curInfo")
    suspend fun loadJoinUsProgress(): Rlt<Res<JoinUsData>>

    /**
     * 获取验证码
     */
    @POST("user/bind/mobile/sendCode")
    suspend fun sendPhoneVerifyCode(
        @Body req: SendPhoneVerifyReq
    ): Rlt<Res<Any>>

    /**
     * 绑定手机
     */
    @POST("user/bind/mobile")
    suspend fun bindPhone(@Body req: BindPhoneReq): Rlt<Res<Any>>

    @POST("playmate/apply/improve/info")
    suspend fun improveUserInfo(@Body req: ImproveUserInfoReq): Rlt<Res<JoinUsData>>

    @POST("base/consts/config")
    suspend fun getLanguageConfig(): Rlt<Res<LanguageConfigRes>>


    @POST("playmate/apply/setp3/info/get")
    suspend fun getCategoryFormConfig(@Body req: CategoryFormReq): Rlt<Res<JoinStep3>>


    @POST(" playmate/apply/submit")
    suspend fun submitPlaymateApplyForm(@Body req: SubmitFormReq): Rlt<Res<Any>>


    @POST("playmate/skill/list")
    suspend fun getSkillSettingList(@Body req: SkillListReq): Rlt<Res<SkillListRes>>

}