• 基于springboot+vue的商城系统(电商平台)(前后端分离)


    博主主页猫头鹰源码

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

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

    文末联系获取

    项目介绍: 

    本系统以商城为主题,采用前后端分离,项目代码工整,结构清晰,适合选题:各类商城系统、前后端分离类其他商城系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。

    项目功能:

    系统包含技术:

    后端:springboot,mybatis
    前端:element-ui、js、css等
    开发工具:idea/vscode
    数据库:mysql 5.7
    JDK版本:jdk1.8

    部分截图说明:

    下面是首页

    登录页面

    搜索商品

     商品详情,可以查看介绍,评论

     购物车

    付款成功后进入我的订单

    收藏夹展示我的收藏内容

    个人中心

     后台首页

     后台管理员对用户管理

    管理员对商品管理

    管理员对轮播图管理

    管理员对角色管理

    部分代码截图:

    拦截器

    1. @Override
    2. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    3. String token = request.getHeader("token");
    4. if (StrUtil.isBlank(token)) {
    5. throw new CustomException("401", "未获取到token, 请重新登录");
    6. }
    7. String username;
    8. try {
    9. username = JWT.decode(token).getAudience().get(0);
    10. } catch (JWTDecodeException j) {
    11. throw new CustomException("401", "权限验证失败, 请重新登录");
    12. }
    13. User user = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getUsername, username));
    14. if (user == null) {
    15. throw new CustomException("401", "用户不存在, 请重新登录");
    16. }
    17. // 验证 token
    18. JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(user.getPassword())).build();
    19. try {
    20. jwtVerifier.verify(token);
    21. } catch (JWTVerificationException e) {
    22. throw new CustomException("401", "token不合法, 请重新登录");
    23. }
    24. return true;
    25. }

     跨域

    1. // 当前跨域请求最大有效时长。这里默认1
    2. private static final long MAX_AGE = 24 * 60 * 60;
    3. private CorsConfiguration buildConfig() {
    4. CorsConfiguration corsConfiguration = new CorsConfiguration();
    5. corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址
    6. corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
    7. corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
    8. corsConfiguration.setMaxAge(MAX_AGE);
    9. return corsConfiguration;
    10. }
    11. @Bean
    12. public CorsFilter corsFilter() {
    13. UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    14. source.registerCorsConfiguration("/**", buildConfig()); // 4 对接口配置跨域设置
    15. return new CorsFilter(source);
    16. }

    商品操作

    1. /**
    2. * 推荐商品
    3. * @return
    4. */
    5. @GetMapping("/recommend")
    6. public Result<?> recommend() {
    7. List<Goods> list = goodsService.recommend();
    8. return Result.success(list);
    9. }
    10. /**
    11. * 推热销商品
    12. * @return
    13. */
    14. @GetMapping("/sales")
    15. public Result<?> sales() {
    16. List<Goods> list = goodsService.sales();
    17. return Result.success(list);
    18. }
    19. /**
    20. * 根据分类id查询商品
    21. * @param id
    22. * @param pageNum
    23. * @param pageSize
    24. * @return
    25. */
    26. @GetMapping("/byCategory/{id}")
    27. public Result<?> findByCategory(@PathVariable Long id,
    28. @RequestParam(required = false, defaultValue = "1") Integer pageNum,
    29. @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
    30. IPage<Goods> page = goodsService.pageByCategory(new Page<>(pageNum, pageSize), id);
    31. return Result.success(page);
    32. }

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

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

  • 相关阅读:
    Tensorflow、Pytorch和Ray(张量,计算图)
    Javaweb与Mybatis实现简单的用户注册登录
    乌鸦喝水之谜
    rk3588硬件构成-rock5b
    Hive中UDFJar包被加载的时机
    hive insert values 方式
    c++ 类的特殊成员函数:移动构造函数(五)
    【centos编译安装opentsdb,执行./build.sh时报错无法下载jar包】
    【软考软件评测师】第八章节 软件工程之模块化设计
    web大作业 静态网页 HTML+CSS+JavaScript橙色的时尚服装购物商城
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/126676828