dm-189
This commit is contained in:
parent
2ffb00acd7
commit
1a047b79a1
2 changed files with 13 additions and 2 deletions
|
|
@ -20,6 +20,13 @@ import retrofit2.http.Query
|
|||
data class RefreshRequest(
|
||||
val refresh_token: String
|
||||
)
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class RefreshResponse(
|
||||
val access_token: String,
|
||||
val expires_in: Int,
|
||||
val refresh_token: String,
|
||||
val token: String? = null // 💡 設為可空並給預設值,防止後端沒吐時崩潰
|
||||
)
|
||||
|
||||
interface TecnologiaApi {
|
||||
|
||||
|
|
@ -34,8 +41,10 @@ interface TecnologiaApi {
|
|||
@POST("api/auth/login")
|
||||
suspend fun login(@Body body: LoginRequest): Response<LoginResponse>
|
||||
|
||||
@POST("api/auth/refresh")
|
||||
suspend fun refreshToken(@Body body: RefreshRequest): Response<LoginResponse>
|
||||
// 注意:如果是用 retrofit2.Response 包裹,請確保對應的 DTO 欄位都有容錯
|
||||
@POST("api/auth/refresh") // 舉例你的路徑
|
||||
suspend fun refreshToken(@Body request: RefreshRequest): Response<RefreshResponse>
|
||||
|
||||
|
||||
// 取得個人資料:通常需要 Token
|
||||
@GET("api/me")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.example.login_v3.data.repository.basic
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.core.booleanPreferencesKey
|
||||
|
|
@ -8,6 +9,7 @@ import androidx.datastore.preferences.core.edit
|
|||
import androidx.datastore.preferences.core.longPreferencesKey
|
||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
import androidx.datastore.preferences.core.stringSetPreferencesKey
|
||||
import com.example.login_v3.data.api.RefreshRequest
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import javax.inject.Inject
|
||||
|
|
|
|||
Loading…
Reference in a new issue