- 后台托盘(mac/Windows):window_manager 拦截关窗改隐藏,服务持续运行; 托盘单击恢复窗口、右键菜单(显示主界面/退出),退出入口仅放托盘菜单 - 品牌:App 更名"资安信插件助手"(mac PRODUCT_NAME/xib、win main.cpp+Runner.rc(code_page 65001)、 MaterialApp/侧栏/托盘 tooltip/日志);图标全家桶换资安信盾牌 logo (tool/gen_app_icons.dart 生成 mac AppIcon 7 尺寸/win ICO 7 尺寸/托盘白底圆盘版/assets logo) - 修复启动布局断言:SliverList 内 Row(stretch) 需 IntrinsicHeight 包裹, 否则子项收到 h=Infinity 约束(用户实测报错,test/ui_smoke_test.dart 守护复现) - Agent.stop 幂等(托盘退出与窗口销毁竞态安全) - 测试修复:smoke 测试改 tester.runAsync 包真实 socket I/O(fake async zone 里会永久挂起)、 显式 pump 替代 pumpAndSettle;13 个测试全过,analyze 零问题,release 构建实测通过
34 lines
929 B
Dart
34 lines
929 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../agent.dart';
|
|
import 'card_printer_page.dart';
|
|
|
|
/// 桌面插件路由:左侧菜单与内容页共用这一份注册表,加第二个插件 = 在这里加一项。
|
|
class AppRoute {
|
|
const AppRoute({
|
|
required this.id,
|
|
required this.title,
|
|
required this.subtitle,
|
|
required this.icon,
|
|
required this.builder,
|
|
});
|
|
|
|
/// 与助手 manifest.plugins[].id 对应(card-printer / 未来的其他插件)
|
|
final String id;
|
|
final String title;
|
|
final String subtitle;
|
|
final IconData icon;
|
|
final Widget Function(BuildContext context, Agent agent) builder;
|
|
}
|
|
|
|
/// 插件注册表(顺序即菜单顺序)。
|
|
final appRoutes = <AppRoute>[
|
|
AppRoute(
|
|
id: 'card-printer',
|
|
title: '饭卡打印机',
|
|
subtitle: '开卡页面卡打印',
|
|
icon: Icons.credit_card_outlined,
|
|
builder: (context, agent) => CardPrinterPage(agent: agent),
|
|
),
|
|
];
|