Parcourir la source

数据展示修改

huangyan il y a 9 mois
Parent
commit
366da2a7c3

+ 0 - 12
controllers/admin/index.go

@@ -1,12 +0,0 @@
-package admin
-
-import beego "github.com/beego/beego/v2/server/web"
-
-type IndexController struct {
-	beego.Controller
-}
-
-func (i *IndexController) Get() {
-	i.Data["IsIndex"] = true
-	i.TplName = "admin/index.html"
-}

+ 0 - 85
controllers/admin/login.go

@@ -1,85 +0,0 @@
-package admin
-
-import (
-	"cc-officialweb/models"
-	"cc-officialweb/service"
-	"encoding/json"
-	"github.com/beego/beego/v2/adapter/validation"
-	beego "github.com/beego/beego/v2/server/web"
-	"github.com/go-playground/validator/v10"
-)
-
-type LoginController struct {
-	beego.Controller
-}
-type JSON struct {
-	Code int
-	Msg  string
-	Data any
-}
-type JSONS struct {
-	Total int
-	Data  any
-}
-
-func (l *LoginController) Get() {
-	l.TplName = "admin/login.html"
-}
-func (l *LoginController) Post() {
-	var user models.User
-	// 获取POST参数
-	username := l.GetString("username")
-	password := l.GetString("password")
-	// 进行验证和登录检查
-	valid := validation.Validation{}
-	valid.Required(username, "username").Message("用户名不能为空")
-	valid.Required(password, "password").Message("密码不能为空")
-	user.Username = username
-	user.Password = password
-	if valid.HasErrors() {
-		for _, err := range valid.Errors {
-			l.Data["error"] = err.Message
-			break
-		}
-	} else {
-		token := service.Login(user)
-		if token != "" {
-			l.Ctx.SetCookie("token", token, 3600*24*7, "/", "", false, true)
-			l.Redirect("/admin/index", 302)
-		} else {
-			l.Data["error"] = "用户名或密码错误"
-		}
-	}
-	l.TplName = "admin/login.html"
-}
-
-// Login 登录接口
-func (l *LoginController) Login() {
-	var user models.User
-	// 获取POST参数
-	err := json.Unmarshal(l.Ctx.Input.RequestBody, &user)
-	if err != nil {
-		l.Data["json"] = &JSON{Code: 103, Msg: "json格式错误"}
-		l.ServeJSON()
-		return
-	}
-	// 进行验证和登录检查
-	validate := validator.New()
-	unva := validate.Var(user.Username, "required")
-	pwdva := validate.Var(user.Password, "required")
-	if unva != nil || pwdva != nil {
-		l.Data["json"] = &JSON{Code: 103, Msg: "用户名密码不能为空"}
-		l.ServeJSON()
-		return
-	} else {
-		token := service.Login(user)
-		if token != "" {
-			l.Data["json"] = &JSON{Code: 200, Msg: "登录成功", Data: token}
-			l.ServeJSON()
-		} else {
-			l.Data["json"] = &JSON{Code: 103, Msg: "用户名密码错误"}
-			l.ServeJSON()
-			return
-		}
-	}
-}

+ 31 - 4
controllers/dataModel.go

@@ -29,16 +29,43 @@ func (d *DataModelController) GetData() {
 
 // GetDatas 获取数据
 func (d *DataModelController) GetDatas() {
-	data, err := service.GetData()
+	var page unity.PageParams
+	err := json.Unmarshal(d.Ctx.Input.RequestBody, &page)
 	if err != nil {
-		d.Data["json"] = JSON{Code: 103, Msg: "获取失败", Data: ""}
+		d.Data["json"] = &JSON{Code: 101, Msg: "参数错误"}
+		d.ServeJSON()
+		return
+	}
+	result, total, current, err := unity.Paginate(page, models.Data{})
+	if err != nil {
+		d.Data["json"] = &JSON{Code: 101, Msg: "查询失败"}
 		d.ServeJSON()
 		return
 	} else {
-		d.Data["json"] = JSON{Code: 200, Msg: "获取成功", Data: data}
+		d.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: &JSONS{
+			Current: current,
+			Size:    total,
+			Data:    result,
+		}}
 		d.ServeJSON()
+		return
 	}
 }
