From fe04012057d024770e0180543483d393281a542f Mon Sep 17 00:00:00 2001 From: zhujie <leon.zhu@cloudroam.com.cn> Date: 星期四, 03 四月 2025 09:18:16 +0800 Subject: [PATCH] Merge branch 'master' of http://47.96.225.205:8888/r/FirstApp2 --- app/src/main/java/com/example/firstapp/database/service/ApiService.kt | 62 ++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/database/service/ApiService.kt b/app/src/main/java/com/example/firstapp/database/service/ApiService.kt index 2b046b7..2fbbb90 100644 --- a/app/src/main/java/com/example/firstapp/database/service/ApiService.kt +++ b/app/src/main/java/com/example/firstapp/database/service/ApiService.kt @@ -1,25 +1,33 @@ 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.ProductOrdersRequest +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 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.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 +import java.util.concurrent.TimeUnit /** * API调用接口 @@ -29,47 +37,67 @@ @GET("keywords") suspend fun getKeywords():ApiResponse<List<KeywordConfig>> //异步挂起 - @GET("cloudContent/getByType") - suspend fun getContentByType(@Query("type") type: String): ContentResponse + @GET("api/config/content/list/view") + suspend fun getContentById(@Query("id") id: String): ContentResponse @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 - @GET("v2/alipay/pay-order-info") - suspend fun getPayOrderInfo(): AlipayOrderInfoResponse + @POST("v2/alipay/pay-order-info") + suspend fun getPayOrderInfo(@Body request: ProductOrdersRequest): 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? ): 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.199:8080/smart_message/" + 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().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build() + private val retrofit = Retrofit + .Builder() + .client(okHttpClient) + .baseUrl(BASE_URL) + .addConverterFactory(GsonConverterFactory.create()) + .build() //通过动态代理技术创建ApiService接口的具体实现类 val apiService:ApiService = retrofit.create(ApiService::class.java) -} \ No newline at end of file +} -- Gitblit v1.9.3