diff --git a/lib/data/models/appconfig_model.dart b/lib/data/models/appconfig_model.dart index 9ecb31714..54edc6f86 100644 --- a/lib/data/models/appconfig_model.dart +++ b/lib/data/models/appconfig_model.dart @@ -5,14 +5,49 @@ part 'appconfig_model.g.dart'; // 生成的文件名 @JsonSerializable() class UserGetAppConfigResp { final Map env; + final List agents; final Map mcps; - UserGetAppConfigResp({required this.env, required this.mcps}); + UserGetAppConfigResp( + {required this.env, required this.agents, required this.mcps}); factory UserGetAppConfigResp.fromJson(Map json) => _$UserGetAppConfigRespFromJson(json); Map toJson() => _$UserGetAppConfigRespToJson(this); } +@JsonSerializable() +class DBAgent { + final String id; + final String name; + final String avatarUrl; + final String description; + final String tag; + final bool isOnline; + final String voice; + final String? welcomeMessage; + final String? voiceWelcomeMessage; + final String? systemPrompt; + final List? tools; + + DBAgent({ + required this.id, + required this.name, + required this.avatarUrl, + required this.description, + required this.tag, + required this.isOnline, + required this.voice, + required this.welcomeMessage, + required this.voiceWelcomeMessage, + required this.systemPrompt, + required this.tools, + }); + + factory DBAgent.fromJson(Map json) => + _$DBAgentFromJson(json); + Map toJson() => _$DBAgentToJson(this); +} + @JsonSerializable() class DBMCPServer { final String servername; diff --git a/lib/data/models/appconfig_model.g.dart b/lib/data/models/appconfig_model.g.dart index 89da944bf..6b89333fa 100644 --- a/lib/data/models/appconfig_model.g.dart +++ b/lib/data/models/appconfig_model.g.dart @@ -10,6 +10,9 @@ UserGetAppConfigResp _$UserGetAppConfigRespFromJson( Map json) => UserGetAppConfigResp( env: Map.from(json['env'] as Map), + agents: (json['agents'] as List) + .map((e) => DBAgent.fromJson(e as Map)) + .toList(), mcps: (json['mcps'] as Map).map( (k, e) => MapEntry(k, DBMCPServer.fromJson(e as Map)), ), @@ -19,9 +22,39 @@ Map _$UserGetAppConfigRespToJson( UserGetAppConfigResp instance) => { 'env': instance.env, + 'agents': instance.agents, 'mcps': instance.mcps, }; +DBAgent _$DBAgentFromJson(Map json) => DBAgent( + id: json['id'] as String, + name: json['name'] as String, + avatarUrl: json['avatarUrl'] as String, + description: json['description'] as String, + tag: json['tag'] as String, + isOnline: json['isOnline'] as bool, + voice: json['voice'] as String, + welcomeMessage: json['welcomeMessage'] as String?, + voiceWelcomeMessage: json['voiceWelcomeMessage'] as String?, + systemPrompt: json['systemPrompt'] as String?, + tools: + (json['tools'] as List?)?.map((e) => e as String).toList(), + ); + +Map _$DBAgentToJson(DBAgent instance) => { + 'id': instance.id, + 'name': instance.name, + 'avatarUrl': instance.avatarUrl, + 'description': instance.description, + 'tag': instance.tag, + 'isOnline': instance.isOnline, + 'voice': instance.voice, + 'welcomeMessage': instance.welcomeMessage, + 'voiceWelcomeMessage': instance.voiceWelcomeMessage, + 'systemPrompt': instance.systemPrompt, + 'tools': instance.tools, + }; + DBMCPServer _$DBMCPServerFromJson(Map json) => DBMCPServer( servername: json['servername'] as String, url: json['url'] as String, diff --git a/lib/modules/login/controllers/login_controller.dart b/lib/modules/login/controllers/login_controller.dart index 780e94272..02ec0467a 100644 --- a/lib/modules/login/controllers/login_controller.dart +++ b/lib/modules/login/controllers/login_controller.dart @@ -740,6 +740,7 @@ class LoginController extends GetxController { final resp = UserGetAppConfigResp.fromJson(response); // 存储用户信息(示例) _storage.write('ENV', resp.env); + _storage.write('AGENTS', resp.agents); _storage.write('MCPS', resp.mcps); return true; } catch (e) { diff --git a/lib/modules/splash/controllers/splash_controller.dart b/lib/modules/splash/controllers/splash_controller.dart index cec9fbff7..2af4890ea 100644 --- a/lib/modules/splash/controllers/splash_controller.dart +++ b/lib/modules/splash/controllers/splash_controller.dart @@ -133,6 +133,7 @@ class SplashController extends GetxController { print('getAppConfig:进来了'); // 存储用户信息(示例) _storage.write('ENV', resp.env); + _storage.write('AGENTS', resp.agents); _storage.write('MCPS', resp.mcps); return true;