项目技术:
系统使用技术:SpringBoot+Spring Data Jpa
前端技术:Ant Design、js、css
开发工具:idea/vscode
数据库:mysql5.7
项目介绍:
本系统是一个前后端分离的商城系统,适用于课题:前后端分离、商城、体育用品商城、手机商城、服饰商城等各类商城系统,含有详细的数据库设计文档,以及系统介绍,只需要替换商品信息及系统标题即可。系统采用springboot+vue整合开发,前端主要使用了Vue框架、Ant Design技术,项目后端主要使用了springboot等一系列框架,数据层采用Spring Data Jpa。
功能概述:
轮播图展示管理、商品分类展示管理、商品展示管理、商品搜索、推荐商品管理展示、订单管理、购物车管理、登录注册、商品评论展示、商品详情信息展示、商品介绍跑马灯。
文档详情:
部分功能展示:
系统登录:
系统前台首页
查看系统首页,显示不同分类,以及推荐商品
分类查看商品
根据分类查看商品
商品详情
查看商品详情
购物车
选中商品后可以将商品加入购物车
我的订单
可以查看个人订单信息,以及不同状态
评价
商品收货成功后,可以进行评价
个人中心
更新个人信息
后台-分类管理
维护分类信息
后台-商品管理
维护商品信息,可以添加商品
后台-订单管理
查看订单信息,可以进行发货操作
后台-轮播图管理
维护首页轮播图
部分代码:
后端代码,含注释:
/**
* 获取所有轮播图
*
* @param type 类型
* @return ResponseEntity
*/
@GetMapping("/carousels")
public ResponseEntity<?> getAll(@RequestParam(required = false, defaultValue = "-1") int type) {
return RestModel.ok(carouselService.getAll(type));
}
/**
* 添加走马灯
*
* @param loginUser 登录用户
* @param url URL
* @param link 链接
* @param type 类型
* @return ResponseEntity
*/
@PostMapping("/carousel")
public ResponseEntity<?> add(@MustAdminLogin LoginUser loginUser,
@RequestParam String url,
@RequestParam String link,
@RequestParam int type) {
return RestModel.created(carouselService.add(url, link, type));
}
/**
* 删除走马灯
*
* @param loginUser 登录用户
* @param id ID
* @return ResponseEntity
*/
@DeleteMapping("/carousel/{id}")
public ResponseEntity<?> del(@MustAdminLogin LoginUser loginUser,
@PathVariable String id) {
carouselService.del(id);
return RestModel.noContent();
}
前端代码:
<template>
<div>
<p>商品共计:{{pagination.totalElements}}
<a-button type="link" @click="$router.push('/admin/product_new').catch(error=>{})">新增商品</a-button>
</p>
<AdminProductItem v-for="item in data" :key="item.id" :id="item.id" :img="item.imgMain" :title="item.name"
:time="item.time" :price="item.price" :stock="item.stock" :type="item.commodityType"
:recommended="item.recommended" :productType="productType"
@change="handleSave" @del="handleDel" @btnClick="handleClick"/>
<div class="product-pagination">
<a-pagination showSizeChanger
@showSizeChange="onShowSizeChange"
@change="onPageChange"
:total="pagination.totalElements"
/>
</div>
<div>
<a-modal
title="轮播图和商品介绍"
:visible="modify.visible"
@ok="handleOk"
:confirmLoading="modify.confirmLoading"
@cancel="handleModalClose"
>
<div style="margin:12px 0">
<p>轮播图设置:</p>
<div style="margin-bottom: 12px" v-for="(item,index) in modify.imgSecondArray">
<a-input placeholder="轮播图片" style="width: 90%" v-model="modify.imgSecondArrayNew[index]"/>
<a-icon type="close" style="margin-left: 6px" @click="modify.imgSecondArrayNew.splice(index,1)"/>
</div>
<a-button type="primary" @click="handleAddInput">添加轮播图</a-button>
</div>
<div>
<p>商品介绍:</p>
<a-textarea v-model="modify.detail"/>
</div>
</a-modal>
</div>
</div>
</template>
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。