+
+// GetDataType 获得数据类型
+func (d *DataModelController) GetDataType() {
+	data, err := service.GetDataType()
+	if err == nil {
+		d.Data["json"] = &JSON{Code: 200, Msg: "查询成功", Data: data}
+		d.ServeJSON()
+	} else {
+		d.Data["json"] = &JSON{Code: 101, Msg: "查询失败"}
+		d.ServeJSON()
+		return
+	}
+}
+
+// GetDatasByType 获取数据类型
 func (d *DataModelController) GetDatasByType() {
 	types := d.GetString("types")
 	err2 := validator.New().Var(types, "required")
@@ -180,7 +207,7 @@ func (d *DataModelController) DeleteDataModel() {
 		d.ServeJSON()
 	}
 	atoi, _ := strconv.Atoi(getString)
-	id, err := unity.DeleteById(atoi, models.DataMOdel{})
+	id, err := unity.DeleteById(atoi, models.Data{})
 	if err != nil {
 		d.Data["json"] = JSON{Code: 104, Msg: "删除失败", Data: ""}
 		d.ServeJSON()

+ 10 - 1
controllers/index.go

@@ -32,7 +32,16 @@ func (c *MainController) Get() {
 	products := service.GetIndexProductServe("product")
 	serve := service.GetIndexProductServe("serve")
 	//数据大屏展示
-	data, err := service.GetDataModel()
+	//    data, err := service.GetData()
+	data, err := service.GetDataByType("覆盖区域")
+	data2, err := service.GetDataByType("覆盖领域")
+	data3, err := service.GetDataByType("监测对象")
+	data4, err := service.GetDataByType("冷链验证")
+	data5, err := service.GetDataByType("探头校准")
+	data = append(data, data2...)
+	data = append(data, data3...)
+	data = append(data, data4...)
+	data = append(data, data5...)
 	if err == nil {
 		c.Data["Datas"] = data
 	} else {

+ 1 - 1
controllers/product.go

@@ -25,7 +25,7 @@ func (s *ProductController) Get() {
 		success = append(success, v.Url)
 	}
 	//数据大屏展示
-	data, err := service.GetDataModel()
+	data, err := service.GetDataByType("管理效率")
 	if err == nil {
 		s.Data["Datas"] = data
 	} else {

+ 2 - 2
controllers/uploadFile.go

@@ -103,7 +103,7 @@ func (up *UploadFileController) DeleteResourceById() {
 	}
 }
 
-// GetResource 获取所有图片
+// GetResource 获取所有资源
 func (up *UploadFileController) GetResource() {
 	var page unity.PageParams
 	err := json.Unmarshal(up.Ctx.Input.RequestBody, &page)
@@ -112,7 +112,7 @@ func (up *UploadFileController) GetResource() {
 		up.ServeJSON()
 		return
 	}
-	result, total, current, err := unity.Paginate(page, models.Resource{})
+	result, total, current, err := unity.Paginate(page, models.FileResource{})
 	if err != nil {
 		up.Data["json"] = &JSON{Code: 101, Msg: "查询失败"}
 		up.ServeJSON()

+ 20 - 0
middleware/loginmiddleware.go

@@ -0,0 +1,20 @@
+package middleware
+
+import (
+	"github.com/beego/beego/v2/server/web/context"
+)
+
+func MyMiddleware(ctx *context.Context, next func()) {
+	// 在此处处理请求头,例如检查或修改请求头
+	// 示例:添加一个自定义请求头
+	ctx.ResponseWriter.Header().Set("X-My-Custom-Header", "Custom Value")
+
+	// 调用next()来执行后续的处理逻辑,通常是控制器逻辑
+	next()
+
+	// 在此处处理响应头,例如根据响应情况修改响应头
+	// 示例:根据请求结果修改响应头
+	if ctx.ResponseWriter.Status == 200 {
+		ctx.ResponseWriter.Header().Set("X-Success", "true")
+	}
+}

+ 2 - 8
routers/router.go

@@ -2,7 +2,6 @@ package routers
 
 import (
 	"cc-officialweb/controllers"
-	"cc-officialweb/controllers/admin"
 	beego "github.com/beego/beego/v2/server/web"
 )
 
@@ -31,11 +30,6 @@ func init() {
 	beego.Router("/api/news", &controllers.NewController{}, "delete:DeleteNewsById")
 	beego.Router("/api/news", &controllers.NewController{}, "put:UpdateNews")
 	beego.Router("/api/newstype", &controllers.NewController{}, "get:GetNewsType")
-
-	beego.Router("/admin", &admin.LoginController{})
-	beego.Router("/login", &admin.LoginController{})
-	beego.Router("/api/logon", &admin.LoginController{}, "post:Login")
-	beego.Router("/admin/index", &admin.IndexController{})
 	//资源管理
 	beego.Router("/api/upload", &controllers.UploadImageController{})
 	beego.Router("/api/updateResource", &controllers.UploadImageController{}, "put:UpdateResource")
@@ -69,14 +63,14 @@ func init() {
 	beego.Router("/api/data", &controllers.DataModelController{}, "delete:DeleteDataModel")
 	beego.Router("/api/data", &controllers.DataModelController{}, "post:AddDataModel")
 	//新数据展示
-	beego.Router("/api/datas", &controllers.DataModelController{}, "get:GetDatas")
+	beego.Router("/api/datasall", &controllers.DataModelController{}, "post:GetDatas")
 	beego.Router("/api/datas", &controllers.DataModelController{}, "put:UpdataData")
 	beego.Router("/api/datas", &controllers.DataModelController{}, "delete:DeleteDataById")
 	beego.Router("/api/datas", &controllers.DataModelController{}, "post:AddData")
 	beego.Router("/api/datastype", &controllers.DataModelController{}, "get:GetDatasByType")
+	beego.Router("/api/getdatatype", &controllers.DataModelController{}, "get:GetDataType")
 	//联系我们
 	beego.Router("/api/contact", &controllers.ContactController{}, "post:AddContact")
 	beego.Router("/api/contact", &controllers.ContactController{}, "delete:DeleteContactById")
 	beego.Router("/api/contactall", &controllers.ContactController{}, "post:GetAllContact")
-
 }

+ 7 - 0
service/dataModel.go

@@ -13,6 +13,13 @@ func GetDataModel() (data models.DataMOdel, error error) {
 	}
 	return data, error
 }
+func GetDataType() (types []string, error error) {
+	tx := utils.DB.Select("types").Group("types").Table("data").Find(&types)
+	if tx.RowsAffected > 0 {
+		return types, nil
+	}
+	return types, error
+}
 
 // GetDataByType 根据类型获得数据
 func GetDataByType(types string) (data []models.Data, error error) {

+ 56 - 1
static/css/style.css

@@ -1492,7 +1492,62 @@ p.help-block li {
   margin: 10px;
   vertical-align: middle; /* 避免与其他元素底部对齐的问题 */
 }
-.image-container{
+.image-container {
   display: flex;
   align-content: center;
+}
+/* 添加到你的CSS文件或<style>标签内 */
+.card {
+  border-radius: 10px;
+  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.card-body {
+  background: linear-gradient(to right, #00BFFF, #0077B3);
+  color: white;
+  padding: 20px;
+  border-radius: inherit;
+  transition: transform 0.3s ease; /* 添加过渡效果以便平滑浮动 */
+}
+
+.count-up {
+  display: inline-block;
+  font-size: 2rem;
+  font-weight: bold;
+  position: relative;
+}
+/* 鼠标悬停时的浮动效果 */
+.card:hover .card-body {
+  transform: translateY(-10px); /* 向上浮动10像素 */
+  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); /* 可选:增加阴影来增强浮动效果 */
+}
+/* 翻转数字动画的基础样式 */
+.flip-card-front, .flip-card-back {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  backface-visibility: hidden;
+}
+
+.flip-card-front {
+  transform: rotateY(0deg);
+  animation: flipIn 1s ease-in-out both;
+}
+
+.flip-card-back {
+  transform: rotateY(180deg);
+}
+
+@keyframes flipIn {
+  from {
+    transform: rotateY(180deg);
+  }
+  to {
+    transform: rotateY(0deg);
+  }
+}
+.custom-unaffected-card-body {
+  color: white; /* 或指定你需要的颜色,如果需要的话 */
+  font-size: 16px; /* 保持或调整为你希望的字体大小 */
+  /* 添加任何其他需要覆盖或设置的样式属性 */
 }

+ 28 - 25
views/contact.html

@@ -12,7 +12,7 @@
     <link href="../static/img/favicon.png" rel="icon">
     <link href="../static/img/apple-touch-icon.png" rel="apple-touch-icon">
     <link href="/static/layui/css/layui.css" rel="stylesheet">
-
+    
     <!--字体 -->
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700"
           rel="stylesheet">
@@ -185,11 +185,14 @@ Footer
     <script src="../static/js/main.js"></script>
     <script src="/static/layui/layui.js"></script>
     <script>
-      layui.use(['form'], function(){
+      layui.use(['form'], function () {
         var $ = layui.jquery;
         var form = layui.form;
         // 监听表单提交事件
-        form.on('submit(formSubmit)', function(data){
+        form.on('submit(formSubmit)', function (data) {
+
+
+
           // 阻止表单默认提交行为
           event.preventDefault();
           // 获取表单数据
@@ -203,29 +206,29 @@ Footer
           }
           // 模拟异步提交
           $.ajax({
-            url: "/api/contact", // 你的API地址
-            type: "POST",
-            data: {
-              name: name,
-              phone: phone,
-              message: message
-            },
-            success: function(response) {
-              if (response.Code === 200) {
-                layer.msg('提交成功', { icon: 1 });
-                // 提交成功后的操作,例如清空表单
-                form.reset("#contactForm");
-              } else {
-                layer.alert(response.message);
+              url: "/api/contact",  // 你的API地址
+              type: "POST",
+                data: {
+                name: name,
+                  phone: phone,
+                  message: message
+              },
+              success: function(response) {
+                if (response.Code === 200) {
+                  layer.msg('提交成功', { icon: 1 });
+                  // 提交成功后的操作,例如清空表单
+                  form.reset("#contactForm");
+                } else {
+                  layer.alert(response.message);
+                }
+              },
+              error: function() {
+                layer.alert('提交失败,请稍后重试');
               }
-            },
-            error: function() {
-              layer.alert('提交失败,请稍后重试');
-            }
-          });
-          return false; // 阻止表单再次提交
-        });
-      });
+              });
+              return false; // 阻止表单再次提交
+              });
+              });
 
     </script>
   </body>

+ 246 - 538
views/index.html

@@ -1,588 +1,296 @@
 <!DOCTYPE html>
 <html lang="en">
-<head>
-    <meta charset="utf-8">
-    <title>宝智达冷链官网</title>
-    <meta content="width=device-width, initial-scale=1.0" name="viewport">
-    <meta content="" name="keywords">
-    <meta content="" name="description">
-    <meta content="Author" name="WebThemez">
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
-    <!-- Favicons -->
-    <link href="../static/img/favicon.png" rel="icon">
-    <link href="../static/img/apple-touch-icon.png" rel="apple-touch-icon">
-    <link href="/static/layui/css/layui.css" rel="stylesheet">
-    <!--字体 -->
-    <link
+    <head>
+        <meta charset="utf-8">
+        <title>宝智达冷链官网</title>
+        <meta content="width=device-width, initial-scale=1.0" name="viewport">
+        <meta content="" name="keywords">
+        <meta content="" name="description">
+        <meta content="Author" name="WebThemez">
+        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
+        <!-- Favicons -->
+        <link href="../static/img/favicon.png" rel="icon">
+        <link href="../static/img/apple-touch-icon.png" rel="apple-touch-icon">
+        <link href="/static/layui/css/layui.css" rel="stylesheet">
+        <!--字体 -->
+        <link
             href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700"
             rel="stylesheet">
 
-    <!-- Bootstrap CSS File -->
-    <link href="../static/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+        <!-- Bootstrap CSS File -->
+        <link href="../static/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 
 
-    <!-- Libraries CSS Files -->
-    <link href="../static/lib/font-awesome/css/font-awesome.min.css" rel="stylesheet">
-    <link href="../static/lib/animate/animate.min.css" rel="stylesheet">
-    <link href="../static/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
-    <link href="../static/lib/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet">
-    <link href="../static/lib/magnific-popup/magnific-popup.css" rel="stylesheet">
-    <link href="../static/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
+        <!-- Libraries CSS Files -->
+        <link href="../static/lib/font-awesome/css/font-awesome.min.css" rel="stylesheet">
+        <link href="../static/lib/animate/animate.min.css" rel="stylesheet">
+        <link href="../static/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
+        <link href="../static/lib/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet">
+        <link href="../static/lib/magnific-popup/magnific-popup.css" rel="stylesheet">
+        <link href="../static/lib/ionicons/css/ionicons.min.css" rel="stylesheet">
 
-    <!-- Main Stylesheet File -->
-    <link href="../static/css/style.css" rel="stylesheet">
-</head>
+        <!-- Main Stylesheet File -->
+        <link href="../static/css/style.css" rel="stylesheet">
+    </head>
 
-<body id="body">
+    <body id="body">
 
-<!--==========================
+        <!--==========================
 Header
-============================-->
-<header id="header">
-    <div class="container">
-        <div id="logo" class="pull-left">
-            <img src="../static/img/favicon.png" alt="Logo" class="logo-image"/>
-            <h1><a href="/" class="scrollto"><span>宝</span>智达冷链</a></h1>
-        </div>
-        <!-- 新增电话号码部分 -->
-        <!--<div id="phone-number" class="pull-right">-->
-        <!--    <i class="fa fa-phone-square" aria-hidden="true"></i> 电话: +86-123-4567-890-->
-        <!--</div>-->
-        <nav id="nav-menu-container">
-            <ul class="layui-nav layui-bg-gray">
-                <li class="layui-nav-item"><a href="/">首页</a></li>
-                <li class="layui-nav-item"><a href="/about">关于我们</a></li>
-                <li class="layui-nav-item">
-                    <a href="/news?types=industry">新闻</a>
-                    <dl class="layui-nav-child">
-                        <dd><a href="/news?types=firm">公司新闻</a></dd>
-                        <dd><a href="/news?types=industry">行业新闻</a></dd>
-                    </dl>
-                </li>
-                <li class="layui-nav-item"><a href="/services/1">服务介绍</a></li>
-                <li class="layui-nav-item">
-                    <a href="/product?ptype=hardware">产品介绍</a>
-                    <dl class="layui-nav-child">
-                        <dd><a href="/product?ptype=software">软件</a></dd>
-                        <dd><a href="/product?ptype=hardware">硬件</a></dd>
-                    </dl>
-                </li>
-                <li class="layui-nav-item"><a href="/recruit">全国代理招募</a></li>
-                <li class="layui-nav-item"><a href="/contact">联系我们</a></li>
-            </ul>
-        </nav>
-    </div>
-</header>
+        ============================-->
+        <header id="header">
+            <div class="container">
+                <div id="logo" class="pull-left">
+                    <img src="../static/img/favicon.png" alt="Logo" class="logo-image"/>
+                    <h1><a href="/" class="scrollto"><span>宝</span>智达冷链</a></h1>
+                </div>
+                <!-- 新增电话号码部分 -->
+                <!--<div id="phone-number" class="pull-right">-->
+                <!--    <i class="fa fa-phone-square" aria-hidden="true"></i> 电话: +86-123-4567-890-->
+                <!--</div>-->
+                <nav id="nav-menu-container">
+                    <ul class="layui-nav layui-bg-gray">
+                        <li class="layui-nav-item"><a href="/">首页</a></li>
+                        <li class="layui-nav-item"><a href="/about">关于我们</a></li>
+                        <li class="layui-nav-item">
+                            <a href="/news?types=industry">新闻</a>
+                            <dl class="layui-nav-child">
+                                <dd><a href="/news?types=firm">公司新闻</a></dd>
+                                <dd><a href="/news?types=industry">行业新闻</a></dd>
+                            </dl>
+                        </li>
+                        <li class="layui-nav-item"><a href="/services/1">服务介绍</a></li>
+                        <li class="layui-nav-item">
+                            <a href="/product?ptype=hardware">产品介绍</a>
+                            <dl class="layui-nav-child">
+                                <dd><a href="/product?ptype=software">软件</a></dd>
+                                <dd><a href="/product?ptype=hardware">硬件</a></dd>
+                            </dl>
+                        </li>
+                        <li class="layui-nav-item"><a href="/recruit">全国代理招募</a></li>
+                        <li class="layui-nav-item"><a href="/contact">联系我们</a></li>
+                    </ul>
+                </nav>
+            </div>
+        </header>
 
-<!--==========================
+        <!--==========================
 banner
-============================-->
-<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
-    <div class="carousel-inner">
-        {{range $index,$item:=.banner}}
-        <!--<div class="float-buttons">-->
-        <!--    <button class="btn btn-outline-primary btn-lg">校准</button>-->
-        <!--    <button class="btn btn-outline-info btn-lg">验证</button>-->
-        <!--</div>-->
-        <div class="carousel-item{{if eq $index 0}} active{{end}}">
-            <img src="{{$item}}" id="carousel-img-height" class="d-block w-100" alt="...">
-        </div>
-        {{end}}
-    </div>
-    <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators"
-            data-bs-slide="prev">
-        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
-        <span class="visually-hidden">Previous</span>
-    </button>
-    <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators"
-            data-bs-slide="next">
-        <span class="carousel-control-next-icon" aria-hidden="true"></span>
-        <span class="visually-hidden">Next</span>
-    </button>
-</div><!-- #intro -->
-
-<main id="main">
-    <div class="layui-carousel" id="ID-carousel-demo-2">
-        <div carousel-item class="parent">
-            <div class="innerdiv">
-                <div class="layui-container">
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md12">
-                            <h5 class="layui-carousel-title layui-text-center">覆盖区域</h5>
-                        </div>
-                    </div>
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md4">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">省区</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="provinces">0</div>
-                                </div>
-                            </div>
-                        </div>
-                        <div class="layui-col-md4">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">地州</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="prefecture">0</div>
-                                </div>
-                            </div>
-                        </div>
-                        <div class="layui-col-md4">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">县份</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="counties">0</div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+        ============================-->
+        <div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
+            <div class="carousel-inner">
+                {{range $index,$item:=.banner}}
+                <!--<div class="float-buttons">-->
+                <!--    <button class="btn btn-outline-primary btn-lg">校准</button>-->
+                <!--    <button class="btn btn-outline-info btn-lg">验证</button>-->
+                <!--</div>-->
+                <div class="carousel-item{{if eq $index 0}} active{{end}}">
+                    <img src="{{$item}}" id="carousel-img-height" class="d-block w-100" alt="...">
                 </div>
+                {{end}}
             </div>
-            <div>
-                <div>
-                    <div class="layui-container">
-                        <div class="layui-row layui-col-space15">
-                            <div class="layui-col-md12">
-                                <h5 class="layui-carousel-title layui-text-center">覆盖领域</h5>
-                            </div>
-                        </div>
-                        <div class="layui-row layui-col-space15">
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">医院</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="hospital">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">疾控中心</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="cdc">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">医药公司</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="pharmaceutical_companies">0
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">器械公司</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="device_companies">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">连锁药店</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="chain_pharmacies">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">门店数量</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="number_of_stores">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">冷链物流公司</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123"
-                                             id="cold_chain_logistics_company">0
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">药厂</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="pharmaceutical">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+            <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators"
+                    data-bs-slide="prev">
+                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+                <span class="visually-hidden">Previous</span>
+            </button>
+            <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators"
+                    data-bs-slide="next">
+                <span class="carousel-control-next-icon" aria-hidden="true"></span>
+                <span class="visually-hidden">Next</span>
+            </button>
+        </div><!-- #intro -->
+
+        <main id="main">
+            <div class="container">
+                <div class="section-header" style="margin-top: 20px;">
+                    <h2>宝智达-服务数量</h2>
                 </div>
-            </div>
-            <div>
-                <div>
-                    <div class="layui-container">
-                        <div class="layui-row layui-col-space15">
-                            <div class="layui-col-md12">
-                                <h5 class="layui-carousel-title layui-text-center">监测对象</h5>
-                            </div>
-                        </div>
-                        <div class="layui-row layui-col-space15">
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">冷藏车</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="refrigerated_trucks">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">保温箱</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="incubator">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">冷冻柜</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="freezer">0
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">冷藏柜</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="refrigerated_cabinets">0
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">阴凉柜</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="shaded_cabinet">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">冷库</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="cold_storage">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">阴凉库</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123"
-                                             id="shaded_storage">0
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">空 调</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="airpacing">0</div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="layui-col-md2">
-                                <div class="layui-card layadmin-card-demo">
-                                    <div class="layui-card-header">除湿机</div>
-                                    <div class="layui-card-body layui-padding">
-                                        <div class="layui-count-num" data-target="123" id="dehumidifiers">0</div>
-                                    </div>
+                <!-- 数据点列表开始 -->
+                <div class="row text-center">
+                    <!-- 在这里放置数据点 -->
+                    <div class="row text-center">
+                        {{range .Datas}}
+                        <div class="col-md-2 mb-5">
+                            <div class="card h-100">
+                                <div class="card-body">
+                                    <h5 class="card-title count-up" data-target="{{.Nums}}">0</h5>
+                                    <p class="card-text">{{.Title}}</p>
                                 </div>
                             </div>
                         </div>
+                        {{end}}
                     </div>
                 </div>
+                <!-- 数据点列表结束 -->
             </div>
-            <div>
-                <div class="layui-container">
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md12">
-                            <h5 class="layui-carousel-title layui-text-center">冷链验证</h5>
-                        </div>
+            <!--==========================
+服务介绍
+            ============================-->
+            <section id="features" class="features">
+                <div class="container" data-aos="fade-up">
+                    <div class="section-header" style="margin-top: 40px;">
+                        <h2>服务介绍</h2>
+                        <p>
+                            宝智达主要经营冷链温湿度监测平台、储运温湿度监测系统、温湿度监控设备及温湿度记录仪等系列产品、药品专用陈列柜、药品温度实时监测保温箱、冷链验证服务等均具有自主知识产权。</p>
                     </div>
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md4">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">验证方案数量</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="number_of_validation_scenarios">
-                                        0
-                                    </div>
-                                </div>
-                            </div>
+                    <div class="row">
+                        <div class="div1 col-6">
+                            {{range .Serves}}
+                            <h4><a href="services/{{.ID}}">{{.Title}}</a></h4>
+                            <p>{{.Synopsis}}</p>
+                            {{end}}
                         </div>
-                        <div class="layui-col-md4">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">验证报告数量</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="number_of_validation_reports">0
-                                    </div>
-                                </div>
-                            </div>
+                        <div class="div2 col-6 serverbg">
+                            <img src="/image/cclod.png" alt=""></img>
                         </div>
-                        <!-- 其他卡片重复代码... -->
+                        <button class="btn btn-outline-primary" style="margin-top: 40px;"
+                                onclick="location.href = '/services/1'">
+                            了解更多服务
+                        </button>
                     </div>
+
                 </div>
-            </div>
-            <div>
-                <div class="layui-container">
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md12">
-                            <h5 class="layui-carousel-title layui-text-center">探头校准</h5>
-                        </div>
+            </section><!-- End Features Section -->
+            <!--==========================
+服务&产品
+            ============================-->
+            <section id="services">
+                <div class="container">
+                    <div class="section-header">
+                        <h2>产品介绍</h2>
+                        <p>专业一流的硬件、软件工程师最新设计理念与实现</p>
                     </div>
-                    <div class="layui-row layui-col-space15">
-                        <div class="layui-col-md12">
-                            <div class="layui-card layadmin-card-demo">
-                                <div class="layui-card-header">探头数量</div>
-                                <div class="layui-card-body layui-padding">
-                                    <div class="layui-count-num" data-target="123" id="number_of_probes">
-                                        0
-                                    </div>
-                                </div>
+                    <div class="row">
+                        {{range .Products}}
+                        <div class="col-lg-4">
+                            <div class="box wow fadeInLeft">
+                                <div class="icon svgImg"><img src="{{.Url}}" alt=""></div>
+                                <h4 class="title"><a href="product/{{.ID}}">{{.Title}}</a></h4>
+                                <p class="description">{{.Synopsis}}</p>
                             </div>
                         </div>
-                        <!-- 其他卡片重复代码... -->
+                        {{end}}
+                        <button class="btn btn-outline-primary" onclick="location.href = 'product?ptype=hardware'">查看更多
+                        </button>
                     </div>
                 </div>
-            </div>
-        </div>
-    </div>
-    <!--==========================
-服务介绍
-    ============================-->
-    <section id="features" class="features">
-        <div class="container" data-aos="fade-up">
-            <div class="section-header" style="margin-top: 40px;">
-                <h2>服务介绍</h2>
-                <p>
-                    宝智达主要经营冷链温湿度监测平台、储运温湿度监测系统、温湿度监控设备及温湿度记录仪等系列产品、药品专用陈列柜、药品温度实时监测保温箱、冷链验证服务等均具有自主知识产权。</p>
-            </div>
-            <div class="row">
-                <div class="div1 col-6">
-                    {{range .Serves}}
-                    <h4><a href="services/{{.ID}}">{{.Title}}</a></h4>
-                    <p>{{.Synopsis}}</p>
-                    {{end}}
-                </div>
-                <div class="div2 col-6 serverbg">
-                    <img src="/img/cclod.png" alt=""></img>
-                </div>
-                <button class="btn btn-outline-primary" style="margin-top: 40px;"
-                        onclick="location.href = '/services/1'">
-                    了解更多服务
-                </button>
-            </div>
+            </section><!-- #services -->
 
-        </div>
-    </section><!-- End Features Section -->
-    <!--==========================
-服务&产品
-    ============================-->
-    <section id="services">
-        <div class="container">
-            <div class="section-header">
-                <h2>产品介绍</h2>
-                <p>专业一流的硬件、软件工程师最新设计理念与实现</p>
-            </div>
-            <div class="row">
-                {{range .Products}}
-                <div class="col-lg-4">
-                    <div class="box wow fadeInLeft">
-                        <div class="icon svgImg"><img src="{{.Url}}" alt=""></div>
-                        <h4 class="title"><a href="product/{{.ID}}">{{.Title}}</a></h4>
-                        <p class="description">{{.Synopsis}}</p>
+            <!--==========================
+成功案例
+            ============================-->
+            <section id="clients" class="wow fadeInUp">
+                <div class="container">
+                    <div class="section-header">
+                        <h2>部分合作案例</h2>
+                        <!--                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores quae porro consequatur aliquam,-->
+                        <!--                    incidunt fugiat culpa esse aute nulla. duis fugiat culpa esse aute nulla ipsum velit export irure-->
+                        <!--                    minim illum fore</p>-->
+                    </div>
+                    <div class="owl-carousel clients-carousel">
+                        {{range $index,$exam:=.example}}
+                        <img src="{{$exam}}" alt="..." style="max-width: 100%; height: auto">
+                        {{end}}
                     </div>
                 </div>
-                {{end}}
-                <button class="btn btn-outline-primary" onclick="location.href = 'product?ptype=hardware'">查看更多
-                </button>
-            </div>
-        </div>
-    </section><!-- #services -->
-
-    <!--==========================
-成功案例
-    ============================-->
-    <section id="clients" class="wow fadeInUp">
-        <div class="container">
-            <div class="section-header">
-                <h2>部分合作案例</h2>
-                <!--                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores quae porro consequatur aliquam,-->
-                <!--                    incidunt fugiat culpa esse aute nulla. duis fugiat culpa esse aute nulla ipsum velit export irure-->
-                <!--                    minim illum fore</p>-->
-            </div>
-            <div class="owl-carousel clients-carousel">
-                {{range $index,$exam:=.example}}
-                <img src="{{$exam}}" alt="..." style="max-width: 100%; height: auto">
-                {{end}}
-            </div>
-        </div>
-    </section><!-- #clients -->
-    <!--==========================
+            </section><!-- #clients -->
+            <!--==========================
 资质荣耀
-    ============================-->
-    <section id="testimonials" class="wow fadeInUp">
-        <div class="container">
-            <div class="section-header">
-                <h2>资质荣耀</h2>
-                <!--                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores quae porro consequatur aliquam,-->
-                <!--                    incidunt fugiat culpa esse aute nulla. duis fugiat culpa esse aute nulla ipsum velit export irure-->
-                <!--                    minim illum fore</p>-->
-            </div>
-            <div class="owl-carousel testimonials-carousel">
-                {{range $index,$honor:=.honor}}
-                <div class="testimonial-item">
-                    <img src="{{$honor}}" alt="..." style="max-width: 100%; height: auto">
-                </div>
-                {{end}}
-            </div>
+            ============================-->
+            <section id="testimonials" class="wow fadeInUp">
+                <div class="container">
+                    <div class="section-header">
+                        <h2>资质荣耀</h2>
+                        <!--                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores quae porro consequatur aliquam,-->
+                        <!--                    incidunt fugiat culpa esse aute nulla. duis fugiat culpa esse aute nulla ipsum velit export irure-->
+                        <!--                    minim illum fore</p>-->
+                    </div>
+                    <div class="owl-carousel testimonials-carousel">
+                        {{range $index,$honor:=.honor}}
+                        <div class="testimonial-item">
+                            <img src="{{$honor}}" alt="..." style="max-width: 100%; height: auto">
+                        </div>
+                        {{end}}
+                    </div>
 
-        </div>
-    </section><!-- #testimonials -->
+                </div>
+            </section><!-- #testimonials -->
 
-    <!--==========================
+            <!--==========================
 Call To Action Section
-    ============================-->
-    <section id="call-to-action" class="wow fadeInUp">
-        <div class="container">
-            <div class="row">
-                <div class="col-lg-9 text-center text-lg-left">
-                    <h3 class="cta-title">获取我们的服务</h3>
-                    <p class="cta-text">
-                        欢迎随时与我们联系!无论您有关于产品的问题,需要技术支持,或是想要探讨合作机会,我们的团队都乐意为您提供帮助</p>
-                </div>
-                <div class="col-lg-3 cta-btn-container text-center">
-                    <a class="cta-btn align-middle" href="/contact">联系我们</a>
-                </div>
-            </div>
+            ============================-->
+            <section id="call-to-action" class="wow fadeInUp">
+                <div class="container">
+                    <div class="row">
+                        <div class="col-lg-9 text-center text-lg-left">
+                            <h3 class="cta-title">获取我们的服务</h3>
+                            <p class="cta-text">
+                                欢迎随时与我们联系!无论您有关于产品的问题,需要技术支持,或是想要探讨合作机会,我们的团队都乐意为您提供帮助</p>
+                        </div>
+                        <div class="col-lg-3 cta-btn-container text-center">
+                            <a class="cta-btn align-middle" href="/contact">联系我们</a>
+                        </div>
+                    </div>
 
-        </div>
-    </section><!-- #call-to-action -->
+                </div>
+            </section><!-- #call-to-action -->
 
 
-</main>
+        </main>
 
-<!--==========================
+        <!--==========================
 页脚
-============================-->
-<footer id="footer">
-    <div class="container">
-        <div class="copyright">
-            © 版权所有 2024 宝智达科技有限公司 <a target="_blank"
-                                                  href="https://beian.miit.gov.cn/">黔ICP备2022006612号</a>
-        </div>
-        <div class="credits">
-        </div>
-    </div>
-</footer><!-- #footer -->
+        ============================-->
+        <footer id="footer">
+            <div class="container">
+                <div class="copyright">
+                    © 版权所有 2024 宝智达科技有限公司 <a target="_blank"
+                                             href="https://beian.miit.gov.cn/">黔ICP备2022006612号</a>
+                </div>
+                <div class="credits">
+                </div>
+            </div>
+        </footer><!-- #footer -->
 
-<a href="#" class="back-to-top"><i class="fa fa-chevron-up"></i></a>
+        <a href="#" class="back-to-top"><i class="fa fa-chevron-up"></i></a>
 
-<!-- JavaScript  -->
-<script src="../static/lib/jquery/jquery.min.js"></script>
-<script src="../static/lib/jquery/jquery-migrate.min.js"></script>
-<script src="../static/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
-<script src="../static/lib/easing/easing.min.js"></script>
-<script src="../static/lib/superfish/hoverIntent.js"></script>
-<script src="../static/lib/superfish/superfish.min.js"></script>
-<script src="../static/lib/wow/wow.min.js"></script>
-<script src="../static/lib/owlcarousel/owl.carousel.min.js"></script>
-<script src="../static/lib/magnific-popup/magnific-popup.min.js"></script>
-<script src="../static/lib/sticky/sticky.js"></script>
-<script src="../static/js/main.js"></script>
-<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
-<script src="/static/layui/layui.js"></script>
-<script>
-    document.addEventListener('DOMContentLoaded', function () {
+        <!-- JavaScript  -->
+        <script src="../static/lib/jquery/jquery.min.js"></script>
+        <script src="../static/lib/jquery/jquery-migrate.min.js"></script>
+        <script src="../static/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
+        <script src="../static/lib/easing/easing.min.js"></script>
+        <script src="../static/lib/superfish/hoverIntent.js"></script>
+        <script src="../static/lib/superfish/superfish.min.js"></script>
+        <script src="../static/lib/wow/wow.min.js"></script>
+        <script src="../static/lib/owlcarousel/owl.carousel.min.js"></script>
+        <script src="../static/lib/magnific-popup/magnific-popup.min.js"></script>
+        <script src="../static/lib/sticky/sticky.js"></script>
+        <script src="../static/js/main.js"></script>
+        <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
+        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
+        <script src="/static/layui/layui.js"></script>
+        <script>
+            document.addEventListener('DOMContentLoaded', function () {
 
-        var countUpElements = document.querySelectorAll('.count-up');
-        countUpElements.forEach(function (element) {
-            var target = parseInt(element.getAttribute('data-target')); // 获取目标数值
-            var start = 0; // 初始值
-            var duration = 2000; // 动画持续时间,单位毫秒
-            var increment = Math.ceil(target / (duration / 16)); // 计算每16ms增加的值
+                var countUpElements = document.querySelectorAll('.count-up');
+                countUpElements.forEach(function (element) {
+                    var target = parseInt(element.getAttribute('data-target')); // 获取目标数值
+                    var start = 0; // 初始值
+                    var duration = 2000; // 动画持续时间,单位毫秒
+                    var increment = Math.ceil(target / (duration / 16)); // 计算每16ms增加的值
 
-            var timer = setInterval(function () {
-                start += increment;
-                element.textContent = start; // 更新显示的数值
+                    var timer = setInterval(function () {
+                        start += increment;
+                        element.textContent = start; // 更新显示的数值
 
-                if (start > target) {
-                    clearInterval(timer); // 达到或超过目标值时停止
-                    element.textContent = target;
-                }
-            }, 100); // 每16ms执行一次,大约60帧/秒
-        });
-    });
-    layui.use(['carousel'], function () {
-        var carousel = layui.carousel;
-        carousel.render({
-            elem: '#ID-carousel-demo-2' // 轮播图容器的选择器
-            , width: '100%' // 宽度
-            , height: '300px' // 高度
-            , arrow: 'hover' // 箭头切换状态
-            , anim: 'default' // 动画类型
-            , interval: 3000 // 自动切换时间间隔,单位ms
-        });
-    });
-    layui.use(['layer', 'jquery'], function () {
-        var $ = layui.jquery;
-        // 发起Ajax请求获取省份数据
-        $.ajax({
-            url: '/api/data',  // 后端提供的API地址
-            type: 'GET',
-            dataType: 'json',
-            success: function (res) {
-                if (res.Code === 200) {
-                    $('#provinces').text(res.Data.provinces); // 更新省区数量
-                    $('#prefecture').text(res.Data.prefecture); // 更新地州数量
-                    $('#counties').text(res.Data.counties); // 更新县份数量
-                    $('#hospital').text(res.Data.hospital); // 更新医院数量
-                    $('#cdc').text(res.Data.cdc); // 更新疾控中心数量
-                    $('#cdc_injection_sites').text(res.Data.cdc_injection_sites); // 疾控注射点
-                    $('#pharmaceutical_companies').text(res.Data.pharmaceutical_companies); // 医药公司
-                    $('#device_companies').text(res.Data.device_companies); // 器械公司
-                    $('#chain_pharmacies').text(res.Data.chain_pharmacies); // 连锁药店
-                    $('#number_of_stores').text(res.Data.number_of_stores); // 门店数量
-                    $('#cold_chain_logistics_company').text(res.Data.cold_chain_logistics_company); // 冷链物流公司
-                    $('#refrigerated_trucks').text(res.Data.refrigerated_trucks); // 冷藏车
-                    $('#incubator').text(res.Data.incubator); // 保温箱
-                    $('#freezer').text(res.Data.freezer); // 冷冻柜
-                    $('#refrigerated_cabinets').text(res.Data.refrigerated_cabinets); // 冷藏柜
-                    $('#shaded_cabinet').text(res.Data.shaded_cabinet); // 阴凉柜
-                    $('#cold_storage').text(res.Data.cold_storage); // 冷库
-                    $('#shaded_storage').text(res.Data.shaded_storage); // 阴凉库
-                    $('#airpacing').text(res.Data.airpacing); // 空  调
-                    $('#dehumidifiers').text(res.Data.dehumidifiers); // 除湿机
-                    $('#pharmaceutical').text(res.Data.pharmaceutical); // 药厂
-                    $('#number_of_validation_scenarios').text(res.Data.number_of_validation_scenarios); // 验证方案数量
-                    $('#number_of_validation_reports').text(res.Data.number_of_validation_reports); // 验证报告数量
-                    $('#number_of_probes').text(res.Data.number_of_probes); // 探头数量
-                } else {
-                    layer.msg('获取省份数量失败!');
-                }
-            },
-            error: function () {
-                layer.msg('请求错误,请检查网络!');
-            }
-        });
-    });
-</script>
-</body>
+                        if (start > target) {
+                            clearInterval(timer); // 达到或超过目标值时停止
+                            element.textContent = target;
+                        }
+                    }, 16); // 每16ms执行一次,大约60帧/秒
+                });
+            });
+        </script>
+    </body>
 </html>

+ 2 - 3
views/news.html

@@ -89,12 +89,11 @@ Page Banner Section
                 <div class="col-md-4 col-sm-6 mb-4">
                     <div class="card shadow-sm">
                         <img src="{{.Image}}" class="card-img-top img-fluid" alt="{{.Title}}">
-                        <div class="card-body">
+                        <div class="card-body custom-unaffected-card-body">
                             <h5 class="card-title"><a href="/news/{{.ID}}">{{.Title}}</a></h5>
-                            <!-- 如果有更多内容(如简介、日期等),可以在这里添加 -->
                         </div>
                         <div class="card-footer text-right text-muted">
-                            <small>发布时间:{{.UpdatedAt}}</small> <!-- 假设.PublishDate是发布时间 -->
+                            <small>发布时间:{{.UpdatedAt}}</small>
                         </div>
                     </div>
                 </div>

+ 90 - 169
views/product.html

@@ -35,29 +35,6 @@
     </head>
 
     <body id="body">
-
-        <!--==========================
-Top Bar
-        ============================-->
-        <!--  <section id="topbar" class="d-none d-lg-block">-->
-        <!--    <div class="container clearfix">-->
-        <!--      <div class="contact-info float-left">-->
-        <!--        <i class="fa fa-envelope-o"></i> <a href="mailto:contact@example.com">name@websitename.com</a>-->
-        <!--        <i class="fa fa-phone"></i> +1 2345 67855 22-->
-        <!--      </div>-->
-        <!--      <div class="social-links float-right">-->
-        <!--        <a href="#" class="twitter"><i class="fa fa-twitter"></i></a>-->
-        <!--        <a href="#" class="facebook"><i class="fa fa-facebook"></i></a>-->
-        <!--        <a href="#" class="google-plus"><i class="fa fa-google-plus"></i></a>-->
-        <!--        <a href="#" class="linkedin"><i class="fa fa-linkedin"></i></a>-->
-        <!--        <a href="#" class="instagram"><i class="fa fa-instagram"></i></a>-->
-        <!--      </div>-->
-        <!--    </div>-->
-        <!--  </section>-->
-
-        <!--==========================
-Header
-        ============================-->
         <header id="header">
             <div class="container">
                 <div id="logo" class="pull-left">
@@ -99,113 +76,106 @@ Page Banner Section
                 </div>
             </div>
         </section><!-- #Page Banner -->
-        <div class="layui-carousel" id="ID-carousel-demo-2">
-            <div carousel-item>
-                <div>
-                    <div>
-                        <div class="layui-container">
-                            <div class="layui-row layui-col-space15">
-                                <div class="layui-col-md12">
-                                    <h5 class="layui-carousel-title layui-text-center">管理效率</h5>
-                                </div>
-                            </div>
-                            <div class="layui-row layui-col-space15">
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">3D可视化平台</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123" id="dvisualization_platform">0</div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">大数据管理平台</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123" id="big_data_management_platform">0
-                                            </div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">冷链系列培训</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123" id="cold_chain_training">0</div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">保温箱安全平台</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123" id="incubator_safety_platform">0
-                                            </div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">冷藏车安全平台</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123"
-                                                 id="safety_platform_for_refrigerated_trucks">0
-                                            </div>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="layui-col-md4">
-                                    <div class="layui-card layadmin-card-demo">
-                                        <div class="layui-card-header">售后预警服务</div>
-                                        <div class="layui-card-body layui-padding">
-                                            <div class="layui-count-num" data-target="123"
-                                                 id="after_sales_early_warning_service">0
-                                            </div>
-                                        </div>
-                                    </div>
+        <!--<div class="layui-carousel" id="ID-carousel-demo-2">-->
+        <!--    <div carousel-item>-->
+        <!--        <div>-->
+        <!--            <div>-->
+        <!--                <div class="layui-container">-->
+        <!--                    <div class="layui-row layui-col-space15">-->
+        <!--                        <div class="layui-col-md12">-->
+        <!--                            <h5 class="layui-carousel-title layui-text-center">管理效率</h5>-->
+        <!--                        </div>-->
+        <!--                    </div>-->
+        <!--                    <div class="layui-row layui-col-space15">-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">3D可视化平台</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123" id="dvisualization_platform">0</div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">大数据管理平台</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123" id="big_data_management_platform">0-->
+        <!--                                    </div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">冷链系列培训</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123" id="cold_chain_training">0</div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">保温箱安全平台</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123" id="incubator_safety_platform">0-->
+        <!--                                    </div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">冷藏车安全平台</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123"-->
+        <!--                                         id="safety_platform_for_refrigerated_trucks">0-->
+        <!--                                    </div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        <div class="layui-col-md4">-->
+        <!--                            <div class="layui-card layadmin-card-demo">-->
+        <!--                                <div class="layui-card-header">售后预警服务</div>-->
+        <!--                                <div class="layui-card-body layui-padding">-->
+        <!--                                    <div class="layui-count-num" data-target="123"-->
+        <!--                                         id="after_sales_early_warning_service">0-->
+        <!--                                    </div>-->
+        <!--                                </div>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                        &lt;!&ndash; 其他卡片重复代码... &ndash;&gt;-->
+        <!--                    </div>-->
+        <!--                </div>-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--    </div>-->
+        <!--</div>-->
+        <main id="main">
+            <div class="container">
+                <div class="section-header" style="margin-top: 20px;">
+                    <h2>宝智达-服务数量</h2>
+                </div>
+                <!-- 数据点列表开始 -->
+                <div class="row text-center">
+                    <!-- 在这里放置数据点 -->
+                    <div class="row text-center">
+                        {{range .Datas}}
+                        <div class="col-md-2 mb-5">
+                            <div class="card h-100">
+                                <div class="card-body">
+                                    <h5 class="card-title count-up" data-target="{{.Nums}}">0</h5>
+                                    <p class="card-text">{{.Title}}</p>
                                 </div>
-                                <!-- 其他卡片重复代码... -->
                             </div>
                         </div>
+                        {{end}}
                     </div>
                 </div>
+                <!-- 数据点列表结束 -->
             </div>
-        </div>
-        <main id="main">
 
-            <!--<section class="features" data-aos="fade-up">-->
-            <!--    <div class="container">-->
-            <!--        <div class="row">-->
-            <!--            <div class="col-md-3 feature-item" style="background-color: #8fdf82">-->
-            <!--                <span>管理效率使用</span>-->
-            <!--                <ul>-->
-            <!--                    <li><strong>3D可视化平台</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.DvisualizationPlatform}}"></div>-->
-            <!--                    </li>-->
-            <!--                    <li><strong>大数据管理平台</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.BigDataManagementPlatform}}"></div>-->
-            <!--                    </li>-->
-            <!--                    <li><strong>冷链系列培训</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.ColdChainTraining}}"></div>-->
-            <!--                    </li>-->
-            <!--                    <li><strong>保温箱安全平台</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.IncubatorSafetyPlatform}}"></div>-->
-            <!--                    </li>-->
-            <!--                    <li><strong>冷藏车安全平台</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.SafetyPlatformForRefrigeratedTrucks}}"></div>-->
-            <!--                    </li>-->
-            <!--                    <li><strong>售后预警服务</strong>-->
-            <!--                        <div class="count-up" data-target="{{.Datas.AfterSalesEarlyWarningService}}"></div>-->
-            <!--                    </li>-->
-            <!--                </ul>-->
-            <!--            </div>-->
-            <!--        </div>-->
-            <!--    </div>-->
-            <!--</section>-->
             <!--==========================
 Services Section
             ============================-->
