基于微信小程序的校园商铺系统小程序

news/2024/7/20 1:19:04 标签: ide, java, 微信小程序, 小程序, mysql

文末联系获取源码

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

一、前言介绍 

本文论述了小程序>微信小程序的校园商铺系统的设计和实现,该系统从实际运用的角度出发,运用了计算机系统设计、数据库等相关知识,基于小程序>微信小程序和Mysql数据库设计来实现的,系统主要包括首页、个人中心、用户管理、商家管理、商品类型管理、商品信息管理、在线咨询管理、咨询回复管理、交流论坛、我的收藏管理、留言板管理、系统管理、订单管理等功能。系统界面进行了人性化的设计,操作简单具有一定的使用价值。本文主要从该系统的设计思想、功能的架构,运用的技术、数据库的设计、具体的实现等方面来进行论述。在详细设计部分主要论述了系统功能设计和数据库的设计。在本文的最后对系统的调试结果进行了说明和总结。 

二、系统分析

2.1需求分析

通过对本系统的功能和结构分析,可以总结出系统的需求,如下:

(1)使用系统的用户分为管理员,用户和商家。

(2)不同的用户类型对应不同的页面访问权限。

(3)用户可以查看商品信息,购买商品,在线咨询,修改自己的订单信息等功能。

(4)商铺要发布最新的商品的相关信息,来吸引对应的用户。

(5)管理员及时更新信息,可以管理用户信息。

2.2功能分析

通过上面的需求分析,我们能够分析出系统的主要功能包括:

管理员可以对首页、个人中心、用户管理、商家管理、商品类型管理、商品信息管理、在线咨询管理、咨询回复管理、交流论坛、我的收藏管理、留言板管理、系统管理、订单管理等进行相应的操作;用户和商铺都可以对小程序的首页、商品信息、交流论坛、我的(包括商品信息、在线咨询、咨询回复、用户充值、我要发贴、我的发贴、购物车、我的订单、留言板)等进行查看及相应的操作。

2.3总体设计 

根据校园商铺系统的功能需求,进行系统设计。

前台功能:用户进入系统可以实现首页、商品信息、交流论坛、我的等进行操作;

后台主要是管理员,管理员功能包括首页、个人中心、用户管理、商家管理、商品类型管理、商品信息管理、在线咨询管理、咨询回复管理、交流论坛、我的收藏管理、留言板管理、系统管理、订单管理等;

系统对这些功能进行整合,产生的功能结构图如下图所示:

三、小程序

3.1用户商家注册

用户要登录小程序>微信小程序,则需要注册。在小程序>微信小程序的校园商铺系统里有两个用户可以进行登录,分别是用户和商家。用户注册:输入用户名,密码、姓名、性别、手机等信息进行用户注册;商家注册:输入账号、密码、商家姓名、性别、邮箱、联系电话等信息进行商家注册,如图 

 

3.2前台登录

通过注册时输入账号、密码、选择登录的角色,进行登录,如图

3.3小程序首页

登录小程序>微信小程序的校园商铺系统首页,用户可以进行首页、商品信息、交流论坛、我的等功能模块的查看与操作,如图

3.4商品信息

在商品信息页面,可以查看商品名称、价格、图片、商品类型、发布日期、账号、商家姓名、联系电话、点击次数、库存、商品详情等内容,也能对商品信息进行咨询,加入购物车,立即订购,评论或收藏等操作,如图 

3.5用户我的页面

在我的页面,可以对商品信息、在线咨询、咨询回复、用户充值、我要发贴、我的发贴、购物车、我的订单、留言板等功能进行相应的操作,如图

3.6用户信息

点击用户信息,通过输入用户名、密码、姓名、性别、头像、手机等内容,点击保存来更新用户信息,也可以点击退出登录,退出系统,如图

四、管理员功能模块

4.1后台登录

通过输入账号和密码,选择角色等信息进行登录,登录到系统后台,进行相应的操作,如下图所示

4.2后台首页

登录到小程序>微信小程序校园商铺系统的后台,管理员可以对首页、个人中心、用户管理、商家管理、商品类型管理、商品信息管理、在线咨询管理、咨询回复管理、交流论坛、我的收藏管理、留言板管理、系统管理、订单管理等功能进行相应操作,如下图所示: 

 

4.3用户管理

在用户管理页面,可以对索引、用户名、姓名、性别、头像、手机等用户信息进行详情、修改和删除等操作,如下图所示

4.4商家管理

在商家管理页面,可以对索引、账号、商家姓名、性别、头像、邮箱、联系电话等商家信息进行详情、修改和删除等操作,如下图所示。 

4.5商品信息管理

在商品信息管理页面,可以对索引、商品名称、商品类型、图片、发布日期、账号、商家姓名、联系电话、价格、单限、库存等商品信息进行详情,修改,查看评论或删除等操作,如下图所示。 

4.6在线咨询管理

在在线咨询管理页面,可以对索引、编号、账号、商家姓名、咨询时间、用户名、姓名等信息进行详情、修改和删除等操作,如下图所示。 

4.7咨询回复管理

