From 27bbd0435881e408f267c99e6a253d2e17873bcc Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 11 四月 2025 17:44:11 +0800
Subject: [PATCH] 1.2
---
app/src/main/java/com/example/firstapp/database/service/ApiService.kt | 62 ++++++++++++++++++++++++++-----
1 files changed, 52 insertions(+), 10 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 691f7ab..41c83c2 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,13 +1,23 @@
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.AccountCloseResponse
+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.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
@@ -17,6 +27,8 @@
import retrofit2.http.Part
import retrofit2.http.Path
import retrofit2.http.Query
+import retrofit2.http.Body
+import java.util.concurrent.TimeUnit
/**
* API调用接口
@@ -26,22 +38,28 @@
@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("flower/api/supplier/info/{phone}")
+ @POST("v2/alipay/pay-order-info")
+ suspend fun getPayOrderInfo(@Body request: ProductOrdersRequest): AlipayOrderInfoResponse
+
+ // 获取用户信息
+ @GET("api/customer/info/{phone}")
suspend fun getUserInfo(@Path("phone") phone: String): ApiResponse<UserInfo>
@Multipart
@@ -50,17 +68,41 @@
@Part("nickname") nickname: RequestBody,
@Part avatar: MultipartBody.Part?
): ApiResponse<Unit>
+
+ @POST("api/account/close")
+ suspend fun closeAccount(): AccountCloseResponse
+
+ fun getUserCategories(currentUserId: String): List<CategoryConfig>
+
+ fun saveUserCategories(categoryConfigSync: CategoryConfigSync)
+
}
// 创建Retrofit实例(单例)
object RetrofitClient{
- private const val BASE_URL ="http://192.168.1.213:8080/"
+ // private const val BASE_URL ="http://192.168.1.213:8080/flower/"
+ private const val BASE_URL ="http://14.103.144.28: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