starwork_flutter/lib/views/team/roleManage/role_manage_controller.dart

43 lines
1.5 KiB
Dart

import 'dart:convert';
import 'package:get/get.dart';
import 'package:starwork_flutter/api/model/team/request/role_list_request.dart';
import 'package:starwork_flutter/api/model/team/response/role_list_response.dart';
import 'package:starwork_flutter/api/model/user/response/user_info_response.dart';
import 'package:starwork_flutter/api/service/team_api_service.dart';
import 'package:starwork_flutter/base/app_logger.dart';
import 'package:starwork_flutter/base/base_controller.dart';
import 'package:starwork_flutter/common/constant/cache_keys.dart';
import 'package:starwork_flutter/common/utils/shared_preferences_utils.dart';
class RoleManageController extends BaseController {
final teamApi = Get.find<TeamApiService>();
var roleList = <RoleListResponse>[].obs;
var cacheUserInfo = UserInfoResponse().obs; // 缓存的登录用户信息
@override
void onReady() async {
super.onReady();
requestRoleList();
String? cachedJson = await SharedPreferencesUtils.getString(CacheKeys.userAccountInfo);
if (cachedJson != null) {
try {
Map<String, dynamic> jsonMap = jsonDecode(cachedJson);
UserInfoResponse userInfoResponse = UserInfoResponse.fromJson(jsonMap);
cacheUserInfo.value = userInfoResponse;
cacheUserInfo.refresh();
} catch (e) {
AppLogger.error('JSON 解析错误: $e');
}
}
}
void requestRoleList() async {
var response = await teamApi.requestTeamRoleList();
if (response.isSuccess) {
roleList.value = response.data ?? [];
roleList.refresh();
}
}
}