Files
AI-Health/health_app/lib/widgets/app_card.dart
MingNian c70d5d4be6 fix: 管理员系统 + 注册流程重构 + UI改版 + 全链路修复
- 新增管理员角色(手机号12345678910),管理员可增删医生、查看患者
- 注册页重构:去掉角色选择+审核码,改为选医生+填姓名
- 医生端点按DoctorId过滤患者,Patient↔Doctor关系建立
- Doctor/DoctorProfile/User实体新增关联字段
- JSON循环引用修复(IgnoreCycles)
- /api/doctors改为公开接口
- 登录闪屏修复+原生Android启动页
- 输入框全局白底+灰框
- 蓝牙重连同步修复
- Web端(doctor_web+health_app/web)全部删除
- 全局UI改版:白底企业风,新配色和组件系统
- 新品牌图标和启动图
2026-06-16 15:16:44 +08:00

49 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import '../core/app_colors.dart';
import '../core/app_theme.dart';
class AppCard extends StatelessWidget {
final Widget child;
final EdgeInsetsGeometry? padding;
final EdgeInsetsGeometry? margin;
final VoidCallback? onTap;
final Color? backgroundColor;
final BorderRadius? borderRadius;
final Border? border;
const AppCard({
super.key,
required this.child,
this.padding = const EdgeInsets.all(AppTheme.sLg),
this.margin,
this.onTap,
this.backgroundColor,
this.borderRadius,
this.border,
});
@override
Widget build(BuildContext context) {
final radius = borderRadius ?? BorderRadius.circular(AppTheme.rLg);
final card = Container(
margin:
margin ??
const EdgeInsets.symmetric(
horizontal: AppTheme.sLg,
vertical: AppTheme.sSm,
),
padding: padding,
decoration: BoxDecoration(
color: backgroundColor ?? AppColors.cardBackground,
borderRadius: radius,
border: border ?? Border.all(color: AppColors.border),
boxShadow: AppColors.cardShadowLight,
),
child: child,
);
if (onTap == null) return card;
return InkWell(onTap: onTap, borderRadius: radius, child: card);
}
}