From 84de51c7b7b32a83a5650f3e546597da3fd17355 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Tue, 8 Sep 2026 20:40:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=20Android?= =?UTF-8?q?=20=E5=AE=A2=E6=88=B7=E7=AB=AF=EF=BC=88M0=20=E9=AA=A8=E6=9E=B6?= =?UTF-8?q?=20+=20M1=20=E7=99=BB=E5=BD=95=20+=20M2=20=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit M0:Gradle 9.7.1 / AGP 9.2.1 / Kotlin 2.4 / Miuix 0.9.3,minSdk 33,compileSdk 37。 M1:登录页(服务器地址可配、服务端/本地错误分流、EncryptedSharedPreferences、自动登录与静默重登、401 登出)。 M2 基础模块:消息内容解析器(

// + 流式增量)、WebSocket 客户端、REST 数据层与分页去重。 45 个单元测试全绿,真机验证通过(登录页 + 启动图标)。 devdocs/ 收录设计文档、前后端协同事项与细化方案。 --- .gitignore | 9 + app/build.gradle.kts | 75 +++ app/proguard-rules.pro | 10 + app/src/main/AndroidManifest.xml | 24 + .../top/yeij/cyrene/app/AppContainer.kt | 11 + .../kotlin/top/yeij/cyrene/app/CyreneApp.kt | 27 ++ .../top/yeij/cyrene/app/CyreneApplication.kt | 14 + .../top/yeij/cyrene/app/MainActivity.kt | 20 + .../top/yeij/cyrene/core/auth/AuthManager.kt | 120 +++++ .../top/yeij/cyrene/core/auth/SessionStore.kt | 78 +++ .../top/yeij/cyrene/core/error/CyreneError.kt | 51 ++ .../top/yeij/cyrene/core/theme/CyreneTheme.kt | 16 + .../yeij/cyrene/data/api/ApiClientFactory.kt | 81 ++++ .../top/yeij/cyrene/data/api/ApiEnvelope.kt | 21 + .../yeij/cyrene/data/api/ApiErrorMapper.kt | 76 +++ .../top/yeij/cyrene/data/api/CyreneApi.kt | 13 + .../top/yeij/cyrene/data/api/SessionsApi.kt | 44 ++ .../top/yeij/cyrene/data/api/dto/LoginDto.kt | 16 + .../yeij/cyrene/data/api/dto/MessageDto.kt | 24 + .../yeij/cyrene/data/api/dto/SessionDto.kt | 36 ++ .../data/repository/MessageRepository.kt | 61 +++ .../cyrene/data/repository/PagedMessages.kt | 40 ++ .../data/repository/SessionRepository.kt | 35 ++ .../top/yeij/cyrene/data/ws/ChatSocket.kt | 254 ++++++++++ .../kotlin/top/yeij/cyrene/data/ws/WsEvent.kt | 459 ++++++++++++++++++ .../top/yeij/cyrene/data/ws/WsOutbound.kt | 118 +++++ .../kotlin/top/yeij/cyrene/data/ws/WsState.kt | 25 + .../cyrene/domain/parse/ChatContentParser.kt | 409 ++++++++++++++++ .../yeij/cyrene/ui/common/LoadingScreen.kt | 25 + .../top/yeij/cyrene/ui/home/HomeScreen.kt | 52 ++ .../top/yeij/cyrene/ui/login/LoginScreen.kt | 143 ++++++ .../yeij/cyrene/ui/login/LoginViewModel.kt | 73 +++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 13366 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 23859 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 13366 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 6462 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 11644 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 6462 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 22247 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 39575 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 22247 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 45294 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 79476 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 45294 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 74129 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 129487 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 74129 bytes app/src/main/res/values-night/themes.xml | 6 + app/src/main/res/values/colors.xml | 4 + app/src/main/res/values/strings.xml | 4 + app/src/main/res/values/themes.xml | 6 + .../data/repository/MessageMergeTest.kt | 88 ++++ .../domain/parse/ChatContentParserTest.kt | 350 +++++++++++++ build.gradle.kts | 4 + devdocs/01-功能拆解与分步路线.md | 90 ++++ devdocs/02-前后端协同事项.md | 207 ++++++++ devdocs/03-客户端细化开发方案.md | 197 ++++++++ devdocs/DESIGN.md | 95 ++++ gradle.properties | 15 + gradle/libs.versions.toml | 47 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43504 bytes gradle/wrapper/gradle-wrapper.properties | 8 + gradlew | 252 ++++++++++ gradlew.bat | 94 ++++ settings.gradle.kts | 23 + 67 files changed, 3960 insertions(+) create mode 100644 .gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/kotlin/top/yeij/cyrene/app/AppContainer.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/app/CyreneApp.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/app/CyreneApplication.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/app/MainActivity.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/core/auth/AuthManager.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/core/auth/SessionStore.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/core/error/CyreneError.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/core/theme/CyreneTheme.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/ApiClientFactory.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/ApiEnvelope.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/ApiErrorMapper.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/CyreneApi.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/SessionsApi.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/dto/LoginDto.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/dto/MessageDto.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/api/dto/SessionDto.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/repository/MessageRepository.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/repository/PagedMessages.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/repository/SessionRepository.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/ws/ChatSocket.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/ws/WsOutbound.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/data/ws/WsState.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/domain/parse/ChatContentParser.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/ui/common/LoadingScreen.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/ui/home/HomeScreen.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginScreen.kt create mode 100644 app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginViewModel.kt create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/test/kotlin/top/yeij/cyrene/data/repository/MessageMergeTest.kt create mode 100644 app/src/test/kotlin/top/yeij/cyrene/domain/parse/ChatContentParserTest.kt create mode 100644 build.gradle.kts create mode 100644 devdocs/01-功能拆解与分步路线.md create mode 100644 devdocs/02-前后端协同事项.md create mode 100644 devdocs/03-客户端细化开发方案.md create mode 100644 devdocs/DESIGN.md create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0e7033b --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle/ +build/ +local.properties +.idea/ +.DS_Store +captures/ +.externalNativeBuild/ +.cxx/ diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..1b4c775 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,75 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) +} + +android { + namespace = "top.yeij.cyrene" + compileSdk = 37 + buildToolsVersion = "37.0.0" + + defaultConfig { + applicationId = "top.yeij.cyrene" + minSdk = 33 + targetSdk = 37 + versionCode = 1 + versionName = "0.1.0" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro", + ) + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + + buildFeatures { + compose = true + buildConfig = true + } +} + +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + } +} + +dependencies { + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.androidx.activity.compose) + + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.graphics) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.foundation) + + implementation(libs.miuix.ui) + implementation(libs.miuix.icons) + implementation(libs.miuix.preference) + + implementation(libs.retrofit) + implementation(libs.retrofit.kotlinx.serialization) + implementation(libs.okhttp) + implementation(libs.okhttp.logging) + implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.android) + implementation(libs.androidx.security.crypto) + + debugImplementation(libs.androidx.compose.ui.tooling) + + testImplementation(libs.junit) +} + diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..7580ffd --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,10 @@ +# kotlinx-serialization:保留 @Serializable 类的序列化器(M2 起启用) +-keepattributes *Annotation*, InnerClasses +-dontnote kotlinx.serialization.** + +-keepclassmembers class **$$serializer { + *** descriptor; +} +-keepclasseswithmembers class ** { + kotlinx.serialization.KSerializer serializer(...); +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..eb51a12 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/kotlin/top/yeij/cyrene/app/AppContainer.kt b/app/src/main/kotlin/top/yeij/cyrene/app/AppContainer.kt new file mode 100644 index 0000000..003c3a5 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/app/AppContainer.kt @@ -0,0 +1,11 @@ +package top.yeij.cyrene.app + +import android.content.Context +import top.yeij.cyrene.core.auth.AuthManager +import top.yeij.cyrene.core.auth.SessionStore + +/** 手写 DI 容器(D:不引 Hilt)。 */ +class AppContainer(context: Context) { + val sessionStore: SessionStore = SessionStore(context.applicationContext) + val authManager: AuthManager = AuthManager(sessionStore) +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApp.kt b/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApp.kt new file mode 100644 index 0000000..c8cd05c --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApp.kt @@ -0,0 +1,27 @@ +package top.yeij.cyrene.app + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import top.yeij.cyrene.core.auth.SessionState +import top.yeij.cyrene.ui.common.LoadingScreen +import top.yeij.cyrene.ui.home.HomeScreen +import top.yeij.cyrene.ui.login.LoginScreen + +@Composable +fun CyreneApp(container: AppContainer) { + val state by container.authManager.state.collectAsState() + + LaunchedEffect(Unit) { + container.authManager.bootstrap() + } + + when (state) { + SessionState.Unknown -> LoadingScreen() + SessionState.LoggedOut -> LoginScreen(container) + is SessionState.LoggedIn -> HomeScreen( + onLogout = { container.authManager.logout() }, + ) + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApplication.kt b/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApplication.kt new file mode 100644 index 0000000..7b15398 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/app/CyreneApplication.kt @@ -0,0 +1,14 @@ +package top.yeij.cyrene.app + +import android.app.Application + +class CyreneApplication : Application() { + + lateinit var container: AppContainer + private set + + override fun onCreate() { + super.onCreate() + container = AppContainer(this) + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/app/MainActivity.kt b/app/src/main/kotlin/top/yeij/cyrene/app/MainActivity.kt new file mode 100644 index 0000000..85601a0 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/app/MainActivity.kt @@ -0,0 +1,20 @@ +package top.yeij.cyrene.app + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import top.yeij.cyrene.core.theme.CyreneTheme + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + enableEdgeToEdge() + super.onCreate(savedInstanceState) + val container = (application as CyreneApplication).container + setContent { + CyreneTheme { + CyreneApp(container) + } + } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/core/auth/AuthManager.kt b/app/src/main/kotlin/top/yeij/cyrene/core/auth/AuthManager.kt new file mode 100644 index 0000000..0c36b2a --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/core/auth/AuthManager.kt @@ -0,0 +1,120 @@ +package top.yeij.cyrene.core.auth + +import top.yeij.cyrene.core.error.CyreneError +import top.yeij.cyrene.data.api.ApiClientFactory +import top.yeij.cyrene.data.api.ApiErrorEnvelope +import top.yeij.cyrene.data.api.CyreneApi +import top.yeij.cyrene.data.api.dto.LoginRequest +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.withContext +import java.io.IOException +import java.net.ConnectException +import java.net.SocketTimeoutException +import java.net.UnknownHostException +import javax.net.ssl.SSLException + +sealed interface SessionState { + data object Unknown : SessionState + data object LoggedOut : SessionState + data class LoggedIn(val baseUrl: String, val role: String) : SessionState +} + +class AuthManager(private val store: SessionStore) { + + private val _state = MutableStateFlow(SessionState.Unknown) + val state: StateFlow = _state.asStateFlow() + + private var api: CyreneApi? = null + var currentBaseUrl: String = "" + private set + + /** 启动时:有效 token 直接进入;过期则用已存凭据静默重登(D12);否则回登录页。 */ + suspend fun bootstrap() = withContext(Dispatchers.IO) { + val stored = store.load() + currentBaseUrl = stored.baseUrl + when { + !stored.token.isNullOrBlank() && stored.expiresAt * 1000 > System.currentTimeMillis() -> { + _state.value = SessionState.LoggedIn(stored.baseUrl, stored.role.orEmpty()) + } + + !stored.username.isNullOrBlank() && !stored.password.isNullOrBlank() -> { + val error = doLogin(stored.baseUrl, stored.username, stored.password) + if (error != null) _state.value = SessionState.LoggedOut + } + + else -> _state.value = SessionState.LoggedOut + } + } + + suspend fun login(rawBaseUrl: String, username: String, password: String): CyreneError? = + withContext(Dispatchers.IO) { + doLogin(ApiClientFactory.normalizeBaseUrl(rawBaseUrl), username, password) + } + + fun logout() { + store.clearAll() + api = null + _state.value = SessionState.LoggedOut + } + + /** 会话过期(401):清 token、回登录页;凭据保留以便下次静默重登。 */ + fun onSessionExpired() { + store.clearSession() + api = null + _state.value = SessionState.LoggedOut + } + + private suspend fun doLogin(url: String, username: String, password: String): CyreneError? { + val client = ApiClientFactory.create(baseUrl = url) + return try { + val response = client.login(LoginRequest(username, password)) + val data = response.body()?.data + when { + response.isSuccessful && data != null -> { + store.saveLogin(url, data.token, data.expiresAt, data.role, username, password) + api = client + currentBaseUrl = url + _state.value = SessionState.LoggedIn(url, data.role) + null + } + + response.isSuccessful -> CyreneError.Local(CyreneError.LocalKind.Parse) + + else -> { + val parsed = parseError(response.errorBody()?.string()) + if (response.code() == 401) { + CyreneError.Unauthorized(parsed?.code.orEmpty(), parsed?.message.orEmpty()) + } else { + CyreneError.Server( + code = parsed?.code.orEmpty(), + message = parsed?.message.orEmpty(), + httpStatus = response.code(), + ) + } + } + } + } catch (e: Exception) { + mapException(e) + } + } + + private fun parseError(body: String?) = body + ?.takeIf { it.isNotBlank() } + ?.let { + runCatching { + ApiClientFactory.json.decodeFromString(ApiErrorEnvelope.serializer(), it).error + }.getOrNull() + } + + private fun mapException(e: Throwable): CyreneError = when (e) { + is UnknownHostException -> CyreneError.Local(CyreneError.LocalKind.Dns) + is SSLException -> CyreneError.Local(CyreneError.LocalKind.Tls) + is SocketTimeoutException -> CyreneError.Local(CyreneError.LocalKind.Timeout) + is ConnectException -> CyreneError.Local(CyreneError.LocalKind.ConnectFailed) + is IOException -> CyreneError.Local(CyreneError.LocalKind.NoNetwork) + else -> CyreneError.Local(CyreneError.LocalKind.Unknown) + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/core/auth/SessionStore.kt b/app/src/main/kotlin/top/yeij/cyrene/core/auth/SessionStore.kt new file mode 100644 index 0000000..c8b56c4 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/core/auth/SessionStore.kt @@ -0,0 +1,78 @@ +package top.yeij.cyrene.core.auth + +import android.content.Context +import android.content.SharedPreferences +import androidx.security.crypto.EncryptedSharedPreferences +import androidx.security.crypto.MasterKey + +data class StoredSession( + val baseUrl: String, + val token: String?, + val expiresAt: Long, + val role: String?, + val username: String?, + val password: String?, +) + +/** JWT 与登录凭据的加密存储(红线:不落明文、不打日志)。 */ +class SessionStore(context: Context) { + + private val prefs: SharedPreferences = EncryptedSharedPreferences.create( + context, + FILE_NAME, + MasterKey.Builder(context).setKeyScheme(MasterKey.KeyScheme.AES256_GCM).build(), + EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, + EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM, + ) + + fun load(): StoredSession = StoredSession( + baseUrl = prefs.getString(KEY_BASE_URL, "").orEmpty(), + token = prefs.getString(KEY_TOKEN, null), + expiresAt = prefs.getLong(KEY_EXPIRES_AT, 0L), + role = prefs.getString(KEY_ROLE, null), + username = prefs.getString(KEY_USERNAME, null), + password = prefs.getString(KEY_PASSWORD, null), + ) + + fun saveLogin( + baseUrl: String, + token: String, + expiresAt: Long, + role: String, + username: String, + password: String, + ) { + prefs.edit() + .putString(KEY_BASE_URL, baseUrl) + .putString(KEY_TOKEN, token) + .putLong(KEY_EXPIRES_AT, expiresAt) + .putString(KEY_ROLE, role) + .putString(KEY_USERNAME, username) + .putString(KEY_PASSWORD, password) + .apply() + } + + /** 会话失效(401/过期):清 token,但保留凭据以便静默重登(D12)。 */ + fun clearSession() { + prefs.edit() + .remove(KEY_TOKEN) + .remove(KEY_EXPIRES_AT) + .remove(KEY_ROLE) + .apply() + } + + /** 主动登出:凭据一并清掉,避免下次启动被静默登回去。 */ + fun clearAll() { + prefs.edit().clear().apply() + } + + private companion object { + const val FILE_NAME = "cyrene_session" + const val KEY_BASE_URL = "base_url" + const val KEY_TOKEN = "token" + const val KEY_EXPIRES_AT = "expires_at" + const val KEY_ROLE = "role" + const val KEY_USERNAME = "username" + const val KEY_PASSWORD = "password" + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/core/error/CyreneError.kt b/app/src/main/kotlin/top/yeij/cyrene/core/error/CyreneError.kt new file mode 100644 index 0000000..4f16ff8 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/core/error/CyreneError.kt @@ -0,0 +1,51 @@ +package top.yeij.cyrene.core.error + +/** + * 统一错误模型:区分「服务端有响应」与「本地/网络层失败」。 + * 约定(S1.1):已建立连接时用服务端 `error.message`,本地错误由客户端负责文案。 + */ +sealed interface CyreneError { + val userMessage: String + + data class Server( + val code: String, + val message: String, + val httpStatus: Int, + ) : CyreneError { + override val userMessage: String + get() = message.ifBlank { "服务端错误(HTTP $httpStatus)" } + } + + data class Unauthorized( + val code: String, + val message: String, + ) : CyreneError { + override val userMessage: String + get() = message.ifBlank { "用户名或密码不正确" } + } + + data class Local(val kind: LocalKind) : CyreneError { + override val userMessage: String + get() = when (kind) { + LocalKind.InvalidUrl -> "服务器地址格式不对,示例:http://192.168.1.10:8080" + LocalKind.NoNetwork -> "网络不可用,请检查连接" + LocalKind.Dns -> "找不到服务器,请检查服务器地址" + LocalKind.Tls -> "证书校验失败(自签证书暂不支持)" + LocalKind.Timeout -> "连接超时,服务器没有响应" + LocalKind.ConnectFailed -> "无法连接到服务器" + LocalKind.Parse -> "服务器返回的数据无法识别" + LocalKind.Unknown -> "发生未知错误" + } + } + + enum class LocalKind { + InvalidUrl, + NoNetwork, + Dns, + Tls, + Timeout, + ConnectFailed, + Parse, + Unknown, + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/core/theme/CyreneTheme.kt b/app/src/main/kotlin/top/yeij/cyrene/core/theme/CyreneTheme.kt new file mode 100644 index 0000000..41cfa7c --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/core/theme/CyreneTheme.kt @@ -0,0 +1,16 @@ +package top.yeij.cyrene.core.theme + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import top.yukonga.miuix.kmp.theme.ColorSchemeMode +import top.yukonga.miuix.kmp.theme.MiuixTheme +import top.yukonga.miuix.kmp.theme.ThemeController + +@Composable +fun CyreneTheme( + mode: ColorSchemeMode = ColorSchemeMode.System, + content: @Composable () -> Unit, +) { + val controller = remember(mode) { ThemeController(mode) } + MiuixTheme(controller = controller, content = content) +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiClientFactory.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiClientFactory.kt new file mode 100644 index 0000000..a43da49 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiClientFactory.kt @@ -0,0 +1,81 @@ +package top.yeij.cyrene.data.api + +import top.yeij.cyrene.BuildConfig +import kotlinx.serialization.json.Json +import okhttp3.Interceptor +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.Response +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.converter.kotlinx.serialization.asConverterFactory +import java.util.concurrent.TimeUnit + +object ApiClientFactory { + + val json: Json = Json { + ignoreUnknownKeys = true + explicitNulls = false + coerceInputValues = true + } + + fun create( + baseUrl: String, + tokenProvider: () -> String? = { null }, + onUnauthorized: () -> Unit = {}, + ): CyreneApi { + val client = OkHttpClient.Builder() + .connectTimeout(10, TimeUnit.SECONDS) + .readTimeout(60, TimeUnit.SECONDS) + .writeTimeout(60, TimeUnit.SECONDS) + .addInterceptor(HeaderInterceptor(tokenProvider, onUnauthorized)) + .apply { + if (BuildConfig.DEBUG) { + addInterceptor( + HttpLoggingInterceptor().apply { + level = HttpLoggingInterceptor.Level.BASIC + redactHeader("Authorization") + }, + ) + } + } + .build() + + return Retrofit.Builder() + .baseUrl(normalizeBaseUrl(baseUrl)) + .client(client) + .addConverterFactory(json.asConverterFactory("application/json".toMediaType())) + .build() + .create(CyreneApi::class.java) + } + + /** Retrofit 要求 baseUrl 以 `/` 结尾;用户没写 scheme 时补 `http://`。 */ + fun normalizeBaseUrl(raw: String): String { + var url = raw.trim() + if (url.isEmpty()) return url + if (!url.startsWith("http://") && !url.startsWith("https://")) { + url = "http://$url" + } + if (!url.endsWith("/")) url += "/" + return url + } + + private class HeaderInterceptor( + private val tokenProvider: () -> String?, + private val onUnauthorized: () -> Unit, + ) : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val token = tokenProvider() + val request = chain.request().newBuilder() + .header("X-API-Version", "1") + .apply { if (token != null) header("Authorization", "Bearer $token") } + .build() + val response = chain.proceed(request) + // 只有「带了 token 仍 401」才算会话过期;登录请求不带 token,不受影响。 + if (response.code == 401 && token != null) { + onUnauthorized() + } + return response + } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiEnvelope.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiEnvelope.kt new file mode 100644 index 0000000..3594f77 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiEnvelope.kt @@ -0,0 +1,21 @@ +package top.yeij.cyrene.data.api + +import kotlinx.serialization.Serializable + +/** 后端统一信封:成功 `{data}`,失败 `{error:{code,message}}`。 */ +@Serializable +data class ApiEnvelope( + val data: T? = null, + val error: ApiError? = null, +) + +@Serializable +data class ApiErrorEnvelope( + val error: ApiError? = null, +) + +@Serializable +data class ApiError( + val code: String = "", + val message: String = "", +) diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiErrorMapper.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiErrorMapper.kt new file mode 100644 index 0000000..64930e7 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/ApiErrorMapper.kt @@ -0,0 +1,76 @@ +package top.yeij.cyrene.data.api + +import top.yeij.cyrene.core.error.CyreneError +import kotlinx.coroutines.CancellationException +import kotlinx.serialization.SerializationException +import retrofit2.Response +import java.io.IOException +import java.net.ConnectException +import java.net.SocketTimeoutException +import java.net.UnknownHostException +import javax.net.ssl.SSLException + +/** + * 统一错误映射(S1.1):已建连接用服务端 `error`,本地异常按类型分类。 + * 供所有 REST 仓库复用;不要在各个仓库里各写一份。 + */ +object ApiErrorMapper { + + /** 有 HTTP 响应:401 → [CyreneError.Unauthorized],其余 → [CyreneError.Server]。 */ + fun fromHttp(httpStatus: Int, errorBody: String?): CyreneError { + val error = parseErrorEnvelope(errorBody) + val code = error?.code.orEmpty() + val message = error?.message.orEmpty() + return if (httpStatus == 401) { + CyreneError.Unauthorized(code = code, message = message) + } else { + CyreneError.Server(code = code, message = message, httpStatus = httpStatus) + } + } + + /** 本地/网络异常 → [CyreneError.Local]。 */ + fun fromThrowable(throwable: Throwable): CyreneError = when (throwable) { + is UnknownHostException -> CyreneError.Local(CyreneError.LocalKind.Dns) + is SSLException -> CyreneError.Local(CyreneError.LocalKind.Tls) + is SocketTimeoutException -> CyreneError.Local(CyreneError.LocalKind.Timeout) + is ConnectException -> CyreneError.Local(CyreneError.LocalKind.ConnectFailed) + is SerializationException -> CyreneError.Local(CyreneError.LocalKind.Parse) + is IOException -> CyreneError.Local(CyreneError.LocalKind.NoNetwork) + else -> CyreneError.Local(CyreneError.LocalKind.Unknown) + } + + /** 解析 `{"error":{code,message}}`;非信封 / 空白 / 解析失败均返回 null。 */ + fun parseErrorEnvelope(errorBody: String?): ApiError? = errorBody + ?.takeIf { it.isNotBlank() } + ?.let { + runCatching { + ApiClientFactory.json.decodeFromString(ApiErrorEnvelope.serializer(), it).error + }.getOrNull() + } +} + +/** 把 [CyreneError] 塞进 Kotlin `Result` 的载体,便于 `Result` 统一传递失败。 */ +class CyreneException(val error: CyreneError) : Exception(error.userMessage) + +/** + * 执行一次信封调用并把结果收敛成 `Result`: + * 成功且 `data != null` → success;成功但 `data == null` → Parse;否则走 [ApiErrorMapper]。 + */ +suspend fun apiCall(block: suspend () -> Response>): Result = + try { + val response = block() + val data = response.body()?.data + when { + response.isSuccessful && data != null -> Result.success(data) + response.isSuccessful -> Result.failure(CyreneException(CyreneError.Local(CyreneError.LocalKind.Parse))) + else -> Result.failure( + CyreneException( + ApiErrorMapper.fromHttp(response.code(), response.errorBody()?.string()), + ), + ) + } + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + Result.failure(CyreneException(ApiErrorMapper.fromThrowable(e))) + } diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/CyreneApi.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/CyreneApi.kt new file mode 100644 index 0000000..31923f0 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/CyreneApi.kt @@ -0,0 +1,13 @@ +package top.yeij.cyrene.data.api + +import top.yeij.cyrene.data.api.dto.LoginRequest +import top.yeij.cyrene.data.api.dto.LoginResponse +import retrofit2.Response +import retrofit2.http.Body +import retrofit2.http.POST + +interface CyreneApi { + + @POST("api/v1/auth/login") + suspend fun login(@Body body: LoginRequest): Response> +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/SessionsApi.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/SessionsApi.kt new file mode 100644 index 0000000..41c46ad --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/SessionsApi.kt @@ -0,0 +1,44 @@ +package top.yeij.cyrene.data.api + +import top.yeij.cyrene.data.api.dto.CreateSessionResponse +import top.yeij.cyrene.data.api.dto.DeleteSessionResponse +import top.yeij.cyrene.data.api.dto.HistoryMessageDto +import top.yeij.cyrene.data.api.dto.SessionSummaryDto +import retrofit2.Response +import retrofit2.http.DELETE +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.Path +import retrofit2.http.Query + +/** + * 会话与消息相关端点(api-reference §3.2/§3.4/§3.5/§3.6)。 + * 与 M1 的 `CyreneApi` 分开,避免互相污染。 + */ +interface SessionsApi { + + @GET("api/v1/sessions") + suspend fun listSessions(): Response>> + + /** 无 body;服务端返回 `201 {data:{sessionId}}`。 */ + @POST("api/v1/sessions") + suspend fun createSession(): Response> + + /** 主会话 `web` 删除会返回 `403 forbidden`。 */ + @DELETE("api/v1/sessions/{id}") + suspend fun deleteSession(@Path("id") sessionId: String): Response> + + /** + * 消息热分页,服务端按 `createdAt` 倒序(newest first)返回。 + * @param limit 默认 50、上限 200(由 [top.yeij.cyrene.data.repository.MessageRepository] 钳制) + * @param before 上一页最旧消息的 `createdAt`(Unix 毫秒);null = 最新一页 + * @param platform 来源平台过滤;null = 全量 + */ + @GET("api/v1/sessions/{id}/messages") + suspend fun listMessages( + @Path("id") sessionId: String, + @Query("limit") limit: Int? = null, + @Query("before") before: Long? = null, + @Query("platform") platform: String? = null, + ): Response>> +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/LoginDto.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/LoginDto.kt new file mode 100644 index 0000000..de40326 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/LoginDto.kt @@ -0,0 +1,16 @@ +package top.yeij.cyrene.data.api.dto + +import kotlinx.serialization.Serializable + +@Serializable +data class LoginRequest( + val username: String, + val password: String, +) + +@Serializable +data class LoginResponse( + val token: String, + val expiresAt: Long, + val role: String, +) diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/MessageDto.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/MessageDto.kt new file mode 100644 index 0000000..aac1b06 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/MessageDto.kt @@ -0,0 +1,24 @@ +package top.yeij.cyrene.data.api.dto + +import kotlinx.serialization.Serializable + +/** + * `GET /api/v1/sessions/{id}/messages` 单条消息(api-reference §3.4)。 + * 服务端按 `createdAt` 倒序返回,渲染前需 reverse / merge。 + */ +@Serializable +data class HistoryMessageDto( + val id: String, + val sessionId: String, + val role: String, + val content: String = "", + val mode: String? = null, + val mood: String? = null, + val image: String? = null, + val thinking: String? = null, + val platform: String? = null, + val deviceId: String? = null, + val senderName: String? = null, + val adapterId: String? = null, + val createdAt: Long, +) diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/SessionDto.kt b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/SessionDto.kt new file mode 100644 index 0000000..c28183a --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/api/dto/SessionDto.kt @@ -0,0 +1,36 @@ +package top.yeij.cyrene.data.api.dto + +import kotlinx.serialization.Serializable + +/** + * `GET /api/v1/sessions` 持久化会话摘要(api-reference §3.2 A)。 + * 主会话 `id` 恒为 `"web"`、`type = "main"`,且由服务端排在首位。 + */ +@Serializable +data class SessionSummaryDto( + val id: String, + val type: String, + val title: String? = null, + val createdAt: Long, +) { + val isMain: Boolean + get() = type == TYPE_MAIN || id == MAIN_SESSION_ID + + companion object { + const val MAIN_SESSION_ID = "web" + const val TYPE_MAIN = "main" + const val TYPE_SUB = "sub" + } +} + +/** `POST /api/v1/sessions` → `201 {"data":{"sessionId":"web:"}}`。 */ +@Serializable +data class CreateSessionResponse( + val sessionId: String, +) + +/** `DELETE /api/v1/sessions/{id}` → `200 {"data":{"deleted":""}}`。 */ +@Serializable +data class DeleteSessionResponse( + val deleted: String, +) diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/repository/MessageRepository.kt b/app/src/main/kotlin/top/yeij/cyrene/data/repository/MessageRepository.kt new file mode 100644 index 0000000..30fa48f --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/repository/MessageRepository.kt @@ -0,0 +1,61 @@ +package top.yeij.cyrene.data.repository + +import top.yeij.cyrene.data.api.SessionsApi +import top.yeij.cyrene.data.api.apiCall +import top.yeij.cyrene.data.api.dto.HistoryMessageDto +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * 会话消息分页获取层。服务端按倒序返回,这里统一转成升序的 [PagedMessages]。 + * 去重 / 合并请用 [mergeMessages]。 + */ +class MessageRepository( + private val api: SessionsApi, + private val dispatcher: CoroutineDispatcher = Dispatchers.IO, +) { + + /** + * 拉一页消息。 + * + * @param before 上一页最旧消息的 `createdAt`(用 [PagedMessages.oldestCreatedAt]); + * null = 最新一页 + * @param platform 来源平台过滤;null = 全量(Web 端共享主会话语义) + */ + suspend fun loadPage( + sessionId: String, + limit: Int = DEFAULT_PAGE_SIZE, + before: Long? = null, + platform: String? = null, + ): Result = withContext(dispatcher) { + val pageSize = limit.coerceIn(1, MAX_PAGE_SIZE) + apiCall { api.listMessages(sessionId, pageSize, before, platform) } + .map { raw -> toPagedMessages(raw, pageSize) } + } + + /** 首屏 / 刷新:最新一页。 */ + suspend fun loadLatest( + sessionId: String, + limit: Int = DEFAULT_PAGE_SIZE, + platform: String? = null, + ): Result = loadPage(sessionId, limit, before = null, platform = platform) + + companion object { + const val DEFAULT_PAGE_SIZE = 50 + const val MAX_PAGE_SIZE = 200 + } +} + +private fun toPagedMessages( + rawNewestFirst: List, + pageSize: Int, +): PagedMessages { + val ascending = rawNewestFirst.sortedWith(MessageOrder) + return PagedMessages( + messages = ascending, + hasMore = rawNewestFirst.size >= pageSize, + oldestCreatedAt = ascending.firstOrNull()?.createdAt, + newestCreatedAt = ascending.lastOrNull()?.createdAt, + ) +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/repository/PagedMessages.kt b/app/src/main/kotlin/top/yeij/cyrene/data/repository/PagedMessages.kt new file mode 100644 index 0000000..013b2ae --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/repository/PagedMessages.kt @@ -0,0 +1,40 @@ +package top.yeij.cyrene.data.repository + +import top.yeij.cyrene.data.api.dto.HistoryMessageDto + +/** + * 一页消息(已由仓库转成 **升序**,可直接追加渲染)。 + * + * @param hasMore 该页是否可能还有更旧的消息(`原始页大小 == 请求页大小` 的保守判断) + * @param oldestCreatedAt 本页最旧一条的 `createdAt`,作为下一页的 `before` 游标 + * @param newestCreatedAt 本页最新一条的 `createdAt` + */ +data class PagedMessages( + val messages: List, + val hasMore: Boolean, + val oldestCreatedAt: Long?, + val newestCreatedAt: Long?, +) + +/** 消息排序:`createdAt` 升序,同毫秒用 `id` 兜底,保证稳定可复现。 */ +internal val MessageOrder: Comparator = compareBy({ it.createdAt }, { it.id }) + +/** + * 纯函数合并:`existing`(本地已加载,任意序)+ `incoming`(服务端新到的一页,倒序) + * → 按 `id` 去重、按 `createdAt` 升序(同毫秒用 `id` 兜底)的结果。 + * + * 冲突时 **incoming 胜出**(§3.2「服务端优先」)。不修改入参,返回新列表。 + * 时间复杂度 O((n+m) log(n+m)),空间 O(n+m)。 + */ +fun mergeMessages( + existing: List, + incoming: List, +): List { + if (incoming.isEmpty()) return existing.sortedWith(MessageOrder) + if (existing.isEmpty()) return incoming.sortedWith(MessageOrder) + + val byId = LinkedHashMap(existing.size + incoming.size) + existing.forEach { byId[it.id] = it } + incoming.forEach { byId[it.id] = it } + return byId.values.sortedWith(MessageOrder) +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/repository/SessionRepository.kt b/app/src/main/kotlin/top/yeij/cyrene/data/repository/SessionRepository.kt new file mode 100644 index 0000000..00e505e --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/repository/SessionRepository.kt @@ -0,0 +1,35 @@ +package top.yeij.cyrene.data.repository + +import top.yeij.cyrene.data.api.SessionsApi +import top.yeij.cyrene.data.api.apiCall +import top.yeij.cyrene.data.api.dto.SessionSummaryDto +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * 会话列表 / 新建 / 删除的数据获取层。 + * + * 列表策略(§3.1):调用方拿到结果后**整体替换**本地快照,不做 merge; + * 失败时调用方保留旧快照。仓库本身不持有任何持久化状态。 + */ +class SessionRepository( + private val api: SessionsApi, + private val dispatcher: CoroutineDispatcher = Dispatchers.IO, +) { + + /** `GET /sessions`,原样返回服务端顺序(主会话恒首位)。 */ + suspend fun listSessions(): Result> = withContext(dispatcher) { + apiCall { api.listSessions() } + } + + /** `POST /sessions`,成功返回新建的 `sessionId`(形如 `web:`)。 */ + suspend fun createSession(): Result = withContext(dispatcher) { + apiCall { api.createSession() }.map { it.sessionId } + } + + /** `DELETE /sessions/{id}`,成功返回被删除的会话 id;主会话会以 403 失败。 */ + suspend fun deleteSession(sessionId: String): Result = withContext(dispatcher) { + apiCall { api.deleteSession(sessionId) }.map { it.deleted } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/ws/ChatSocket.kt b/app/src/main/kotlin/top/yeij/cyrene/data/ws/ChatSocket.kt new file mode 100644 index 0000000..6e24ef2 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/ws/ChatSocket.kt @@ -0,0 +1,254 @@ +package top.yeij.cyrene.data.ws + +import top.yeij.cyrene.data.api.ApiClientFactory +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Job +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.channels.BufferOverflow +import kotlinx.coroutines.cancel +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asSharedFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import okhttp3.WebSocket +import okhttp3.WebSocketListener +import java.util.concurrent.TimeUnit +import kotlin.random.Random + +/** + * Cyrene 实时通道客户端(`GET /ws/chat?token=`,api-reference §6)。 + * + * ## 用法 + * ``` + * val socket = ChatSocket(baseUrlProvider = { cfg.baseUrl }, tokenProvider = { auth.token }, + * onAuthFailed = { auth.logout() }) + * socket.connect() + * // 收集 socket.events,观察 socket.state + * socket.sendChat(sessionId = "web", text = "你好", deviceId = deviceId) + * socket.close() + * ``` + * + * ## 会话归属约束 + * `message.*` / `thinking.*` / `tool_call.*` / `stream_chunk` 等流式帧**不带 `sessionId`**, + * 本类不会替它们编造会话。上层必须把它们归属到「当前唯一的 active 流式会话」—— + * 也就是**同一时刻只允许一个会话在流式**(切会话时需先结束或 `interrupt`)。 + * + * ## 心跳与重连 + * - OkHttp `pingInterval` 30s(服务端 ping 周期 54s / pong 等待 60s,客户端 30s 足够)。 + * - 服务端**没有 resume / 补发**:重连成功后由上层用新连接的 `history` 帧 + REST 补差去重。 + * - 退避 1s/2s/4s/8s/16s/30s(上限 30s,含抖动)。 + * - 握手返回 **HTTP 401** → [WsState.Offline],触发 [onAuthFailed],**不再重连**(需重新登录)。 + * + * ## 坏帧 + * 每帧解析都走 [WsEvent.parse],非 JSON / 未知 `type` / 结构不匹配一律丢弃,不会中断连接。 + * + * @param baseUrlProvider 服务器根地址(如 `http://host:8080`),每次重连时重新读取。 + * @param tokenProvider 当前 JWT,每次重连时重新读取(支持静默重登后复用同一实例)。 + * @param onAuthFailed 握手 401 回调;在协程内调用,注意切主线程。 + * @param client 可注入自定义 OkHttpClient(会 `newBuilder` 派生,保留其拦截器);缺省新建。 + */ +class ChatSocket( + private val baseUrlProvider: () -> String?, + private val tokenProvider: () -> String?, + private val onAuthFailed: () -> Unit = {}, + client: OkHttpClient? = null, +) { + + private val _state = MutableStateFlow(WsState.Idle) + + /** 连接状态机;见 [WsState]。 */ + val state: StateFlow = _state.asStateFlow() + + private val _events = MutableSharedFlow( + replay = 0, + extraBufferCapacity = EVENT_BUFFER, + onBufferOverflow = BufferOverflow.DROP_OLDEST, + ) + + /** + * 下行事件流。 + * + * `replay = 0`:重放旧 delta 会让新订阅者重复渲染,会话状态应由 `history` / REST 重建。 + * `extraBufferCapacity = 512 + DROP_OLDEST`:发送方是 OkHttp 读线程,不能阻塞;溢出时丢最旧的 + * 增量帧(服务端发送缓冲 32 本就会丢帧,`stream_end` / `history` 仍可兜底)。 + */ + val events: SharedFlow = _events.asSharedFlow() + + private val wsClient: OkHttpClient = (client ?: OkHttpClient()).newBuilder() + .pingInterval(PING_INTERVAL_SECONDS, TimeUnit.SECONDS) + .readTimeout(0, TimeUnit.MILLISECONDS) + .connectTimeout(CONNECT_TIMEOUT_SECONDS, TimeUnit.SECONDS) + .build() + + @Volatile + private var wantConnection: Boolean = false + + @Volatile + private var webSocket: WebSocket? = null + + @Volatile + private var attempt: Int = 0 + + @Volatile + private var sessionJob: Job? = null + + private var scope: CoroutineScope? = null + + /** 开始连接(幂等:已在连接 / 重连中时忽略)。 */ + fun connect() { + if (wantConnection) return + wantConnection = true + attempt = 0 + sessionJob = ensureScope().launch { runConnectionLoop() } + } + + /** 主动断开并停掉重连;之后可再次 [connect]。 */ + fun close() { + wantConnection = false + val socket = webSocket + webSocket = null + socket?.close(CLOSE_CODE_NORMAL, CLOSE_REASON_CLIENT) + sessionJob?.cancel() + sessionJob = null + _state.value = WsState.Idle + scope?.cancel() + scope = null + } + + /** + * 发送 `chat`(api-reference §6.3)。 + * @return 未连接或写失败返回 `false`(本层不做离线队列,由上层标红重试)。 + */ + fun sendChat(sessionId: String?, text: String, deviceId: String?): Boolean = + send(WsOutbound.Chat(text = text, sessionId = sessionId, deviceId = deviceId)) + + /** 发送 `interrupt`(取消在跑 turn + 清空 pending)。 */ + fun sendInterrupt(sessionId: String): Boolean = send(WsOutbound.Interrupt(sessionId)) + + private fun send(outbound: WsOutbound): Boolean { + if (_state.value != WsState.Connected) return false + val socket = webSocket ?: return false + return runCatching { socket.send(outbound.toJson()) }.getOrDefault(false) + } + + private suspend fun runConnectionLoop() { + try { + while (wantConnection) { + when (val end = runSession()) { + SessionEnd.ConfigMissing -> { + wantConnection = false + _state.value = WsState.Offline + } + + SessionEnd.AuthFailed -> { + wantConnection = false + _state.value = WsState.Offline + onAuthFailed() + } + + SessionEnd.Closed -> { + if (!wantConnection) break + _state.value = WsState.Reconnecting + delay(backoffDelayMs(attempt)) + attempt += 1 + } + } + } + } catch (_: CancellationException) { + // close() 主动取消,正常退出。 + } + } + + /** 建立一次连接并挂起,直到它关闭 / 失败 / 被取消。 */ + private suspend fun runSession(): SessionEnd { + val url = buildUrl() ?: return SessionEnd.ConfigMissing + _state.value = if (attempt == 0) WsState.Connecting else WsState.Reconnecting + val finished = CompletableDeferred() + val socket = wsClient.newWebSocket( + Request.Builder().url(url).build(), + object : WebSocketListener() { + override fun onOpen(webSocket: WebSocket, response: Response) { + attempt = 0 + _state.value = WsState.Connected + } + + override fun onMessage(webSocket: WebSocket, text: String) { + // 未知 type / 坏帧由 parse 返回 null,静默丢弃。 + WsEvent.parse(text)?.let { _events.tryEmit(it) } + } + + override fun onClosed(webSocket: WebSocket, code: Int, reason: String) { + finished.complete(SessionEnd.Closed) + } + + override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) { + val end = if (isAuthFailure(response, t)) SessionEnd.AuthFailed else SessionEnd.Closed + finished.complete(end) + } + }, + ) + webSocket = socket + return try { + finished.await() + } finally { + if (webSocket === socket) webSocket = null + socket.cancel() + } + } + + /** + * 握手鉴权失败是**握手前**的 HTTP 401(不是 WS close),OkHttp 会把它随 [onFailure] 的 + * `response` 一起回调;个别路径拿不到 response 时再退化为消息文本匹配。 + */ + private fun isAuthFailure(response: Response?, t: Throwable): Boolean { + if (response?.code == 401) return true + return t.message?.contains("401") == true + } + + private fun buildUrl(): HttpUrl? { + val token = tokenProvider()?.takeIf { it.isNotBlank() } ?: return null + val base = baseUrlProvider()?.takeIf { it.isNotBlank() } ?: return null + val httpUrl = ApiClientFactory.normalizeBaseUrl(base).toHttpUrlOrNull() ?: return null + return httpUrl.newBuilder() + .addPathSegments("ws/chat") + .addQueryParameter("token", token) + .build() + } + + /** 1s/2s/4s/8s/16s/30s,上限 30s;加 0~25% 抖动避免同时重连。 */ + private fun backoffDelayMs(attempt: Int): Long { + val shift = attempt.coerceIn(0, MAX_BACKOFF_SHIFT) + val base = (INITIAL_BACKOFF_MS shl shift).coerceAtMost(MAX_BACKOFF_MS) + val jitter = Random.nextLong(base / JITTER_DIVISOR + 1) + return (base + jitter).coerceAtMost(MAX_BACKOFF_MS) + } + + private fun ensureScope(): CoroutineScope = + scope ?: CoroutineScope(SupervisorJob() + Dispatchers.IO).also { scope = it } + + private enum class SessionEnd { Closed, AuthFailed, ConfigMissing } + + private companion object { + const val PING_INTERVAL_SECONDS = 30L + const val CONNECT_TIMEOUT_SECONDS = 10L + const val INITIAL_BACKOFF_MS = 1_000L + const val MAX_BACKOFF_MS = 30_000L + const val MAX_BACKOFF_SHIFT = 5 + const val JITTER_DIVISOR = 4L + const val EVENT_BUFFER = 512 + const val CLOSE_CODE_NORMAL = 1000 + const val CLOSE_REASON_CLIENT = "client closed" + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt new file mode 100644 index 0000000..941cceb --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsEvent.kt @@ -0,0 +1,459 @@ +package top.yeij.cyrene.data.ws + +import top.yeij.cyrene.data.api.ApiClientFactory +import top.yeij.cyrene.data.api.dto.HistoryMessageDto +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.JsonNull +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.JsonPrimitive +import kotlinx.serialization.json.decodeFromJsonElement + +/** + * 下行事件(服务端 → 客户端)。 + * + * 帧壳:`{type, turnId?, seq?, sessionId?, data?}`(api-reference §6.2), + * 只有 `type` 必填,`data` 的形状由 `type` 决定。字段名逐字对齐 api-reference §6.4。 + * + * ## 会话归属约束(重要) + * `message.start/delta/end`、`thinking.*`、`tool_call.*`、`tool_execution.update`、 + * `stream_chunk` **不带 `sessionId`**。本层不会凭空补 `sessionId`,因此上层必须把这些事件 + * 归属到「当前唯一的 active 流式会话」——即**同一时刻只允许一个会话在流式**。 + * 带 `sessionId` 的是 `history` / `stream_end` / `message_persisted` / `channel_persisted` + * 以及编排状态帧(`session_busy` / `pending_*` / `session_idle` / `session_interrupted`)。 + * + * ## 未知事件与坏帧 + * [parse] 对未知 `type`、非 JSON、结构不匹配的帧一律返回 `null`(安全忽略),绝不抛异常。 + */ +sealed class WsEvent { + + abstract val type: String + + /** 一轮交换的关联 id(`turn-`);OnStream 结构化流路径不带。 */ + open val turnId: String? = null + + /** hub 级单调递增序号,供排序关联流式突发。 */ + open val seq: Long? = null + + /** 能确定会话的事件才有;流式正文/思维链/工具帧恒为 `null`。 */ + open val sessionId: String? = null + + /** 连接首帧:主会话最近 50 条历史(`thinking` 已被服务端剥离)。 */ + data class History( + val messages: List, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "history" + } + + /** 正文段开始。 */ + data class MessageStart( + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "message.start" + } + + /** 正文 token 增量(累加到当前正文段)。 */ + data class MessageDelta( + val delta: String, + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "message.delta" + } + + /** 正文段结束(不结束整轮,整轮由 [StreamEnd] 收尾)。 */ + data class MessageEnd( + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "message.end" + } + + /** 思维链段开始。 */ + data class ThinkingStart( + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "thinking.start" + } + + /** 思维链 token 增量。 */ + data class ThinkingDelta( + val delta: String, + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "thinking.delta" + } + + /** 思维链段结束。 */ + data class ThinkingEnd( + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "thinking.end" + } + + /** 工具调用中间态开始。 */ + data class ToolCallStart( + val id: String, + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "tool_call.start" + } + + /** 工具调用参数增量(如 `input_json_delta`)。 */ + data class ToolCallDelta( + val id: String, + val index: Int, + val delta: String, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "tool_call.delta" + } + + /** 工具调用中间态结束。 */ + data class ToolCallEnd( + val id: String, + val index: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "tool_call.end" + } + + /** 工具执行进度 / 局部输出。 */ + data class ToolExecutionUpdate( + val id: String, + val index: Int, + val delta: String, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "tool_execution.update" + } + + /** 向后兼容整段文本(仅非流式回退路径;流式路径不 emit)。 */ + data class StreamChunk( + val delta: String, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "stream_chunk" + } + + /** + * 一轮结束。`stopReason` 取值未穷举(`stop` / `idle` / `error` / …),用字符串承载; + * `error` 形状未定义(字符串或对象都可能),原样以 [JsonElement] 暴露。 + */ + data class StreamEnd( + val stopReason: String, + val steps: Int? = null, + val error: JsonElement? = null, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "stream_end" + } + + /** 会话进入忙碌态。`mode` ∈ `idle` / `thinking` / `executing` / `subagent`。 */ + data class SessionBusy( + override val sessionId: String, + val mode: String, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "session_busy" + } + + /** 忙时新消息已入队(「收到,稍后回」)。 */ + data class PendingAck( + override val sessionId: String, + val mode: String, + val queueDepth: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "pending_ack" + } + + /** 忙完开始消费下一条待处理消息。 */ + data class PendingDrain( + override val sessionId: String, + val mode: String, + val queueDepth: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "pending_drain" + } + + /** 会话回到空闲、队列清空。 */ + data class SessionIdle( + override val sessionId: String, + val mode: String, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "session_idle" + } + + /** 用户打断:当前任务取消、pending 清空,`dropped` 为丢弃条数。 */ + data class SessionInterrupted( + override val sessionId: String, + val mode: String, + val dropped: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "session_interrupted" + } + + /** 单会话 pending 达上限(`max`,默认 5),拒绝入队。 */ + data class PendingFull( + override val sessionId: String, + val mode: String, + val max: Int, + override val turnId: String? = null, + override val seq: Long? = null, + ) : WsEvent() { + override val type: String get() = "pending_full" + } + + /** 主会话(`web` / `web:`)消息落库后广播。 */ + data class MessagePersisted( + val message: HistoryMessageDto?, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "message_persisted" + } + + /** 隔离会话(`sess-xxx`,群聊 / 陌生人)消息落库后广播,供 IM 适配器日志页。 */ + data class ChannelPersisted( + val message: HistoryMessageDto?, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "channel_persisted" + } + + /** 语音合成回复(定向回请求连接)。 */ + data class VoiceOutput( + val audio: String?, + val format: String?, + val text: String?, + val reply: String?, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "voice_output" + } + + /** 自主主动推送(仅 owner/admin 连接收到)。 */ + data class ProactiveMessage( + val platform: String?, + val channelId: String?, + val channelType: String?, + val content: String, + val contentType: String?, + val sender: String?, + val timestamp: Long?, + val messageId: String?, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "proactive_message" + } + + /** 服务端错误(非法 JSON / 未知类型 / 语音·子代理·任务错误等)。 */ + data class Error( + val message: String, + override val turnId: String? = null, + override val seq: Long? = null, + override val sessionId: String? = null, + ) : WsEvent() { + override val type: String get() = "error" + } + + companion object { + + /** + * 解析一帧文本。**永不抛异常**:非 JSON、缺 `type`、未知 `type`、`data` 结构不匹配 + * 都返回 `null`,由调用方安全忽略。 + */ + fun parse(raw: String): WsEvent? { + val root = runCatching { ApiClientFactory.json.parseToJsonElement(raw) } + .getOrNull() as? JsonObject ?: return null + val type = root["type"].asStringOrNull() ?: return null + val turnId = root["turnId"].asStringOrNull() + val seq = root["seq"].asStringOrNull()?.toLongOrNull() + val sessionId = root["sessionId"].asStringOrNull() + val data = root["data"]?.takeIf { it !is JsonNull } + return runCatching { dispatch(type, turnId, seq, sessionId, data) }.getOrNull() + } + + private fun dispatch( + type: String, + turnId: String?, + seq: Long?, + sessionId: String?, + data: JsonElement?, + ): WsEvent? = dispatchStreaming(type, turnId, seq, sessionId, data) + ?: dispatchSession(type, turnId, seq, sessionId, data) + + private fun dispatchStreaming( + type: String, + turnId: String?, + seq: Long?, + sessionId: String?, + data: JsonElement?, + ): WsEvent? = when (type) { + "history" -> History(decode(data).messages, turnId, seq, sessionId) + "message.start" -> MessageStart(decode(data).index, turnId, seq) + "message.delta" -> decode(data).let { MessageDelta(it.delta, it.index, turnId, seq) } + "message.end" -> MessageEnd(decode(data).index, turnId, seq) + "thinking.start" -> ThinkingStart(decode(data).index, turnId, seq) + "thinking.delta" -> decode(data).let { ThinkingDelta(it.delta, it.index, turnId, seq) } + "thinking.end" -> ThinkingEnd(decode(data).index, turnId, seq) + "tool_call.start" -> decode(data).let { ToolCallStart(it.id, it.index, turnId, seq) } + "tool_call.delta" -> decode(data).let { ToolCallDelta(it.id, it.index, it.delta, turnId, seq) } + "tool_call.end" -> decode(data).let { ToolCallEnd(it.id, it.index, turnId, seq) } + "tool_execution.update" -> decode(data) + .let { ToolExecutionUpdate(it.id, it.index, it.delta, turnId, seq) } + "stream_chunk" -> StreamChunk(decode(data).delta, turnId, seq, sessionId) + "stream_end" -> decode(data) + .let { StreamEnd(it.stopReason, it.steps, it.error, turnId, seq, sessionId) } + else -> null + } + + private fun dispatchSession( + type: String, + turnId: String?, + seq: Long?, + sessionId: String?, + data: JsonElement?, + ): WsEvent? = when (type) { + "session_busy" -> decode(data) + .let { SessionBusy(resolveSessionId(sessionId, it.sessionId), it.mode, turnId, seq) } + "pending_ack" -> decode(data) + .let { PendingAck(resolveSessionId(sessionId, it.sessionId), it.mode, it.queueDepth, turnId, seq) } + "pending_drain" -> decode(data) + .let { PendingDrain(resolveSessionId(sessionId, it.sessionId), it.mode, it.queueDepth, turnId, seq) } + "session_idle" -> decode(data) + .let { SessionIdle(resolveSessionId(sessionId, it.sessionId), it.mode, turnId, seq) } + "session_interrupted" -> decode(data) + .let { SessionInterrupted(resolveSessionId(sessionId, it.sessionId), it.mode, it.dropped, turnId, seq) } + "pending_full" -> decode(data) + .let { PendingFull(resolveSessionId(sessionId, it.sessionId), it.mode, it.max, turnId, seq) } + "message_persisted" -> decode(data) + .let { MessagePersisted(it.message, turnId, seq, sessionId ?: it.message?.sessionId) } + "channel_persisted" -> decode(data) + .let { ChannelPersisted(it.message, turnId, seq, sessionId ?: it.message?.sessionId) } + "voice_output" -> decode(data) + .let { VoiceOutput(it.audio, it.format, it.text, it.reply, turnId, seq, sessionId) } + "proactive_message" -> decode(data).let { + ProactiveMessage( + it.platform, it.channelId, it.channelType, it.content, it.contentType, + it.sender, it.timestamp, it.messageId, turnId, seq, sessionId, + ) + } + "error" -> Error(decode(data).message, turnId, seq, sessionId) + else -> null + } + + private fun resolveSessionId(shell: String?, fromData: String): String = + fromData.ifBlank { shell ?: "" } + + private inline fun decode(data: JsonElement?): T = + ApiClientFactory.json.decodeFromJsonElement(data ?: JsonObject(emptyMap())) + } +} + +private fun JsonElement?.asStringOrNull(): String? { + val primitive = this as? JsonPrimitive ?: return null + if (primitive is JsonNull) return null + return primitive.content +} + +@Serializable +private data class IndexData(val index: Int = 0) + +@Serializable +private data class DeltaIndexData(val delta: String = "", val index: Int = 0) + +@Serializable +private data class ToolCallIdData(val id: String = "", val index: Int = 0) + +@Serializable +private data class ToolCallData(val id: String = "", val index: Int = 0, val delta: String = "") + +@Serializable +private data class HistoryData(val messages: List = emptyList()) + +@Serializable +private data class StreamChunkData(val delta: String = "") + +@Serializable +private data class StreamEndData( + val stopReason: String = "", + val steps: Int? = null, + val error: JsonElement? = null, +) + +@Serializable +private data class SessionModeData(val sessionId: String = "", val mode: String = "") + +@Serializable +private data class PendingData(val sessionId: String = "", val mode: String = "", val queueDepth: Int = 0) + +@Serializable +private data class InterruptedData(val sessionId: String = "", val mode: String = "", val dropped: Int = 0) + +@Serializable +private data class PendingFullData(val sessionId: String = "", val mode: String = "", val max: Int = 0) + +@Serializable +private data class PersistedData(val message: HistoryMessageDto? = null) + +@Serializable +private data class VoiceOutputData( + val audio: String? = null, + val format: String? = null, + val text: String? = null, + val reply: String? = null, +) + +@Serializable +private data class ProactiveData( + val platform: String? = null, + val channelId: String? = null, + val channelType: String? = null, + val content: String = "", + val contentType: String? = null, + val sender: String? = null, + val timestamp: Long? = null, + val messageId: String? = null, +) + +@Serializable +private data class ErrorData(val message: String = "") diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsOutbound.kt b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsOutbound.kt new file mode 100644 index 0000000..4acc4bd --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsOutbound.kt @@ -0,0 +1,118 @@ +package top.yeij.cyrene.data.ws + +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.buildJsonObject +import kotlinx.serialization.json.put + +/** + * 上行事件(客户端 → 服务端)。 + * + * 帧壳:`{type, reqId?, data?}`(api-reference §6.2)。字段名逐字对齐 §6.3: + * `chat` / `interrupt` / `voice_input` / `mode_switch` / `subagent_ask` / `task_output_query`。 + * + * 序列化用 [buildJsonObject] 显式拼装,而不是 `@Serializable` 数据类,原因: + * 上行帧是「信封 + 变长 data」,这样能保证 `type` 与 `data` 的嵌套结构不随类字段变化, + * 且可选字段为 `null` 时整键省略(与后端 `omitempty` 语义一致)。 + */ +sealed interface WsOutbound { + + /** 事件类型,即帧壳的 `type`。 */ + val type: String + + /** 请求关联 id;服务端当前不回填(api-reference §6.3),预留。 */ + val reqId: String? get() = null + + /** `data` 负载;返回 `null` 时省略该键。 */ + fun data(): JsonElement? + + /** 编码成一条文本帧。 */ + fun toJson(): String = buildJsonObject { + put("type", type) + reqId?.let { put("reqId", it) } + data()?.let { put("data", it) } + }.toString() + + /** `chat`:`{sessionId?, text, image?, deviceId?}`;text+image 至少一项。 */ + data class Chat( + val text: String, + val sessionId: String? = null, + val deviceId: String? = null, + val image: String? = null, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "chat" + + override fun data(): JsonElement = buildJsonObject { + sessionId?.let { put("sessionId", it) } + put("text", text) + image?.let { put("image", it) } + deviceId?.let { put("deviceId", it) } + } + } + + /** `interrupt`:`{sessionId}`。命中空闲会话为 no-op。 */ + data class Interrupt( + val sessionId: String, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "interrupt" + + override fun data(): JsonElement = buildJsonObject { put("sessionId", sessionId) } + } + + /** `voice_input`:`{audio?, format?, text?, sessionId?}`。 */ + data class VoiceInput( + val audio: String? = null, + val format: String? = null, + val text: String? = null, + val sessionId: String? = null, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "voice_input" + + override fun data(): JsonElement = buildJsonObject { + audio?.let { put("audio", it) } + format?.let { put("format", it) } + text?.let { put("text", it) } + sessionId?.let { put("sessionId", it) } + } + } + + /** `mode_switch`:服务端原样广播回显,负载形状不限,这里发 `{mode}`。 */ + data class ModeSwitch( + val mode: String, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "mode_switch" + + override fun data(): JsonElement = buildJsonObject { put("mode", mode) } + } + + /** `subagent_ask`:`{id, mode?, n?, query?}`。`mode` ∈ `""/full/tail/keyword`。 */ + data class SubagentAsk( + val id: String, + val mode: String? = null, + val n: Int? = null, + val query: String? = null, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "subagent_ask" + + override fun data(): JsonElement = buildJsonObject { + put("id", id) + mode?.let { put("mode", it) } + n?.let { put("n", it) } + query?.let { put("query", it) } + } + } + + /** `task_output_query`:`{taskId}`。 */ + data class TaskOutputQuery( + val taskId: String, + override val reqId: String? = null, + ) : WsOutbound { + override val type: String get() = "task_output_query" + + override fun data(): JsonElement = buildJsonObject { put("taskId", taskId) } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsState.kt b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsState.kt new file mode 100644 index 0000000..866bc97 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/data/ws/WsState.kt @@ -0,0 +1,25 @@ +package top.yeij.cyrene.data.ws + +/** + * 实时通道连接状态。 + * + * 迁移:`Idle → Connecting → Connected → Reconnecting(退避) → Offline`。 + * `Offline` 只在**不可恢复**的情况下出现(握手 401 / 缺少 token 或服务器地址), + * 需要上层重新登录或配置服务器后再调 [ChatSocket.connect]。 + */ +enum class WsState { + /** 未启动:初始态,或主动 [ChatSocket.close] 之后。 */ + Idle, + + /** 首次握手进行中。 */ + Connecting, + + /** 已连接,可收发帧。 */ + Connected, + + /** 连接断开,正在按退避策略等待重连。 */ + Reconnecting, + + /** 不可恢复(握手 401 / 缺少 token 或地址),不会自动重连。 */ + Offline, +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/domain/parse/ChatContentParser.kt b/app/src/main/kotlin/top/yeij/cyrene/domain/parse/ChatContentParser.kt new file mode 100644 index 0000000..e18ef66 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/domain/parse/ChatContentParser.kt @@ -0,0 +1,409 @@ +package top.yeij.cyrene.domain.parse + +import kotlin.math.min + +/* + * ChatContentParser —— 纯 Kotlin 的聊天内容解析器(无 Android / Compose 依赖)。 + * + * 权威规则: + * - `configs/personas/cyrene.yaml`「分段约定」「表达方式:动作与旁白」; + * - `devdocs/03-客户端细化开发方案.md` §5 渲染管线; + * - Web 端 `frontend/web/src/lib/parseContent.ts` + `components/chat.tsx`(行为对齐基准)。 + * + * 语义摘要: + * - `

…

`:每个完整块 = 一条独立气泡;无完整 `

` 时回退按空行 `\n\s*\n` 切分; + * 单个 `\n` 是句内换行,绝不切分。未闭合的 `

` 不构成块,按普通文本处理(流式下会先缓存)。 + * `

` 之外的非空白正文不会被丢弃:并入相邻气泡(若只是旁白/空白则依附之,否则自成一气泡)。 + * - `…` / `…`:旁白/动作,不独立成气泡,依附气泡: + * 首部连续块 → 挂气泡上方(head);尾部连续块 → 挂下方(tail);夹在正文中间的块 → 上提到 head。 + * - 漂移兼容:全角 `*…*`(无关键词时要求去空白后 ≤40 字符且不含换行 → action); + * 半角 `*…*` 仅当以 动作/旁白/内心/神态/轻声 开头才算旁白,否则保持普通文本(不吞 Markdown 强调)。 + * 关键词 旁白/内心 → narration,其余 → action。 + * - 未闭合/畸形的标签一律回落为普通文本,绝不抛异常。 + * + * `ParsedBubble` 结构(每条气泡渲染一个): + * - `body` :气泡正文(仅 Text 部分按原顺序拼接后 trim),已剔除全部旁白/动作块; + * - `parts` :该气泡按原始顺序解析出的全部片段(Text / Action / Narration),供下钻使用; + * - `head` :要渲染在气泡上方的旁白/动作块(首部块 + 中间块「上提」); + * - `tail` :要渲染在气泡下方的旁白/动作块(尾部连续块)。 + * 无正文时 `body` 为空串,仅 `head` 承载整条消息(纯动作/旁白气泡)。 + * `parse("")` / 纯空白输入返回空列表;纯空白且无旁白的气泡会被丢弃。 + * + * 流式边界决策(`StreamingContentParser`): + * - `onDelta` 返回「当前已确定前缀」的解析结果;`finish` 返回全量缓冲的解析结果, + * 因此 `finish() == parse(全部 delta 拼接)` 恒成立(逐字符/任意切分均一致)。 + * - 未确定片段从以下最早位置开始整体扣留,不产出半截结果: + * 1) 未闭合的 `` / `` / `

` 开标签(从该开标签起扣留); + * 2) 尾部残缺标签(如 `, + val head: List, + val tail: List, +) { + val isEmpty: Boolean + get() = body.isEmpty() && head.isEmpty() && tail.isEmpty() +} + +/** 完整 `

…

` 块(允许 `class` 等属性,但要求标签名后为空白或直接 `>`)。 */ +private val P_BLOCK_RE = Regex("]*)?>([\\s\\S]*?)

") + +/** + * 一次匹配旁白的三种等价写法;左侧优先(最靠左的匹配获胜), + * 三种 body 均非贪婪,可跨换行;未闭合/畸形则整段回落为文本。 + * 捕获组:1 = 标签名,2 = 标签 body,3 = 全角星 body,4 = 半角星 body。 + */ +private val ROLE_RE = Regex( + "<\\s*(action|narration)\\s*>([\\s\\S]*?)" + + "|*([\\s\\S]*?)*" + + "|\\*((?:动作|旁白|内心|神态|轻声)\\s*[::]?[\\s\\S]*?)\\*", +) + +/** 星号块开头的关键词(可带中/英文冒号)。 */ +private val ROLE_KEYWORD_RE = Regex("^(动作|旁白|内心|神态|轻声)\\s*[::]?\\s*") + +private val ROLE_KEYWORDS = listOf("动作", "旁白", "内心", "神态", "轻声") + +/** 空行切分:`\n` + 若干空白 + `\n`。 */ +private val BLANK_LINE_RE = Regex("\\n\\s*\\n") + +/** 无关键词的全角星块超过此长度即视为普通文本(对齐 Web `STAR_SHORT_RUNES`)。 */ +private const val FULL_STAR_MAX_LEN = 40 + +private val TAG_NAMES = listOf("action", "narration", "p") +private val OPEN_ROLE_TAG_RE = Regex("^<\\s*(action|narration)\\s*>$") +private val CLOSE_ROLE_TAG_RE = Regex("^$") +private val OPEN_P_TAG_RE = Regex("^]*)?>$") +private val CLOSE_P_TAG_RE = Regex("^

$") + +/** 一次性解析:把一条消息的原始文本拆成若干独立气泡(含旁白依附关系)。 */ +fun parse(raw: String): List { + if (raw.isEmpty()) return emptyList() + return buildBubbles(tokenize(raw)) +} + +/** + * 带缓冲的流式增量解析器:`onDelta` 逐段喂入,`finish` 收口。 + * 无副作用;调用方保证单线程访问。 + */ +class StreamingContentParser { + private val buffer = StringBuilder() + + /** 当前累计的原始文本(含尚未确定、被扣留的尾部)。 */ + val raw: String + get() = buffer.toString() + + /** 追加一段 delta,返回「当前已确定前缀」解析出的气泡列表。 */ + fun onDelta(delta: String): List { + if (delta.isNotEmpty()) buffer.append(delta) + val current = buffer.toString() + return parse(current.substring(0, stablePrefixEnd(current))) + } + + /** 收口:对全部缓冲做一次性解析,结果与 `parse(拼接的全部 delta)` 完全一致。 */ + fun finish(): List = parse(buffer.toString()) + + /** 清空缓冲,可复用本实例处理下一条消息。 */ + fun reset() { + buffer.setLength(0) + } +} + +// --------------------------------------------------------------------------- +// 内部实现 +// --------------------------------------------------------------------------- + +private sealed interface Tok { + data class Txt(val text: String) : Tok + + data class Act(val text: String) : Tok + + data class Nar(val text: String) : Tok + + object Break : Tok +} + +/** 先切 `

