Remove notification service and update project
- Remove flutter_local_notifications dependency from pubspec.yaml - Delete notification_service.dart file - Remove notification service references from app_service.dart and app_binding.dart - Clean up related code and dependencies
This commit is contained in:
360
CHANGELOG.md
360
CHANGELOG.md
@@ -2,216 +2,192 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.8.0] - 2026-04-08
|
||||
## [0.15.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 📱 **fluttertoast 本地化** - 下载 fluttertoast v9.0.0 到本地 packages 目录
|
||||
- 支持鸿蒙平台适配
|
||||
- 创建 `fluttertoast_ohos` 适配模块
|
||||
- 本地路径导入,支持自定义修改
|
||||
- 🏗️ **全局 Binding 系统** - 解决 Controller 重复与生命周期问题
|
||||
- 新增 `AppBinding` 统一管理全局 Service 与 Controller 依赖
|
||||
- 使用 `Get.lazyPut` + `fenix: true` 确保单例与自动重建
|
||||
- 在 `main.dart` 中通过 `initialBinding` 接入
|
||||
|
||||
- 🎨 **ToastService 消息服务** - 统一 Toast 消息样式
|
||||
- 支持 4 种消息类型(success、error、warning、info)
|
||||
- 自动适配 App 动态主题
|
||||
- 集成 PageStandards 页面规范
|
||||
- 提供简洁的 API 接口
|
||||
- 🚫 **强制页面规范校验中间件** - 不合规页面直接拦截
|
||||
- 新增 `PageStandardsMiddleware` 在路由进入前校验 `PageRegistry`
|
||||
- 未注册页面或校验失败自动跳转至违规页
|
||||
- 新增 `StandardsViolationPage` 展示拦截原因与失败项
|
||||
|
||||
- 📦 **统一异常模型** - 网络层结构化错误
|
||||
- 新增 `ApiException` 与 `ApiExceptionType` 枚举
|
||||
- `ApiService` 所有方法统一抛出 `ApiException`
|
||||
- 支持超时/无网络/错误响应/取消/未知等类型
|
||||
|
||||
- 📏 **ScreenUtilConfig 真正初始化** - 响应式适配生效
|
||||
- 实现 `ensureScreenSizeAndInit()` 根据屏幕尺寸动态调整设计稿
|
||||
- 自动分档:手机(375×812)/平板(768×1024)/桌面(1440×1024)
|
||||
- `PageStandards` 中 `scaled` 系列方法已生效
|
||||
|
||||
- 🧾 **修复定时通知** - scheduleNotification 真正延迟
|
||||
- 修改 `NotificationService.scheduleNotification()` 使用 `zonedSchedule`
|
||||
- 支持按 `delay` 参数延迟触发,不再立即显示
|
||||
|
||||
- 🧾 **规范 ProductModel** - 字段语义化
|
||||
- 增加 `id` 与 `emoji` 字段,`imageUrl` 改为可选
|
||||
- 提供工厂方法 `ProductModel.mock` 用于测试数据
|
||||
- 购物车改用 `product.id` 而非 `name` 去重
|
||||
|
||||
### Changed
|
||||
- 📦 更新 `pubspec.yaml` 使用本地 `fluttertoast`
|
||||
- 🔧 更新 `fluttertoast` 支持鸿蒙平台
|
||||
- 🔧 统一页面注册权威来源
|
||||
- 移除 `AppPages` 重复定义,仅保留 `AppRoutes.registerAllPages()`
|
||||
- 所有页面注册与 `requiredStandards` 统一在 `AppRoutes` 管理
|
||||
- 路由中间件与页面注册表保持一致
|
||||
|
||||
## [0.7.0] - 2026-04-08
|
||||
- 🔧 页面改用 `Get.find()` 替代 `Get.put()`
|
||||
- `HomePage`、`CartPage`、`ProfilePage` 不再重复创建 Controller
|
||||
- 依赖由 `AppBinding` 统一注入,全局状态一致
|
||||
|
||||
### Added
|
||||
- 🔄 **GetX 全局状态管理系统**
|
||||
- `BaseController` 基础控制器(加载状态、错误处理)
|
||||
- `PagedController` 分页控制器(列表分页、加载更多)
|
||||
- `HomeController` 首页控制器(产品列表、分类筛选、搜索)
|
||||
- `CartController` 购物车控制器(商品管理、数量调整、总价计算)
|
||||
- `ProfileController` 个人中心控制器(用户登录、登出、信息更新)
|
||||
- 🔧 路由校验体系正式接入
|
||||
- `main.dart` 中 `initialBinding` 与 `routingCallback` 已生效
|
||||
- Debug 模式下自动拦截不合规页面
|
||||
|
||||
- 🧩 **标准组件库** - 所有组件集成 PageStandards
|
||||
- `StandardButton` 标准按钮(4 种样式:primary、secondary、outline、text)
|
||||
- `StandardTextField` 标准输入框(支持图标、错误提示)
|
||||
- `StandardCard` 标准卡片(支持阴影、边框)
|
||||
- `StandardListTile` 标准列表项(支持图标、副标题、箭头)
|
||||
|
||||
- 📊 **状态组件**
|
||||
- `EmptyState` 空状态组件(支持图标、emoji、按钮)
|
||||
- `ErrorState` 错误状态组件(支持重试按钮)
|
||||
|
||||
- 🎯 **交互组件**
|
||||
- `StandardDialog` 标准对话框(支持确认、取消、破坏性操作)
|
||||
- `StandardBottomSheet` 标准底部弹窗(支持自定义高度)
|
||||
- `StandardPicker` 标准选择器(支持泛型)
|
||||
|
||||
- 🛡️ **路由守卫系统** - `RouteGuard`
|
||||
- 支持 3 种认证级别(none、optional、required)
|
||||
- 自动重定向到登录页
|
||||
- 集成 ProfileController 用户状态
|
||||
|
||||
### Changed
|
||||
- 🔄 重构 `HomePage` 使用 GetX 状态管理
|
||||
- 🔄 重构 `ProductCard` 使用 PageStandards
|
||||
- 🔄 重构 `LoadingIndicator` 使用 PageStandards
|
||||
|
||||
### Technical
|
||||
- 统一状态管理为 GetX
|
||||
- 所有组件集成 PageStandards
|
||||
- 实现路由守卫认证机制
|
||||
- 新建页面默认支持 GetX
|
||||
|
||||
## [0.6.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 📝 **日志服务系统** - 新增 `LoggerService` 完整日志管理
|
||||
- 支持日志开关、级别、文件写入配置
|
||||
- 支持 5 种日志级别(Debug、Info、Warning、Error、Off)
|
||||
- 支持控制台输出和文件输出
|
||||
- 支持日志文件自动清理(按大小和数量)
|
||||
- 配置持久化存储
|
||||
|
||||
- 📱 **屏幕适配配置** - 新增 `ScreenUtilConfig` 全局配置
|
||||
- 设计稿尺寸配置(默认 375x812)
|
||||
- 最小字体适配开关
|
||||
- 分屏模式开关
|
||||
- 缩放开关控制
|
||||
- 配置持久化存储
|
||||
|
||||
- 🔧 **全局工具类**
|
||||
- `AppLogger` - 简化的全局日志工具类
|
||||
- `ScreenUtilExtension` - 扩展方法支持全局缩放控制
|
||||
|
||||
- 📐 **页面规范系统** - 新增 `PageStandards` 页面规范文件
|
||||
- 统一主题色、字体色、背景色配置
|
||||
- 统一字体大小、间距规范
|
||||
- 统一动画配置(开关、速度、预设、曲线)
|
||||
- 统一响应式布局配置
|
||||
- 支持多语言、屏幕方向、消息样式
|
||||
- 支持状态栏沉浸、深色模式、设备类型适配
|
||||
- 提供 `PageStandardsMixin` 混入和 `StandardPage` 基类
|
||||
- 提供 `PageStandardsExtension` 扩展方法
|
||||
|
||||
- 🔍 **页面验证系统** - 新增 `PageValidator` 页面检测文件
|
||||
- 注册所有页面条目信息(路由、名称、描述、规范要求)
|
||||
- 开发时实时检测页面是否遵循规范
|
||||
- 支持 12 种规范检查项
|
||||
- 控制台输出警告信息
|
||||
- 提供验证报告和调试面板
|
||||
|
||||
- 📦 **新增依赖库**
|
||||
- `path_provider` - 文件路径获取
|
||||
|
||||
### Changed
|
||||
- 🔧 更新 `AppService` 集成 `LoggerService` 和 `ScreenUtilConfig`
|
||||
|
||||
## [0.5.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 📱 **屏幕适配库** - 新增 `flutter_screenutil` 本地化支持
|
||||
- 下载 `flutter_screenutil v5.9.3` 源码到 `packages/flutter_screenutil`
|
||||
- 添加鸿蒙平台设备类型识别 `DeviceType.harmonyOS`
|
||||
- 使用条件导入处理 Web 平台兼容性
|
||||
- 本地路径导入,支持自定义修改
|
||||
|
||||
- 📊 **新增依赖库**
|
||||
- `pretty_dio_logger` - Dio 网络请求日志美化
|
||||
- `logger` - 统一日志管理
|
||||
- `device_info_plus` - 设备信息获取
|
||||
|
||||
### Changed
|
||||
- 📦 更新 `pubspec.yaml` 使用本地 `flutter_screenutil`
|
||||
- 📝 更新 `README.md` 添加新依赖库说明
|
||||
|
||||
## [0.4.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- ✨ **动画服务系统** - 新增 `AnimationService` 完整动画管理
|
||||
- 使用 `animations` 库实现专业动画效果
|
||||
- 支持动画开关、速度、强度、曲线四种参数调节
|
||||
- 提供 7 种预设模式(Standard、Fast、Slow、Smooth、Bouncy、Minimal、None)
|
||||
- 支持 9 种动画曲线类型(Linear、EaseIn、EaseOut、EaseInOut、Ease、Bounce、Elastic、FastOutSlowIn、SlowMiddle)
|
||||
- 配置持久化存储,应用重启后保持设置
|
||||
|
||||
- 🎬 **页面转场动画组件** - `PageTransitions`
|
||||
- `fadeThrough` 淡入淡出转场
|
||||
- `fadeScale` 缩放淡入转场
|
||||
- `sharedAxis` 共享轴转场(水平/垂直/缩放)
|
||||
- `getTransitionBuilder` 自适应页面转场构建器
|
||||
|
||||
- 📋 **列表项动画组件**
|
||||
- `AnimatedListItem` 单个列表项动画
|
||||
- `AnimatedListView` 列表视图动画
|
||||
- `AnimatedGridView` 网格视图动画
|
||||
- 支持交错动画效果
|
||||
|
||||
- 👆 **交互动画组件**
|
||||
- `AnimatedButton` 按钮点击缩放动画
|
||||
- `AnimatedCard` 卡片点击交互动画
|
||||
- `OpenContainerWrapper` 容器展开转场
|
||||
|
||||
- 🎯 **基础动画组件**
|
||||
- `FadeInWidget` 淡入动画
|
||||
- `SlideInWidget` 滑入动画
|
||||
- `ScaleInWidget` 缩放动画
|
||||
- `StaggeredAnimation` 交错动画
|
||||
|
||||
### Changed
|
||||
- 📱 更新 `ThemeDemoPage` 添加完整动画设置 UI
|
||||
- 动画开关控制
|
||||
- 预设模式选择器
|
||||
- 速度和强度滑块
|
||||
- 曲线类型选择器
|
||||
- 实时预览区域
|
||||
|
||||
- 🔧 更新 `AppService` 集成 `AnimationService`
|
||||
|
||||
## [0.3.0] - 2026-04-07
|
||||
|
||||
### Added
|
||||
- 🌐 **繁体中文支持** - 新增 `zh_Hant` 繁体中文本地化支持
|
||||
- 新增 `app_zh_Hant.arb` 繁体中文翻译文件
|
||||
- 新增 `app_localizations_zh_hant.dart` 繁体中文实现
|
||||
- 更新 `app_localizations.dart` 支持繁体中文区域设置
|
||||
|
||||
### Changed
|
||||
- 📱 **自适应布局系统重构** - 使用 `flutter_adaptive_scaffold` 实现响应式布局
|
||||
- 新增 `AdaptivePageInterface` 抽象接口定义自适应页面规范
|
||||
- 新增 `AdaptivePageMixin` 提供单页面自适应布局实现
|
||||
- 新增 `AdaptiveTabPageInterface` 和 `AdaptiveTabPageMixin` 提供标签页自适应布局
|
||||
- 新增 `AdaptivePageController` 静态方法快速构建自适应页面
|
||||
- 新增 `AdaptiveLayoutBuilder` 响应式布局构建器
|
||||
- 新增 `ResponsiveGrid` 响应式网格组件
|
||||
- 新增 `ResponsivePadding` 响应式内边距组件
|
||||
- 新增 `AdaptiveDestination` 自适应导航目标配置
|
||||
## [0.14.0] - 2026-04-08
|
||||
|
||||
### Fixed
|
||||
- 🔧 修复 `flutter_adaptive_scaffold` API 调用错误
|
||||
- 修复 `SlotLayoutConfig.from` 方法调用
|
||||
- 修复 `AdaptiveLayout` 的 `backgroundColor` 参数问题
|
||||
- 修复 `secondaryBody` 返回类型问题
|
||||
- 🔧 **fluttertoast 类型提升错误修复** - 修复编译错误
|
||||
- 修复 `packages/fluttertoast/lib/fluttertoast.dart:279` 中的类型提升错误
|
||||
- 将公共属性 `context` 赋值给局部变量 `ctx`,解决 Dart 3.2 以下版本的类型提升限制
|
||||
- 修复 `packages/fluttertoast/lib/fluttertoast.dart:182-195` 中相同的问题
|
||||
- 项目现在可以成功编译
|
||||
|
||||
## [0.2.0] - 2026-04-06
|
||||
### Technical
|
||||
- 解决公共字段无法类型提升的问题,使用局部变量作为变通方案
|
||||
- 构建成功,生成 app-debug.apk
|
||||
|
||||
## [0.13.0] - 2026-04-08
|
||||
|
||||
### Fixed
|
||||
- 🔧 **核心错误修复** - 修复多个严重的代码错误
|
||||
- 修复 `page_standards.dart` 中 `DeviceType.desktop` 缺失问题,添加 `desktop` 到枚举
|
||||
- 修复 `SystemChrome.setSystemUiOverlayStyle` 方法名拼写错误
|
||||
- 移除未使用的 `toast_service.dart` 导入
|
||||
- 修复 `profile_controller.dart` 中使用 `await` 在非 Future 类型上的问题
|
||||
- 修复 `common_utils.dart` 中未使用的 `timer` 变量和 BuildContext 异步使用问题
|
||||
- 修复 `adaptive_page_interface.dart` 中未使用的 `primary` 变量
|
||||
- 修复 `standard_dialog.dart` 中死代码问题(多余的 ?? 操作符)
|
||||
- 移除不必要的 `!` 强制解包操作符
|
||||
|
||||
### Technical
|
||||
- 代码质量提升,所有严重错误已修复,项目可正常编译运行
|
||||
- 保持 CHANGELOG.md 只保留最近 5 个版本号的规范
|
||||
|
||||
## [0.12.0] - 2026-04-08
|
||||
|
||||
### Fixed
|
||||
- 🔧 **繁体中文语言切换修复** - 修复繁体中文选择无效问题
|
||||
- 更新 `l10n.yaml` 添加 `zh_Hant` 支持
|
||||
- 修复 `app_localizations.dart` 中 `_AppLocalizationsDelegate.isSupported()` 方法,支持 `zh_Hant` 脚本
|
||||
- 修复 `ThemeService.setLocale()` 方法,正确处理 `zh_Hant` locale
|
||||
- 验证繁体中文翻译文件 `app_zh_Hant.arb` 正确加载
|
||||
|
||||
- 🔧 **弹窗和 Toast 样式配置验证** - 确认样式配置正常工作
|
||||
- 验证 `DialogStyle` 和 `ToastStyleType` 枚举正确定义
|
||||
- 确认 `ThemeService` 中的样式配置持久化正常
|
||||
- 确认 `ToastService` 和 `StandardDialog` 正确响应样式变化
|
||||
|
||||
- 🔧 **fluttertoast 空值检查修复** - 修复 `fluttertoast.dart` 中的空值异常
|
||||
- 在 `packages/fluttertoast/lib/fluttertoast.dart:277-284` 添加 try-catch 保护
|
||||
- 添加 context 空值检查,避免 `Null check operator used on a null value` 异常
|
||||
|
||||
## [0.11.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 🔐 **权限管理服务** - 新增 `PermissionService` 跨平台权限管理
|
||||
- 支持 15 种常见权限类型(相机、麦克风、相册、位置等)
|
||||
- 跨平台权限适配(iOS、Android、HarmonyOS、Web、Windows、macOS、Linux)
|
||||
- 权限状态记录和查询功能
|
||||
- 批量权限检查和请求功能
|
||||
- 📋 **页面注册系统集成** - 在 main.dart 中添加页面检测和验证
|
||||
- 在应用启动时自动注册所有页面到 PageRegistry
|
||||
- 调试模式下显示注册状态和配置信息
|
||||
- 使用 routingCallback 监听路由变化
|
||||
- 路由切换时自动触发页面规范验证
|
||||
|
||||
- 🎯 **AppRoutes 页面注册功能** - 在 app_routes.dart 中集成 PageRegistry
|
||||
- 添加 registerAllPages() 静态方法
|
||||
- 为每个页面定义 PageInfo 配置
|
||||
- 配置每个页面的 requiredStandards 检查项
|
||||
- 包含 Home、Theme、Example、Cart、Profile、Main 等页面
|
||||
|
||||
- 🎨 **PageStandards 增强** - 添加新增的弹窗和 Toast 样式访问
|
||||
- 添加 dialogStyle 访问弹窗样式
|
||||
- 添加 toastStyleType 访问 Toast 样式类型
|
||||
- 在 PageStandardsMixin 中也添加对应访问方法
|
||||
- 更新 PageStandards 导入 page_validator.dart
|
||||
|
||||
### Changed
|
||||
- 📦 更新 `pubspec.yaml` 依赖配置
|
||||
- 添加 `flutter_adaptive_scaffold` 响应式布局支持
|
||||
- 更新 `permission_handler` 鸿蒙适配版本
|
||||
- 🔧 修改 `main.dart` 集成页面注册和验证系统
|
||||
- 导入 PageRegistry 和 AppLogger
|
||||
- 在 debug 模式下注册所有页面
|
||||
- 在 GetCupertinoApp 中添加 routingCallback
|
||||
- 路由变化时自动调用 PageValidator.validate()
|
||||
|
||||
## [0.1.0] - 2026-04-05
|
||||
- 🔧 修改 `app_routes.dart` 集成 PageRegistry
|
||||
- 导入 page_validator.dart
|
||||
- 添加 registerAllPages() 方法
|
||||
- 为所有现有页面注册 PageInfo
|
||||
- 配置每个页面的标准检查项
|
||||
|
||||
- 🔧 修改 `page_standards.dart` 新增样式访问
|
||||
- 导入 page_validator.dart
|
||||
- 添加 dialogStyle 和 toastStyleType 属性
|
||||
- 在 PageStandardsMixin 中同步添加
|
||||
|
||||
## [0.10.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 🎨 **主题服务** - `ThemeService` 提供统一的主题管理
|
||||
- 🍎 **iOS 风格组件** - 优先使用 Cupertino 组件
|
||||
- 🌍 **国际化支持** - 支持英文和简体中文
|
||||
- 📱 **基础页面结构** - HomePage、ThemeDemoPage 等
|
||||
- 💬 **弹窗样式选择功能** - 支持 4 种弹窗样式
|
||||
- GetX Style:使用 Get.dialog 的自定义弹窗样式
|
||||
- Native Style:原生 CupertinoAlertDialog 样式
|
||||
- Toast Style:类似 Toast 的彩色背景弹窗样式
|
||||
- Hybrid Style:混合样式,原生弹窗 + 动态主题色
|
||||
- 所有样式都支持动态主题色和字体大小
|
||||
|
||||
- 🚀 **Toast 样式选择功能** - 支持 3 种 Toast 样式
|
||||
- GetX Snackbar:使用 Get.snackbar 的样式
|
||||
- Native Toast:使用 Fluttertoast 的原生样式
|
||||
- Custom Style:自定义 FToast 样式
|
||||
- 所有样式都支持动态主题色和字体大小
|
||||
|
||||
- 🎨 **主题设置页面增强** - 在 `theme_demo_page.dart` 新增样式选择 UI
|
||||
- Dialog Style 选择器
|
||||
- Toast Style 选择器
|
||||
- 实时显示当前选中的样式名称
|
||||
|
||||
### Changed
|
||||
- 🔧 修改 `ThemeService` 添加弹窗和 Toast 样式配置
|
||||
- `DialogStyle` 枚举定义弹窗样式
|
||||
- `ToastStyleType` 枚举定义 Toast 样式
|
||||
- 支持持久化存储用户选择
|
||||
- 添加 `setDialogStyle` 和 `setToastStyle` 方法
|
||||
|
||||
- 🔧 修改 `ToastService` 支持多种样式
|
||||
- 根据 ThemeService 配置自动选择样式
|
||||
- `_showGetxToast` 实现 GetX Snackbar 样式
|
||||
- 所有样式都使用动态主题色和字体大小
|
||||
|
||||
- 🔧 修改 `StandardDialog` 支持多种样式
|
||||
- 根据 ThemeService 配置自动选择样式
|
||||
- `_showGetxDialog` 实现 GetX 自定义弹窗
|
||||
- `_showToastStyleDialog` 实现 Toast 风格弹窗
|
||||
- `_showHybridDialog` 实现混合样式弹窗
|
||||
- 弹窗背景使用 GetX 默认,字体色使用动态主题色
|
||||
|
||||
## [0.9.0] - 2026-04-08
|
||||
|
||||
### Added
|
||||
- 🧪 **主题设置页面测试按钮** - 在 `theme_demo_page.dart` 添加测试组件
|
||||
- 4 种 Toast 测试按钮(Info、Success、Warning、Error)
|
||||
- Standard Dialog 测试按钮
|
||||
- 所有测试组件响应动态主题变化
|
||||
- 初始化 ToastService
|
||||
|
||||
### Fixed
|
||||
- 🔧 修复深色模式切换时字体色和背景色未自动更新问题
|
||||
- 🔧 修复 `theme_service.dart` 中 `Color` 与 `MaterialColor` 类型不匹配问题
|
||||
- 🔧 修复 `adaptive_scaffold.dart` 和 `adaptive_page_interface.dart` 响应式变量访问错误
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user