Ver código fonte

[fix]键盘插件,当用户的免费次数耗尽后,显示VIP页,并隐藏Ai生成页面板

hezihao 7 meses atrás
pai
commit
40cd09f368

+ 8 - 4
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/child/impl/AiKeyboardCommonPanelComponent.kt

@@ -423,10 +423,8 @@ class AiKeyboardCommonPanelComponent @JvmOverloads constructor(
             // 教你说和开场白,有多条数据,需要添加到列表中展示
             if (HelpMode.TEACH_YOU_SAY == helpMode) {
                 doChatSuperSpeak(item.payload)
-                controlAiChatPageShowing(true)
             } else if (HelpMode.OPEN_REMARKS == helpMode) {
                 doChatPrologue(item.payload)
-                controlAiChatPageShowing(true)
             }
         }
     }
@@ -458,9 +456,12 @@ class AiKeyboardCommonPanelComponent @JvmOverloads constructor(
      */
     private fun doChatSuperSpeak(characterId: String, finishCallback: (() -> Unit)? = null) {
         val viewModel = KeyboardHolder.getKeyboardService()?.getKeyboardViewModel()
-        viewModel?.chatSuperSpeak(characterId, onSuccess = {
+        viewModel?.chatSuperSpeak(characterId, onStart = {
+            controlAiChatPageShowing(true)
+        }, onSuccess = {
             finishCallback?.invoke()
         }, onFail = {
+            controlAiChatPageShowing(false)
         })
     }
 
@@ -469,9 +470,12 @@ class AiKeyboardCommonPanelComponent @JvmOverloads constructor(
      */
     private fun doChatPrologue(name: String, finishCallback: (() -> Unit)? = null) {
         val viewModel = KeyboardHolder.getKeyboardService()?.getKeyboardViewModel()
-        viewModel?.chatPrologue(name, onSuccess = {
+        viewModel?.chatPrologue(name, onStart = {
+            controlAiChatPageShowing(true)
+        }, onSuccess = {
             finishCallback?.invoke()
         }, onFail = {
+            controlAiChatPageShowing(false)
         })
     }
 }

+ 8 - 4
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/child/impl/AiKeyboardProloguePanelComponent.kt

@@ -406,10 +406,8 @@ class AiKeyboardProloguePanelComponent @JvmOverloads constructor(
             // 教你说和开场白,有多条数据,需要添加到列表中展示
             if (HelpMode.TEACH_YOU_SAY == helpMode) {
                 doChatSuperSpeak(item.payload)
-                controlAiChatPageShowing(true)
             } else if (HelpMode.OPEN_REMARKS == helpMode) {
                 doChatPrologue(item.payload)
-                controlAiChatPageShowing(true)
             }
         }
     }
@@ -431,8 +429,11 @@ class AiKeyboardProloguePanelComponent @JvmOverloads constructor(
      */
     private fun doChatSuperSpeak(characterId: String) {
         val viewModel = KeyboardHolder.getKeyboardService()?.getKeyboardViewModel()
-        viewModel?.chatSuperSpeak(characterId, onSuccess = {
+        viewModel?.chatSuperSpeak(characterId, onStart = {
+            controlAiChatPageShowing(true)
+        }, onSuccess = {
         }, onFail = {
+            controlAiChatPageShowing(false)
         })
     }
 
@@ -441,8 +442,11 @@ class AiKeyboardProloguePanelComponent @JvmOverloads constructor(
      */
     private fun doChatPrologue(name: String) {
         val viewModel = KeyboardHolder.getKeyboardService()?.getKeyboardViewModel()
-        viewModel?.chatPrologue(name, onSuccess = {
+        viewModel?.chatPrologue(name, onStart = {
+            controlAiChatPageShowing(true)
+        }, onSuccess = {
         }, onFail = {
+            controlAiChatPageShowing(false)
         })
     }
 }

+ 4 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/mvvm/viewmodel/KeyboardViewModel.kt

@@ -348,9 +348,11 @@ class KeyboardViewModel : ViewModel() {
      */
     fun chatSuperSpeak(
         characterId: String,
+        onStart: () -> Unit,
         onSuccess: () -> Unit,
         onFail: (String) -> Unit
     ) {
+        onStart.invoke()
         _superSpeakChatListResult.value = listOf<String>()
         val req = SuperSpeakReq(
             // 键盘Id
@@ -375,9 +377,11 @@ class KeyboardViewModel : ViewModel() {
      */
     fun chatPrologue(
         name: String,
+        onStart: () -> Unit,
         onSuccess: () -> Unit,
         onFail: (String) -> Unit
     ) {
+        onStart.invoke()
         _prologueChatListResult.value = listOf<String>()
         mKeyboardRepository.chatPrologue(name, onSuccess = {
             // 有多条数据,需要跳转列表页面中显示