Skip to content

fvffv/MarketFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarketFlow - 超市收银系统模拟 (Avalonia 练习)

...📖 项目简介

MarketFlow 是一个基于 Avalonia UI 框架开发的跨平台桌面应用程序,旨在模拟超市收银系统的核心流程。该项目涵盖了商品管理、优惠券策略、订单结算(POS)以及销售数据可视化等功能,是一个优秀的 Avalonia 与 MVVM 架构实践案例。

🚀 核心特性

1. ...现代化 UI 与交互

  • 跨平台支持:基于 Avalonia 框架,支持 Windows、Linux、macOS。
  • 自定义控件
    • ...ShowInfo:用于展示关键信息,支持多级标题与自定义配色。
    • Button:扩展按钮控件,增强点击反馈与样式定制。

2. 功能模块

  • 🛍️ 商品管理 (Products)

    • ...支持商品的增、删、改、查。
    • 商品分类管理与条形码生成/展示。
    • 包含搜索与筛选功能,便于快速查找商品。
  • 🎟️ 优惠券管理 (Coupons)

    • ...策略丰富:支持整单折扣、单品立减、满减等多种促销方式。
    • 生命周期:管理优惠券的有效期。
    • 提供完整的优惠券维护界面。
  • 💻 收银台 (POS)

    • 扫码录入:模拟商品扫码添加到购物车。
    • 自动计算:实时计算订单金额,自动应用符合条件的优惠券。
    • 结算流程:完成订单支付并保存交易记录。
  • 📊 数据看板 (Home)

    • ...数据可视化:使用 LiveChartsCore 展示销售统计图表。
    • 经营分析:直观呈现销售趋势与业绩数据。

🛠️ 技术栈

  • 开发框架: Avalonia UI
  • 架构模式: MVVM (Model-View-ViewModel)
  • 核心依赖库:
    • ...CommunityToolkit.Mvvm: 高效实现 MVVM 模式,处理数据绑定与命令。
    • LiveChartsCore: 强大的数据可视化图表库。
    • nietras.SeparatedValues: 高性能 CSV 文件读写。
    • BarcodeStandard: 条形码生成工具。

📂 项目结构与核心代码

项目采用清晰的分层架构,主要代码结构如下:

...目录/模块 说明 核心文件示例
ViewModels 业务逻辑与状态管理 ProductsViewModel.cs, CouponsViewModel.cs, PosViewModel.cs, HomeViewModel.cs
Views UI 界面定义 (Axaml) CouponsView.axaml, PosView.axaml, HomeView.axaml
Models 数据模型定义 ProductType.cs, CouponType.cs, OrderInfo.cs
Components 自定义 UI 组件 ShowInfo.axaml, Button.axaml
Data Storage 数据持久化层 SepHelper.cs (CSV 读写辅助类)

💾 数据存储

项目采用轻量级的 CSV 文件 进行本地数据存储,无需安装额外数据库。SepHelper 类负责统一管理以下数据文件:

  • ...Product.csv: 商品基础信息
  • ProductType.csv: 商品分类定义
  • CouponInfo.csv: 优惠券配置
  • OrderInfo.csv: 订单明细
  • ...Orders.csv: 订单汇总记录

🏁 快速开始

  1. ...克隆项目
    git clone https://github.com/fvffv/MarketFlow.git

About

超市收银系统模拟,Avalonia练习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages