添加clientid和content-languag

This commit is contained in:
2026-05-15 16:57:48 +08:00
parent da935a122f
commit dc73d5df64
9 changed files with 79 additions and 12 deletions

View File

@@ -22,7 +22,7 @@ object ApiConfig {
private const val TAG = "ApiConfig"
private val gson = Gson()
@Volatile
private var authToken: String = ""
public var authToken: String = ""
fun updateAuthToken(token: String) {
authToken = token
@@ -162,9 +162,12 @@ object ApiConfig {
fun createHeadersInterceptor() = Interceptor { chain ->
val requestBuilder = chain.request().newBuilder()
val token = authToken
val langHeader = LanguageHeaderManager.getLanguageHeaderValue()
if (token.isNotBlank()) {
Log.d("ApiConfig", buildAuthorizationValue(token))
requestBuilder.header("Authorization", buildAuthorizationValue(token))
requestBuilder.header("clientid", "428a8310cd442757ae699df5d894f051")
requestBuilder.header("content-language", langHeader)
}
requestBuilder

View File

@@ -38,7 +38,7 @@ interface ApiService {
suspend fun forgotPassword(@Body forgotRequest: ForgotRequest): GetCodeBean<Any>
/**
* 获取我所在家庭列表
* 获取家庭列表
*/
@GET("/app/selectFamily")
suspend fun getFamilyList(): GetCodeBean<List<FamilyBean>>

View File

@@ -0,0 +1,35 @@
import android.content.Context
import androidx.core.content.edit
enum class AppLanguage(val code: String) {
ENGLISH("en_US"),
SIMPLIFIED_CHINESE("zh_CN"),
TRADITIONAL_CHINESE("zh_TW")
}
//语言枚举与管理器
object LanguageHeaderManager {
private const val PREF_NAME = "app_lang_pref"
private const val KEY_LANGUAGE = "selected_language"
private var currentLanguage: AppLanguage = AppLanguage.ENGLISH
fun init(context: Context) {
val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE)
val langCode = prefs.getString(KEY_LANGUAGE, AppLanguage.ENGLISH.code)
currentLanguage = AppLanguage.values().find { it.code == langCode } ?: AppLanguage.ENGLISH
}
fun getCurrentLanguage(): AppLanguage = currentLanguage
fun switchLanguage(context: Context, language: AppLanguage) {
currentLanguage = language
// 持久化
context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE).edit {
putString(KEY_LANGUAGE, language.code)
apply()
}
// 可选:更新应用 Locale、重启 Activity 等
}
fun getLanguageHeaderValue(): String = currentLanguage.code
}

View File

@@ -12,6 +12,7 @@ object UserinfoUtil {
fun saveUserInfo(userinfo: LoginBean?) {
userinfo ?: return
ApiConfig.updateAuthToken(userinfo.access_token);
val json = gson.toJson(userinfo)
SPUtils.getInstance().put(KEY_USER, json)
}