Api.kt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.framework.app.api
  2. import com.framework.app.http.FileDownloadInfo
  3. import com.framework.app.http.FileInfo
  4. import com.framework.app.http.FileUploadInfo
  5. import com.framework.mvvm.model.data.Model
  6. import com.framework.mvvm.model.vo.*
  7. import okhttp3.RequestBody
  8. import retrofit2.http.*
  9. interface Api {
  10. /**
  11. * 获取自字典数据
  12. */
  13. @POST("adm/dict")
  14. suspend fun getDict(@Body request: AdmRequest): Model<Dict>
  15. /**
  16. * 获取配置信息
  17. */
  18. @POST("adm/config")
  19. suspend fun getConfig(@Body request: AdmRequest): Model<Config>
  20. /**
  21. * 获取框架数据
  22. */
  23. @POST("adm/frame")
  24. suspend fun getFrame(@Body request: AdmRequest): Model<Frame>
  25. /**
  26. * 获取建筑数据
  27. */
  28. @POST("adm/download")
  29. suspend fun getBuilding(@Body request: AdmRequest): Model<Building>
  30. /**
  31. * 上传建筑数据
  32. */
  33. @Headers("Content-Encoding: gzip")
  34. @POST("adm/upload")
  35. suspend fun uploadBuilding(@Body building: UploadBuilding): Model<UploadResult>
  36. @POST("adm/clientId")
  37. suspend fun getClient(@Body client: Client): Model<Client>
  38. /**
  39. * 获取文件上传接口
  40. */
  41. @POST("http://www.ysbdtp.com/dmp-file/file/initSingleUpload")
  42. suspend fun getFileUploadInfo(
  43. @QueryMap param: Map<String, String>,
  44. @Body file: FileInfo
  45. ): Model<FileUploadInfo>
  46. /**
  47. * 上传文件
  48. */
  49. @PUT
  50. suspend fun uploadFile(@Url url: String, @Body file: RequestBody): String
  51. /**
  52. * 文件下载
  53. */
  54. @POST("http://www.ysbdtp.com/dmp-file/file/initFileDownload")
  55. suspend fun getFileDownloadInfo(
  56. @QueryMap param: Map<String, String>,
  57. @Body map:Map<String, String>
  58. ): Model<FileDownloadInfo>
  59. /**
  60. * 返回地图
  61. */
  62. @Streaming
  63. @GET
  64. suspend fun downloadFile(@Url url: String): ByteArray?
  65. /**
  66. * 登录
  67. */
  68. @POST("http://www.ysbdtp.com/login-service")
  69. suspend fun login(@Query("jsonString") json: String): Model<List<User>>
  70. /**
  71. * 获取项目
  72. */
  73. @POST("http://www.ysbdtp.com/getUserById")
  74. suspend fun getProjects(@Query("jsonString") json: String): Model<List<User>>
  75. }