-            <section id="services">
+            <section id="services" style="margin: -80px">
                 <div class="container">
                     <div class="btn-group" role="group" aria-label="Basic outlined example">
                         <button type="button" class="btn btn-outline-primary" onclick="location.href = 'product?ptype=hardware'">
@@ -306,21 +276,15 @@ Footer
 
         <script>
             document.addEventListener('DOMContentLoaded', function () {
-
-
-
-                // 获取所有带有data-target属性的元素
                 var countUpElements = document.querySelectorAll('.count-up');
                 countUpElements.forEach(function (element) {
                     var target = parseInt(element.getAttribute('data-target')); // 获取目标数值
                     var start = 0; // 初始值
                     var duration = 2000; // 动画持续时间,单位毫秒
                     var increment = Math.ceil(target / (duration / 16)); // 计算每16ms增加的值
-
                     var timer = setInterval(function () {
                         start += increment;
                         element.textContent = start; // 更新显示的数值
-
                         if (start > target) {
                             clearInterval(timer); // 达到或超过目标值时停止
                             element.textContent = target;
@@ -328,49 +292,6 @@ Footer
                     }, 16); // 每16ms执行一次,大约60帧/秒
                 });
             });
-            layui.use(function () {
-                var carousel = layui.carousel;
-                // 渲染 - 常规轮播
-                carousel.render({
-                    elem: '#ID-carousel-demo-1',
-                    width: 'auto'
-                });
-
-                // 渲染 - 设置时间间隔、动画类型、宽高度等属性
-                carousel.render({
-                    elem: '#ID-carousel-demo-2',
-                    interval: 1800,
-                    anim: 'fade',
-                    width: 'auto',
-                    height: '260px'
-                });
-            });
-            layui.use(['layer', 'jquery'], function () {
-                var $ = layui.jquery;
-                // 发起Ajax请求获取省份数据
-                $.ajax({
-                        url: '/api/data',  // 后端提供的API地址
-                        type: 'GET',
-                            dataType: 'json',
-                            success: function(res) {
-                            console.log(res)
-                            if (res.Code === 200) {
-                                $('#dvisualization_platform').text(res.Data.dvisualization_platform); // 3D可视化平台
-                                $('#big_data_management_platform').text(res.Data.big_data_management_platform); // 大数据管理平台
-                                $('#cold_chain_training').text(res.Data.cold_chain_training); // 冷链系列培训
-                                $('#incubator_safety_platform').text(res.Data.incubator_safety_platform); // 保温箱安全平台
-                                $('#safety_platform_for_refrigerated_trucks').text(res.Data.safety_platform_for_refrigerated_trucks); // 冷藏车安全平台
-                                $('#after_sales_early_warning_service').text(res.Data.after_sales_early_warning_service); // 售后预警服务
-                            } else {
-                                layer.msg('获取省份数量失败!');
-                            }
-                        },
-                        error: function() {
-                            layer.msg('请求错误,请检查网络!');
-                        }
-                        });
-                        });
         </script>
-
     </body>
 </html>