修复文件将所有 PromptRule 引用改为 AgentRule,并更新相关字段访问

This commit is contained in:
2025-11-06 20:49:10 +08:00
parent 2a9d6a2f6b
commit 6fffa0447e
2 changed files with 17 additions and 16 deletions

View File

@@ -9,9 +9,10 @@ import androidx.lifecycle.viewModelScope
import com.aiosman.ravenow.AppStore import com.aiosman.ravenow.AppStore
import com.aiosman.ravenow.ChatState import com.aiosman.ravenow.ChatState
import com.aiosman.ravenow.data.api.ApiClient import com.aiosman.ravenow.data.api.ApiClient
import com.aiosman.ravenow.data.api.CreatePromptRuleRequestBody import com.aiosman.ravenow.data.api.AgentRule
import com.aiosman.ravenow.data.api.PromptRule import com.aiosman.ravenow.data.api.AgentRuleQuota
import com.aiosman.ravenow.data.api.PromptRuleQuota import com.aiosman.ravenow.data.api.CreateAgentRuleRequestBody
import com.aiosman.ravenow.data.api.UpdateAgentRuleRequestBody
import com.aiosman.ravenow.data.parseErrorResponse import com.aiosman.ravenow.data.parseErrorResponse
import com.aiosman.ravenow.entity.ChatNotification import com.aiosman.ravenow.entity.ChatNotification
import com.aiosman.ravenow.entity.GroupInfo import com.aiosman.ravenow.entity.GroupInfo
@@ -33,8 +34,8 @@ class GroupChatInfoViewModel(
val notificationStrategy get() = chatNotification?.strategy ?: "default" val notificationStrategy get() = chatNotification?.strategy ?: "default"
// 记忆管理相关状态 // 记忆管理相关状态
var memoryQuota by mutableStateOf<PromptRuleQuota?>(null) var memoryQuota by mutableStateOf<AgentRuleQuota?>(null)
var memoryList by mutableStateOf<List<PromptRule>>(emptyList()) var memoryList by mutableStateOf<List<AgentRule>>(emptyList())
var isLoadingMemory by mutableStateOf(false) var isLoadingMemory by mutableStateOf(false)
var memoryError by mutableStateOf<String?>(null) var memoryError by mutableStateOf<String?>(null)
var promptOpenId by mutableStateOf<String?>(null) var promptOpenId by mutableStateOf<String?>(null)
@@ -137,12 +138,12 @@ class GroupChatInfoViewModel(
} }
// 创建智能体规则(群记忆) // 创建智能体规则(群记忆)
val requestBody = CreatePromptRuleRequestBody( val requestBody = CreateAgentRuleRequestBody(
rule = memoryText, rule = memoryText,
openId = openId openId = openId
) )
val response = ApiClient.api.createPromptRule(requestBody) val response = ApiClient.api.createAgentRule(requestBody)
if (response.isSuccessful) { if (response.isSuccessful) {
addMemorySuccess = true addMemorySuccess = true
@@ -184,14 +185,14 @@ class GroupChatInfoViewModel(
?: throw Exception("无法获取智能体信息") ?: throw Exception("无法获取智能体信息")
promptOpenId = fetchedOpenId promptOpenId = fetchedOpenId
val quotaResponse = ApiClient.api.getPromptRuleQuota(fetchedOpenId) val quotaResponse = ApiClient.api.getAgentRuleQuota(fetchedOpenId)
if (quotaResponse.isSuccessful) { if (quotaResponse.isSuccessful) {
memoryQuota = quotaResponse.body()?.data memoryQuota = quotaResponse.body()?.data
} else { } else {
throw Exception("获取配额信息失败: ${quotaResponse.code()}") throw Exception("获取配额信息失败: ${quotaResponse.code()}")
} }
} else { } else {
val quotaResponse = ApiClient.api.getPromptRuleQuota(targetOpenId) val quotaResponse = ApiClient.api.getAgentRuleQuota(targetOpenId)
if (quotaResponse.isSuccessful) { if (quotaResponse.isSuccessful) {
memoryQuota = quotaResponse.body()?.data memoryQuota = quotaResponse.body()?.data
} else { } else {
@@ -226,14 +227,14 @@ class GroupChatInfoViewModel(
?: throw Exception("无法获取智能体信息") ?: throw Exception("无法获取智能体信息")
promptOpenId = fetchedOpenId promptOpenId = fetchedOpenId
val listResponse = ApiClient.api.getPromptRuleList(fetchedOpenId, page = page, pageSize = pageSize) val listResponse = ApiClient.api.getAgentRuleList(fetchedOpenId, page = page, pageSize = pageSize)
if (listResponse.isSuccessful) { if (listResponse.isSuccessful) {
memoryList = listResponse.body()?.data?.list ?: emptyList() memoryList = listResponse.body()?.data?.list ?: emptyList()
} else { } else {
throw Exception("获取记忆列表失败: ${listResponse.code()}") throw Exception("获取记忆列表失败: ${listResponse.code()}")
} }
} else { } else {
val listResponse = ApiClient.api.getPromptRuleList(targetOpenId, page = page, pageSize = pageSize) val listResponse = ApiClient.api.getAgentRuleList(targetOpenId, page = page, pageSize = pageSize)
if (listResponse.isSuccessful) { if (listResponse.isSuccessful) {
memoryList = listResponse.body()?.data?.list ?: emptyList() memoryList = listResponse.body()?.data?.list ?: emptyList()
} else { } else {
@@ -258,7 +259,7 @@ class GroupChatInfoViewModel(
isLoadingMemory = true isLoadingMemory = true
memoryError = null memoryError = null
val response = ApiClient.api.deletePromptRule(ruleId) val response = ApiClient.api.deleteAgentRule(ruleId)
if (response.isSuccessful) { if (response.isSuccessful) {
// 刷新记忆列表和配额 // 刷新记忆列表和配额
promptOpenId?.let { openId -> promptOpenId?.let { openId ->
@@ -292,13 +293,13 @@ class GroupChatInfoViewModel(
val openId = targetOpenId ?: promptOpenId val openId = targetOpenId ?: promptOpenId
?: throw Exception("无法获取智能体ID") ?: throw Exception("无法获取智能体ID")
val requestBody = com.aiosman.ravenow.data.api.UpdatePromptRuleRequestBody( val requestBody = UpdateAgentRuleRequestBody(
id = ruleId, id = ruleId,
rule = newRuleText, rule = newRuleText,
openId = openId openId = openId
) )
val response = ApiClient.api.updatePromptRule(requestBody) val response = ApiClient.api.updateAgentRule(requestBody)
if (response.isSuccessful) { if (response.isSuccessful) {
// 刷新记忆列表和配额 // 刷新记忆列表和配额
loadMemoryQuota(openId) loadMemoryQuota(openId)

View File

@@ -257,7 +257,7 @@ fun GroupMemoryManageContent(
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun EditGroupMemoryDialog( fun EditGroupMemoryDialog(
memory: com.aiosman.ravenow.data.api.PromptRule, memory: com.aiosman.ravenow.data.api.AgentRule,
viewModel: GroupChatInfoViewModel, viewModel: GroupChatInfoViewModel,
onDismiss: () -> Unit, onDismiss: () -> Unit,
onUpdateMemory: (String) -> Unit onUpdateMemory: (String) -> Unit
@@ -403,7 +403,7 @@ fun EditGroupMemoryDialog(
*/ */
@Composable @Composable
fun MemoryItem( fun MemoryItem(
memory: com.aiosman.ravenow.data.api.PromptRule, memory: com.aiosman.ravenow.data.api.AgentRule,
isEditing: Boolean = false, isEditing: Boolean = false,
onEdit: () -> Unit = {}, onEdit: () -> Unit = {},
onCancel: () -> Unit = {}, onCancel: () -> Unit = {},