瀏覽代碼

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

5 年之前
父節點
當前提交
9f6e842923
共有 26 個文件被更改,包括 366 次插入243 次删除
  1. 3 2
      official_backend/src/main/java/com/hssx/ysofficial/controller/ArticleController.java
  2. 7 0
      official_backend/src/main/java/com/hssx/ysofficial/controller/CooperationsController.java
  3. 11 0
      official_backend/src/main/java/com/hssx/ysofficial/controller/UserController.java
  4. 19 7
      official_backend/src/main/java/com/hssx/ysofficial/entity/Article.java
  5. 20 2
      official_backend/src/main/java/com/hssx/ysofficial/entity/BannerPictures.java
  6. 5 5
      official_backend/src/main/java/com/hssx/ysofficial/entity/Comment.java
  7. 17 2
      official_backend/src/main/java/com/hssx/ysofficial/entity/Cooperations.java
  8. 11 2
      official_backend/src/main/java/com/hssx/ysofficial/entity/User.java
  9. 1 1
      official_backend/src/main/java/com/hssx/ysofficial/mapper/ArticleMapper.java
  10. 2 1
      official_backend/src/main/java/com/hssx/ysofficial/service/ArticleService.java
  11. 1 0
      official_backend/src/main/java/com/hssx/ysofficial/service/CooperationsService.java
  12. 2 1
      official_backend/src/main/java/com/hssx/ysofficial/service/UserService.java
  13. 35 4
      official_backend/src/main/java/com/hssx/ysofficial/service/impl/ArticleServiceImpl.java
  14. 10 7
      official_backend/src/main/java/com/hssx/ysofficial/service/impl/CooperationsServiceImpl.java
  15. 18 0
      official_backend/src/main/java/com/hssx/ysofficial/service/impl/UserServiceImpl.java
  16. 11 1
      official_backend/src/main/resources/application.properties
  17. 3 1
      official_backend/src/main/resources/mapper/ArticleMapper.xml
  18. 148 203
      website/src/main/resources/templates/about.html
  19. 42 4
      website/src/main/resources/templates/css/custom.css
  20. 二進制
      website/src/main/resources/templates/img/background_bottom.jpg
  21. 二進制
      website/src/main/resources/templates/img/background_bottom.png
  22. 二進制
      website/src/main/resources/templates/img/job1.jpeg
  23. 二進制
      website/src/main/resources/templates/img/job2.jpg
  24. 二進制
      website/src/main/resources/templates/img/job3.jpeg
  25. 二進制
      website/src/main/resources/templates/img/job4.jpeg
  26. 二進制
      website/src/main/resources/templates/img/joinus.png

+ 3 - 2
official_backend/src/main/java/com/hssx/ysofficial/controller/ArticleController.java

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>
@@ -40,8 +41,8 @@ public class ArticleController {
     }
 
     @RequestMapping("/editArticle")
-    public HttpRespMsg editArticle(Article article){
-        return articleService.editArticle(article);
+    public HttpRespMsg editArticle(Article article, MultipartFile multipartFile){
+        return articleService.editArticle(article, multipartFile);
     }
 
     @RequestMapping("/deleteArticleById")

+ 7 - 0
official_backend/src/main/java/com/hssx/ysofficial/controller/CooperationsController.java

@@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * the cooperations of client company and high school 前端控制器
@@ -49,5 +51,10 @@ public class CooperationsController {
             MultipartFile multipartFile){
         return cooperationsService.editCooperations(cooperations, multipartFile);
     }
+
+    @RequestMapping("/switchCooperationSticky")
+    public HttpRespMsg switchCooperationSticky(Integer id){
+        return cooperationsService.switchCooperationSticky(id);
+    }
 }
 

+ 11 - 0
official_backend/src/main/java/com/hssx/ysofficial/controller/UserController.java

@@ -1,8 +1,13 @@
 package com.hssx.ysofficial.controller;
 
 
+import com.hssx.ysofficial.entity.User;
+import com.hssx.ysofficial.service.UserService;
+import com.hssx.ysofficial.utility.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -16,6 +21,12 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/user")
 public class UserController {
+    @Autowired
+    private UserService userService;
 
+    @RequestMapping("/login")
+    public HttpRespMsg login(User user){
+        return userService.login(user);
+    }
 }
 

+ 19 - 7
official_backend/src/main/java/com/hssx/ysofficial/entity/Article.java