在咨询回复管理页面,可以对索引、编号、用户名、姓名、回复时间、账号、商家姓名等信息进行详情、修改和删除等操作,如下图所示。 

4.8交流论坛

在交流论坛页面,可以对索引、帖子标题、用户名、状态等信息进行详情、修改和删除等操作,如下图所示。 

 

4.9留言板管理

在留言板管理页面,可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等信息进行详情,修改,回复或删除等操作,如下图所示。

4.10订单管理

在已支付订单,已退款订单,已完成订单,已发货订单,未支付订单,已取消订单页面,可以查看索引、订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址、电话、收货人、商户名称、下单时间等详细内容,并进行相应的操作管理;如下图所示。 

 

五、商家功能模块

5.1商家首页

商家登录到小程序>微信小程序校园商铺系统的后台,可以对首页、个人中心、商品信息管理、在线咨询管理、咨询回复管理、订单管理等功能进行相应操作,如下图所示:

5.2个人中心

在个人中心页面,通过填写账号、商家姓名、性别、头像、邮箱、联系电话等信息进行个人信息修改操作,如下图所示。 

5.3商品信息管理

在商品信息管理页面,可以对索引、商品名称、商品类型、图片、发布日期、账号、商家姓名、联系电话、价格、单限、库存等商品信息进行详情,修改,查看评论或删除等操作,如下图所示。 

5.4订单管理

在已支付订单页面,可以查看索引、订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址、电话、收货人、商户名称、下单时间等详细内容进行详情,发货或删除操作;还可以对已退款订单,已完成订单,已发货订单,未支付订单,已取消订单进行相应的操作管理;如下图所示。

六、部分核心代码

6.1登录系统主要代码 

/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );
		return R.ok().put("token", token);
	}

6.2上传文件关键代码

@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		/**
  		 * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
   		 * 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
 		 * 并且项目路径不能存在中文、空格等特殊字符
 		 */
//		FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}

http://www.niftyadmin.cn/n/28663.html

相关文章

C语言基础 — ( 用户自己建立数据类型——结构体、共用体、枚举、声明新类型名)

欢迎小伙伴的点评✨✨ 本篇章系列是对C语言的深度思考和总结、关于C语言内容会持续更新 文章目录前言一、C语言的结构体1.1、定义和使用结构体变量1.1.1、自己建立结构体类型1.1.2、定义结构体类型变量1.1.3、结构体变量的初始化和引用1.2、使用结构体数组1.2.1、定义结构体数组…

【数学建模】华为杯研究生数学建模备赛的一些建议

文章目录前言一、建模题目介绍1.1、题目数量1.2、题目种类1.3、题目难度1.4、题目选择二、笔者的备赛过程2.1.简单的题目&#xff08;本科比赛&#xff0c;学科大作业&#xff09;2.2.真题三、编程的备赛建议3.1.matlab和python的基础语法3.2.数据预处理3.3.常用的机器学习算法…

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

0 背景 本文基于Ambari集群搭建最新版本的海豚调度dolphinscheduler-3.1.3版本&#xff0c;后续会尝试整合到Ambari中。 1 安装准备 安装dolphinscheduler需要在环境中安装如下依赖 ① JDK8 下载JDK (1.8)&#xff0c;安装并配置 JAVA_HOME 环境变量&#xff0c;并将其下的 …

yolo v8 解决了 v5 的问题嘛?

文章大纲 yolo v8 简介网络结构yolo v8 准确率的提升yolo v8 的速度提升参考文献与学习路径yolo v8 简介 官网: https://ultralytics.com/yolov8https://github.com/triple-Mu/YOLOv8-TensorRT详细介绍: https://learnopencv.com/ultralytics-yolov8/网络结构 yolo v8 准确率…

Java三目运算符导致 NPE

在三目运算符中&#xff0c;表达式 1 和 2 在涉及算术计算或数据类型转换时&#xff0c;会触发自动拆箱。当其中的操作数为 null 值时&#xff0c;会导致 NPE 。 一、基础知识 三目运算符 三目运算符是 Java 语言中的重要组成部分&#xff0c;它也是唯一有 3 个操作数的运算…

Java基础进阶

Stream流 引例 需求&#xff1a;按照下面要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 1. 把所有以“曹”开头的元素存储到新集合中 2. 把曹开头&#xff0c;长度为3的元素存储到新集合中 List<String> list List.of("曹操", "…

go语言学习笔记【一】

一、初入GO语言 我们先还是看看GO语言的hello world是怎么写的吧 package main import "fmt" func main() {fmt.Println("Hello world!") }第一行 &#xff1a;包声明&#xff0c;编写源文件时&#xff0c;必须在非注释的第一行指明这个文件属于哪个包…

kaggle竞赛 | Quora Insincere Question | 文本情感分析

目录赛题背景赛题评价指标数据集分析pytorch建模之前发布了一遍实战类的情感分析的文章&#xff0c;包括微博爬虫&#xff0c;数据分析&#xff0c;相关模型。 可以参考&#xff1a; https://blog.csdn.net/lijiamingccc/article/details/126963413 比赛链接&#xff1a; http…