package com.example.defenseapplication.utils import bean.ForgotRequest import com.example.defenseapplication.bean.DeviceBean import com.example.defenseapplication.bean.DeviceUserBean import com.example.defenseapplication.bean.FamilyBean import com.example.defenseapplication.bean.GetCodeBean import bean.LoginBean import bean.LoginRequest import bean.RegisterRequest import com.example.defenseapplication.bean.AddDeviceUserRequest import com.example.defenseapplication.bean.DeleteBean import com.example.defenseapplication.bean.DeleteDeviceUserRequest import com.example.defenseapplication.bean.FamilyMembersBean import com.example.defenseapplication.bean.MessageGroup import com.example.defenseapplication.bean.SwitchFamilyRequest import com.example.defenseapplication.bean.UpdatePassword import com.example.defenseapplication.bean.UpdateUserInfo import com.example.defenseapplication.bean.UserInfoBean import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.POST import retrofit2.http.PUT import retrofit2.http.Query interface ApiService { /** * 获取登录验证码 */ @GET("/resource/sms/code") suspend fun getCode(@Query("userName") userName: String): GetCodeBean /** * app登录方法 * @param loginRequest 登录参数 sms验证码登录,password密码登录 * */ @POST("/app/login") suspend fun login(@Body loginRequest: LoginRequest): GetCodeBean /** * app注册 */ @POST("/app/register") suspend fun register(@Body registerRequest: RegisterRequest): GetCodeBean /** * 忘记密码——修改密码 */ @PUT("/app/forgot") suspend fun forgotPassword(@Body forgotRequest: ForgotRequest): GetCodeBean /** * 获取家庭列表 */ @GET("/app/selectFamily") suspend fun getFamilyList(): GetCodeBean> /** * 切换家庭 */ @POST("/app/switchFamily") suspend fun switchFamily(@Body request: SwitchFamilyRequest): GetCodeBean /** * 获取设备列表 */ @GET("/app/getdeviceList") suspend fun getDeviceList(): GetCodeBean> /** * 查看消息列表 */ @GET("/app/appMessage/list") suspend fun getMessage(): GetCodeBean> /** * 修改设备信息 */ @PUT("/app/updateDeviceInfo") suspend fun updateDeviceInfo(@Body deviceBean: DeviceBean): GetCodeBean /** * 获取设备信息 */ @GET("/app/deviceInfo/{id}") suspend fun getDeviceInfo(@retrofit2.http.Path("id") id: String): GetCodeBean /** * 解绑设备 */ @POST("/app/deleteDevice") suspend fun deleteDevice(@Body deleteBean: DeleteBean): GetCodeBean /** * 查看设备关联用户列表 */ @GET("/app/deviceUser/list/{deviceId}") suspend fun getDeviceUserList( @retrofit2.http.Path("deviceId") deviceId: String, @Query("deviceNo") deviceNo: String? = null, @Query("deviceName") deviceName: String? = null, @Query("userId") userId: String? = null, @Query("nickName") nickName: String? = null, @Query("idCard") idCard: String? = null, @Query("phonenumber") phonenumber: String? = null ): GetCodeBean> /** * 删除关联用户 */ @POST("/app/deleteDeviceUser") suspend fun deleteDeviceUser(@Body request: DeleteDeviceUserRequest): GetCodeBean /** * 查看家庭成员表 */ @GET("/app/familyMembers/list") suspend fun getFamilyMembers( @Query("createDept") createDept: Long? = null, @Query("createBy") createBy: Long? = null, @Query("createTime") createTime: String? = null, @Query("updateBy") updateBy: Long? = null, @Query("updateTime") updateTime: String? = null, @Query("params.key.key") paramsKey: String? = null, @Query("id") id: Long? = null, @Query("parentId") parentId: Long? = null, @Query("parentName") parentName: String? = null, @Query("userId") userId: Long? = null, @Query("status") status: String? = null ): GetCodeBean> /** * 添加设备关联用户 */ @POST("/app/addDeviceUser") suspend fun addDeviceUser(@Body request: AddDeviceUserRequest): GetCodeBean /** * 获取登录用户个人信息 */ @GET("/app/userInfo") suspend fun getUserInfo(): GetCodeBean /** * 修改个人信息 */ @PUT("/app/updateUserInfo") suspend fun updateUserInfo(@Body request: UpdateUserInfo): GetCodeBean /** * 登录后旧密码修改密码 */ @PUT("/app/forgotPassword") suspend fun updatePassword(@Body request: UpdatePassword): GetCodeBean }