@@ -12,11 +12,11 @@ import lombok.experimental.Accessors;
 
 /**
  * <p>
- * 
+ * 第一个数据是公司优势 其他是案例
  * </p>
  *
  * @author Reiskuchen
- * @since 2019-10-23
+ * @since 2019-10-24
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -33,35 +33,47 @@ public class Article extends Model<Article> {
     private Integer id;
 
     /**
-     * the title of articles
+     * 案例的名字
      */
     @TableField("title")
     private String title;
 
     /**
-     * the content of article
+     * 案例内容
      */
     @TableField("content")
     private String content;
 
     /**
-     * the type of article
+     * 案例种类: 公司优势或案例
      */
     @TableField("type")
     private String type;
 
     /**
-     * whether the article is sticked or not
+     * 是否显示在首页 0不显示 1显示
      */
     @TableField("sticky")
     private Integer sticky;
 
     /**
-     * the position of article in the list
+     * 位置 应该按照位置排序
      */
     @TableField("position")
     private Integer position;
 
+    /**
+     * 图片地址
+     */
+    @TableField("image_url")
+    private String imageUrl;
+
+    /**
+     * 简介
+     */
+    @TableField("introduction")
+    private String introduction;
+
 
     @Override
     protected Serializable pkVal() {

+ 20 - 2
official_backend/src/main/java/com/hssx/ysofficial/entity/BannerPictures.java

@@ -13,11 +13,11 @@ import lombok.experimental.Accessors;
 
 /**
  * <p>
- * the pictures of banner
+ * 轮播图图片
  * </p>
  *
  * @author Reiskuchen
- * @since 2019-10-23
+ * @since 2019-10-24
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -27,21 +27,39 @@ public class BannerPictures extends Model<BannerPictures> {
 
     private static final long serialVersionUID=1L;
 
+    /**
+     * id
+     */
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    /**
+     * 轮播图url
+     */
     @TableField("url")
     private String url;
 
+    /**
+     * 轮播图文件名
+     */
     @TableField("file_name")
     private String fileName;
 
+    /**
+     * 轮播图大小
+     */
     @TableField("file_size")
     private String fileSize;
 
+    /**
+     * 轮播图文件类型
+     */
     @TableField("file_type")
     private String fileType;
 
+    /**
+     * 上传时间
+     */
     @TableField("upload_indate")
     private LocalDateTime uploadIndate;
 

+ 5 - 5
official_backend/src/main/java/com/hssx/ysofficial/entity/Comment.java

@@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Reiskuchen
- * @since 2019-10-23
+ * @since 2019-10-24
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -34,25 +34,25 @@ public class Comment extends Model<Comment> {
     private Integer id;
 
     /**
-     * the name of customer
+     * 留言者姓名
      */
     @TableField("name")
     private String name;
 
     /**
-     * the phone number of customer
+     * 留言者联系方式
      */
     @TableField("phone")
     private String phone;
 
     /**
-     * the main content left by customer
+     * 留言内容
      */
     @TableField("comment")
     private String comment;
 
     /**
-     * the timestamp when the customer left the message
+     * 留言时间
      */
     @TableField("indate")
     private LocalDateTime indate;

+ 17 - 2
official_backend/src/main/java/com/hssx/ysofficial/entity/Cooperations.java

@@ -12,11 +12,11 @@ import lombok.experimental.Accessors;
 
 /**
  * <p>
- * the cooperations of client company and high school
+ * 合作伙伴
  * </p>
  *
  * @author Reiskuchen
- * @since 2019-10-23
+ * @since 2019-10-24
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -29,18 +29,33 @@ public class Cooperations extends Model<Cooperations> {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    /**
+     * 合作者名称
+     */
     @TableField("name")
     private String name;
 
+    /**
+     * 合作者的描述
+     */
     @TableField("description")
     private String description;
 
+    /**
+     * 一张描述用的图的url
+     */
     @TableField("image_url")
     private String imageUrl;
 
+    /**
+     * 合作者种类: 学校或公司
+     */
     @TableField("type")
     private Integer type;
 
+    /**
+     * 是否显示于首页 0为不显示 1为显示
+     */
     @TableField("sticky")
     private Integer sticky;
 

+ 11 - 2
official_backend/src/main/java/com/hssx/ysofficial/entity/User.java

@@ -12,11 +12,11 @@ import lombok.experimental.Accessors;
 
 /**
  * <p>
- * 
+ * 用户
  * </p>
  *
  * @author Reiskuchen
- * @since 2019-10-23
+ * @since 2019-10-24
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -26,12 +26,21 @@ public class User extends Model<User> {
 
     private static final long serialVersionUID=1L;
 
+    /**
+     * id
+     */
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    /**
+     * 用户名
+     */
     @TableField("username")
     private String username;
 
+    /**
+     * 密码
+     */
     @TableField("password")
     private String password;
 

+ 1 - 1
official_backend/src/main/java/com/hssx/ysofficial/mapper/ArticleMapper.java

@@ -14,5 +14,5 @@ import org.apache.ibatis.annotations.Select;
  */
 public interface ArticleMapper extends BaseMapper<Article> {
     @Select("SELECT MAX(position)+1 AS new_position FROM article;")
-    public Integer getNewPosition();
+    Integer getNewPosition();
 }

+ 2 - 1
official_backend/src/main/java/com/hssx/ysofficial/service/ArticleService.java

@@ -3,6 +3,7 @@ package com.hssx.ysofficial.service;
 import com.hssx.ysofficial.entity.Article;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.hssx.ysofficial.utility.HttpRespMsg;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>
@@ -16,7 +17,7 @@ public interface ArticleService extends IService<Article> {
     HttpRespMsg getArticleAll();
     HttpRespMsg getArticleById(Integer id);
     HttpRespMsg getArticleByType(String Type);
-    HttpRespMsg editArticle(Article article);
+    HttpRespMsg editArticle(Article article, MultipartFile multipartFile);
     HttpRespMsg deleteArticleById(Integer id);
     HttpRespMsg switchSticky(Integer id);
     HttpRespMsg switchPosition(Integer id, Integer position);

+ 1 - 0
official_backend/src/main/java/com/hssx/ysofficial/service/CooperationsService.java

@@ -18,4 +18,5 @@ public interface CooperationsService extends IService<Cooperations> {
     HttpRespMsg addCooperations(Cooperations cooperations, MultipartFile multipartFile);
     HttpRespMsg deleteCooperationsById(Integer id);
     HttpRespMsg editCooperations(Cooperations cooperations, MultipartFile multipartFile);
+    HttpRespMsg switchCooperationSticky(Integer id);
 }

+ 2 - 1
official_backend/src/main/java/com/hssx/ysofficial/service/UserService.java

@@ -2,6 +2,7 @@ package com.hssx.ysofficial.service;
 
 import com.hssx.ysofficial.entity.User;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.hssx.ysofficial.utility.HttpRespMsg;
 
 /**
  * <p>
@@ -12,5 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2019-10-23
  */
 public interface UserService extends IService<User> {
-
+    HttpRespMsg login(User user);
 }

+ 35 - 4
official_backend/src/main/java/com/hssx/ysofficial/service/impl/ArticleServiceImpl.java

@@ -7,12 +7,16 @@ import com.hssx.ysofficial.service.ArticleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hssx.ysofficial.utility.HttpRespMsg;
 import org.hibernate.validator.constraints.EAN;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.sql.SQLOutput;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * <p>
@@ -24,6 +28,13 @@ import java.util.Map;
  */
 @Service
 public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements ArticleService {
+
+    @Value("${upload.path}")
+    private String uploadPath;
+
+    @Value("${download.path}")
+    private String downloadPath;
+
     @Resource
     private ArticleMapper articleMapper;
 
@@ -56,11 +67,29 @@ public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> impl
     }
 
     @Override
-    public HttpRespMsg editArticle(Article article){
+    public HttpRespMsg editArticle(Article article, MultipartFile multipartFile){
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         if(article != null){
             Integer id = article.getId();
-            if(id == null){
+
+            if(multipartFile != null){
+                String fileName = multipartFile.getOriginalFilename();
+                File direction = new File(uploadPath);
+                String rand = UUID.randomUUID().toString().replaceAll("-", "");
+                String suffix = fileName.substring(fileName.lastIndexOf("."));
+                String storedFileName = rand + suffix;
+                try {
+                    File savedFile = new File(direction, storedFileName);
+                    savedFile.createNewFile();
+                    multipartFile.transferTo(savedFile);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                article.setImageUrl("/upload/" + storedFileName);
+            }
+
+            if(id == -1){
+                article.setId(null);
                 article.setPosition(articleMapper.getNewPosition());
                 articleMapper.insert(article);
             }else{
@@ -103,12 +132,14 @@ public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> impl
                 //跟上一个互换的话
                 queryWrapper = new QueryWrapper<Article>()
                         .eq("type", "case")
-                        .gt("position", currentPosition);
+                        .gt("position", currentPosition)
+                        .orderByAsc("position");
             }else{
                 //跟下一个互换的话
                 queryWrapper = new QueryWrapper<Article>()
                         .eq("type", "case")
-                        .lt("position", currentPosition);
+                        .lt("position", currentPosition)
+                        .orderByDesc("position");
             }
             if(articleMapper.selectCount(queryWrapper) > 0){
                 Article targetArticle = articleMapper.selectList(queryWrapper).get(0);

+ 10 - 7
official_backend/src/main/java/com/hssx/ysofficial/service/impl/CooperationsServiceImpl.java

@@ -42,7 +42,7 @@ public class CooperationsServiceImpl extends ServiceImpl<CooperationsMapper, Coo
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         httpRespMsg.data = map;
         return httpRespMsg;
-    };
+    }
 
     public HttpRespMsg addCooperations(Cooperations cooperations, MultipartFile multipartFile){
         HttpRespMsg httpRespMsg = new HttpRespMsg();
@@ -65,7 +65,7 @@ public class CooperationsServiceImpl extends ServiceImpl<CooperationsMapper, Coo
             httpRespMsg.setError("lack of file or information");
         }
         return httpRespMsg;
-    };
+    }
 
     public HttpRespMsg editCooperations(Cooperations cooperations, MultipartFile multipartFile){
         HttpRespMsg httpRespMsg = new HttpRespMsg();
@@ -90,14 +90,17 @@ public class CooperationsServiceImpl extends ServiceImpl<CooperationsMapper, Coo
             httpRespMsg.setError("lack of information");
         }
         return httpRespMsg;
-    };
+    }
 
     public HttpRespMsg deleteCooperationsById(Integer id){
         cooperationsMapper.deleteById(id);
         return new HttpRespMsg();
-    };
+    }
 
-    public HttpRespMsg editCooperations(){
-        return null;
-    };
+    public HttpRespMsg switchCooperationSticky(Integer id){
+        Cooperations cooperations = cooperationsMapper.selectById(id);
+        cooperations.setSticky(cooperations.getSticky() == 0? 1: 0);
+        cooperationsMapper.updateById(cooperations);
+        return new HttpRespMsg();
+    }
 }

+ 18 - 0
official_backend/src/main/java/com/hssx/ysofficial/service/impl/UserServiceImpl.java

@@ -1,11 +1,16 @@
 package com.hssx.ysofficial.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.hssx.ysofficial.entity.User;
 import com.hssx.ysofficial.mapper.UserMapper;
 import com.hssx.ysofficial.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.ysofficial.utility.HttpRespMsg;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.net.HttpCookie;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +21,18 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+    @Resource
+    private UserMapper userMapper;
 
+    @Override
+    public HttpRespMsg login(User user){
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        QueryWrapper queryWrapper = new QueryWrapper<>(user);
+        if(userMapper.selectCount(queryWrapper) == 0){
+            httpRespMsg.setError("account mismatch");
+        }else{
+            httpRespMsg.data = userMapper.selectList(queryWrapper).get(0);
+        }
+        return httpRespMsg;
+    }
 }

