45 lines
1.1 KiB
Dart
45 lines
1.1 KiB
Dart
abstract class Discovery {
|
|
static late Discovery _discovery;
|
|
|
|
static Discovery getInstance() {
|
|
return _discovery;
|
|
}
|
|
|
|
static void setInstance(Discovery discovery) {
|
|
_discovery = discovery;
|
|
}
|
|
|
|
// 注册实例到 Nacos
|
|
Future<bool> registerInstance(String serviceName, String ip, int port,
|
|
{String groupName = 'DEFAULT_GROUP'});
|
|
|
|
// 注销实例
|
|
Future<bool> deRegisterInstance(String serviceName, String ip, int port,
|
|
{String groupName = 'DEFAULT_GROUP'});
|
|
|
|
// 获取服务实例列表
|
|
Future<List<Map<String, dynamic>>> getInstanceList(String serviceName,
|
|
{String groupName = 'DEFAULT_GROUP'});
|
|
|
|
// 获取配置
|
|
Future<String> getConfig(String dataId, {String group = 'DEFAULT_GROUP'});
|
|
|
|
//获取配置历史记录
|
|
|
|
// 发布配置
|
|
Future<bool> publishConfig(String dataId, String group, String content);
|
|
|
|
// 删除配置
|
|
Future<bool> deleteConfig(String dataId, String group);
|
|
}
|
|
|
|
class DiscoveryConfig {
|
|
String host;
|
|
String namespaceId;
|
|
String groupName;
|
|
DiscoveryConfig(
|
|
{required this.host,
|
|
required this.namespaceId,
|
|
this.groupName = "DEFAULT_GROUP"});
|
|
}
|