From 7e192d25c88ed5a7becba2de020837b340ae1285 Mon Sep 17 00:00:00 2001 From: renjianbo <263303411@qq.com> Date: Wed, 1 Jul 2026 23:14:13 +0800 Subject: [PATCH] feat: add customer service agent entry in Settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "天工客服" agent (ID: 3490efa8) created on backend, status: published - Settings > Account section now has "联系客服" button - Tap navigates to chat with the CS agent directly Co-Authored-By: Claude Opus 4.6 --- .../tiangong/aiagent/ui/navigation/NavGraph.kt | 17 ++++++++++++++++- .../aiagent/ui/settings/SettingsScreen.kt | 13 +++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/tiangong/aiagent/ui/navigation/NavGraph.kt b/android/app/src/main/java/com/tiangong/aiagent/ui/navigation/NavGraph.kt index f8e0ce4..2c11833 100644 --- a/android/app/src/main/java/com/tiangong/aiagent/ui/navigation/NavGraph.kt +++ b/android/app/src/main/java/com/tiangong/aiagent/ui/navigation/NavGraph.kt @@ -24,6 +24,9 @@ import com.tiangong.aiagent.ui.settings.AboutScreen import com.tiangong.aiagent.ui.settings.AccountSecurityScreen import com.tiangong.aiagent.ui.settings.SettingsScreen +private const val CS_AGENT_ID = "3490efa8-330d-458d-a26e-0b6c1d72e6f4" +private const val CS_AGENT_NAME = "天工客服" + object Routes { const val LOGIN = "login" const val REGISTER = "register" @@ -132,6 +135,9 @@ fun NavGraph( } composable(Routes.SETTINGS) { + val chatViewModel: ChatViewModel = hiltViewModel( + navController.getBackStackEntry(Routes.CHAT) + ) SettingsScreen( onBack = { navController.popBackStack() }, onLogout = { @@ -140,7 +146,16 @@ fun NavGraph( } }, onNavigateToAbout = { navController.navigate(Routes.ABOUT) }, - onNavigateToAccountSecurity = { navController.navigate(Routes.ACCOUNT_SECURITY) } + onNavigateToAccountSecurity = { navController.navigate(Routes.ACCOUNT_SECURITY) }, + onContactSupport = { + val csAgent = Agent( + id = CS_AGENT_ID, + name = CS_AGENT_NAME, + description = "天工智能体平台官方客服" + ) + chatViewModel.switchAgent(csAgent) + navController.popBackStack() + } ) } diff --git a/android/app/src/main/java/com/tiangong/aiagent/ui/settings/SettingsScreen.kt b/android/app/src/main/java/com/tiangong/aiagent/ui/settings/SettingsScreen.kt index cee6286..add4489 100644 --- a/android/app/src/main/java/com/tiangong/aiagent/ui/settings/SettingsScreen.kt +++ b/android/app/src/main/java/com/tiangong/aiagent/ui/settings/SettingsScreen.kt @@ -171,6 +171,7 @@ fun SettingsScreen( onLogout: () -> Unit, onNavigateToAbout: (() -> Unit)? = null, onNavigateToAccountSecurity: (() -> Unit)? = null, + onContactSupport: (() -> Unit)? = null, viewModel: SettingsViewModel = hiltViewModel() ) { var showLogoutDialog by remember { mutableStateOf(false) } @@ -227,6 +228,18 @@ fun SettingsScreen( ) } + if (onContactSupport != null) { + HorizontalDivider(modifier = Modifier.padding(horizontal = 16.dp)) + ListItem( + headlineContent = { Text("联系客服") }, + supportingContent = { Text("有问题?随时联系我们") }, + leadingContent = { + Icon(Icons.Default.Help, contentDescription = null) + }, + modifier = Modifier.clickable { onContactSupport() } + ) + } + HorizontalDivider(modifier = Modifier.padding(horizontal = 16.dp)) // Preferences section