` 块(决定气泡边界),再在每个文本区做旁白/星号解析。 */ +private fun tokenize(raw: String): List { + val pMatches = P_BLOCK_RE.findAll(raw).toList() + val out = ArrayList() + if (pMatches.isEmpty()) { + appendAnnotations(raw, out, splitBlankLines = true) + return out + } + var last = 0 + for (m in pMatches) { + val lead = raw.substring(last, m.range.first) + if (lead.isNotEmpty()) appendAnnotations(lead, out, splitBlankLines = false) + out.add(Tok.Break) + val inner = m.groupValues[2] + if (inner.isNotEmpty()) appendAnnotations(inner, out, splitBlankLines = false) + out.add(Tok.Break) + last = m.range.last + 1 + } + val trail = raw.substring(last) + if (trail.isNotEmpty()) appendAnnotations(trail, out, splitBlankLines = false) + return out +} + +/** 在文本区内按左到右顺序切出 Text / Action / Narration。 */ +private fun appendAnnotations(text: String, out: MutableList, splitBlankLines: Boolean) { + var last = 0 + for (m in ROLE_RE.findAll(text)) { + val before = text.substring(last, m.range.first) + if (before.isNotEmpty()) appendText(before, out, splitBlankLines) + when (val part = classify(m)) { + null -> appendText(m.value, out, splitBlankLines) + is ContentPart.Text -> appendText(part.text, out, splitBlankLines) + is ContentPart.Action -> out.add(Tok.Act(part.text)) + is ContentPart.Narration -> out.add(Tok.Nar(part.text)) + } + last = m.range.last + 1 + } + val tail = text.substring(last) + if (tail.isNotEmpty()) appendText(tail, out, splitBlankLines) +} + +/** 追加普通文本;无 `

