添加clientid和content-languag
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -38,7 +38,7 @@ interface ApiService {
|
||||
suspend fun forgotPassword(@Body forgotRequest: ForgotRequest): GetCodeBean<Any>
|
||||
|
||||
/**
|
||||
* 获取我所在家庭列表
|
||||
* 获取家庭列表
|
||||
*/
|
||||
@GET("/app/selectFamily")
|
||||
suspend fun getFamilyList(): GetCodeBean<List<FamilyBean>>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user