+ 11 - 1
official_backend/src/main/resources/application.properties

@@ -15,7 +15,17 @@ spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model_website?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
 spring.datasource.username=root
 spring.datasource.password=p011430seya1026
-spring.datasource.hikari.max-lifetime=540000
+spring.datasource.hikari.max-lifetime=60000
+spring.datasource.hikari.IdleTimeout=60000
+spring.datasource.hikari.ConnectionTimeout=60000
+spring.datasource.hikari.ValidationTimeout=3000
+spring.datasource.hikari.LoginTimeout=5
+
+spring.servlet.multipart.enabled=true
+spring.servlet.multipart.file-size-threshold=0
+spring.servlet.multipart.max-file-size=100MB
+spring.servlet.multipart.max-request-size=100MB
+spring.servlet.multipart.resolve-lazily=false
 
 #ÎļþÉÏ´«Â·¾¶
 upload.path=D:/ysofficial/upload/

+ 3 - 1
official_backend/src/main/resources/mapper/ArticleMapper.xml

@@ -10,11 +10,13 @@
         <result column="type" property="type" />
         <result column="sticky" property="sticky" />
         <result column="position" property="position" />
+        <result column="image_url" property="imageUrl" />
+        <result column="introduction" property="introduction" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, title, content, type, sticky, position
+        id, title, content, type, sticky, position, image_url, introduction
     </sql>
 
 </mapper>

