deviceId method
设备标识:第一次使用时生成并持久保存(《2.功能概述文档》第 4 节)。
Implementation
@override
Future<String> deviceId() async {
final file = File(p.join(dataDir, 'deeprespond_im', 'device', 'device_id'));
if (file.existsSync()) {
final existing = (await file.readAsString()).trim();
if (RegExp(r'^[\x21-\x7e]{1,64}$').hasMatch(existing)) return existing;
}
final id = 'dart_${randomHex(random.bytes(16))}';
await file.parent.create(recursive: true);
await file.writeAsString(id);
return id;
}