Преглед на файлове

[fix]优化示例点击修改相关操作时提示登录&示例音频可播放

zk преди 1 година
родител
ревизия
3c6e7f2ce5
променени са 4 файла, в които са добавени 24 реда и са изтрити 4 реда
  1. 1 0
      assets/string/base/string.xml
  2. 11 2
      lib/data/repositories/agenda_repository.dart
  3. 4 0
      lib/module/home/view.dart
  4. 8 2
      lib/module/talk/controller.dart

+ 1 - 0
assets/string/base/string.xml

@@ -75,4 +75,5 @@
     <string name="account_profession_suggest">请输入行业</string>
     <string name="account_post_suggest">请输入岗位</string>
     <string name="talk_uploading_tips">小听正在上传谈话,请稍等~</string>
+    <string name="no_login">未登录</string>
 </resources>

+ 11 - 2
lib/data/repositories/agenda_repository.dart

@@ -1,5 +1,8 @@
+import 'package:electronic_assistant/base/base_controller.dart';
 import 'package:electronic_assistant/data/api/request/talk_request.dart';
 import 'package:electronic_assistant/data/bean/agenda.dart';
+import 'package:electronic_assistant/resource/string.gen.dart';
+import 'package:get/get.dart';
 import 'package:get/get_rx/src/rx_types/rx_types.dart';
 
 import '../../utils/http_handler.dart';
@@ -61,7 +64,10 @@ class AgendaRepository {
         .then(HttpHandler.handle(true));
   }
 
-  Future<void> agendaFinish(String? id, bool complete) {
+  Future<void> agendaFinish(String? id, bool complete) async {
+    if (!accountRepository.isLogin.value) {
+      throw ServerErrorException(-1, StringName.noLogin.tr);
+    }
     return atmobApi
         .agendaFinish(AgendaStatusRequest(id, complete))
         .then(HttpHandler.handle(true));
@@ -81,7 +87,10 @@ class AgendaRepository {
         .then(HttpHandler.handle(true));
   }
 
-  Future<void> agendaTodo(String id, bool isTodo) {
+  Future<void> agendaTodo(String id, bool isTodo) async {
+    if (!accountRepository.isLogin.value) {
+      throw ServerErrorException(-1, StringName.noLogin.tr);
+    }
     return atmobApi
         .agendaTodo(AgendaTodoRequest(id, isTodo))
         .then(HttpHandler.handle(true));

+ 4 - 0
lib/module/home/view.dart

@@ -1,5 +1,6 @@
 import 'package:electronic_assistant/base/base_page.dart';
 import 'package:electronic_assistant/data/bean/talks.dart';
+import 'package:electronic_assistant/data/repositories/account_repository.dart';
 import 'package:electronic_assistant/dialog/rename_dialog.dart';
 import 'package:electronic_assistant/dialog/talk_delete_dialog.dart';
 import 'package:electronic_assistant/module/chat/view.dart';
@@ -255,6 +256,9 @@ class HomePage extends BasePage<HomePageController> {
     return Obx(() {
       TalkBean? item = controller.talkList[index];
       return _buildTalkView(item, onLongPressStart: (details) {
+        if (!accountRepository.isLogin.value) {
+          return;
+        }
         showTalkPopup(details.globalPosition, Alignment.bottomRight,
             onRename: () {
           showRenameTalkDialog(item);

+ 8 - 2
lib/module/talk/controller.dart

@@ -126,8 +126,14 @@ class TalkController extends BaseController {
       isUploading.value = false;
     }
     try {
-      File file = await RecordController.getRecordFile(id);
-      await _audioPlayer.setAudioSource(AudioSource.uri(file.uri));
+      Uri uri;
+      if (bean?.isExample == true && bean?.audioUrl != null) {
+        uri = Uri.parse(bean!.audioUrl!);
+      } else {
+        File file = await RecordController.getRecordFile(id);
+        uri = file.uri;
+      }
+      await _audioPlayer.setAudioSource(AudioSource.uri(uri));
       audioFileIsExist = true;
     } catch (e) {
       audioFileIsExist = false;