` 时按空行插入气泡边界。 */ +private fun appendText(text: String, out: MutableList, splitBlankLines: Boolean) { + if (!splitBlankLines) { + out.add(Tok.Txt(text)) + return + } + var last = 0 + for (m in BLANK_LINE_RE.findAll(text)) { + val piece = text.substring(last, m.range.first) + if (piece.isNotEmpty()) out.add(Tok.Txt(piece)) + out.add(Tok.Break) + last = m.range.last + 1 + } + val tail = text.substring(last) + if (tail.isNotEmpty()) out.add(Tok.Txt(tail)) +} + +/** 把一次正则匹配归类;返回 null 表示「整段保持普通文本」。 */ +private fun classify(m: MatchResult): ContentPart? { + if (m.groups[1] != null) { + val name = m.groupValues[1] + val body = m.groupValues[2] + return if (name == "action") ContentPart.Action(body) else ContentPart.Narration(body) + } + if (m.groups[3] != null) return classifyFullStar(m.groupValues[3]) + if (m.groups[4] != null) return classifyHalfStar(m.groupValues[4]) + return null +} + +/** 全角 `*…*`:有关键词按关键词定类,否则短且单行才当 action。 */ +private fun classifyFullStar(body: String): ContentPart? { + matchRoleKeyword(body)?.let { return it } + val trimmed = body.trim() + val short = trimmed.isNotEmpty() && trimmed.length <= FULL_STAR_MAX_LEN + if (short && !trimmed.contains('\n') && !trimmed.contains('\r')) { + return ContentPart.Action(trimmed) + } + return null +} + +/** 半角 `*…*`:正则已保证以关键词开头,这里只负责剥离关键词与定类。 */ +private fun classifyHalfStar(body: String): ContentPart = + matchRoleKeyword(body) ?: ContentPart.Action(body.trim()) + +/** 匹配并剥离开头关键词;旁白/内心 → narration,其余 → action。 */ +private fun matchRoleKeyword(body: String): ContentPart? { + val m = ROLE_KEYWORD_RE.find(body) ?: return null + val rest = body.substring(m.value.length).trim() + return if (m.groupValues[1] == "旁白" || m.groupValues[1] == "内心") { + ContentPart.Narration(rest) + } else { + ContentPart.Action(rest) + } +} + +/** 以 Break 为界分组,把「只有旁白没有正文」的组并入相邻气泡,再逐组构造气泡。 */ +private fun buildBubbles(tokens: List): List { + val groups = ArrayList>() + var current = ArrayList() + for (t in tokens) { + if (t is Tok.Break) { + if (current.isNotEmpty()) groups.add(current) + current = ArrayList() + } else { + current.add(t) + } + } + if (current.isNotEmpty()) groups.add(current) + + val merged = ArrayList>() + var carry = ArrayList() + for (group in groups) { + val combined = ArrayList(carry.size + group.size) + combined.addAll(carry) + combined.addAll(group) + carry = ArrayList() + if (hasBodyText(combined)) merged.add(combined) else carry = combined + } + if (carry.isNotEmpty()) { + if (merged.isNotEmpty()) merged.last().addAll(carry) else merged.add(carry) + } + return merged.mapNotNull { toBubble(it) } +} + +private fun hasBodyText(tokens: List): Boolean = + tokens.any { it is Tok.Txt && it.text.isNotBlank() } + +/** 构造气泡:合并相邻文本、计算 body,并按首/尾规则分配 head / tail。 */ +private fun toBubble(tokens: List): ParsedBubble? { + val parts = ArrayList(tokens.size) + for (t in tokens) { + when (t) { + is Tok.Txt -> { + val prev = parts.lastOrNull() + if (prev is ContentPart.Text) { + parts[parts.size - 1] = ContentPart.Text(prev.text + t.text) + } else { + parts.add(ContentPart.Text(t.text)) + } + } + + is Tok.Act -> parts.add(ContentPart.Action(t.text)) + is Tok.Nar -> parts.add(ContentPart.Narration(t.text)) + Tok.Break -> Unit + } + } + if (parts.isEmpty()) return null + + val firstText = parts.indexOfFirst { it is ContentPart.Text } + val lastText = parts.indexOfLast { it is ContentPart.Text } + val head = ArrayList() + val tail = ArrayList() + val body = StringBuilder() + parts.forEachIndexed { i, part -> + if (part is ContentPart.Text) { + body.append(part.text) + } else if (firstText < 0 || i < firstText || (i > firstText && i < lastText)) { + head.add(part) + } else { + tail.add(part) + } + } + val bodyText = body.toString().trim() + if (bodyText.isEmpty() && head.isEmpty() && tail.isEmpty()) return null + return ParsedBubble(body = bodyText, parts = parts.toList(), head = head.toList(), tail = tail.toList()) +} + +// --------------------------------------------------------------------------- +// 流式边界:计算「可安全产出」的前缀长度 +// --------------------------------------------------------------------------- + +/** 返回当前缓冲中可安全解析的前缀长度;其后的未完成片段一律扣留。 */ +private fun stablePrefixEnd(buf: String): Int { + var cut = buf.length + val openTags = ArrayDeque>() + var i = 0 + while (i < buf.length) { + val lt = buf.indexOf('<', i) + if (lt < 0) break + val gt = buf.indexOf('>', lt) + if (gt < 0) { + if (isPotentialTagPrefix(buf, lt)) cut = min(cut, lt) + break + } + val tag = buf.substring(lt, gt + 1) + val openName = openTagName(tag) + if (openName != null) { + openTags.addLast(openName to lt) + } else { + val closeName = closeTagName(tag) + if (closeName == null) { + i = lt + 1 + continue + } + val idx = openTags.indexOfLast { it.first == closeName } + if (idx >= 0) openTags.removeAt(idx) + } + i = gt + 1 + } + if (openTags.isNotEmpty()) cut = min(cut, openTags.first().second) + + val freeStart = buf.lastIndexOf('>') + 1 + cut = withholdDanglingFullStar(buf, freeStart, cut) + cut = withholdDanglingHalfStar(buf, freeStart, cut) + return cut.coerceIn(0, buf.length) +} + +private fun openTagName(tag: String): String? { + OPEN_ROLE_TAG_RE.find(tag)?.let { return it.groupValues[1] } + return if (OPEN_P_TAG_RE.matches(tag)) "p" else null +} + +private fun closeTagName(tag: String): String? { + CLOSE_ROLE_TAG_RE.find(tag)?.let { return it.groupValues[1] } + return if (CLOSE_P_TAG_RE.matches(tag)) "p" else null +} + +/** 尾部 `<…` 是否仍可能补全为合法标签(否则它只是普通文本里的 `<`)。 */ +private fun isPotentialTagPrefix(buf: String, lt: Int): Boolean { + var j = lt + 1 + if (j < buf.length && buf[j] == '/') j++ + while (j < buf.length && buf[j].isWhitespace()) j++ + val nameStart = j + while (j < buf.length && buf[j] in 'a'..'z') j++ + val name = buf.substring(nameStart, j) + if (j >= buf.length) return name.isEmpty() || TAG_NAMES.any { it.startsWith(name) } + if (name.isEmpty()) return false + if (!buf[j].isWhitespace()) return false + return TAG_NAMES.any { it.startsWith(name) } +} + +/** 自由文本区内孤立的全角 `*`(计数为奇)从最后一个起扣留。 */ +private fun withholdDanglingFullStar(buf: String, from: Int, cut: Int): Int { + var count = 0 + var last = -1 + for (i in from until buf.length) { + if (buf[i] == '*') { + count++ + last = i + } + } + return if (count % 2 == 1 && last >= 0) min(cut, last) else cut +} + +/** 自由文本区内孤立且可能开启关键词旁白的半角 `*` 从最后一个起扣留。 */ +private fun withholdDanglingHalfStar(buf: String, from: Int, cut: Int): Int { + var count = 0 + var last = -1 + for (i in from until buf.length) { + if (buf[i] == '*') { + count++ + last = i + } + } + if (count % 2 == 0 || last < 0) return cut + return if (couldStartRoleKeyword(buf.substring(last + 1))) min(cut, last) else cut +} + +private fun couldStartRoleKeyword(after: String): Boolean { + if (after.isEmpty()) return true + return ROLE_KEYWORDS.any { it.startsWith(after) || after.startsWith(it) } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/ui/common/LoadingScreen.kt b/app/src/main/kotlin/top/yeij/cyrene/ui/common/LoadingScreen.kt new file mode 100644 index 0000000..6e1c03e --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/ui/common/LoadingScreen.kt @@ -0,0 +1,25 @@ +package top.yeij.cyrene.ui.common + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import top.yukonga.miuix.kmp.basic.Scaffold +import top.yukonga.miuix.kmp.basic.Text +import top.yukonga.miuix.kmp.theme.MiuixTheme + +@Composable +fun LoadingScreen() { + Scaffold { padding -> + Box( + modifier = Modifier + .fillMaxSize() + .padding(padding), + contentAlignment = Alignment.Center, + ) { + Text("加载中…", style = MiuixTheme.textStyles.main) + } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/ui/home/HomeScreen.kt b/app/src/main/kotlin/top/yeij/cyrene/ui/home/HomeScreen.kt new file mode 100644 index 0000000..ccacd33 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/ui/home/HomeScreen.kt @@ -0,0 +1,52 @@ +package top.yeij.cyrene.ui.home + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import top.yukonga.miuix.kmp.basic.Icon +import top.yukonga.miuix.kmp.basic.IconButton +import top.yukonga.miuix.kmp.basic.Scaffold +import top.yukonga.miuix.kmp.basic.SmallTopAppBar +import top.yukonga.miuix.kmp.basic.Text +import top.yukonga.miuix.kmp.basic.TextButton +import top.yukonga.miuix.kmp.icon.MiuixIcons +import top.yukonga.miuix.kmp.icon.basic.Sidebar +import top.yukonga.miuix.kmp.theme.MiuixTheme + +@Composable +fun HomeScreen(onLogout: () -> Unit = {}) { + Scaffold( + topBar = { + SmallTopAppBar( + title = "Cyrene", + navigationIcon = { + IconButton(onClick = { /* M5:打开侧边栏 */ }) { + Icon(imageVector = MiuixIcons.Basic.Sidebar, contentDescription = "菜单") + } + }, + actions = { + TextButton("登出", onClick = onLogout) + }, + ) + }, + ) { padding -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(padding), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Text(text = "与昔涟", style = MiuixTheme.textStyles.title2) + Text( + text = "会话列表 · 规划中", + style = MiuixTheme.textStyles.footnote1, + color = MiuixTheme.colorScheme.onSurfaceContainerVariant, + ) + } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginScreen.kt b/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginScreen.kt new file mode 100644 index 0000000..1337cbe --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginScreen.kt @@ -0,0 +1,143 @@ +package top.yeij.cyrene.ui.login + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.foundation.verticalScroll +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.input.PasswordVisualTransformation +import androidx.compose.ui.text.input.VisualTransformation +import androidx.compose.ui.unit.dp +import androidx.lifecycle.viewmodel.compose.viewModel +import androidx.lifecycle.viewmodel.initializer +import androidx.lifecycle.viewmodel.viewModelFactory +import top.yeij.cyrene.app.AppContainer +import top.yukonga.miuix.kmp.basic.Button +import top.yukonga.miuix.kmp.basic.IconButton +import top.yukonga.miuix.kmp.basic.Scaffold +import top.yukonga.miuix.kmp.basic.Text +import top.yukonga.miuix.kmp.basic.TextField +import top.yukonga.miuix.kmp.theme.MiuixTheme + +@Composable +fun LoginScreen(container: AppContainer) { + val viewModel: LoginViewModel = viewModel( + factory = viewModelFactory { + initializer { LoginViewModel(container.authManager, container.sessionStore) } + }, + ) + val state by viewModel.state.collectAsState() + + Scaffold { padding -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(padding) + .verticalScroll(rememberScrollState()) + .padding(horizontal = 24.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(72.dp)) + Text("Cyrene", style = MiuixTheme.textStyles.title1) + Spacer(Modifier.height(4.dp)) + Text( + text = "登录后与昔涟聊天", + style = MiuixTheme.textStyles.footnote1, + color = MiuixTheme.colorScheme.onSurfaceVariantSummary, + ) + Spacer(Modifier.height(32.dp)) + + Text( + text = if (state.serverExpanded) "服务器地址(点击收起)" else "服务器地址(点击展开)", + style = MiuixTheme.textStyles.subtitle, + modifier = Modifier + .fillMaxWidth() + .clickable { viewModel.toggleServerExpanded() } + .padding(vertical = 8.dp), + ) + if (state.serverExpanded) { + TextField( + value = state.baseUrl, + onValueChange = viewModel::onBaseUrlChange, + label = "http://192.168.1.10:8080", + singleLine = true, + keyboardOptions = KeyboardOptions( + keyboardType = KeyboardType.Uri, + imeAction = ImeAction.Next, + ), + modifier = Modifier.fillMaxWidth(), + ) + Spacer(Modifier.height(12.dp)) + } + + TextField( + value = state.username, + onValueChange = viewModel::onUsernameChange, + label = "用户名", + singleLine = true, + keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next), + modifier = Modifier.fillMaxWidth(), + ) + Spacer(Modifier.height(12.dp)) + + TextField( + value = state.password, + onValueChange = viewModel::onPasswordChange, + label = "密码", + singleLine = true, + visualTransformation = if (state.passwordVisible) { + VisualTransformation.None + } else { + PasswordVisualTransformation() + }, + keyboardOptions = KeyboardOptions( + keyboardType = KeyboardType.Password, + imeAction = ImeAction.Done, + ), + keyboardActions = KeyboardActions(onDone = { viewModel.submit() }), + trailingIcon = { + IconButton(onClick = viewModel::togglePasswordVisible) { + Text( + text = if (state.passwordVisible) "隐藏" else "显示", + style = MiuixTheme.textStyles.footnote1, + ) + } + }, + modifier = Modifier.fillMaxWidth(), + ) + + if (state.error != null) { + Spacer(Modifier.height(12.dp)) + Text( + text = state.error.orEmpty(), + style = MiuixTheme.textStyles.footnote1, + color = MiuixTheme.colorScheme.error, + modifier = Modifier.fillMaxWidth(), + ) + } + + Spacer(Modifier.height(28.dp)) + Button( + onClick = viewModel::submit, + enabled = !state.loading, + modifier = Modifier.fillMaxWidth(), + ) { + Text(if (state.loading) "登录中…" else "登录") + } + Spacer(Modifier.height(32.dp)) + } + } +} diff --git a/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginViewModel.kt b/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginViewModel.kt new file mode 100644 index 0000000..3b817d3 --- /dev/null +++ b/app/src/main/kotlin/top/yeij/cyrene/ui/login/LoginViewModel.kt @@ -0,0 +1,73 @@ +package top.yeij.cyrene.ui.login + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import top.yeij.cyrene.core.auth.AuthManager +import top.yeij.cyrene.core.auth.SessionStore +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch + +data class LoginUiState( + val baseUrl: String = "", + val username: String = "", + val password: String = "", + val passwordVisible: Boolean = false, + val serverExpanded: Boolean = false, + val loading: Boolean = false, + val error: String? = null, +) + +class LoginViewModel( + private val authManager: AuthManager, + sessionStore: SessionStore, +) : ViewModel() { + + private val _state = MutableStateFlow(LoginUiState()) + val state: StateFlow = _state.asStateFlow() + + init { + val stored = sessionStore.load() + _state.update { + it.copy( + baseUrl = stored.baseUrl, + username = stored.username.orEmpty(), + serverExpanded = stored.baseUrl.isBlank(), + ) + } + } + + fun onBaseUrlChange(value: String) = _state.update { it.copy(baseUrl = value, error = null) } + + fun onUsernameChange(value: String) = _state.update { it.copy(username = value, error = null) } + + fun onPasswordChange(value: String) = _state.update { it.copy(password = value, error = null) } + + fun togglePasswordVisible() = _state.update { it.copy(passwordVisible = !it.passwordVisible) } + + fun toggleServerExpanded() = _state.update { it.copy(serverExpanded = !it.serverExpanded) } + + fun submit() { + val snapshot = _state.value + if (snapshot.loading) return + + val validationError = when { + snapshot.baseUrl.isBlank() -> "请填写服务器地址" + snapshot.username.isBlank() -> "请填写用户名" + snapshot.password.isBlank() -> "请填写密码" + else -> null + } + if (validationError != null) { + _state.update { it.copy(error = validationError, serverExpanded = true) } + return + } + + _state.update { it.copy(loading = true, error = null) } + viewModelScope.launch { + val error = authManager.login(snapshot.baseUrl, snapshot.username.trim(), snapshot.password) + _state.update { it.copy(loading = false, error = error?.userMessage) } + } + } +} diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..be43858 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..be43858 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d56d30d9b9d3ad14bf4d7c4a16748f23f5ed6061 GIT binary patch literal 13366 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�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 M07*qoM6N<$g16%(vj6}9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0322cdd637fa0fc22f723a02e63b2b734e063d GIT binary patch literal 23859 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�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 M07*qoM6N<$g16%(vj6}9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1e833341e07b016e258f10b2d2496536aa1589f5 GIT binary patch literal 6462 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 Ye-Ss4Z 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..24fd6bbfa4da10e344fa68c1d1dcd403c2e7be91 GIT binary patch literal 22247 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�^rlOwUpDY3@-iIoQr8(u$qWOMb5`gFRv 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 z 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�^rlOwUpDY3@-iIoQr8(u$qWOMb5`gFRv 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�@8!ttB5E_{r(t_0QB9f%B@*h%HVA1EX!g%D(u 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

wE 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 Hu0mjfqaWet literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..8dfcccaa878d0c88fb502b52c8297fc2b2fef3b1 GIT binary patch literal 129487 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ÏX7pA4em+f; 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