feat(remote): 修复键盘输入映射并重构连接流程

- Android端注入按键时显式设置SOURCE_KEYBOARD,修复IME丢弃事件导致输入框无法输入文字的问题
- Flutter端新增Flutter逻辑键到Android keyCode的转换映射,避免功能键误触发
- 重构RemoteController,分离信令连接与远程控制逻辑,支持设备列表选择与配对码兑换
- AuthRepository接口新增getBindings、getOnlineDevices、redeemPairingCode方法
- DioAuthRepository实现401自动刷新token重试机制
- ConnectionSessionState扩展设备列表、在线状态、配对码等状态字段
This commit is contained in:
TongTongStudio
2026-08-03 20:22:29 +08:00
parent 79cffcb041
commit e1de4c8170
21 changed files with 1529 additions and 703 deletions

View File

@@ -49,12 +49,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get connectDevice => '连接被控设备';
@override
String get serverUrl => '信令服务器地址:';
@override
String get serverUrlPlaceholder => 'wss://www.ttstd.com/signal';
@override
String get deviceId => '本机设备ID连接后由服务端下发无需填写:';
@@ -82,7 +76,7 @@ class AppLocalizationsZh extends AppLocalizations {
String get usernamePasswordRequired => '请输入用户名和密码';
@override
String get serverAndTargetRequired => '请填写服务器地址和目标设备ID';
String get targetRequired => '请填写目标设备ID';
@override
String get authTitle => '连接鉴权';
@@ -231,4 +225,41 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get streamModeSelfCodecDesc => '当前平台不支持自编码硬解。';
@override
String get boundDevices => '已绑定设备';
@override
String get online => '在线';
@override
String get offline => '离线';
@override
String get noBoundDevices => '暂无已绑定设备';
@override
String get refreshDevices => '刷新';
@override
String get redeemPairingCode => '使用配对码绑定';
@override
String get pairingCodeHint => '请输入被控端显示的配对码';
@override
String bindingFailed(Object error) {
return '绑定失败:$error';
}
@override
String deviceOfflineCannotConnect(Object name) {
return '设备「$name」当前不在线,无法连接';
}
@override
String get pleaseSelectDevice => '请先选择一个绑定的设备';
@override
String get bindSuccess => '绑定成功';
}