Initial commit: 风影 OA 全栈源码(API/Web/Flutter/IM)
含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。 排除 node_modules、构建产物、安装包与 .env 密钥。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
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),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user