+ 148 - 203
website/src/main/resources/templates/about.html

@@ -39,7 +39,7 @@
             <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><![endif]-->
     </head>
     <body>
-        <div id="all">
+        <div id="all" class="about">
             <!-- Navbar Start-->
             <header class="nav-holder make-sticky">
                 <div id="navbar" role="navigation" class="navbar navbar-expand-lg">
@@ -62,236 +62,182 @@
                 </div>
             </header>
             <!-- Navbar End-->
-            <section style="background: url(img/joinus.png) center top no-repeat; background-size: cover;" class="bar no-mb color-white text-center bg-fixed relative-positioned">
-                <div class="dark-mask"></div>
+            <div>
                 <div class="container">
-                <div class="icon icon-outlined icon-lg"><i class="fa fa-file-code-o"></i></div>
-                <h3 class="text-uppercase">Do you want to see more?</h3>
-                <p class="lead">We have prepared for you more than 40 different HTML pages, including 5 variations of homepage.</p>
-                <p class="text-center"><a href="index2.html" class="btn btn-template-outlined-white btn-lg">See another homepage</a></p>
-                </div>
-            </section>
-            <section class="bar background-white background-wap">
-                <div class="container text-center">
-                    <div class="row">
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-desktop"></i></div>
-                                <h3 class="h4">Webdesign</h3>
-                                <p>Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p>
-                            </div>
-                        </div>
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-print"></i></div>
-                                <h3 class="h4">Print</h3>
-                                <p>Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil. Prepare garrets it expense windows shewing do an.</p>
-                            </div>
-                        </div>
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-globe"></i></div>
-                                <h3 class="h4">SEO and SEM</h3>
-                                <p>Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect.</p>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="row">
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-lightbulb-o"></i></div>
-                                <h3 class="h4">Consulting</h3>
-                                <p>Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p>
-                            </div>
-                        </div>
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-envelope-o"></i></div>
-                                <h3 class="h4">Email Marketing</h3>
-                                <p>Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil. Prepare garrets it expense windows shewing do an.</p>
-                            </div>
-                        </div>
-                        <div class="col-lg-4 col-md-6">
-                            <div class="box-simple">
-                                <div class="icon-outlined"><i class="fa fa-user"></i></div>
-                                <h3 class="h4">UX</h3>
-                                <p>Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect.</p>
+                    <section class="bar">
+                        <div class="row">
+                            <div class="col-lg-12">
+                                <div class="heading">
+                                    <h2>关于塑维</h2>
+                                </div>
+                                <p class="lead">“是一家多元化的公司,对人才来者不拒,只要你对自己的能力有足够自信,对技术充满热情,愿意接受挑战 塑维的大门随时为你敞开!”</p>
                             </div>
                         </div>
