125 lines
3.7 KiB
Dart
125 lines
3.7 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:get/get.dart';
|
|
import 'package:star_lock/network/api_provider.dart';
|
|
import 'package:star_lock/network/api_provider_base.dart';
|
|
import 'package:star_lock/talk/starChart/entity/relay_info_entity.dart';
|
|
import 'package:star_lock/talk/starChart/entity/report_information_data.dart';
|
|
import 'package:star_lock/talk/starChart/entity/star_chart_register_node_entity.dart';
|
|
import 'package:star_lock/tools/storage.dart';
|
|
|
|
class StartChartApi extends BaseProvider {
|
|
// 星图url
|
|
String _startChartHost = '';
|
|
|
|
static StartChartApi get to => Get.put(StartChartApi());
|
|
|
|
// 设置星图host
|
|
set startChartHost(String value) {
|
|
_startChartHost = value;
|
|
}
|
|
|
|
// 获取星图host
|
|
String get startChartHost => _startChartHost;
|
|
|
|
// 星图--注册节点
|
|
Future<StarChartRegisterNodeEntity> starChartRegisterNode({
|
|
required String product,
|
|
required String model,
|
|
required String name,
|
|
required String unique,
|
|
}) async {
|
|
final loginData = await Storage.getLoginData();
|
|
|
|
// 获取星图url
|
|
if (loginData != null &&
|
|
loginData?.starchart != null &&
|
|
loginData?.starchart?.scdUrl != null &&
|
|
loginData?.starchart?.scdUrl != '') {
|
|
StartChartApi.to.startChartHost =
|
|
loginData!.starchart!.scdUrl ?? StartChartApi.to.startChartHost;
|
|
}
|
|
|
|
final response = await post(
|
|
_startChartHost + starChartRegisterNodeURL.toUrl,
|
|
jsonEncode(<String, dynamic>{
|
|
'product': product,
|
|
'model': model,
|
|
'name': name,
|
|
'unique': unique,
|
|
}),
|
|
isUnShowLoading: true,
|
|
isUserBaseUrl: false,
|
|
);
|
|
return StarChartRegisterNodeEntity.fromJson(response.body);
|
|
}
|
|
|
|
// 星图--中继查询
|
|
Future<RelayInfoEntity> relayQueryInfo() async {
|
|
final loginData = await Storage.getLoginData();
|
|
|
|
// 获取星图url
|
|
if (loginData != null &&
|
|
loginData?.starchart != null &&
|
|
loginData?.starchart?.scdUrl != null &&
|
|
loginData?.starchart?.scdUrl != '') {
|
|
StartChartApi.to.startChartHost =
|
|
loginData!.starchart!.scdUrl ?? StartChartApi.to.startChartHost;
|
|
}
|
|
|
|
final response = await get(
|
|
_startChartHost + relayQueryInfoURL.toUrl,
|
|
isUnShowLoading: true,
|
|
isUserBaseUrl: false,
|
|
);
|
|
return RelayInfoEntity.fromJson(response.body);
|
|
}
|
|
|
|
// 星图--上报信息至发现服务
|
|
Future<Response> reportInformation({
|
|
required ReportInformationData reportInformationData,
|
|
}) async {
|
|
final loginData = await Storage.getLoginData();
|
|
|
|
// 获取星图url
|
|
if (loginData != null &&
|
|
loginData?.starchart != null &&
|
|
loginData?.starchart?.scdUrl != null &&
|
|
loginData?.starchart?.scdUrl != '') {
|
|
StartChartApi.to.startChartHost =
|
|
loginData!.starchart!.scdUrl ?? StartChartApi.to.startChartHost;
|
|
}
|
|
|
|
final response = await post(
|
|
_startChartHost + reportInformationDataURL.toUrl,
|
|
jsonEncode(reportInformationData.toJson()),
|
|
isUnShowLoading: true,
|
|
isUserBaseUrl: false,
|
|
);
|
|
return response;
|
|
}
|
|
|
|
// 星图--解析对端信息
|
|
Future<Response> analyzeInformationOtherEnd({
|
|
required String peerId,
|
|
}) async {
|
|
final loginData = await Storage.getLoginData();
|
|
|
|
// 获取星图url
|
|
if (loginData != null &&
|
|
loginData?.starchart != null &&
|
|
loginData?.starchart?.scdUrl != null &&
|
|
loginData?.starchart?.scdUrl != '') {
|
|
StartChartApi.to.startChartHost =
|
|
loginData!.starchart!.scdUrl ?? StartChartApi.to.startChartHost;
|
|
}
|
|
|
|
final response = await get(
|
|
_startChartHost + analyzeInformationOtherEndURL.toUrl + '?id=$peerId',
|
|
isUnShowLoading: true,
|
|
isUserBaseUrl: false,
|
|
);
|
|
return response;
|
|
}
|
|
}
|