- 新增管理员角色(手机号12345678910),管理员可增删医生、查看患者 - 注册页重构:去掉角色选择+审核码,改为选医生+填姓名 - 医生端点按DoctorId过滤患者,Patient↔Doctor关系建立 - Doctor/DoctorProfile/User实体新增关联字段 - JSON循环引用修复(IgnoreCycles) - /api/doctors改为公开接口 - 登录闪屏修复+原生Android启动页 - 输入框全局白底+灰框 - 蓝牙重连同步修复 - Web端(doctor_web+health_app/web)全部删除 - 全局UI改版:白底企业风,新配色和组件系统 - 新品牌图标和启动图
49 lines
1.3 KiB
Dart
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);
|
|
}
|
|
}
|