-                    </div>
+                    </section>
                 </div>
-            </section>
-            <section class="bar background-pentagon no-mb text-md-center">
+            </div>
+            <div id="content">
                 <div class="container">
-                    <div class="heading text-center">
-                        <h2>Testimonials</h2>
-                    </div>
-                    <p class="lead">We have worked with many clients and we always like to hear they come out from the cooperation happy and satisfied. Have a look what our clients said about us.</p>
-                    <!-- Carousel Start-->
-                    <ul class="owl-carousel testimonials list-unstyled equal-height">
-                        <li class="item">
-                            <div class="testimonial d-flex flex-wrap">
-                                <div class="text">
-                                    <p>One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head a little he could see his brown belly, slightly domed and divided by arches into stiff sections.</p>
+                    <section class="bar">
+                        <div class="row">
+                            <div class="col-md-12">
+                                <div class="heading">
+                                    <h2>职位介绍</h2>
                                 </div>
-                                <div class="bottom d-flex align-items-center justify-content-between align-self-end">
-                                    <div class="icon"><i class="fa fa-quote-left"></i></div>
-                                    <div class="testimonial-info d-flex">
-                                        <div class="title">
-                                            <h5>John McIntyre</h5>
-                                            <p>CEO, TransTech</p>
+                            </div>
+                        </div>
+                        <div class="row portfolio text-center">
+                            <div class="col-md-4">
+                                <div class="box-image">
+                                    <div class="image"><img src="img/job1.jpeg" alt="" class="img-fluid">
+                                        <div class="overlay d-flex align-items-center justify-content-center">
+                                            <div class="content">
+                                                <div class="name">
+                                                    <h3><a href="portfolio-detail.html" class="color-white">后端工程师-Java</a></h3>
+                                                </div>
+                                                <div class="text">
+                                                    <p class="d-sm-block">04 May 2018</p>
+                                                    <p class="buttons"><a href="portfolio-detail.html" class="btn btn-template-outlined-white">查看</a></p>
+                                                </div>
+                                            </div>
                                         </div>
-                                        <div class="avatar"><img alt="" src="img/person-1.jpg" class="img-fluid"></div>
                                     </div>
                                 </div>
                             </div>
