cloudroam
2025-03-31 a7820e2f1ee06a7b43b4d351cced3343d7e1a5e2
app/src/main/java/com/example/firstapp/database/service/ApiService.kt
@@ -1,25 +1,29 @@
package com.example.firstapp.database.service
import TokenResponse
import com.example.firstapp.database.entity.ApiResponse
import com.example.firstapp.database.entity.KeywordConfig
import com.example.firstapp.database.request.SmsLoginRequest
import com.example.firstapp.database.request.SmsSendRequest
import com.example.firstapp.database.response.AlipayOrderInfoResponse
import com.example.firstapp.database.response.ContentResponse
import com.example.firstapp.database.response.DictResponse
import com.example.firstapp.database.response.LoginResponse
import com.example.firstapp.database.response.SecurityResponse
import com.example.firstapp.database.response.SmsProcessResponse
import com.example.firstapp.database.response.UserInfo
import com.example.firstapp.model.CategoryConfig
import com.example.firstapp.model.CategoryConfigSync
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.Part
import retrofit2.http.Path
import retrofit2.http.Query
import retrofit2.http.Body
/**
 * API调用接口
@@ -35,11 +39,11 @@
    @GET("sysDict/getByDictCodeAndItemText")
    suspend fun getDictValue(@Query("dictCode") dictCode: String, @Query("itemText") itemText: String): DictResponse
    @POST("sms/send-code")
    suspend fun sendVerificationCode(@Query("phone") phone: String): LoginResponse
    @POST("api/sms/send/code")
    suspend fun sendVerificationCode(@Body request: SmsSendRequest): LoginResponse
    @POST("sms/login")
    suspend fun verifyCode(@Query("phone") phone: String, @Query("code") code: String): LoginResponse
    @POST("api/login/customer/phone/v2")
    suspend fun verifyCode(@Body request: SmsLoginRequest): TokenResponse
    @GET("config-security/enable-list-all")
    suspend fun getSecurityList(): SecurityResponse
@@ -57,20 +61,26 @@
        @Part avatar: MultipartBody.Part?
    ): ApiResponse<Unit>
    @POST("process-sms")
    suspend fun processSms(@Body body: Map<String, String>): SmsProcessResponse
    fun getUserCategories(currentUserId: String): List<CategoryConfig>
    fun saveUserCategories(categoryConfigSync: CategoryConfigSync)
}
// 创建Retrofit实例(单例)
object RetrofitClient{
//    private const val BASE_URL ="http://192.168.1.213:8888/jshERP-boot/"
    private const val BASE_URL ="http://192.168.1.213:5000/"
    private const val BASE_URL ="http://192.168.1.213:8080/flower/"
    //添加Gson解析器,用于自动将JSON响应转换为Kotlin/Java对象
    private val retrofit = Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build()
    private val retrofit = Retrofit
        .Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .build()
    //通过动态代理技术创建ApiService接口的具体实现类
    val apiService:ApiService = retrofit.create(ApiService::class.java)
}
}