HarmonyOS ArkTS 实战:实现一个校园超市线上购物配送应用
HarmonyOS ArkTS 实战实现一个校园超市线上购物配送应用项目效果本文使用 HarmonyOS 和 ArkTS 实现一个校园超市线上购物配送应用。应用可以浏览超市商品加入购物车下单结算配送到寝并提供商品分类、购物车管理、订单跟踪、配送员接单、评价等完整功能。项目使用 DevEco Studio 开发适配 API 23 及以上版本。运行效果功能介绍商品分类浏览商品搜索购物车管理商品数量增减下单结算配送到寝订单状态跟踪配送员接单订单评价优惠券使用收货地址管理历史订单定义数据结构interfaceProduct{id:number;name:string;price:number;category:string;image:string;sales:number;stock:number;}interfaceCartItem{productId:number;productName:string;price:number;quantity:number;selected:boolean;}interfaceOrder{id:number;items:CartItem[];totalPrice:number;address:string;status:string;createTime:string;deliveryTime:string;}初始化页面状态StateprivatetabIndex:number0;StateprivatecurrentCategory:string零食饮料;StateprivatesearchKeyword:string;Stateprivatecategories:string[][零食饮料,日用百货,文具用品,方便速食,水果生鲜];Stateprivateproducts:Product[][{id:1,name:可口可乐330ml,price:3.5,category:零食饮料,image:,sales:2341,stock:100},{id:2,name:乐事薯片原味,price:6.0,category:零食饮料,image:,sales:1892,stock:80},{id:3,name:抽纸3包装,price:12.9,category:日用百货,image:,sales:987,stock:50},{id:4,name:中性笔10支装,price:8.8,category:文具用品,image:,sales:756,stock:200},];Stateprivatecart:CartItem[][];Stateprivateorders:Order[][{id:1,items:[{productId:1,productName:可口可乐330ml,price:3.5,quantity:2,selected:true}],totalPrice:7,address:1号楼302,status:已送达,createTime:2026-07-21 15:30,deliveryTime:2026-07-21 16:00},];StateprivatenextOrderId:number10;加入购物车privateaddToCart(productId:number):void{constproductthis.products.find(pp.idproductId);if(!product)return;constexistthis.cart.find(cc.productIdproductId);if(exist){this.cartthis.cart.map(cc.productIdproductId?{...c,quantity:c.quantity1}:c);}else{this.cart[...this.cart,{productId,productName:product.name,price:product.price,quantity:1,selected:true}];}}修改数量privatechangeQuantity(productId:number,delta:number):void{this.cartthis.cart.map(c{if(c.productId!productId)returnc;constnewQtyc.quantitydelta;returnnewQty0?{...c,quantity:newQty}:c;}).filter(cc.quantity0);}结算下单privatesubmitOrder(address:string):void{constselectedthis.cart.filter(cc.selected);if(selected.length0)return;consttotalselected.reduce((sum,c)sumc.price*c.quantity,0);constorder:Order{id:this.nextOrderId,items:selected,totalPrice:total,address,status:待接单,createTime:newDate().toLocaleString(),deliveryTime:};this.orders[order,...this.orders];this.cartthis.cart.filter(c!c.selected);this.nextOrderId1;}商品卡片组件BuilderProductItem(product:Product){Row({space:12}){Column().width(80).height(80).backgroundColor(#F1F5F9).borderRadius(8)Column({space:4}){Text(product.name).fontSize(14).fontWeight(FontWeight.Medium).fontColor(#334155)Text(已售${product.sales}).fontSize(12).fontColor(#94A3B8)Row(){Text(¥${product.price.toFixed(1)}).fontSize(16).fontWeight(FontWeight.Bold).fontColor(#EF4444)Blank()Button().width(28).height(28).fontSize(18).backgroundColor(#334155).borderRadius(14).onClick(()this.addToCart(product.id))}.width(100%).margin({top:8})}.layoutWeight(1).alignItems(HorizontalAlign.Start)}.width(100%).padding(12).backgroundColor(#F8FAFC).borderRadius(12)}页面布局build(){Column(){// 搜索栏TextInput({placeholder:搜索商品}).width(100%).height(40).margin(20).backgroundColor(#F1F5F9).borderRadius(20)if(this.tabIndex0){Row(){// 分类侧边栏Column(){ForEach(this.categories,(cat:string){Text(cat).fontSize(14).fontColor(this.currentCategorycat?#334155:#64748B).fontWeight(this.currentCategorycat?FontWeight.Bold:FontWeight.Normal).width(100%).padding(16).backgroundColor(this.currentCategorycat?Color.White:#F8FAFC).onClick(()this.currentCategorycat)})}.width(100).backgroundColor(#F8FAFC)// 商品列表List({space:8}){ForEach(this.products.filter(pp.categorythis.currentCategory),(p:Product){ListItem(){this.ProductItem(p)}})}.layoutWeight(1).padding(12)}.layoutWeight(1)}elseif(this.tabIndex1){// 购物车List({space:8}){ForEach(this.cart,(item:CartItem){ListItem(){Row(){Text(item.productName).fontSize(14).layoutWeight(1)Text(¥${item.price}).fontSize(14).fontColor(#EF4444)Row({space:8}){Button(-).width(28).height(28).fontSize(16).backgroundColor(#E2E8F0).fontColor(#334155).onClick(()this.changeQuantity(item.productId,-1))Text(${item.quantity}).fontSize(14)Button().width(28).height(28).fontSize(16).backgroundColor(#334155).onClick(()this.changeQuantity(item.productId,1))}}.width(100%).padding(16).backgroundColor(#F8FAFC).borderRadius(12)}})}.width(100%).padding(20).layoutWeight(1)// 结算栏Row(){Text(合计¥${this.cart.filter(cc.selected).reduce((s,c)sc.price*c.quantity,0).toFixed(1)}).fontSize(16).fontWeight(FontWeight.Bold).fontColor(#EF4444)Blank()Button(去结算).height(40).backgroundColor(#334155).onClick(()this.submitOrder(1号楼302))}.width(100%).padding(20).backgroundColor(Color.White)}else{// 订单List({space:8}){ForEach(this.orders,(order:Order){ListItem(){Column({space:8}){Row(){Text(订单#${order.id}).fontSize(14).fontWeight(FontWeight.Medium)Blank()Text(order.status).fontSize(12).fontColor(#10B981)}Text(order.address).fontSize(12).fontColor(#64748B)Text(¥${order.totalPrice.toFixed(1)}).fontSize(14).fontColor(#EF4444).fontWeight(FontWeight.Bold)}.width(100%).padding(16).backgroundColor(#F8FAFC).borderRadius(12)}})}.width(100%).padding(20).layoutWeight(1)}// 底部TabRow(){Column(){Text().fontSize(20)Text(商品).fontSize(12)}.layoutWeight(1).onClick(()this.tabIndex0)Column(){Text(️${this.cart.length0?this.cart.length:}).fontSize(20)Text(购物车).fontSize(12)}.layoutWeight(1).onClick(()this.tabIndex1)Column(){Text().fontSize(20)Text(订单).fontSize(12)}.layoutWeight(1).onClick(()this.tabIndex2)}.width(100%).height(60).backgroundColor(Color.White)}.width(100%).height(100%).backgroundColor(Color.White)}页面设计说明主题色采用slate-700#334155体现超市购物的简洁、实用。左侧分类右侧商品列表的经典电商布局购物车和订单Tab切换底部导航清晰。SDK配置API 24compatibleSdkVersion: “6.1.1(24)”运行项目将代码复制到 entry/src/main/ets/pages/Index.ets 即可运行。项目总结实现了商品浏览、购物车、下单、订单跟踪等电商核心功能。掌握了分类侧边栏、购物车数量增减、价格计算、Tab导航、列表布局等。后续可加入优惠券、地址管理、配送员接单、商品评价、拼团秒杀、库存提醒等功能。

相关新闻

有人让Qwen3.6写了一套ERP,外包公司的活还能做多久?

有人让Qwen3.6写了一套ERP,外包公司的活还能做多久?

作者 |路飞来源 | 至顶AI实验室AI编程最先压价的,可能不是那些技术难题,而是外包项目里数量最多的基础开发:建表、做后台、写表单、接数据库、配置部署。最近,开发者TheBrigandier公开了一套名为Graphify E-Commerce的项目。按照仓…

2026/7/23 7:23:41阅读更多 →
NVIDIA Vera CPU技术详解:88核Olympus、176线程与1.2TB/s内存

NVIDIA Vera CPU技术详解:88核Olympus、176线程与1.2TB/s内存

NVIDIA于2026年7月21日进一步公开Vera CPU的Olympus核心、Spatial Multithreading、SCF、SOCAMM2内存、NUMA与I/O细节。Vera采用兼容Armv9.2-A的NVIDIA自研Olympus核心,定位不仅是GPU Host,也覆盖Agent沙箱、RL环境、数据处理与分析等CPU侧负载。1&#…

2026/7/23 7:23:41阅读更多 →
GLM与Kimi智能对话系统:从原理到工程实践全解析

GLM与Kimi智能对话系统:从原理到工程实践全解析

最近在AI圈里有个很有意思的现象——GLM团队公开为Kimi智能助手站台,这背后其实反映了当前大模型技术发展的一个重要趋势。作为长期关注AI技术演进的技术人,今天就想从技术角度深入分析一下这两个项目的关联,并手把手带大家搭建一个类似的智能…

2026/7/23 7:23:41阅读更多 →
SpaceX工程数据训练Grok 2T:专业数据驱动AI模型的技术解析

SpaceX工程数据训练Grok 2T:专业数据驱动AI模型的技术解析

马斯克确认SpaceX工程数据将训练Grok 2T模型的消息,让整个AI行业重新思考一个问题:当火箭发射、卫星部署、太空探索这样的高精度工程数据被用于训练大语言模型时,会产生什么样的化学反应?这不仅仅是又一个"大数据训练大模型&…

2026/7/23 9:02:10阅读更多 →
2026年金华金东区种植牙医院口碑大揭秘

2026年金华金东区种植牙医院口碑大揭秘

随着口腔健康意识的提升,越来越多的人开始重视牙齿修复问题。在众多的修复方式中,种植牙因其稳定性好、使用年限长等优点而备受青睐。然而,在选择种植牙机构时,很多人会感到困惑:哪家医院更值得信赖?本文将…

2026/7/23 9:02:10阅读更多 →
三模型合一:Grok/Kimi/Claude集成开发环境实践指南

三模型合一:Grok/Kimi/Claude集成开发环境实践指南

这次我们来看一个很有意思的项目——"三模型合一:Grok/Kimi/Claude 塞进 Codex"。这个项目把三个主流大语言模型整合到一个统一的开发环境中,让开发者可以在同一个界面里调用不同模型的API,大大提升了开发效率。从项目名称就能看出…

2026/7/23 9:02:10阅读更多 →
AI短剧制作全流程:从剧本到成片的实战指南

AI短剧制作全流程:从剧本到成片的实战指南

1. AI短剧制作全流程解析 最近两年,AI视频生成技术突飞猛进,从最初的5秒短视频到现在能生成连贯的2-3分钟剧情片段。作为一个从2022年就开始尝试AI视频制作的从业者,我完整经历了这个技术迭代过程。今天就来拆解一套经过实战验证的AI短剧制作…

2026/7/23 9:02:10阅读更多 →
三、Oracle 核心原理

三、Oracle 核心原理

文章目录💡 核心认知:Oracle 到底是什么?1. 动态的灵魂:Oracle 实例 (Instance)1.1 什么是实例?1.2 实例的生命周期2. 静态的躯体:三大核心文件2.1 控制文件 (.CTL) —— “地图与目录”2.2 数据文件 (.DBF…

2026/7/23 9:02:10阅读更多 →
AWS 账号恢复要多久?NiceCloud 带你看懂影响进度的几个关键点

AWS 账号恢复要多久?NiceCloud 带你看懂影响进度的几个关键点

一、先说结论:AWS 账号恢复并没有一个固定时间 很多人查 AWS账号恢复,其实最想知道的就是一句话:AWS账号恢复到底要多久? 但这个问题没有统一答案。 简单来说,如果只是账单异常、扣款失败、资料需要补充这类常见问题&a…

2026/7/23 9:00:10阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →