|  |  |  | 
|---|
|  |  |  | import com.example.firstapp.database.response.UserInfo | 
|---|
|  |  |  | import com.example.firstapp.model.CategoryConfig | 
|---|
|  |  |  | import com.example.firstapp.model.CategoryConfigSync | 
|---|
|  |  |  | import com.example.firstapp.network.AuthInterceptor | 
|---|
|  |  |  | import okhttp3.MultipartBody | 
|---|
|  |  |  | import okhttp3.OkHttpClient | 
|---|
|  |  |  | import okhttp3.RequestBody | 
|---|
|  |  |  | import retrofit2.Retrofit | 
|---|
|  |  |  | import retrofit2.converter.gson.GsonConverterFactory | 
|---|
|  |  |  | 
|---|
|  |  |  | import retrofit2.http.Path | 
|---|
|  |  |  | import retrofit2.http.Query | 
|---|
|  |  |  | import retrofit2.http.Body | 
|---|
|  |  |  | import java.util.concurrent.TimeUnit | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * API调用接口 | 
|---|
|  |  |  | 
|---|
|  |  |  | @GET("sysDict/getByDictCodeAndItemText") | 
|---|
|  |  |  | suspend fun getDictValue(@Query("dictCode") dictCode: String, @Query("itemText") itemText: String): DictResponse | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 发送短信验证码 | 
|---|
|  |  |  | @POST("api/sms/send/code") | 
|---|
|  |  |  | suspend fun sendVerificationCode(@Body request: SmsSendRequest): LoginResponse | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 验证短信验证码 | 
|---|
|  |  |  | @POST("api/login/customer/phone/v2") | 
|---|
|  |  |  | suspend fun verifyCode(@Body request: SmsLoginRequest): TokenResponse | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @GET("v2/alipay/pay-order-info") | 
|---|
|  |  |  | suspend fun getPayOrderInfo(): AlipayOrderInfoResponse | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GET("flower/api/supplier/info/{phone}") | 
|---|
|  |  |  | // 获取用户信息 | 
|---|
|  |  |  | @GET("api/customer/info/{phone}") | 
|---|
|  |  |  | suspend fun getUserInfo(@Path("phone") phone: String): ApiResponse<UserInfo> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Multipart | 
|---|
|  |  |  | @POST("api/supplier/operation/update") | 
|---|
|  |  |  | @POST("flower/api/supplier/operation/update") | 
|---|
|  |  |  | suspend fun updateProfile( | 
|---|
|  |  |  | @Part("nickname") nickname: RequestBody, | 
|---|
|  |  |  | @Part avatar: MultipartBody.Part? | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private const val BASE_URL ="http://192.168.1.213:8080/flower/" | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 创建OkHttpClient,配置拦截器和超时时间 | 
|---|
|  |  |  | private val okHttpClient = OkHttpClient.Builder() | 
|---|
|  |  |  | .addInterceptor(AuthInterceptor()) | 
|---|
|  |  |  | .connectTimeout(30, TimeUnit.SECONDS) | 
|---|
|  |  |  | .readTimeout(30, TimeUnit.SECONDS) | 
|---|
|  |  |  | .writeTimeout(30, TimeUnit.SECONDS) | 
|---|
|  |  |  | .build() | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加Gson解析器,用于自动将JSON响应转换为Kotlin/Java对象 | 
|---|
|  |  |  | private val retrofit = Retrofit | 
|---|
|  |  |  | .Builder() | 
|---|
|  |  |  | .client(okHttpClient) | 
|---|
|  |  |  | .baseUrl(BASE_URL) | 
|---|
|  |  |  | .addConverterFactory(GsonConverterFactory.create()) | 
|---|
|  |  |  | .build() | 
|---|