-                        </li>
-                        <li class="item">
-                            <div class="testimonial d-flex flex-wrap">
-                                <div class="text">
-                                    <p>The bedding was hardly able to cover it and seemed ready to slide off any moment. His many legs, pitifully thin compared with the size of the rest of him, waved about helplessly as he looked. "What's happened to me? " he thought. It wasn't a dream.</p>
-                                </div>
-                                <div class="bottom d-flex align-items-center justify-content-between align-self-end">
-                                    <div class="icon"><i class="fa fa-quote-left"></i></div>
-                                    <div class="testimonial-info d-flex">
-                                        <div class="title">
-                                            <h5>John McIntyre</h5>
-                                            <p>CEO, TransTech</p>
+                            <div class="col-md-4">
+                                <div class="box-image">
+                                    <div class="image"><img src="img/job2.jpg" alt="" class="img-fluid">
+                                        <div class="overlay d-flex align-items-center justify-content-center">
+                                            <div class="content">
+                                                <div class="name">
+                                                    <h3><a href="portfolio-detail.html" class="color-white">移动开发工程师-ReactNative</a></h3>
+                                                </div>
+                                                <div class="text">
+                                                    <p class="d-sm-block">04 May 2018</p>
+                                                    <p class="buttons"><a href="portfolio-detail.html" class="btn btn-template-outlined-white">查看</a></p>
+                                                </div>
+                                            </div>
                                         </div>
-                                        <div class="avatar"><img alt="" src="img/person-2.jpg" class="img-fluid"></div>
                                     </div>
                                 </div>
                             </div>
-                        </li>
-                        <li class="item">
-                            <div class="testimonial d-flex flex-wrap">
-                                <div class="text">
-                                    <p>His room, a proper human room although a little too small, lay peacefully between its four familiar walls.</p>
-                                    <p>A collection of textile samples lay spread out on the table - Samsa was a travelling salesman - and above it there hung a picture that he had recently cut out of an illustrated magazine and housed in a nice, gilded frame.</p>
-                                </div>
-                                <div class="bottom d-flex align-items-center justify-content-between align-self-end">
-                                    <div class="icon"><i class="fa fa-quote-left"></i></div>
-                                    <div class="testimonial-info d-flex">
-                                        <div class="title">
-                                            <h5>John McIntyre</h5>
-                                            <p>CEO, TransTech</p>
+                            <div class="col-md-4">
+                                <div class="box-image">
+                                    <div class="image"><img src="img/job3.jpeg" alt="" class="img-fluid">
+                                        <div class="overlay d-flex align-items-center justify-content-center">
+                                            <div class="content">
+                                                <div class="name">
+                                                    <h3><a href="portfolio-detail.html" class="color-white">mes高级需求分析师</a></h3>
+                                                </div>
+                                                <div class="text">
+                                                    <p class="d-sm-block">04 May 2018</p>
+                                                    <p class="buttons"><a href="portfolio-detail.html" class="btn btn-template-outlined-white">查看</a></p>
+                                                </div>
+                                            </div>
                                         </div>
-                                        <div class="avatar"><img alt="" src="img/person-3.png" class="img-fluid"></div>
                                     </div>
                                 </div>
                             </div>
-                        </li>
-                        <li class="item">
-                            <div class="testimonial d-flex flex-wrap">
-                                <div class="text">
-                                    <p>It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.</p>
-                                </div>
-                                <div class="bottom d-flex align-items-center justify-content-between align-self-end">
-                                    <div class="icon"><i class="fa fa-quote-left"></i></div>
-                                    <div class="testimonial-info d-flex">
-                                        <div class="title">
-                                            <h5>John McIntyre</h5>
-                                            <p>CEO, TransTech</p>
+                            <div class="col-md-4">
+                                <div class="box-image">
+                                    <div class="image"><img src="img/job4.jpeg" alt="" class="img-fluid">
+                                        <div class="overlay d-flex align-items-center justify-content-center">
+                                            <div class="content">
+                                                <div class="name">
+                                                    <h3><a href="portfolio-detail.html" class="color-white">Web资深前端工程师-React</a></h3>
+                                                </div>
+                                                <div class="text">
+                                                    <p class="d-sm-block">04 May 2018</p>
+                                                    <p class="buttons"><a href="portfolio-detail.html" class="btn btn-template-outlined-white">查看</a></p>
+                                                </div>
+                                            </div>
                                         </div>
-                                        <div class="avatar"><img alt="" src="img/person-4.jpg" class="img-fluid"></div>
                                     </div>
                                 </div>
                             </div>
-                        </li>
-                        <li class="item">
-                            <div class="testimonial d-flex flex-wrap">
-                                <div class="text">
-                                    <p>It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad. Gregor then turned to look out the window at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.</p>
+                        </div>
+                    </section>
+                </div>
+                <section class="bar background-pentagon no-mb">
+                    <div class="container">
+                        <h2 style="text-align: center;margin-bottom: 50px;">我们的福利</h2>
+                        <div class="row showcase text-center">
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-thumbs-o-up"></i></div>
+                                    <h4>技术大牛带飞<br>定期学习分享</h4>
                                 </div>
