package com.xhly.manageapp.ui.login.netservice

import com.xhly.corelib.network.bean.ResponseData
import com.xhly.manageapp.bean.login.CheckLoginBean
import com.xhly.manageapp.bean.login.LoginBean
import com.xhly.manageapp.bean.scheme.AutoAppBean
import com.xhly.manageapp.bean.user.UserBean
import com.xhly.manageapp.network.UriAdress
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST

interface LoginService {
    @GET("/status/info")
    suspend fun getTest(): ResponseData<String>

    @POST(UriAdress.ULOGIN_LOGIN)
    suspend fun postLogin(@Body loginBean: LoginBean): ResponseData<UserBean>
    /*
     登录校验
     */
    @POST(UriAdress.ULOGIN_CHECK_LOGIN)
    suspend fun postLoginCheck(@Body map:HashMap<String,Any>): ResponseData<CheckLoginBean>

    /**
     * 退出登录接口参数 userid	number 用户id
     * loginpwd	string 密码
     */
    @POST(UriAdress.ULOGIN_LOGIN_OUT)
    suspend fun postLoginOut(@Body map:HashMap<String,Any>): ResponseData<Any>

    /**
     * 解除当前锁屏
     */
/*    @POST(UriAdress.PWD_DEATIL_USERPAD)
    suspend fun postPwdDetail(@Body map:HashMap<String,Any>):ResponseData<CodeDetailBean>*/

    /**
     * 修改密码 userid用户id loginpwd新密码 oldpwd原密码
     */
    @POST(UriAdress.EDITPWD)
    suspend fun postEditPwd(@Body map:HashMap<String,Any>):ResponseData<Any>

    /**
     * 同步服务器时间
     */
    @POST(UriAdress.SYNCTIME)
    suspend fun postSyncTime():ResponseData<Long>

    /**
     * 解除当前锁屏,以及进入管理页面
     */
    @POST(UriAdress.EXIT_CONTROL)
    suspend fun postExitControl(@Body map:HashMap<String,Any>):ResponseData<Any>

    /**
     * 违规事件发送socket消息后，请求接口然后处理锁定
     * sn 设备号
     *  pushType  3锁定
     */
    @POST(UriAdress.EDIT_LOCKED)
    suspend fun postExitLocked(@Body map:HashMap<String,Any>):ResponseData<Any>

    /**
     * 违规事件发送socket消息后，请求接口然后处理恢复出厂设置
     * sn 设备号
     * pushType  6恢复出厂设置
     */
    @POST(UriAdress.EDIT_RESETED)
    suspend fun postExitReseted(@Body map:HashMap<String,Any>):ResponseData<Any>

    /**
     * 区域码校验
     */
    @POST(UriAdress.REGION_CHECK_CODE)
    suspend fun postRegionCheckCode(@Body map:HashMap<String,Any>):ResponseData<Boolean>

    /**
     *设备--解除锁定(锁定后，本地输入密码校验通过后调用) 参数sn
     */
    @POST(UriAdress.EDIT_UNLOCK)
    suspend fun postEditUnlock(@Body map:HashMap<String,Any>):ResponseData<Any>

    /**
     * 开机设置-启动应用-平板用户（根据这个接口启动指定应用）
     */
    @POST(UriAdress.AUTOAPP_DETAIL)
    suspend fun postAutoAppDetail(@Body map: HashMap<String, Any>):ResponseData<AutoAppBean>

    /**
     * 校验sn，true需要退出 false不需要退出
     */
    @POST(UriAdress.CHECK_SN)
    suspend fun postCheckSn(@Body map: HashMap<String, Any>):ResponseData<Boolean>
}