瀏覽代碼

实现修改密码的接口。

PC\19500 3 周之前
父節點
當前提交
70da641c18

+ 1 - 1
lib/app/router.dart

@@ -1,6 +1,6 @@
 import 'package:go_router/go_router.dart';
 import 'package:sino_med_cloud/features/main_tab_page.dart';
-import '../features/MinePage/data/change_password_page.dart';
+import '../features/MinePage/presentation/change_password_page.dart';
 import '../features/auth/presentation/login_page.dart';
 
 class AppRouter {

+ 46 - 0
lib/features/MinePage/domain/change_password_service.dart

@@ -0,0 +1,46 @@
+
+import 'package:path/path.dart' as path;
+import 'package:sino_med_cloud/core/utils/logger.dart';
+
+import '../../../base/common_response.dart';
+import '../../../core/constants/api_constants.dart';
+import '../../../core/network/dio_client.dart';
+
+class ChangePasswordService {
+  static Future<BaseCommonResponse>
+    changePassword({
+      required String mobile,
+      required String oldPassword,
+      required String newPassword,
+      String scope = 'yun-his-forget-password-sms-send',
+      required String smsCode
+  }) async {
+    try {
+      final parame = {
+        "mobile": mobile,
+        "password1": oldPassword,
+        "password2": newPassword,
+        "scope": scope,
+        "sms_code": smsCode
+      };
+      AppLogger.d('修改密码请求参数: $parame');
+      final response = await DioClient.post<Map<String, dynamic>>(
+          path.join(ApiConstants.baseUrl, ApiConstants.forgotPassword),
+          fromJsonT: (json) => json as Map<String, dynamic>,
+          data: parame
+      );
+
+      if (response.success && response.code == 20000) {
+        AppLogger.d('修改密码成功');
+        return response;
+      } else {
+        final errorMsg = response.msg ?? '修改密码失败';
+        AppLogger.d('修改密码失败: $errorMsg');
+        throw Exception(errorMsg);
+      }
+    } catch (e) {
+      AppLogger.e('修改密码错误', e);
+      rethrow;
+    }
+  }
+}

+ 3 - 16
lib/features/MinePage/domain/mine_service.dart

@@ -1,19 +1,15 @@
 import 'package:path/path.dart' as path;
+import '../../../base/common_response.dart';
 import '../../../core/constants/api_constants.dart';
 import '../../../core/network/dio_client.dart';
 import '../../../core/storage/local_storage.dart';
 import '../../../core/utils/logger.dart';
-import '../data/quit_model.dart';
 
 class MineService {
-  static Future<QuitModel> logout({
+  static Future<BaseCommonResponse> logout({
     required String loginSystem
   }) async {
     try {
-      // 在请求之前获取并打印 Token
-      final token = await LocalStorage.getToken();
-      AppLogger.d('退出登录 - 本地存储的 Token: $token');
-      
       final parame = {
         "login_system": loginSystem
       };
@@ -26,19 +22,11 @@ class MineService {
 
       if (response.success && response.code == 20000) {
         AppLogger.d('退出登录成功');
-        
         // 退出登录成功后,清除本地 Token 和用户信息
         await LocalStorage.removeToken();
         await LocalStorage.removeUserInfo();
         await LocalStorage.removeInstitutionInfo();
-        
-        // 创建 QuitModel
-        final quitModel = QuitModel(
-          code: response.code,
-          success: response.success,
-          msg: response.msg ?? '退出成功',
-        );
-        return quitModel;
+        return response;
       } else {
         final errorMsg = response.msg ?? '退出登录失败';
         AppLogger.d('退出登录失败: $errorMsg');
@@ -48,6 +36,5 @@ class MineService {
       AppLogger.e('退出登录错误', e);
       rethrow;
     }
-
   }
 }

+ 0 - 0
lib/features/MinePage/data/change_password_page.dart → lib/features/MinePage/presentation/change_password_page.dart