• Golang期末作业之电子商城(源码)


    作品介绍

    1.网页作品简介方面 :主要有:首页 商品详情 购物车 订单  评价 支付 总共 5个页面

    2.作品使用的技术:这个作品基于Golang语言,并且结合一些前端的知识,例如:HTML、CSS、JS、AJAX等等知识点,同时连接数据库的,实现一个简单的电子商场项目。代码水平也就是简单的学生水平,希望有大佬可以帮忙提出改进的建议。

    设计说明

    1.首页

    首页的内容包括页眉、欢迎横幅、轮播图、主义内容区。

    • 页眉部分 (

      )

      • 包含导航和搜索表单,用于用户导航和搜索功能。
    • 欢迎横幅 (

      )

      • 一个简单的欢迎消息,通常用于引导用户注意力。
    • 轮播图 (

    • 主要内容区 (

      )

      • 推荐商品标题 (
      • 商品列表容器 (
          )

      2.商品详情

      商品详情的页面也有导航栏,同时当用户点击某一件商品的时候,会跳转到对应的商品详情页

      • 页眉部分 (

        )

        • 包含一个导航栏,用于用户导航至不同的页面。
      • 商品详情列表 (
          )

        3.购物车

        • 主体内容 ()

          • 页眉部分 (

            )

            • 包含一个导航栏,用于用户导航至不同的页面。
          • 页面主标题 (

            购物车

            )

            • 显示页面的主标题为“购物车”。
          • 生成订单按钮 ()

            • 提供一个按钮,可能用于触发生成用户购物车中商品的订单操作。
          • 商品列表 (

            )

            • 用表格形式展示用户已选购的商品信息。

            4.订单

            购物车页面相似,同时利用时间戳来生成订单时间

            5.评价

            与购物车页面相似,利用一些前端的知识来实现评价功能

            6.支付

            与购物车页面相似,简单输出支付的金额

            效果展示

            首页

            商品详情

            购物车

            生成订单

            评价

            支付

            数据库展示

            代码演示

            首页

            1. html>
            2. <html lang="en">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>商品列表title>
            7. <link rel="stylesheet" href="/Static/styles/index.css">
            8. <script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
            9. <script src="Static/js/index.js">script>
            10. head>
            11. <body>
            12. <header>
            13. <nav>
            14. <ul>
            15. <li><a href="/">首页a>li>
            16. <li><a href="/showCart">购物车a>li>
            17. <li><a href="/order">订单a>li>
            18. <li><a href="/showComment">评价a>li>
            19. <li><a href="/payment">支付a>li>
            20. ul>
            21. <form class="search-form" action="/search" method="get">
            22. <input type="text" name="query" placeholder="搜索商品...">
            23. <button type="submit">搜索button>
            24. form>
            25. nav>
            26. header>
            27. <div class="welcome-banner">
            28. <h2>欢迎来到我的商店h2>
            29. div>
            30. <div class="carousel">
            31. <img src="Static/images/1.png" alt=" 商品图片1" class="active">
            32. <img src="Static/images/2.png" alt="商品图片2">
            33. <img src="Static/images/3.png" alt="商品图片3">
            34. <div class="controls">
            35. <span class="control-prev"><span>
            36. <span class="control-next">>span>
            37. div>
            38. div>
            39. <main>
            40. <h2 class="recommended-title">推荐商品h2>
            41. <ul class="goods-list">
            42. {{range .}}
            43. <li>
            44. <a href="/goods?id={{ .GoodId }}">
            45. <img src="{{.ImageUrl}}" alt="{{.GoodName}}" style="width:100px;height:auto;">
            46. <h2>{{.GoodName}}h2>
            47. <p class="price">价格: {{.Price}}p>
            48. <p>库存: {{.Inventory}}p>
            49. <p>描述: {{.Description}}p>
            50. a>
            51. li>
            52. {{end}}
            53. ul>
            54. main>
            55. body>
            56. html>

            1. /* 轮播图样式 */
            2. .carousel {
            3. position: relative;
            4. width: 100%;
            5. max-width: 100%; /* 容器宽度占满整个屏幕 */
            6. margin: 20px auto; /* 居中显示 */
            7. overflow: hidden;
            8. }
            9. .carousel img {
            10. width: 100%; /* 图片宽度填充整个轮播图容器 */
            11. height: auto; /* 高度自适应 */
            12. display: none;
            13. }
            14. .carousel img.active {
            15. display: block;
            16. }
            17. .carousel .controls {
            18. position: absolute;
            19. top: 50%;
            20. width: 100%;
            21. display: flex;
            22. justify-content: space-between;
            23. transform: translateY(-50%);
            24. }
            25. .carousel .control-prev, .carousel .control-next {
            26. background-color: rgba(0, 0, 0, 0.5);
            27. color: white;
            28. padding: 5px 10px;
            29. cursor: pointer;
            30. }
            31. body {
            32. font-family: Arial, sans-serif;
            33. margin: 0;
            34. padding: 0;
            35. }
            36. header {
            37. background-color: #333;
            38. color: white;
            39. padding: 10px 0;
            40. }
            41. header nav ul {
            42. list-style-type: none;
            43. padding: 0;
            44. margin: 0;
            45. display: flex;
            46. justify-content: center;
            47. }
            48. header nav ul li {
            49. margin: 0 15px;
            50. }
            51. header nav ul li a {
            52. color: white;
            53. text-decoration: none;
            54. font-weight: bold;
            55. }
            56. /* 在index.css中添加 */
            57. .search-form {
            58. display: inline-block;
            59. margin-left: 20px;
            60. }
            61. .search-form input {
            62. padding: 5px;
            63. font-size: 14px;
            64. }
            65. .search-form button {
            66. padding: 5px 10px;
            67. font-size: 14px;
            68. background-color: #007BFF;
            69. color: white;
            70. border: none;
            71. cursor: pointer;
            72. }
            73. .welcome-banner {
            74. background-color: #f0f8ff; /* 浅蓝色背景 */
            75. color: #333; /* 深色文本 */
            76. text-align: center; /* 文本居中 */
            77. padding: 50px 20px; /* 内边距 */
            78. margin: 20px auto; /* 居中 */
            79. border-radius: 10px; /* 圆角 */
            80. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影效果 */
            81. }
            82. .welcome-banner h2 {
            83. margin: 0;
            84. font-size: 2em;
            85. }
            86. /* 其他样式 */
            87. .goods-list {
            88. list-style-type: none;
            89. padding: 0;
            90. display: flex;
            91. flex-wrap: wrap;
            92. justify-content: space-around;
            93. }
            94. .goods-list li {
            95. background-color: #fff;
            96. border: 1px solid #ddd;
            97. border-radius: 5px;
            98. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            99. margin: 10px;
            100. padding: 15px;
            101. width: calc(33% - 40px);
            102. box-sizing: border-box;
            103. }
            104. .goods-list li img {
            105. max-width: 100%;
            106. height: auto;
            107. }
            108. .goods-list li h2 {
            109. font-size: 1.5em;
            110. margin: 10px 0;
            111. }
            112. .goods-list li .price {
            113. color: #e91e63; /* 粉红色价格 */
            114. font-weight: bold;
            115. }
            116. .goods-list li p {
            117. margin: 5px 0;
            118. }
            119. .recommended-title {
            120. text-align: center; /* 标题居中 */
            121. color: red; /* 标题颜色变红 */
            122. }

            商品详情

            1. html>
            2. <html lang="en">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>商品详情title>
            7. <link rel="stylesheet" href="/Static/styles/goods.css">
            8. <script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
            9. <script src="Static/js/goods.js">script>
            10. head>
            11. <body>
            12. <header>
            13. <nav>
            14. <ul>
            15. <li><a href="/">首页a>li>
            16. <li><a href="/showCart">购物车a>li>
            17. <li><a href="/order">订单a>li>
            18. <li><a href="/showComment">评价a>li>
            19. <li><a href="/payment">支付a>li>
            20. ul>
            21. nav>
            22. header>
            23. <main>
            24. <ul class="goods-detail">
            25. <h1>{{.GoodName}}h1>
            26. <img src="{{.ImageUrl}}" alt="{{.GoodName}}" style="width:300px;height:auto;">
            27. <p class="price">价格: {{.Price}}p>
            28. <p>库存: {{.Inventory}}p>
            29. <p>描述: {{.Description}}p>
            30. <button class="add-to-cart" data-goods-id="{{.GoodId}}">加入购物车button>
            31. ul>
            32. main>
            33. body>
            34. html>

            1. /* 导航栏样式 */
            2. header nav {
            3. background-color: #333;
            4. padding: 10px 0;
            5. }
            6. header nav ul {
            7. list-style: none;
            8. margin: 0;
            9. padding: 0;
            10. display: flex;
            11. justify-content: space-around;
            12. align-items: center;
            13. }
            14. header nav ul li a {
            15. color: #fff;
            16. text-decoration: none;
            17. padding: 10px 15px;
            18. display: block;
            19. transition: background-color 0.3s ease;
            20. }
            21. header nav ul li a:hover {
            22. background-color: #555;
            23. }
            24. /* 设置 main 的宽度、边距等 */
            25. main {
            26. width: 100%; /* 或者你想要的宽度 */
            27. margin: 20px auto; /* 上下外边距为20px,左右自动居中 */
            28. padding: 20px; /* 内边距 */
            29. box-sizing: border-box; /* 使得padding不影响元素的宽度 */
            30. display: flex; /* 设置为 flex 容器 */
            31. justify-content: center; /* 水平居中 */
            32. align-items: center; /* 垂直居中(如果 main 只有一个子元素的话) */
            33. /* 注意:如果 main 中有多个子元素,你可能需要调整这些属性或移除它们 */
            34. }
            35. /* 假设 goods-detail 现在是 li 的父元素 */
            36. .goods-list { /* 可能你需要将 goods-detail 改为一个更有意义的类名,如 goods-list */
            37. display: flex; /* 设置为 flex 容器 */
            38. flex-direction: column; /* 子项垂直排列 */
            39. align-items: center; /* 子项在交叉轴上居中(对于列布局来说,就是水平居中) */
            40. text-align: center; /* 文本内容居中 */
            41. max-width: 800px; /* 假设你希望商品详情有一个最大宽度 */
            42. margin: 0 auto; /* 左右外边距自动,以在水平方向上居中 */
            43. }
            44. /* 设置 goods-detail 的样式(现在作为 li 的样式) */
            45. .goods-list li { /* 假设每个商品详情项是一个 li 元素 */
            46. list-style-type: none; /* 移除默认的列表样式 */
            47. margin-bottom: 20px; /* 每个商品详情项之间的间距 */
            48. }
            49. /* 其他样式保持不变 */
            50. /* ... */
            51. /* 设置加入购物车按钮的样式 */
            52. .goods-detail .add-to-cart {
            53. display: inline-block; /* 内联块级元素 */
            54. padding: 10px 20px; /* 内边距 */
            55. background-color: #4CAF50; /* 背景色 */
            56. color: white; /* 文字颜色 */
            57. border: none; /* 无边框 */
            58. border-radius: 4px; /* 边框圆角 */
            59. cursor: pointer; /* 鼠标悬停时变为小手形状 */
            60. text-decoration: none; /* 去除下划线 */
            61. transition: background-color 0.3s ease; /* 背景色过渡效果 */
            62. }
            63. /* 按钮点击效果 */
            64. .goods-detail .add-to-cart:hover {
            65. background-color: #45a049; /* 鼠标悬停时的背景色 */
            66. }

            购物车

            1. html>
            2. <html lang="en">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>购物车title>
            7. <link rel="stylesheet" href="/Static/styles/carts.css">
            8. <script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
            9. <script src="Static/js/carts.js">script>
            10. head>
            11. <body>
            12. <header>
            13. <nav>
            14. <ul>
            15. <li><a href="/">首页a>li>
            16. <li><a href="/showCart">购物车a>li>
            17. <li><a href="/order">订单a>li>
            18. <li><a href="/showComment">评价a>li>
            19. <li><a href="/payment">支付a>li>
            20. ul>
            21. nav>
            22. header>
            23. <h1>购物车h1>
            24. <button id="generateOrder">生成订单button>
            25. <table>
            26. <tr>
            27. <th>商品IDth>
            28. <th>商品名称th>
            29. <th>图片th>
            30. <th>数量th>
            31. <th>操作th>
            32. tr>
            33. {{range $key, $value := .}}
            34. <tr>
            35. <td>{{$value.GoodId}}td>
            36. <td>{{$value.GoodName}}td>
            37. <td><img src="{{$value.ImageUrl}}" alt="{{$value.GoodName}}" width="100">td>
            38. <td>{{$value.Quantity}}td>
            39. <td><button class="delete-item" data-goods-id="{{$value.GoodId}}">删除button>td>
            40. tr>
            41. {{end}}
            42. table>
            43. body>
            44. html>

            订单

            1. html>
            2. <html lang="en">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>订单title>
            7. <link rel="stylesheet" href="/Static/styles/order.css">
            8. <script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
            9. <script src="Static/js/order.js">script>
            10. head>
            11. <body>
            12. <header>
            13. <nav>
            14. <ul>
            15. <li><a href="/">首页a>li>
            16. <li><a href="/showCart">购物车a>li>
            17. <li><a href="/order">订单a>li>
            18. <li><a href="/showComment">评价a>li>
            19. <li><a href="/payment">支付a>li>
            20. ul>
            21. nav>
            22. header>
            23. <div class="container">
            24. <h1>订单详情h1>
            25. <table>
            26. <thead>
            27. <tr>
            28. <th>订单IDth>
            29. <th>商品名称th>
            30. <th>数量th>
            31. <th>单价th>
            32. <th>总价th>
            33. <th>订单时间th>
            34. tr>
            35. thead>
            36. <tbody>
            37. {{ range $index, $order := . }}
            38. <tr>
            39. <td>{{ $order.OrderId }}td>
            40. <td>{{ $order.GoodName }}td>
            41. <td>{{ $order.Quantity }}td>
            42. <td>{{ $order.Price }}td>
            43. <td class="total-price">{{ $order.TotalPrice }}td>
            44. <td>{{ $order.OrderTime }}td>
            45. tr>
            46. {{ end }}
            47. tbody>
            48. table>
            49. <div class="payment-section">
            50. <label for="payment-method">选择支付方式:label>
            51. <select id="payment-method" name="payment-method">
            52. <option value="weChat">微信option>
            53. <option value="alipay">支付宝option>
            54. <option value="bankCardPayment">银行卡option>
            55. select>
            56. div>
            57. <button id="checkout">结算button>
            58. div>
            59. body>
            60. html>

            评价

            1. html>
            2. <html lang="zh">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>商品详情title>
            7. <link rel="stylesheet" href="/Static/styles/comment.css">
            8. <script src="https://code.jquery.com/jquery-3.6.0.min.js">script>
            9. <script src="Static/js/comment.js">script>
            10. head>
            11. <body>
            12. <nav>
            13. <ul>
            14. <li><a href="/">首页a>li>
            15. <li><a href="/showCart">购物车a>li>
            16. <li><a href="/order">订单a>li>
            17. <li><a href="/showComment">评价a>li>
            18. <li><a href="/payment">支付a>li>
            19. ul>
            20. nav>
            21. <div class="container">
            22. <h1>商品评价h1>
            23. <div class="goods">
            24. {{range .}}
            25. <div class="good">
            26. <img src="{{.ImageUrl}}" alt="{{.GoodName}}">
            27. <h2>{{.GoodName}}h2>
            28. <p>{{.Description}}p>
            29. <div class="review-form">
            30. <h3>发表评价h3>
            31. <form class="reviewForm" data-product-id="{{.GoodId}}">
            32. <input type="hidden" class="productId" value="{{.GoodId}}">
            33. <textarea class="reviewContent" placeholder="请输入您的评价">textarea>
            34. <button type="submit">提交评价button>
            35. form>
            36. div>
            37. div>
            38. {{end}}
            39. div>
            40. div>
            41. body>
            42. html>

            支付

            1. html>
            2. <html lang="en">
            3. <head>
            4. <meta charset="UTF-8">
            5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6. <title>支付成功页面title>
            7. <link rel="stylesheet" href="/Static/styles/pay.css">
            8. head>
            9. <body>
            10. <header>
            11. <nav>
            12. <ul>
            13. <li><a href="/">首页a>li>
            14. <li><a href="/showCart">购物车a>li>
            15. <li><a href="/order">订单a>li>
            16. <li><a href="/showComment">评价a>li>
            17. <li><a href="/payment">支付a>li>
            18. ul>
            19. nav>
            20. header>
            21. <div class="container">
            22. <h1>支付{{.Amount}}元成功h1>
            23. div>
            24. body>
            25. html>

            代码太多了,小郑就不展示完整代码了,这个电子商场的作业还不是很完善,小郑有时间的话会进行优化修改。

          • 相关阅读:
            Vim实用技巧_7.模式匹配和查找
            vue部署之后提示用户更新的两种方式(http请求和worker线程请求)
            BM58 字符串的排列
            第五节、常见的基础问题
            【数据库】openGauss3.1.0版本做了哪些优化
            RuntimeError: Error compiling objects for extension手把手带你解决(超详细)
            Docker安装Jenkins笔记
            昆仑芯 AI 加速卡 R200 与龙蜥操作系统完成产品兼容认证
            vue3基础语法
            SLAM中的二进制词袋生成过程和工作原理
          • 原文地址:https://blog.csdn.net/m0_74948742/article/details/140296815