-                                <div class="bottom d-flex align-items-center justify-content-between align-self-end">
-                                    <div class="icon"><i class="fa fa-quote-left"></i></div>
-                                    <div class="testimonial-info d-flex">
-                                        <div class="title">
-                                            <h5>John McIntyre</h5>
-                                            <p>CEO, TransTech</p>
-                                        </div>
-                                        <div class="avatar"><img alt="" src="img/person-1.jpg" class="img-fluid"></div>
-                                    </div>
+                            </div>
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-leaf"></i></div>
+                                    <h4>供应早午晚餐<br>果零饮不间断</h4>
+                                </div>
+                            </div>
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-clock-o"></i></div>
+                                    <h4>灵活工作时间<br>舒适工作环境</h4>
+                                </div>
+                            </div>
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-users"></i></div>
+                                    <h4>年轻精英团队<br>超扁平化管理</h4>
+                                </div>
+                            </div>
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-gift"></i></div>
+                                    <h4>关心成员成长<br>团建礼物惊喜</h4>
+                                </div>
+                            </div>
+                            <div class="col-md-2 col-sm-6">
+                                <div class="item">
+                                    <div class="icon-outlined icon-sm icon-thin"><i class="fa fa-paper-plane-o"></i></div>
+                                    <h4>高于行业薪酬<br>五险金加商保</h4>
                                 </div>
                             </div>
-                        </li>
-                    </ul>
-                    <!-- Carousel End-->
-                </div>
-            </section>
-            <section class="bg-white bar">
-                <div class="container">
-                <div class="heading text-center">
-                    <h2>From the blog</h2>
-                </div>
-                <p class="lead">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. <a href="blog.html">Check our blog</a></p>
-                <div class="row">
-                    <div class="col-lg-3">
-                    <div class="home-blog-post">
-                        <div class="image"><img src="img/portfolio-4.jpg" alt="..." class="img-fluid">
-                        <div class="overlay d-flex align-items-center justify-content-center"><a href="#" class="btn btn-template-outlined-white"><i class="fa fa-chain"> </i> Read More</a></div>
-                        </div>
-                        <div class="text">
-                        <h4><a href="#">Fashion Now </a></h4>
-                        <p class="author-category">By <a href="#">John Snow</a> in <a href="blog.html">Webdesign</a></p>
-                        <p class="intro">Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p><a href="#" class="btn btn-template-outlined">Continue Reading</a>
-                        </div>
-                    </div>
-                    </div>
-                    <div class="col-lg-3">
-                    <div class="home-blog-post">
-                        <div class="image"><img src="img/portfolio-3.jpg" alt="..." class="img-fluid">
-                        <div class="overlay d-flex align-items-center justify-content-center"><a href="#" class="btn btn-template-outlined-white"><i class="fa fa-chain"> </i> Read More</a></div>
-                        </div>
-                        <div class="text">
-                        <h4><a href="#">What to do</a></h4>
-                        <p class="author-category">By <a href="#">John Snow</a> in <a href="blog.html">Webdesign</a></p>
-                        <p class="intro">Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p><a href="#" class="btn btn-template-outlined">Continue Reading</a>
-                        </div>
-                    </div>
-                    </div>
-                    <div class="col-lg-3">
-                    <div class="home-blog-post">
-                        <div class="image"><img src="img/portfolio-5.jpg" alt="..." class="img-fluid">
-                        <div class="overlay d-flex align-items-center justify-content-center"><a href="#" class="btn btn-template-outlined-white"><i class="fa fa-chain"> </i> Read More</a></div>
-                        </div>
-                        <div class="text">
-                        <h4><a href="#">5 ways to look awesome</a></h4>
-                        <p class="author-category">By <a href="#">John Snow</a> in <a href="blog.html">Webdesign</a></p>
-                        <p class="intro">Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p><a href="#" class="btn btn-template-outlined">Continue Reading</a>
                         </div>
                     </div>
-                    </div>
-                    <div class="col-lg-3">
-                    <div class="home-blog-post">
-                        <div class="image"><img src="img/portfolio-6.jpg" alt="..." class="img-fluid">
-                        <div class="overlay d-flex align-items-center justify-content-center"><a href="#" class="btn btn-template-outlined-white"><i class="fa fa-chain"> </i> Read More</a></div>
+                </section>
+                <section class="bar bg-gray">
+                    <div class="row">
+                        <div class="col-md-12">
+                            <div class="heading text-center">
+                                <h2>联系我们</h2>
+                            </div>
                         </div>
