76f266645d
含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。 排除 node_modules、构建产物、安装包与 .env 密钥。 Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.2 KiB
Dart
44 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../app_config.dart';
|
|
import '../device/device_bridge.dart';
|
|
import '../theme.dart';
|
|
|
|
class BeianFooter extends StatelessWidget {
|
|
const BeianFooter({super.key});
|
|
|
|
Future<void> _open(String url) async {
|
|
try {
|
|
await DeviceBridge.openUrl(url);
|
|
} catch (_) {}
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
const style = TextStyle(color: kMute, fontSize: 11, height: 1.6);
|
|
return Padding(
|
|
padding: const EdgeInsets.fromLTRB(16, 8, 16, 16),
|
|
child: Column(
|
|
children: [
|
|
const Text(AppConfig.company, textAlign: TextAlign.center, style: style),
|
|
Wrap(
|
|
alignment: WrapAlignment.center,
|
|
crossAxisAlignment: WrapCrossAlignment.center,
|
|
children: [
|
|
GestureDetector(
|
|
onTap: () => _open(AppConfig.icpUrl),
|
|
child: const Text(AppConfig.icp, style: style),
|
|
),
|
|
const Text(' | ', style: style),
|
|
GestureDetector(
|
|
onTap: () => _open('tel:${AppConfig.phone}'),
|
|
child: const Text('联系电话 ${AppConfig.phone}', style: style),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|