From d166fa86711d9348ac987ba87715e986a3b1a27b Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 18 四月 2025 15:20:23 +0800
Subject: [PATCH] 1.日历热力图修改
---
app/src/main/java/com/example/firstapp/database/service/ApiService.kt | 50 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 35 insertions(+), 15 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 4201f27..989348b 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,11 +1,13 @@
package com.example.firstapp.database.service
import TokenResponse
+import android.content.Context
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
@@ -15,6 +17,8 @@
import com.example.firstapp.model.CategoryConfig
import com.example.firstapp.model.CategoryConfigSync
import com.example.firstapp.network.AuthInterceptor
+import com.example.firstapp.network.ResponseInterceptor
+import com.example.firstapp.network.TokenExpiredInterceptor
import okhttp3.MultipartBody
import okhttp3.OkHttpClient
import okhttp3.RequestBody
@@ -68,10 +72,14 @@
@Part avatar: MultipartBody.Part?
): ApiResponse<Unit>
+ @POST("api/account/close")
+ suspend fun closeAccount(): AccountCloseResponse
- fun getUserCategories(currentUserId: String): List<CategoryConfig>
+ @GET("api/categoryConfig/getByUserId/{userId}")
+ suspend fun getUserCategories(@Path("userId") currentUserId: String): List<CategoryConfig>
- fun saveUserCategories(categoryConfigSync: CategoryConfigSync)
+ @POST("api/categoryConfig/saveOrUpdate/")
+ suspend fun saveUserCategories(@Body categoryConfigSync: CategoryConfigSync)
}
@@ -81,25 +89,37 @@
// private const val BASE_URL ="http://192.168.1.213:8080/flower/"
private const val BASE_URL ="http://14.103.144.28:8080/flower/"
+ private lateinit var appContext: Context
+
+ // 初始化方法,需要在Application中调用
+ fun init(context: Context) {
+ appContext = context.applicationContext
+ }
// 创建OkHttpClient,配置拦截器和超时时间
- private val okHttpClient = OkHttpClient.Builder()
- .addInterceptor(AuthInterceptor())
- .connectTimeout(30, TimeUnit.SECONDS)
- .readTimeout(30, TimeUnit.SECONDS)
- .writeTimeout(30, TimeUnit.SECONDS)
- .build()
+ private val okHttpClient by lazy {
+ OkHttpClient.Builder()
+ .addInterceptor(AuthInterceptor())
+ .addInterceptor(TokenExpiredInterceptor(appContext))
+ .addInterceptor(ResponseInterceptor(appContext))
+ .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()
+ private val retrofit by lazy {
+ Retrofit
+ .Builder()
+ .client(okHttpClient)
+ .baseUrl(BASE_URL)
+ .addConverterFactory(GsonConverterFactory.create())
+ .build()
+ }
//通过动态代理技术创建ApiService接口的具体实现类
- val apiService:ApiService = retrofit.create(ApiService::class.java)
+ val apiService by lazy { retrofit.create(ApiService::class.java) }
}
--
Gitblit v1.9.3