-                        <div class="text">
-                        <h4><a href="#">Fashion Now </a></h4>
-                        <p class="author-category">By <a href="#">John Snow</a> in <a href="blog.html">Webdesign</a></p>
-                        <p class="intro">Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring.</p><a href="#" class="btn btn-template-outlined">Continue Reading</a>
+                        <div class="col-md-8 mx-auto">
+                            <form>
+                                <div class="row">
+                                    <div class="col-sm-6">
+                                        <div class="form-group">
+                                            <label for="name">姓名</label>
+                                            <input id="name" type="text" class="form-control">
+                                        </div>
+                                    </div>
+                                    <div class="col-sm-6">
+                                        <div class="form-group">
+                                            <label for="phone">手机号</label>
+                                            <input id="phone" type="text" class="form-control">
+                                        </div>
+                                    </div>
+                                    <div class="col-sm-12">
+                                        <div class="form-group">
+                                            <label for="message">消息</label>
+                                            <textarea id="message" rows="8"  class="form-control"></textarea>
+                                        </div>
+                                    </div>
+                                    <div class="col-sm-12 text-center">
+                                        <button type="submit" class="btn btn-template-outlined"><i class="fa fa-envelope-o"></i> 发送</button>
+                                    </div>
+                                </div>
+                            </form>
                         </div>
                     </div>
-                    </div>
-                </div>
-                </div>
-            </section>
-            <section class="bar bg-gray">
-                <div class="container">
-                <div class="heading text-center">
-                    <h2>Our Clients</h2>
-                </div>
-                <ul class="list-unstyled owl-carousel customers no-mb">
-                    <li class="item"><img src="img/customer-1.png" alt="" class="img-fluid"></li>
-                    <li class="item"><img src="img/customer-2.png" alt="" class="img-fluid"></li>
-                    <li class="item"><img src="img/customer-3.png" alt="" class="img-fluid"></li>
-                    <li class="item"><img src="img/customer-4.png" alt="" class="img-fluid"></li>
-                    <li class="item"><img src="img/customer-5.png" alt="" class="img-fluid"></li>
-                    <li class="item"><img src="img/customer-6.png" alt="" class="img-fluid"></li>
-                </ul>
-                </div>
-            </section>
+                </section>
+            </div>
             <!-- FOOTER -->
             <footer class="main-footer">
                 <div class="container">
@@ -366,7 +312,6 @@
         <script src="js/jquery.parallax-1.1.3.js"></script>
         <script src="vendor/bootstrap-select/js/bootstrap-select.min.js"></script>
         <script src="vendor/jquery.scrollto/jquery.scrollTo.min.js"></script>
-        <script src="js/
-        .js"></script>
+        <script src="js/front.js"></script>
     </body>
 </html>

+ 42 - 4
website/src/main/resources/templates/css/custom.css

@@ -3,6 +3,8 @@
     z-index: 10;
 }
 
+
+/* 首页 */
 .background_video {
     position: fixed;/* 视频定位方式设为固定 */
     right: 0;
@@ -17,8 +19,6 @@
 
 .background-wap {
     position: relative;
-    /* background: -webkit-gradient( linear, 0 50%, 100% 50%, from(#66b1ff), to(#467fbf) );
-    -webkit-transform: skewY(-15deg); */
     background: #fff;
 }
 
@@ -51,13 +51,51 @@
 
 .banner .owl-carousel .owl-item img {
     height: 100%;
-    max-height: 680px;
+    max-height: 700px;
     min-height: 175px;
     margin: 0 auto;
 }
 
 @media (max-width: 767px) {
     .banner .home-carousel img {
-        max-height: 175px;
+        height: 230px!important;
+        max-height: 210px!important;
     }
+}
+
+/* 关于我们 */
+.about .relative-positioned .container {
+    height: 600px;
+}
+
+.about .relative-positioned .container .text-uppercase {
+    padding-top: 10rem;
+}
+
+.about .box-image .overlay ,
+.about .box-image h3 ,
+.about .box-image p ,
+.about .box-image .buttons {
+    opacity: 1;
+}
+
+.about .box-image .overlay {
+    background: rgba(0, 0, 0, 0.3);
+}
+
+.about .box-image h3 {
+    transform: translateY(0px);
+}
+
+.about .icon-outlined.icon-sm {
+    width: 90px;
+    height: 90px;
+    line-height: 90px;
+    font-size: 3.8rem;
+    font-weight: 100;
+    border: 0;
+}
+
+.about #message {
+    resize: none;
 }

二進制
website/src/main/resources/templates/img/background_bottom.jpg


二進制
website/src/main/resources/templates/img/background_bottom.png


二進制
website/src/main/resources/templates/img/job1.jpeg


二進制
website/src/main/resources/templates/img/job2.jpg


二進制
website/src/main/resources/templates/img/job3.jpeg


二進制
website/src/main/resources/templates/img/job4.jpeg


二進制
website/src/main/resources/templates/img/joinus.png