{IDO协议库缓存接口说明}
1.功能概述
提供查询log、alexa、设备缓存根目录,导出日志,加载设备功能表和连接过的设备列表信息的能力。
2.接口能力
1.获取log根路径:
1.1 功能概括:
无。
1.2 API ID:
Future<String> logPath() async {
final pathSDK = await LocalStorage.pathSDKStatic();
return Future.value('$pathSDK/logs');
}
1.3 API参数说明:
@return:log根路径,字符串。
2.获取alexa根路径:
2.1 功能概括:
无。
2.2 API ID:
Future<String> alexaPath() async {
final pathSDK = await LocalStorage.pathSDKStatic();
return Future.value('$pathSDK/alexa');
}
2.3 API参数说明:
@return:alexa根路径,字符串。
3.获取alexa测试路径:
3.1 功能概括:
无。
3.2 API ID:
Future<String> alexaTestPath() async {
final dirDocument = await getApplicationDocumentsDirectory();
return Future.value('${dirDocument.path}/alexa_test_pkg');
}
3.3 API参数说明:
@return:alexa测试路径,字符串。
4.获取当前设备缓存根路径:
4.1 功能概括:
无。
4.2 API ID:
Future<String?> currentDevicePath() async {
return storage?.pathRoot();
}
4.3 API参数说明:
@return:当前设备缓存根路径,字符串。
5.导出日志:
5.1 功能概括:
无。
5.2 API ID:
Future<String?> exportLog() async {
final pathSDK = await LocalStorage.pathSDKStatic();
return await compute(_doZip, pathSDK);
}
5.3 API参数说明:
@return: 压缩后日志zip文件绝对路径,字符串。
6.加载指定设备功能表:
6.1 功能概括:
无。
6.2 API ID:
Future<FunctionTableModel?> loadFuncTable(
{required String macAddress}) async {
final macAddr = macAddress.replaceAll(':', '').toUpperCase();
return storage?.loadFunctionTableWith(macAddress: macAddr);
}
6.3 API参数说明:
@param:macAddress 设备MAC地址,字符串。
@return: 成功返回json格式字符串,失败返回null。
7.加载指定设备功能表:////TODO
7.1 功能概括:
无。
7.2 API ID:
Future<FunctionTableModel?> loadFuncTable(
{required String macAddress}) async {
final macAddr = macAddress.replaceAll(':', '').toUpperCase();
return storage?.loadFunctionTableWith(macAddress: macAddr);
}
7.3 API参数说明:
@param:macAddress 设备MAC地址,字符串。
@return: 成功返回json格式字符串,失败返回null。////TODO
8.加载指定设备功能表:////TODO
8.1 功能概括:
无。
8.2 API ID:
Future<BaseFunctionTable?> loadFuncTableByDisk(
{required String macAddress}) async {
final macAddr = macAddress.replaceAll(':', '').toUpperCase();
final ft = await storage?.loadFunctionTableWith(macAddress: macAddr);
logger?.d('loadFuncTableByDisk rs:$ft');
if (ft == null) return null;
return BaseFunctionTable()..initFunTableModel(ft);
}
8.3 API参数说明:
@param:macAddress 设备MAC地址,字符串。
@return: 。
9.加载指定设备功能表:////TODO
9.1 功能概括:
无。
9.2 API ID:
Future<String?> loadFuncTableJsonByDisk(
{required String macAddress}) async {
final macAddr = macAddress.replaceAll(':', '').toUpperCase();
final ft = await storage?.loadFunctionTableWith(macAddress: macAddr);
logger?.d('loadFuncTableByDisk rs:$ft');
if (ft == null) return null;
return jsonEncode(ft.toJson());
}
9.3 API参数说明:
@param:macAddress 设备MAC地址,字符串。
@return: 。
10.加载指定设备绑定状态:////TODO
10.1 功能概括:
无。
10.2 API ID:
Future<bool> loadBindStatus({required String macAddress}) async {
final macAddr = macAddress.replaceAll(':', '').toUpperCase();
final rs = await storage?.loadBindStatus(macAddress: macAddr);
return Future(() => rs ?? false);
}
10.3 API参数说明:
@param:macAddress 设备MAC地址,字符串。
@return: 输入MAC地址对应的绑定状态,bool类型,true:绑定,false:非绑定。
11.查询最后一次连接设备的信息:////TODO
11.1 功能概括:
提供查询最后一次连接的设备的设备信息,包括ota模式,设备名称,uuid(IOS),bt/mac地址,最后更新时间。
11.2 API ID:
Future<DeviceInfoExtModel?> lastConnectDevice() async {
final list = await storage?.loadDeviceExtListByDisk();
return Future(() => list?.first);
}
11.3 API参数说明:
@return: 最后一次连接设备的设备信息,包括:////TODO
final String macAddress; //mac地址
String? macAddressFull; //?
bool otaMode = false; //ota模式?
String uuid; //uuid(IOS)
String deviceName; //设备名称
int updateTime; //最后更新时间 单位毫秒
String? macAddressBt; //bt地址
String formatTime(int millisecondsSince) {
return DateTime.fromMicrosecondsSinceEpoch(millisecondsSince).toString();
}
12.查询连接过的设备列表:////TODO
12.1 功能概括:
提供查询连接过的设备列表的能力,包括设备的ota模式,设备名称,uuid(IOS),bt/mac地址,最后更新时间。
12.2 API ID:
Future<List<DeviceInfoExtModel>?> loadDeviceExtListByDisk(
{bool sortDesc = true}) async {
return storage?.loadDeviceExtListByDisk(sortDesc: sortDesc);
}
12.3 API参数说明:
@return: 连接过的设备列表的设备信息,列表中的每个设备信息包括:////TODO
final String macAddress; //mac地址
String? macAddressFull; //?
bool otaMode = false; //ota模式?
String uuid; //uuid(IOS)
String deviceName; //设备名称
int updateTime; //最后更新时间 单位毫秒
String? macAddressBt; //bt地址
String formatTime(int millisecondsSince) {
return DateTime.fromMicrosecondsSinceEpoch(millisecondsSince).toString();
}