소스 검색

Initial commit

master
yangshubao 5 달 전
커밋
74cfac9d30
100개의 변경된 파일15196개의 추가작업 그리고 0개의 파일을 삭제
  1. 1
    0
      .github/FUNDING.yml
  2. 46
    0
      .gitignore
  3. 21
    0
      LICENSE
  4. 64
    0
      README.md
  5. 12
    0
      bin/clean.bat
  6. 12
    0
      bin/package.bat
  7. 14
    0
      bin/run-auth.bat
  8. 14
    0
      bin/run-gateway.bat
  9. 14
    0
      bin/run-modules-file.bat
  10. 14
    0
      bin/run-modules-gen.bat
  11. 14
    0
      bin/run-modules-job.bat
  12. 14
    0
      bin/run-modules-system.bat
  13. 14
    0
      bin/run-monitor.bat
  14. BIN
      driver/ojdbc8-12.2.0.1.jar
  15. 373
    0
      html/Philippine CXOs experience FOTON's Super Power Train and all new products including new energy models at FOTON Open Day.html
  16. 117
    0
      html/casd.html
  17. 489
    0
      html/news.html
  18. 417
    0
      html/newsDetailcd46487a.html
  19. 443
    0
      html/productsBrand5fd38ddf.html
  20. 493
    0
      html/productsBranddbd62629.html
  21. 474
    0
      html/productsBrandef84f398.html
  22. 583
    0
      html/selectCountry.html
  23. 385
    0
      html/specialvehicles/bangladesh-refrigerated-truck.html
  24. 481
    0
      html/subject0d38a51b.html
  25. 460
    0
      html/subject3819d5bf.html
  26. 373
    0
      html/subject4d6c6e96.html
  27. 373
    0
      html/subject79db1675.html
  28. 481
    0
      html/subject7a4c7ff6.html
  29. 373
    0
      html/subjectc38cda22.html
  30. BIN
      nacos/nacos_config.zip
  31. 298
    0
      pom.xml
  32. 291
    0
      sql/quartz.sql
  33. 1059
    0
      sql/ry_20230223.sql
  34. 219
    0
      sql/ry_config_20220929.sql
  35. 71
    0
      sql/ry_seata_20210326.sql
  36. 116
    0
      templates/Australia-1.ftl
  37. 115
    0
      templates/Australia-2.ftl
  38. 112
    0
      templates/Chile.ftl
  39. 111
    0
      templates/Philippines.ftl
  40. 45
    0
      templates/aboutUs-1.ftl
  41. 44
    0
      templates/aboutUs-2.ftl
  42. 45
    0
      templates/aboutUs-3.ftl
  43. 45
    0
      templates/aboutUs-4.ftl
  44. 45
    0
      templates/aboutUs-5.ftl
  45. 45
    0
      templates/attachment.ftl
  46. 141
    0
      templates/concatUs.ftl
  47. 75
    0
      templates/configuration.ftl
  48. 71
    0
      templates/cookies.ftl
  49. 45
    0
      templates/dealer.ftl
  50. 90
    0
      templates/footer.ftl
  51. 133
    0
      templates/header.ftl
  52. 7
    0
      templates/headerUp.ftl
  53. 83
    0
      templates/index.ftl
  54. 118
    0
      templates/mall.ftl
  55. 186
    0
      templates/mallDetail.ftl
  56. 130
    0
      templates/news.ftl
  57. 87
    0
      templates/newsDetail.ftl
  58. 53
    0
      templates/personalCar.ftl
  59. 235
    0
      templates/privacy.ftl
  60. 42
    0
      templates/products.ftl
  61. 234
    0
      templates/productsBrand.ftl
  62. 695
    0
      templates/productsDetail.ftl
  63. 100
    0
      templates/selectCountry.ftl
  64. 54
    0
      templates/service.ftl
  65. 49
    0
      templates/sitemap.ftl
  66. 69
    0
      templates/subject.ftl
  67. 69
    0
      templates/subjectAggre.ftl
  68. 53
    0
      templates/temporaryProduct.ftl
  69. 75
    0
      templates/topic.ftl
  70. 64
    0
      templates/video.ftl
  71. 22
    0
      webstudio-api/pom.xml
  72. 28
    0
      webstudio-api/webstudio-api-system/pom.xml
  73. 81
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteFileService.java
  74. 39
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteFormService.java
  75. 41
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteLogService.java
  76. 77
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteStaticService.java
  77. 70
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteUserService.java
  78. 111
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysConfig.java
  79. 225
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDept.java
  80. 176
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDictData.java
  81. 96
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDictType.java
  82. 124
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysFile.java
  83. 126
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysLogininfor.java
  84. 255
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysOperLog.java
  85. 78
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysProjectInfo.java
  86. 299
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysRole.java
  87. 414
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysUser.java
  88. 76
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteFileFallbackFactory.java
  89. 57
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteFormFallbackFactory.java
  90. 42
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteLogFallbackFactory.java
  91. 74
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteStaticizeFallbackFactory.java
  92. 57
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteUserFallbackFactory.java
  93. 176
    0
      webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/model/LoginUser.java
  94. 4
    0
      webstudio-api/webstudio-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  95. 82
    0
      webstudio-auth/pom.xml
  96. 22
    0
      webstudio-auth/src/main/java/com/webstudio/auth/AuthApplication.java
  97. 80
    0
      webstudio-auth/src/main/java/com/webstudio/auth/controller/TokenController.java
  98. 65
    0
      webstudio-auth/src/main/java/com/webstudio/auth/form/LoginBody.java
  99. 11
    0
      webstudio-auth/src/main/java/com/webstudio/auth/form/RegisterBody.java
  100. 0
    0
      webstudio-auth/src/main/java/com/webstudio/auth/service/SysLoginService.java

+ 1
- 0
.github/FUNDING.yml 파일 보기

@@ -0,0 +1 @@
1
+custom: http://doc.ruoyi.vip/ruoyi-cloud/other/donate.html

+ 46
- 0
.gitignore 파일 보기

@@ -0,0 +1,46 @@
1
+######################################################################
2
+# Build Tools
3
+
4
+.gradle
5
+/build/
6
+!gradle/wrapper/gradle-wrapper.jar
7
+
8
+target/
9
+!.mvn/wrapper/maven-wrapper.jar
10
+
11
+######################################################################
12
+# IDE
13
+
14
+### STS ###
15
+.apt_generated
16
+.classpath
17
+.factorypath
18
+.project
19
+.settings
20
+.springBeans
21
+
22
+### IntelliJ IDEA ###
23
+.idea
24
+*.iws
25
+*.iml
26
+*.ipr
27
+
28
+### JRebel ###
29
+rebel.xml
30
+### NetBeans ###
31
+nbproject/private/
32
+build/*
33
+nbbuild/
34
+dist/
35
+nbdist/
36
+.nb-gradle/
37
+
38
+######################################################################
39
+# Others
40
+*.log
41
+*.xml.versionsBackup
42
+*.swp
43
+
44
+!*/build/*.java
45
+!*/build/*.html
46
+!*/build/*.xml

+ 21
- 0
LICENSE 파일 보기

@@ -0,0 +1,21 @@
1
+MIT License
2
+
3
+Copyright (c) 2020 若依
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 64
- 0
README.md 파일 보기

@@ -0,0 +1,64 @@
1
+
2
+<h4 align="center">基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构</h4>
3
+
4
+
5
+
6
+
7
+## 系统模块
8
+
9
+~~~
10
+com.webstudio     
11
+├── webstudio-ui              // 前端框架 [80]
12
+├── webstudio-gateway         // 网关模块 [8080]
13
+├── webstudio-auth            // 认证中心 [9200]
14
+├── webstudio-api             // 接口模块
15
+│       └── webstudio-api-system                          // 系统接口
16
+├── webstudio-common          // 通用模块
17
+│       └── webstudio-common-core                         // 核心模块
18
+│       └── webstudio-common-datascope                    // 权限范围
19
+│       └── webstudio-common-datasource                   // 多数据源
20
+│       └── webstudio-common-log                          // 日志记录
21
+│       └── webstudio-common-redis                        // 缓存服务
22
+│       └── webstudio-common-seata                        // 分布式事务
23
+│       └── webstudio-common-security                     // 安全模块
24
+│       └── webstudio-common-swagger                      // 系统接口
25
+├── webstudio-modules         // 业务模块
26
+│       └── webstudio-system                              // 系统模块 [9201]
27
+│       └── webstudio-gen                                 // 代码生成 [9202]
28
+│       └── webstudio-job                                 // 定时任务 [9203]
29
+│       └── webstudio-file                                // 文件服务 [9300]
30
+├── webstudio-visual          // 图形化管理模块
31
+│       └── webstudio-visual-monitor                      // 监控中心 [9100]
32
+├──pom.xml                // 公共依赖
33
+~~~
34
+
35
+## 平台概述
36
+
37
+### 平台组成
38
+    基建工程智能管理平台,将工程设计、采购、施工等阶段的信息都完整的记录下来,收集设计和建设过程中的数据并移交给建设单位,可与建设单位的其他业务系统进行集成,并最终成为集成各种数据进行统一展示的门户。
39
+### 业务范围
40
+    总体架构以满足基建工程部对重点基建工程管理需求为目标,从业务上包含三维应用、多方协同和在线审查、物资管理、质量管理、进度管理、风险管理等领域,通过数据总线与相关信息系统实现数据集成。
41
+### 技术与性能要求
42
+    平台依托采用分布式微服务模式架构为系统提供技术支撑,实现基建工程全业务流程化管理和信息化归档,为基建工程信息化管理提供支持。
43
+平台需支撑不少于50个项目、100个单位、200名人员并发使用,采用分布式微服务模式搭建框架,系统可以横向扩展,当业务或者项目使用人员突增,服务器压力较大可以横向扩展增加硬件即可。同时技术框架也需考虑三维场景的渲染,可以有效支撑在线协同与数据化化交付与展示。技术框架主要包含通信层、网关层、服务层、数据层组层。开发框架整体采用微服务框架;数据采用读写分离模式,提升查询存储效率。
44
+
45
+## 平台架构
46
+
47
+###(一)软件架构
48
+基建管理平台系统软件部分需采用面向对象的设计方法以及基于组件设计的理念和技术,从纵向的结构层面上,提供数据层、服务层、应用层、用户层的抽象、映射、实现和封装;应用层对各子系统的用户业务处理逻辑进行实现和封装,数据库层采用多种形式数据库的总体封装,提供本地及远程多种数据连接方式,为应用层提供透明的数据存储和访问功能。
49
+数据层:一方面对于无法从当前自建信息系统中获取的数据提供专门的数据采集界面进行数据的填报入库录入,另一方面从各个专业库数据库通过数据接口方式将专业数据接入到平台数据库中。将专业系统或人工采集的数据,按照划分的业务分类进行存储。
50
+服务层:应具有与大数据平台对接、GIS基础服务、移动基础服务等能力,通过各类数据可视化展现,并以位置、资产、过程、事件等为中心重新组织和管理数据,为应用层提供支撑。
51
+应用层:通过平台开发的功能服务,实现对流程化管控、三维协同设计、工程建设沙盘、数据(矢量化)管理及展示等业务的应用支持。
52
+用户层:提供用户使用系统的界面,为用户提供访问入口、登录窗口、图形显示、导入导出等功能。系统前端展现层根据前后台的通讯规约,前台开发统一的通讯模块,须完成数据封装(含加密编码)、数据解封(解密、解编)、异常处理、异步回调处理(基于服务级别的 异步机制)、Comet 等公共处理功能,提供透明的数据通讯接口。
53
+###(二)业务架构
54
+业务架构以基建工程部、建设单位、施工相关方三个业务层次为基础,并分别构建工程项目管理业务架构、完整性数据管理业务架构和信息化归档业务架构,实现三个业务层级之间的业务流转,实现三个业务层次之间的无缝对接和高效协同。
55
+业务流程管理:根据岗位工作质量标准、内控管理流程等管理规范,结合业务管理特点和平台业务范围,将业务流程归纳为开工报告流程管理、施工进度流程管理、变更流程化管理、施工质量流程化管理、安全流程化管理、试运投产流程化管理等流程。
56
+###(三)集成架构
57
+集成架构以基建工程智能管理平台为核心,借助于数据服务集成平台,实现与相关平台(系统)进行有效的数据集成、数据服务、应用集成。
58
+数据服务:GIS公共服务平台以Web Service、JavaScript API接口等方式为基建管理平台提供地图发布、地图操作、地图查询、空间分析、以及扩展的鼠标左右键扩展服务等基本GIS功能服务。
59
+数据集成:根据基建工程智能管理平台的数据需求,本平台需要从A4地理信息系统、A5系统、设计单位三维设计平台、基建工程数字化移交平台、监理管理平台等集成有关数据。
60
+(四)系统部署架构
61
+平台部署在油田公司云平台上,云平台服务器储存应用程序、数据等。相关部室和二级单位均可通过公司内网通过应用端来访问。公网PC及移动端用户数据经过防火墙后进入DMZ区,再从DMZ区进入内网服务器,保证网络安全。
62
+应用服务器与数据库服务器:利用虚拟服务器软件,将平台的应用服务器和数据服务器部署在区域数据中心,实现系统的云网端部署。
63
+办公计算机:系统各类管理用户通过有线油田办公网,使用平台的业务流程化管控、工程项目管理、数字化移交、统计分析等子系统。
64
+

+ 12
- 0
bin/clean.bat 파일 보기

@@ -0,0 +1,12 @@
1
+@echo off
2
+echo.
3
+echo [信息] 清理工程target生成路径。
4
+echo.
5
+
6
+%~d0
7
+cd %~dp0
8
+
9
+cd ..
10
+call mvn clean
11
+
12
+pause

+ 12
- 0
bin/package.bat 파일 보기

@@ -0,0 +1,12 @@
1
+@echo off
2
+echo.
3
+echo [信息] 打包Web工程,生成war/jar包文件。
4
+echo.
5
+
6
+%~d0
7
+cd %~dp0
8
+
9
+cd ..
10
+call mvn clean package -Dmaven.test.skip=true
11
+
12
+pause

+ 14
- 0
bin/run-auth.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Auth工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-auth/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-auth.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-gateway.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Gateway工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-gateway/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-gateway.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-modules-file.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Modules-File工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-modules/ruoyi-file/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-file.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-modules-gen.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Modules-Gen工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-modules/ruoyi-gen/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-gen.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-modules-job.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Modules-Job工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-modules/ruoyi-job/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-job.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-modules-system.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Modules-System工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-modules/ruoyi-system/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-system.jar
12
+
13
+cd bin
14
+pause

+ 14
- 0
bin/run-monitor.bat 파일 보기

@@ -0,0 +1,14 @@
1
+@echo off
2
+echo.
3
+echo [信息] 使用Jar命令运行Monitor工程。
4
+echo.
5
+
6
+cd %~dp0
7
+cd ../ruoyi-visual/ruoyi-monitor/target
8
+
9
+set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
10
+
11
+java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-visual-monitor.jar
12
+
13
+cd bin
14
+pause

BIN
driver/ojdbc8-12.2.0.1.jar 파일 보기


+ 373
- 0
html/Philippine CXOs experience FOTON's Super Power Train and all new products including new energy models at FOTON Open Day.html
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 117
- 0
html/casd.html 파일 보기

@@ -0,0 +1,117 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+<!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>相应数据neic</title>
17
+    <meta name="keywords" content=相应数据neic>
18
+    <meta name="description" content=>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/subject/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                

+ 489
- 0
html/news.html 파일 보기

@@ -0,0 +1,489 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>news</title>
17
+    <meta name="keywords" content=news3>
18
+    <meta name="description" content=news2>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="./static/css/animate.min.css">
22
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="./common/index.css" rel="stylesheet">
24
+    <link href="./news/index.css" rel="stylesheet">
25
+
26
+    <meta property="og:title" content="TOGETHER WIN FUTURE: FOTON HELD GLOBAL PARTNER CONFERENCE AT BEIJING CHINA." />
27
+    <meta property="og:image" content="/fotonmotor/39c9afc9871043b682721249a9e20f49.png" />
28
+    <meta property="og:description" content="Beijing, August 28, 2023 — FOTON, on its 27th anniversary, marked the occasion with a grand brand rejuvenation launch event. Held at the" />
29
+</head>
30
+<body>
31
+<header>
32
+    <div class="navPanel">
33
+        <div class="navGroup">
34
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
35
+            <a href="/products.html" class="navItem">PRODUCTS</a>
36
+            <a href="/news.html" class="navItem">NEWS</a>
37
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
38
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
39
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
40
+        </div>
41
+        <a class="logo" href="/foton.html"></a>
42
+    </div>
43
+    <div class="subNavPanel">
44
+        <div class="subNavScroll">
45
+            <div class="subNavGroup">
46
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
47
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
48
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
49
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
50
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
51
+            </div>
52
+            <div class="subNavGroup">
53
+                    <div class="subNav">
54
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
55
+                           class="title">测试产品管理</a>
56
+                        <div class="list">
57
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
58
+                                   class="subsubNav">杨子姗</a>
59
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
60
+                                   class="subsubNav">奔驰</a>
61
+                        </div>
62
+                    </div>
63
+                    <div class="subNav">
64
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
65
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
66
+                        <div class="list">
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
68
+                                   class="subsubNav">OVERVIEW</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
70
+                                   class="subsubNav">2024年4月1</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
72
+                                   class="subsubNav">AUMAN R</a>
73
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
74
+                                   class="subsubNav">AUMAN C</a>
75
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
76
+                                   class="subsubNav">AUMAN D</a>
77
+                        </div>
78
+                    </div>
79
+                    <div class="subNav">
80
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
81
+                           class="title">LIGHT DUTY TRUCK</a>
82
+                        <div class="list">
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
84
+                                   class="subsubNav">OVERVIEW</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
86
+                                   class="subsubNav">ALL-NEW AUMARK</a>
87
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
88
+                                   class="subsubNav">AUMARK S</a>
89
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
90
+                                   class="subsubNav">MILER</a>
91
+                        </div>
92
+                    </div>
93
+                    <div class="subNav">
94
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
95
+                           class="title">MINI TRUCKS</a>
96
+                        <div class="list">
97
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
98
+                                   class="subsubNav">TRUCK MATE</a>
99
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
100
+                                   class="subsubNav">WONDER</a>
101
+                        </div>
102
+                    </div>
103
+                    <div class="subNav">
104
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
105
+                           class="title">PICKUP</a>
106
+                        <div class="list">
107
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
108
+                                   class="subsubNav">TUNLAND G</a>
109
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
110
+                                   class="subsubNav">TUNLAND V</a>
111
+                        </div>
112
+                    </div>
113
+                    <div class="subNav">
114
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
115
+                           class="title">VAN</a>
116
+                        <div class="list">
117
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
118
+                                   class="subsubNav">VIEW CS2</a>
119
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
120
+                                   class="subsubNav">TOANO</a>
121
+                        </div>
122
+                    </div>
123
+                    <div class="subNav">
124
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
125
+                           class="title">BUS&COACH</a>
126
+                        <div class="list">
127
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
128
+                                   class="subsubNav">INERCITY COACH</a>
129
+                        </div>
130
+                    </div>
131
+                    <div class="subNav">
132
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
133
+                           class="title">eMOBILITY</a>
134
+                        <div class="list">
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
136
+                                   class="subsubNav">eAUMAN</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
138
+                                   class="subsubNav">eAUMARK</a>
139
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
140
+                                   class="subsubNav">eVIEW</a>
141
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
142
+                                   class="subsubNav">eTUNLAND</a>
143
+                        </div>
144
+                    </div>
145
+                    <div class="subNav">
146
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
147
+                           class="title">SPECIAL VEHICLES</a>
148
+                        <div class="list">
149
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
150
+                                   class="subsubNav">BROCK</a>
151
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
152
+                                   class="subsubNav">test2</a>
153
+                        </div>
154
+                    </div>
155
+
156
+                <div class="subNav">
157
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
158
+                </div>
159
+            </div>
160
+            <div class="subNavGroup"></div>
161
+            <div class="subNavGroup"></div>
162
+            <div class="subNavGroup"></div>
163
+            <div class="subNavGroup"></div>
164
+            <div class="subNavGroup"></div>
165
+        </div>
166
+    </div>
167
+</header>
168
+<div class="header_m">
169
+    <div class="header_bar">
170
+        <a href="/foton.html" class="logo_m"></a>
171
+        <div class="navFlagBtn" data-flag="0">
172
+            <div class="nav_btn_small">
173
+                <div class="lineTop arrowDirBase"></div>
174
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
175
+                <div class="lineBottom arrowDirBase"></div>
176
+            </div>
177
+        </div>
178
+        <div class="headerMline">
179
+        </div>
180
+    </div>
181
+</div>
182
+<div class="navGroup_m">
183
+    <div class="navTopLine"></div>
184
+    <div class="navScroll">
185
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
186
+        <div class="navItem">
187
+            <div class="navTitle">ABOUT US</div>
188
+            <div class="navIcon">
189
+                <div class="hLine"></div>
190
+                <div class="vLine"></div>
191
+            </div>
192
+            <div class="subGroup">
193
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
194
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
195
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
196
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
197
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
198
+            </div>
199
+        </div>
200
+        <div class="navItem">
201
+            <div class="navTitle">PRODUCTS</div>
202
+            <div class="navIcon">
203
+                <div class="hLine"></div>
204
+                <div class="vLine"></div>
205
+            </div>
206
+            <div class="subGroup">
207
+                    <a class="subNav ani ani-fromRight ani-delay-100"
208
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-200"
210
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-300"
212
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-400"
214
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-500"
216
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-600"
218
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-700"
220
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
221
+                    <a class="subNav ani ani-fromRight ani-delay-800"
222
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
223
+                    <a class="subNav ani ani-fromRight ani-delay-900"
224
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
225
+            </div>
226
+        </div>
227
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
228
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
229
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
230
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
231
+    </div>
232
+    <div class="navFoot">
233
+        <div><a href="tel:+86 1080762999">
234
+                <div class="li iconPhone">+86 1080762999</div>
235
+            </a>
236
+        </div>
237
+    </div>
238
+</div>
239
+<div class="header-right">
240
+    <div class="sharethis-inline-share-buttons"></div>
241
+</div>
242
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
243
+        async="async">
244
+</script><div class="main">
245
+    <section class="section part part_1 fadeInUp wow">
246
+        <div class="part_content">
247
+             <div class='title_1 editTxt'>NEWS-新闻</div><div class='title_text editTxt'>Explore our Press Portal for a centralized resource featuring press releases, a diverse collection of visual content, and convenient contact information for press inquiries.32</div> 
248
+        </div>
249
+    </section>
250
+    <section class="section part part_2 fadeInUp wow">
251
+        <div class="part_content">
252
+                    <a class="item-1" href="/newsDetailb9d75ba3.html">
253
+                        <div class="bgImage">
254
+                            <picture class="lazy">
255
+                                <source data-srcset="/fotonmotor/39c9afc9871043b682721249a9e20f49.png" srcset="" media="(max-width: 800px)"/>
256
+                                <img class="fit-image" data-src="/fotonmotor/39c9afc9871043b682721249a9e20f49.png" src=""/>
257
+                            </picture>
258
+                        </div>
259
+                        <div class="info">
260
+                            <div class="item-title">TOGETHER WIN FUTURE: FOTON HELD GLOBAL PARTNER CONFERENCE AT BEIJING CHINA.</div>
261
+                            <div class="item-sub-title">2023-04-11</div>
262
+                        </div>
263
+                    </a>
264
+                    <div class="item-2">
265
+                        <div class="item-img">
266
+                            <div class="bgImage">
267
+                                <picture class="lazy">
268
+                                    <source data-srcset="/fotonmotor/a507181656ee49088c40993a160f6945.jpg" srcset="" media="(max-width: 800px)"/>
269
+                                    <img class="fit-image" data-src="/fotonmotor/a507181656ee49088c40993a160f6945.jpg" src=""/>
270
+                                </picture>
271
+                            </div>
272
+                        </div>
273
+                        <div class="info">
274
+                            <div class="item-title">FOTON ELECTROMOBILITY ACCELERATES ZERO EMISSION HOME DELIVERIES IN AUSTRALIA.
275
+                            </div>
276
+                            <div class="item-sub-title">2023-06-05</div>
277
+                            <div class="item-context">An Australia leading retailer purchased 25 units of FOTON electric light duty trucks, who has announced that it aims to make all its home delivery trucks 100% electric-powered by 2030.
278
+                            </div>
279
+                            <a class="viewBtn btn text" href="/newsDetail99145a6b.html">
280
+                                <div class="viewText">VIEW MORE</div>
281
+                                <div class="viewIcon">
282
+                                    <div class="viewArrow1"></div>
283
+                                    <div class="viewArrow2"></div>
284
+                                </div>
285
+                            </a>
286
+                        </div>
287
+                    </div>
288
+                    <div class="item-2">
289
+                        <div class="item-img">
290
+                            <div class="bgImage">
291
+                                <picture class="lazy">
292
+                                    <source data-srcset="/fotonmotor/48b25fed1bd144379a1d512465d1668a.jpg" srcset="" media="(max-width: 800px)"/>
293
+                                    <img class="fit-image" data-src="/fotonmotor/48b25fed1bd144379a1d512465d1668a.jpg" src=""/>
294
+                                </picture>
295
+                            </div>
296
+                        </div>
297
+                        <div class="info">
298
+                            <div class="item-title">Change Your Driving: FOTON AMTs Debut Globally.
299
+                            </div>
300
+                            <div class="item-sub-title">2023-06-16</div>
301
+                            <div class="item-context">With full-scenario automatic transmission technology and product solutions to the logistics industry, FOTON launched heavy-duty, medium-duty, and light-duty automatic transmissions for all series.
302
+                            </div>
303
+                            <a class="viewBtn btn text" href="/newsDetail71fb446f.html">
304
+                                <div class="viewText">VIEW MORE</div>
305
+                                <div class="viewIcon">
306
+                                    <div class="viewArrow1"></div>
307
+                                    <div class="viewArrow2"></div>
308
+                                </div>
309
+                            </a>
310
+                        </div>
311
+                    </div>
312
+        </div>
313
+    </section>
314
+    <section class="section part part_3 fadeInUp wow">
315
+        <div class="searchForm">
316
+            <div class="products">
317
+                <div class="select-title">Products</div>
318
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
319
+                        <div data-value="ab956fd527e6451e926343e7871f07eb" data-label="测试产品管理" data-index-id="0" class="select-listItem">测试产品管理</div>
320
+                        <div data-value="bcf4f59a78e34ce6aa3c1454cccfc7e2" data-label="MEDIUM & HEAVY DUTY TRUCKS" data-index-id="1" class="select-listItem">MEDIUM & HEAVY DUTY TRUCKS</div>
321
+                        <div data-value="1ddf320bea3846788d53641631aa0dd3" data-label="LIGHT DUTY TRUCK" data-index-id="2" class="select-listItem">LIGHT DUTY TRUCK</div>
322
+                        <div data-value="7f63bcd3cc2943a9ae13f65782a7f3a0" data-label="MINI TRUCKS" data-index-id="3" class="select-listItem">MINI TRUCKS</div>
323
+                        <div data-value="ffe3e42bf2044c9b916584aef92ea6a8" data-label="PICKUP" data-index-id="4" class="select-listItem">PICKUP</div>
324
+                        <div data-value="7e2509e229734720be3354f38d431e19" data-label="VAN" data-index-id="5" class="select-listItem">VAN</div>
325
+                        <div data-value="83038e69a54e48788b7b7e4322b9fb7d" data-label="BUS&COACH" data-index-id="6" class="select-listItem">BUS&COACH</div>
326
+                        <div data-value="3e10a41a199648e6b23d6d91ffaf62fb" data-label="eMOBILITY" data-index-id="7" class="select-listItem">eMOBILITY</div>
327
+                        <div data-value="9a99b2abf66e45269306c3c34bd64d8c" data-label="SPECIAL VEHICLES" data-index-id="8" class="select-listItem">SPECIAL VEHICLES</div>
328
+                </div>
329
+            </div>
330
+            <div class="topics">
331
+                <div class="select-title">Topics</div>
332
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
333
+                        <div data-value="ee899edbd1c94f108728407c6908c01c" data-label="#相应数据neic" data-index-id="0" class="select-listItem">#相应数据neic</div>
334
+                        <div data-value="b2d1b7a3976e42d0aa3c192be8636721" data-label="#对方官方的" data-index-id="1" class="select-listItem">#对方官方的</div>
335
+                        <div data-value="75990d92b7a14a13977ac6be9d8f12c2" data-label="#测试应用1" data-index-id="2" class="select-listItem">#测试应用1</div>
336
+                </div>
337
+            </div>
338
+            <div class="time">
339
+                <div class="select-title">Time</div>
340
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
341
+                        <div data-value="2024-03" data-label="2024-03" data-index-id="0" class="select-listItem">2024-03</div>
342
+                        <div data-value="2024-02" data-label="2024-02" data-index-id="1" class="select-listItem">2024-02</div>
343
+                        <div data-value="2023-12" data-label="2023-12" data-index-id="2" class="select-listItem">2023-12</div>
344
+                        <div data-value="2023-11" data-label="2023-11" data-index-id="3" class="select-listItem">2023-11</div>
345
+                        <div data-value="2023-10" data-label="2023-10" data-index-id="4" class="select-listItem">2023-10</div>
346
+                        <div data-value="2023-06" data-label="2023-06" data-index-id="5" class="select-listItem">2023-06</div>
347
+                        <div data-value="2023-04" data-label="2023-04" data-index-id="6" class="select-listItem">2023-04</div>
348
+                </div>
349
+            </div>
350
+            <div class="all">ALL</div>
351
+        </div>
352
+        <div class="titleForm"></div>
353
+        <div id="list"></div>
354
+        <div id="pagination"></div>
355
+    </section>
356
+    <section class="section part part_4 fadeInUp wow"></section>
357
+</div>
358
+<footer>
359
+    <div class="con">
360
+        <div class="row1">
361
+            <div class="title">VISIT YOUR MARKET SITE</div>
362
+            <a class="viewBtn btn" href="/selectCountry.html">
363
+                <div class="viewText">Choose your market</div>
364
+                <div class="viewIcon">
365
+                    <div class="viewArrow1"></div>
366
+                    <div class="viewArrow2"></div>
367
+                </div>
368
+            </a>
369
+        </div>
370
+        <div class="row2">
371
+            <div class="c1 c-item clicked">
372
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
373
+                <div class="c-container">
374
+                    <a href="/about-foton.html">About Us</a>
375
+                    <a href="/news.html">News</a>
376
+                    <a href="/electromobility.html">Electrombility</a>
377
+                    <a href="/fotonservice.html">Service&Parts</a>
378
+                </div>
379
+            </div>
380
+            <div class="c2 c-item clicked">
381
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
382
+                <div class="c-container">
383
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
384
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
385
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
386
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
387
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
388
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
389
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
390
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
391
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
392
+                </div>
393
+            </div>
394
+            <div class="c4 c-item">
395
+                <div class="c-title">CONTACT US</div>
396
+                <div class="c-container">
397
+                        <a href="./concatUs.html" target="_blank">
398
+                            <div class="icon">
399
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
400
+                            </div>
401
+                            Contact us
402
+                        </a>
403
+                        <div class="c-line mob"></div>
404
+                        <a href="tel:+86 1080762999" target="_blank">
405
+                            <div class="icon">
406
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
407
+                            </div>
408
+                            +86 10 8076 2999
409
+                        </a>
410
+                        <div class="c-line mob"></div>
411
+                        <a href="122" target="_blank">
412
+                            <div class="icon">
413
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
414
+                            </div>
415
+                            122
416
+                        </a>
417
+                        <div class="c-line mob"></div>
418
+                </div>
419
+            </div>
420
+            <div class="c3 c-item">
421
+                <div class="c-title">SOCIAL MEDIA</div>
422
+                <div class="c-container">
423
+                        <a href="customer@foton.com.cn" target="_blank">
424
+                            <div class="icon">
425
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
426
+                            </div>
427
+                            customer@foton.com.cn
428
+                        </a>
429
+                            <div class="c-line mob"></div>
430
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
431
+                            <div class="icon">
432
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
433
+                            </div>
434
+                            Facebook
435
+                        </a>
436
+                            <div class="c-line mob"></div>
437
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
438
+                            <div class="icon">
439
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
440
+                            </div>
441
+                            YouTube
442
+                        </a>
443
+                            <div class="c-line mob"></div>
444
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
445
+                            <div class="icon">
446
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
447
+                            </div>
448
+                            Instagram
449
+                        </a>
450
+                </div>
451
+            </div>
452
+        </div>
453
+        <div class="row3 pc">
454
+            <div class="infoGroup">
455
+                <span>Copyright © Foton International. All rights reserved. </span>
456
+                | <a href="/sitemap.html">Sitemap</a>
457
+                | <a href="/cookies.html">Cookies</a>
458
+                | <a href="/privacy.html">Privacy</a>
459
+            </div>
460
+        </div>
461
+        <div class="row3 mob">
462
+            <div class="infoGroup">
463
+                <span>Copyright © Foton International. All rights reserved. </span>
464
+                <br>
465
+                <a href="/sitemap.html">Sitemap</a>
466
+                | <a href="/cookies.html">Cookies</a>
467
+                | <a href="/privacy.html">Privacy</a>
468
+            </div>
469
+        </div>
470
+        <div class="row4 mob">
471
+            <div class="top-btn"></div>
472
+        </div>
473
+    </div>
474
+</footer>
475
+<script defer="defer" src="./runtime/index.js"></script>
476
+<script defer="defer" src="./vendor/index.js"></script>
477
+<script defer="defer" src="./common/index.js"></script>
478
+<script defer="defer" src="./news/index.js"></script>
479
+</body>
480
+<script>// 模块动画
481
+    var wow = new WOW({
482
+        boxClass: 'wow',
483
+        animateClass: 'animated',
484
+        offset: 100,
485
+        live: true,
486
+        mobile: false
487
+    });
488
+    wow.init();</script>
489
+</html>

+ 417
- 0
html/newsDetailcd46487a.html 파일 보기

@@ -0,0 +1,417 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>Malaysia's Largest Fleet of Pure Electric Buses Set to Launch</title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=By the end of 2023, 46 FOTON pure electric buses has been introduced in Malaysia, mainly serving in Johor Bahru, operating as dedicated vehicles for residents of both cities.>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/newsDetail/index.css" rel="stylesheet">
25
+
26
+    <meta property="og:title" content="Malaysia's Largest Fleet of Pure Electric Buses Set to Launch" />
27
+    <meta property="og:image" content="/fotonmotor/85a0723037c948139e659d165aaaffd1.jpg" />
28
+    <meta property="og:description" content="By the end of 2023, 46 FOTON pure electric buses has been introduced in Malaysia, mainly serving in Johor Bahru, operating as dedicated vehicles for residents of both cities." />
29
+</head>
30
+<body>
31
+<header>
32
+    <div class="navPanel">
33
+        <div class="navGroup">
34
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
35
+            <a href="/products.html" class="navItem">PRODUCTS</a>
36
+            <a href="/news.html" class="navItem">NEWS</a>
37
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
38
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
39
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
40
+        </div>
41
+        <a class="logo" href="/foton.html"></a>
42
+    </div>
43
+    <div class="subNavPanel">
44
+        <div class="subNavScroll">
45
+            <div class="subNavGroup">
46
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
47
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
48
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
49
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
50
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
51
+            </div>
52
+            <div class="subNavGroup">
53
+                    <div class="subNav">
54
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
55
+                           class="title">测试产品管理</a>
56
+                        <div class="list">
57
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
58
+                                   class="subsubNav">杨子姗</a>
59
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
60
+                                   class="subsubNav">奔驰</a>
61
+                        </div>
62
+                    </div>
63
+                    <div class="subNav">
64
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
65
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
66
+                        <div class="list">
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
68
+                                   class="subsubNav">OVERVIEW</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
70
+                                   class="subsubNav">2024年4月1</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
72
+                                   class="subsubNav">AUMAN R</a>
73
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
74
+                                   class="subsubNav">AUMAN C</a>
75
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
76
+                                   class="subsubNav">AUMAN D</a>
77
+                        </div>
78
+                    </div>
79
+                    <div class="subNav">
80
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
81
+                           class="title">LIGHT DUTY TRUCK</a>
82
+                        <div class="list">
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
84
+                                   class="subsubNav">OVERVIEW</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
86
+                                   class="subsubNav">ALL-NEW AUMARK</a>
87
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
88
+                                   class="subsubNav">AUMARK S</a>
89
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
90
+                                   class="subsubNav">MILER</a>
91
+                        </div>
92
+                    </div>
93
+                    <div class="subNav">
94
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
95
+                           class="title">MINI TRUCKS</a>
96
+                        <div class="list">
97
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
98
+                                   class="subsubNav">TRUCK MATE</a>
99
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
100
+                                   class="subsubNav">WONDER</a>
101
+                        </div>
102
+                    </div>
103
+                    <div class="subNav">
104
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
105
+                           class="title">PICKUP</a>
106
+                        <div class="list">
107
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
108
+                                   class="subsubNav">TUNLAND G</a>
109
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
110
+                                   class="subsubNav">TUNLAND V</a>
111
+                        </div>
112
+                    </div>
113
+                    <div class="subNav">
114
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
115
+                           class="title">VAN</a>
116
+                        <div class="list">
117
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
118
+                                   class="subsubNav">VIEW CS2</a>
119
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
120
+                                   class="subsubNav">TOANO</a>
121
+                        </div>
122
+                    </div>
123
+                    <div class="subNav">
124
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
125
+                           class="title">BUS&COACH</a>
126
+                        <div class="list">
127
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
128
+                                   class="subsubNav">INERCITY COACH</a>
129
+                        </div>
130
+                    </div>
131
+                    <div class="subNav">
132
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
133
+                           class="title">eMOBILITY</a>
134
+                        <div class="list">
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
136
+                                   class="subsubNav">eAUMAN</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
138
+                                   class="subsubNav">eAUMARK</a>
139
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
140
+                                   class="subsubNav">eVIEW</a>
141
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
142
+                                   class="subsubNav">eTUNLAND</a>
143
+                        </div>
144
+                    </div>
145
+                    <div class="subNav">
146
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
147
+                           class="title">SPECIAL VEHICLES</a>
148
+                        <div class="list">
149
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
150
+                                   class="subsubNav">BROCK</a>
151
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
152
+                                   class="subsubNav">test2</a>
153
+                        </div>
154
+                    </div>
155
+
156
+                <div class="subNav">
157
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
158
+                </div>
159
+            </div>
160
+            <div class="subNavGroup"></div>
161
+            <div class="subNavGroup"></div>
162
+            <div class="subNavGroup"></div>
163
+            <div class="subNavGroup"></div>
164
+            <div class="subNavGroup"></div>
165
+        </div>
166
+    </div>
167
+</header>
168
+<div class="header_m">
169
+    <div class="header_bar">
170
+        <a href="/foton.html" class="logo_m"></a>
171
+        <div class="navFlagBtn" data-flag="0">
172
+            <div class="nav_btn_small">
173
+                <div class="lineTop arrowDirBase"></div>
174
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
175
+                <div class="lineBottom arrowDirBase"></div>
176
+            </div>
177
+        </div>
178
+        <div class="headerMline">
179
+        </div>
180
+    </div>
181
+</div>
182
+<div class="navGroup_m">
183
+    <div class="navTopLine"></div>
184
+    <div class="navScroll">
185
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
186
+        <div class="navItem">
187
+            <div class="navTitle">ABOUT US</div>
188
+            <div class="navIcon">
189
+                <div class="hLine"></div>
190
+                <div class="vLine"></div>
191
+            </div>
192
+            <div class="subGroup">
193
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
194
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
195
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
196
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
197
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
198
+            </div>
199
+        </div>
200
+        <div class="navItem">
201
+            <div class="navTitle">PRODUCTS</div>
202
+            <div class="navIcon">
203
+                <div class="hLine"></div>
204
+                <div class="vLine"></div>
205
+            </div>
206
+            <div class="subGroup">
207
+                    <a class="subNav ani ani-fromRight ani-delay-100"
208
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-200"
210
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-300"
212
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-400"
214
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-500"
216
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-600"
218
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-700"
220
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
221
+                    <a class="subNav ani ani-fromRight ani-delay-800"
222
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
223
+                    <a class="subNav ani ani-fromRight ani-delay-900"
224
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
225
+            </div>
226
+        </div>
227
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
228
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
229
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
230
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
231
+    </div>
232
+    <div class="navFoot">
233
+        <div><a href="tel:+86 1080762999">
234
+                <div class="li iconPhone">+86 1080762999</div>
235
+            </a>
236
+        </div>
237
+    </div>
238
+</div>
239
+<div class="header-right">
240
+    <div class="sharethis-inline-share-buttons"></div>
241
+</div>
242
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
243
+        async="async">
244
+</script><div class="main">
245
+    <section class="section banner">
246
+        <div class="bgImage">
247
+            <picture class="lazy">
248
+                <source data-srcset="/static/images/newsDetail/mob/banner.jpg" srcset="" media="(max-width: 800px)"/>
249
+                <img class="fit-image" data-src="/static/images/newsDetail/banner.jpg" src=""/></picture>
250
+        </div>
251
+    </section>
252
+    <div class="tab-menu">
253
+        <div class="con">
254
+            <div class="left">
255
+                <div class="icon">
256
+                    <img class="fit-image" src="/static/images/newsDetail/home.jpg"/>
257
+                </div>
258
+                <div class="tab-text">> NEWS > <span class="tab-item">Malaysia's Largest Fleet of Pure Electric Buses Set to Launch</span>
259
+                </div>
260
+            </div>
261
+            <div class="right">
262
+                <div class=""></div>
263
+                Share:
264
+                <div class="icon-list">
265
+                    <a class="share-item" href="www.facebook.com/fotonmotor">
266
+                        <img class="fit-image" src="/static/images/newsDetail/facebook.jpg"/>
267
+                    </a>
268
+                    <div class="share-line"></div>
269
+                    <a class="share-item" href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ">
270
+                        <img class="fit-image" src="/static/images/newsDetail/jiahao.jpg"/>
271
+                    </a>
272
+                    <div class="share-line"></div>
273
+                    <a class="share-item" href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ">
274
+                        <img class="fit-image" src="/static/images/newsDetail/twitter.jpg"/>
275
+                    </a>
276
+                </div>
277
+            </div>
278
+        </div>
279
+    </div>
280
+    <section class="part">
281
+        <div class="date wow fadeInUp">2024-02-07</div>
282
+        <div class="title wow fadeInUp">Malaysia's Largest Fleet of Pure Electric Buses Set to Launch</div>
283
+        <div class="data wow fadeInUp ql-editor">
284
+            <p><br></p><h1><em style='line-height: 36px;'>According to statistics, Malaysia's transportation emissions rate is as high as 85.2%. The country's Ministry of Transport is implementing green logistics initiatives to promote a green transportation ecosystem, aiming for sustainable development in transportation and logistics. It prioritizes public transportation networks as the fundamental structure for planning sustainable spaces and transportation growth in urbanized areas. Against this backdrop, FOTON, leveraging its global experience in green transportation operations and expertise in new energy, has repeatedly received invitations from Malaysia.</em></h1><p><br></p><p><img src='http://8.218.104.92/fotonmotor/e5c6ba96c46b4a7bbb52f5252ba0bd6e.jpg'></p><p><br></p><p><span style='color: rgba(0, 0, 0, 0.9); line-height: 34px;' class='ql-size-large'>With a track record of low failure rates and high operational efficiency, by the end of 2023, 46 FOTON&nbsp;pure electric buses&nbsp;has been introduced in Malaysia,&nbsp;mainly serving in Johor Bahru, operating as dedicated vehicles on the route between Johor Bahru and Singapore, providing convenient and efficient transportation services for residents of both cities. This not only represents the largest order of pure electric buses exported from China to Malaysia but also establishes FOTON as the leading brand of Malaysia's largest fleet of pure electric buses, injecting new vitality into Malaysia's green transportation initiatives</span><strong style='color: rgb(0, 0, 0); line-height: 34px;' class='ql-size-large'>.</strong></p><p><br></p><p><img src='http://8.218.104.92/fotonmotor/6b229818a505446fac212075f1e101d0.jpg'></p><p><br></p><p><span style='color: rgba(0, 0, 0, 0.9); line-height: 34px;' class='ql-size-large'>In fact, this reflects FOTON's&nbsp;development in the global green transportation sector. As early as 2003, FOTON&nbsp;initiated the research and development of new energy vehicle technology, independently developing and mastering core 'three-electric' technologies. It has realized the multi-route development of new energy technologies such as pure electric, hybrid, and hydrogen fuel cells. New energy products have achieved full coverage of commercial vehicles, meeting international technical requirements. In recent years, under the global trend of 'decarbonization,' FOTON&nbsp;has expanded from the fiercely competitive Chinese market to the global new energy market. FOTON's new energy products are now present in markets across Australia, Asia-Pacific, and South America. With over 1,400 pure electric buses delivered in Latin America alone, it has become the leading brand in the electric bus market in the region. In markets such as Malta, Mexico, Australia, New Zealand, India, and Egypt, FOTON's pure electric and hydrogen fuel cell buses have been commercially operated in core scenarios such as public transportation systems and international airports.</span></p><p><br></p><p><span class='ql-size-large' style='color: rgb(0, 0, 0); line-height: 34px;'>Globally, urban transportation issues are becoming increasingly prominent, and pure electric buses, as a clean and efficient mode of transportation, will see broader applications in the future. FOTON's experience and technology in new energy will serve as a new driving force to promote the electrification of transportation industries worldwide, “EVolve” the world with electrifying solutions.</span></p><p><img src='http://8.218.104.92/fotonmotor/c2c1df5f244a4d22ae71ee7491ef3d58.jpg'></p><p><br></p><p><br></p>
285
+        </div>
286
+    </section>
287
+</div>
288
+<footer>
289
+    <div class="con">
290
+        <div class="row1">
291
+            <div class="title">VISIT YOUR MARKET SITE</div>
292
+            <a class="viewBtn btn" href="/selectCountry.html">
293
+                <div class="viewText">Choose your market</div>
294
+                <div class="viewIcon">
295
+                    <div class="viewArrow1"></div>
296
+                    <div class="viewArrow2"></div>
297
+                </div>
298
+            </a>
299
+        </div>
300
+        <div class="row2">
301
+            <div class="c1 c-item clicked">
302
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
303
+                <div class="c-container">
304
+                    <a href="/about-foton.html">About Us</a>
305
+                    <a href="/news.html">News</a>
306
+                    <a href="/electromobility.html">Electrombility</a>
307
+                    <a href="/fotonservice.html">Service&Parts</a>
308
+                </div>
309
+            </div>
310
+            <div class="c2 c-item clicked">
311
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
312
+                <div class="c-container">
313
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
314
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
315
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
316
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
317
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
318
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
319
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
320
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
321
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
322
+                </div>
323
+            </div>
324
+            <div class="c4 c-item">
325
+                <div class="c-title">CONTACT US</div>
326
+                <div class="c-container">
327
+                        <a href="./concatUs.html" target="_blank">
328
+                            <div class="icon">
329
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
330
+                            </div>
331
+                            Contact us
332
+                        </a>
333
+                        <div class="c-line mob"></div>
334
+                        <a href="tel:+86 1080762999" target="_blank">
335
+                            <div class="icon">
336
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
337
+                            </div>
338
+                            +86 10 8076 2999
339
+                        </a>
340
+                        <div class="c-line mob"></div>
341
+                        <a href="122" target="_blank">
342
+                            <div class="icon">
343
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
344
+                            </div>
345
+                            122
346
+                        </a>
347
+                        <div class="c-line mob"></div>
348
+                </div>
349
+            </div>
350
+            <div class="c3 c-item">
351
+                <div class="c-title">SOCIAL MEDIA</div>
352
+                <div class="c-container">
353
+                        <a href="customer@foton.com.cn" target="_blank">
354
+                            <div class="icon">
355
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
356
+                            </div>
357
+                            customer@foton.com.cn
358
+                        </a>
359
+                            <div class="c-line mob"></div>
360
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
361
+                            <div class="icon">
362
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
363
+                            </div>
364
+                            Facebook
365
+                        </a>
366
+                            <div class="c-line mob"></div>
367
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
368
+                            <div class="icon">
369
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
370
+                            </div>
371
+                            YouTube
372
+                        </a>
373
+                            <div class="c-line mob"></div>
374
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
375
+                            <div class="icon">
376
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
377
+                            </div>
378
+                            Instagram
379
+                        </a>
380
+                </div>
381
+            </div>
382
+        </div>
383
+        <div class="row3 pc">
384
+            <div class="infoGroup">
385
+                <span>Copyright © Foton International. All rights reserved. </span>
386
+                | <a href="/sitemap.html">Sitemap</a>
387
+                | <a href="/cookies.html">Cookies</a>
388
+                | <a href="/privacy.html">Privacy</a>
389
+            </div>
390
+        </div>
391
+        <div class="row3 mob">
392
+            <div class="infoGroup">
393
+                <span>Copyright © Foton International. All rights reserved. </span>
394
+                <br>
395
+                <a href="/sitemap.html">Sitemap</a>
396
+                | <a href="/cookies.html">Cookies</a>
397
+                | <a href="/privacy.html">Privacy</a>
398
+            </div>
399
+        </div>
400
+        <div class="row4 mob">
401
+            <div class="top-btn"></div>
402
+        </div>
403
+    </div>
404
+</footer><script defer="defer" src="/runtime/index.js"></script>
405
+<script defer="defer" src="/vendor/index.js"></script>
406
+<script defer="defer" src="/newsDetail/index.js"></script>
407
+</body>
408
+<script>// 模块动画
409
+    var wow = new WOW({
410
+        boxClass: 'wow',
411
+        animateClass: 'animated',
412
+        offset: 100,
413
+        live: true,
414
+        mobile: false
415
+    });
416
+    wow.init();</script>
417
+</html>

+ 443
- 0
html/productsBrand5fd38ddf.html 파일 보기

@@ -0,0 +1,443 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <!-- Google Tag Manager -->
7
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
8
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
9
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
10
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
11
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
12
+<!-- End Google Tag Manager -->    <title>OVERVIEW</title>
13
+    <meta name="keywords" content=>
14
+    <meta name="description" content=>
15
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
16
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
17
+    <link rel="stylesheet" href="/static/css/animate.min.css">
18
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
19
+    <link href="/common/index.css" rel="stylesheet">
20
+    <link href="/productsBrandEvNew/index.css" rel="stylesheet">
21
+
22
+</head>
23
+<body>
24
+<header>
25
+    <div class="navPanel">
26
+        <div class="navGroup">
27
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
28
+            <a href="/products.html" class="navItem">PRODUCTS</a>
29
+            <a href="/news.html" class="navItem">NEWS</a>
30
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
31
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
32
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
33
+        </div>
34
+        <a class="logo" href="/foton.html"></a>
35
+    </div>
36
+    <div class="subNavPanel">
37
+        <div class="subNavScroll">
38
+            <div class="subNavGroup">
39
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
40
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
41
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
42
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
43
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
44
+            </div>
45
+            <div class="subNavGroup">
46
+                    <div class="subNav">
47
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
48
+                           class="title">测试产品管理</a>
49
+                        <div class="list">
50
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
51
+                                   class="subsubNav">杨子姗</a>
52
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
53
+                                   class="subsubNav">奔驰</a>
54
+                        </div>
55
+                    </div>
56
+                    <div class="subNav">
57
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
58
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
59
+                        <div class="list">
60
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
61
+                                   class="subsubNav">OVERVIEW</a>
62
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
63
+                                   class="subsubNav">2024年4月1</a>
64
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
65
+                                   class="subsubNav">AUMAN R</a>
66
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
67
+                                   class="subsubNav">AUMAN C</a>
68
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
69
+                                   class="subsubNav">AUMAN D</a>
70
+                        </div>
71
+                    </div>
72
+                    <div class="subNav">
73
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
74
+                           class="title">LIGHT DUTY TRUCK</a>
75
+                        <div class="list">
76
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
77
+                                   class="subsubNav">OVERVIEW</a>
78
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
79
+                                   class="subsubNav">ALL-NEW AUMARK</a>
80
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
81
+                                   class="subsubNav">AUMARK S</a>
82
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
83
+                                   class="subsubNav">MILER</a>
84
+                        </div>
85
+                    </div>
86
+                    <div class="subNav">
87
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
88
+                           class="title">MINI TRUCKS</a>
89
+                        <div class="list">
90
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
91
+                                   class="subsubNav">TRUCK MATE</a>
92
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
93
+                                   class="subsubNav">WONDER</a>
94
+                        </div>
95
+                    </div>
96
+                    <div class="subNav">
97
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
98
+                           class="title">PICKUP</a>
99
+                        <div class="list">
100
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
101
+                                   class="subsubNav">TUNLAND G</a>
102
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
103
+                                   class="subsubNav">TUNLAND V</a>
104
+                        </div>
105
+                    </div>
106
+                    <div class="subNav">
107
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
108
+                           class="title">VAN</a>
109
+                        <div class="list">
110
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
111
+                                   class="subsubNav">VIEW CS2</a>
112
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
113
+                                   class="subsubNav">TOANO</a>
114
+                        </div>
115
+                    </div>
116
+                    <div class="subNav">
117
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
118
+                           class="title">BUS&COACH</a>
119
+                        <div class="list">
120
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
121
+                                   class="subsubNav">INERCITY COACH</a>
122
+                        </div>
123
+                    </div>
124
+                    <div class="subNav">
125
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
126
+                           class="title">eMOBILITY</a>
127
+                        <div class="list">
128
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
129
+                                   class="subsubNav">eAUMAN</a>
130
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
131
+                                   class="subsubNav">eAUMARK</a>
132
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
133
+                                   class="subsubNav">eVIEW</a>
134
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
135
+                                   class="subsubNav">eTUNLAND</a>
136
+                        </div>
137
+                    </div>
138
+                    <div class="subNav">
139
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
140
+                           class="title">SPECIAL VEHICLES</a>
141
+                        <div class="list">
142
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
143
+                                   class="subsubNav">BROCK</a>
144
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
145
+                                   class="subsubNav">test2</a>
146
+                        </div>
147
+                    </div>
148
+
149
+                <div class="subNav">
150
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
151
+                </div>
152
+            </div>
153
+            <div class="subNavGroup"></div>
154
+            <div class="subNavGroup"></div>
155
+            <div class="subNavGroup"></div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+        </div>
159
+    </div>
160
+</header>
161
+<div class="header_m">
162
+    <div class="header_bar">
163
+        <a href="/foton.html" class="logo_m"></a>
164
+        <div class="navFlagBtn" data-flag="0">
165
+            <div class="nav_btn_small">
166
+                <div class="lineTop arrowDirBase"></div>
167
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
168
+                <div class="lineBottom arrowDirBase"></div>
169
+            </div>
170
+        </div>
171
+        <div class="headerMline">
172
+        </div>
173
+    </div>
174
+</div>
175
+<div class="navGroup_m">
176
+    <div class="navTopLine"></div>
177
+    <div class="navScroll">
178
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
179
+        <div class="navItem">
180
+            <div class="navTitle">ABOUT US</div>
181
+            <div class="navIcon">
182
+                <div class="hLine"></div>
183
+                <div class="vLine"></div>
184
+            </div>
185
+            <div class="subGroup">
186
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
187
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
188
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
189
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
191
+            </div>
192
+        </div>
193
+        <div class="navItem">
194
+            <div class="navTitle">PRODUCTS</div>
195
+            <div class="navIcon">
196
+                <div class="hLine"></div>
197
+                <div class="vLine"></div>
198
+            </div>
199
+            <div class="subGroup">
200
+                    <a class="subNav ani ani-fromRight ani-delay-100"
201
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
202
+                    <a class="subNav ani ani-fromRight ani-delay-200"
203
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
204
+                    <a class="subNav ani ani-fromRight ani-delay-300"
205
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
206
+                    <a class="subNav ani ani-fromRight ani-delay-400"
207
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
208
+                    <a class="subNav ani ani-fromRight ani-delay-500"
209
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
210
+                    <a class="subNav ani ani-fromRight ani-delay-600"
211
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
212
+                    <a class="subNav ani ani-fromRight ani-delay-700"
213
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
214
+                    <a class="subNav ani ani-fromRight ani-delay-800"
215
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
216
+                    <a class="subNav ani ani-fromRight ani-delay-900"
217
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
218
+            </div>
219
+        </div>
220
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
221
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
222
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
223
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
224
+    </div>
225
+    <div class="navFoot">
226
+        <div><a href="tel:+86 1080762999">
227
+                <div class="li iconPhone">+86 1080762999</div>
228
+            </a>
229
+        </div>
230
+    </div>
231
+</div>
232
+<div class="header-right">
233
+    <div class="sharethis-inline-share-buttons"></div>
234
+</div>
235
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
236
+        async="async">
237
+</script><div class="main">
238
+    <div class="content">
239
+        <div class="history fadeInUp wow"><a class="icon_home" href="/"></a> >
240
+            <a href="/products.html">PRODUCTS</a> >
241
+            <span>LIGHT DUTY TRUCK</span>
242
+        </div>
243
+        <div class="titleDiv title_1 fadeInUp wow">ALL LIGHT DUTY TRUCK MODELS</div>
244
+        <div class="carModeTabP fadeInUp wow">
245
+            <div class="carModeTab title_3">
246
+            </div>
247
+        </div>
248
+        <div class="carConP fadeInUp wow">
249
+            <div class="carCon">
250
+            </div>
251
+            <div class="carMore">
252
+                <div class="moreBtn">VIEW LIGHT DUTY TRUCK MODELS<span></span></div>
253
+            </div>
254
+            <div class="swiper carConM">
255
+                <div class="swiper-wrapper"></div>
256
+                <div class="swiperBtn">
257
+                    <div class="button-prev">
258
+                        <div class="viewArrow1"></div>
259
+                    </div>
260
+                    <div class="swiper-paginationM"></div>
261
+                    <div class="button-next">
262
+                        <div class="viewArrow1"></div>
263
+                    </div>
264
+                </div>
265
+            </div>
266
+        </div>
267
+        <div class="titleDiv title_1 fadeInUp wow">HIGHLIGHTS</div>
268
+
269
+        <div class="titleDiv title_1 fadeInUp wow">CUSTOMER STORY TESTIMONY</div>
270
+        <div class="swiper mySwiper fadeInUp wow">
271
+            <div class="swiper-wrapper">
272
+            </div>
273
+            <div class="swiper-pagination"></div>
274
+        </div>
275
+
276
+        <div class="titleDiv title_1 fadeInUp wow">NEWS</div>
277
+        <div class="newList fadeInUp wow">
278
+                <div class="newLi">
279
+                    <a href="/newsDetail6a4f644a.html" target="_blank">
280
+                        <div><img src="/fotonmotor/9b5207be8cde48eba3dd4d7511259768.jpg" alt=""></div>
281
+                        <p class="content_text">FOTON Debut Three Pure Electric Vehicles in Indonesia.</p>
282
+                        <span>2024-03-07</span>
283
+                    </a>
284
+                </div>
285
+        </div>
286
+        <a class="viewBtn whiteIcon newsBtn fadeInUp wow" href="/news.html">
287
+            <div class="viewText">VIEW MORE</div>
288
+            <div class="viewIcon">
289
+                <div class="viewArrow1"></div>
290
+                <div class="viewArrow2"></div>
291
+            </div>
292
+        </a></div>
293
+</div>
294
+<footer>
295
+    <div class="con">
296
+        <div class="row1">
297
+            <div class="title">VISIT YOUR MARKET SITE</div>
298
+            <a class="viewBtn btn" href="/selectCountry.html">
299
+                <div class="viewText">Choose your market</div>
300
+                <div class="viewIcon">
301
+                    <div class="viewArrow1"></div>
302
+                    <div class="viewArrow2"></div>
303
+                </div>
304
+            </a>
305
+        </div>
306
+        <div class="row2">
307
+            <div class="c1 c-item clicked">
308
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
309
+                <div class="c-container">
310
+                    <a href="/about-foton.html">About Us</a>
311
+                    <a href="/news.html">News</a>
312
+                    <a href="/electromobility.html">Electrombility</a>
313
+                    <a href="/fotonservice.html">Service&Parts</a>
314
+                </div>
315
+            </div>
316
+            <div class="c2 c-item clicked">
317
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
318
+                <div class="c-container">
319
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
320
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
321
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
322
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
323
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
324
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
325
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
326
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
327
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
328
+                </div>
329
+            </div>
330
+            <div class="c4 c-item">
331
+                <div class="c-title">CONTACT US</div>
332
+                <div class="c-container">
333
+                        <a href="./concatUs.html" target="_blank">
334
+                            <div class="icon">
335
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
336
+                            </div>
337
+                            Contact us
338
+                        </a>
339
+                        <div class="c-line mob"></div>
340
+                        <a href="tel:+86 1080762999" target="_blank">
341
+                            <div class="icon">
342
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
343
+                            </div>
344
+                            +86 10 8076 2999
345
+                        </a>
346
+                        <div class="c-line mob"></div>
347
+                        <a href="122" target="_blank">
348
+                            <div class="icon">
349
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
350
+                            </div>
351
+                            122
352
+                        </a>
353
+                        <div class="c-line mob"></div>
354
+                </div>
355
+            </div>
356
+            <div class="c3 c-item">
357
+                <div class="c-title">SOCIAL MEDIA</div>
358
+                <div class="c-container">
359
+                        <a href="customer@foton.com.cn" target="_blank">
360
+                            <div class="icon">
361
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
362
+                            </div>
363
+                            customer@foton.com.cn
364
+                        </a>
365
+                            <div class="c-line mob"></div>
366
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
367
+                            <div class="icon">
368
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
369
+                            </div>
370
+                            Facebook
371
+                        </a>
372
+                            <div class="c-line mob"></div>
373
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
374
+                            <div class="icon">
375
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
376
+                            </div>
377
+                            YouTube
378
+                        </a>
379
+                            <div class="c-line mob"></div>
380
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
381
+                            <div class="icon">
382
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
383
+                            </div>
384
+                            Instagram
385
+                        </a>
386
+                </div>
387
+            </div>
388
+        </div>
389
+        <div class="row3 pc">
390
+            <div class="infoGroup">
391
+                <span>Copyright © Foton International. All rights reserved. </span>
392
+                | <a href="/sitemap.html">Sitemap</a>
393
+                | <a href="/cookies.html">Cookies</a>
394
+                | <a href="/privacy.html">Privacy</a>
395
+            </div>
396
+        </div>
397
+        <div class="row3 mob">
398
+            <div class="infoGroup">
399
+                <span>Copyright © Foton International. All rights reserved. </span>
400
+                <br>
401
+                <a href="/sitemap.html">Sitemap</a>
402
+                | <a href="/cookies.html">Cookies</a>
403
+                | <a href="/privacy.html">Privacy</a>
404
+            </div>
405
+        </div>
406
+        <div class="row4 mob">
407
+            <div class="top-btn"></div>
408
+        </div>
409
+    </div>
410
+</footer><div class="adminFrom">
411
+    <div class="fromCon"><h3>替换内容</h3>
412
+        <div class="fromTable"></div>
413
+        <div class="fromBtn">
414
+            <div class="btnClear">取消</div>
415
+            <div class="btnOk">确定</div>
416
+        </div>
417
+    </div>
418
+</div>
419
+<div class="tableFrom">
420
+    <div class="fromCon"><h3>替换内容</h3>
421
+        <div class="form">
422
+            <div class="left-form">
423
+                <div class="left-newBtn">新增</div>
424
+                <div class="left-tableContain"></div>
425
+            </div>
426
+            <div class="right-form">
427
+                <div class="newBtn">新增</div>
428
+                <div class="head-form"></div>
429
+                <div class="tableContain"></div>
430
+            </div>
431
+        </div>
432
+        <div class="fromBtn">
433
+            <div class="btnClear">取消</div>
434
+            <div class="btnOk">确定</div>
435
+        </div>
436
+    </div>
437
+</div>
438
+<script defer="defer" src="/runtime/index.js"></script>
439
+<script defer="defer" src="/vendor/index.js"></script>
440
+<script defer="defer" src="/common/index.js"></script>
441
+<script defer="defer" src="/productsBrandEvNew/index.js"></script>
442
+</body>
443
+</html>

+ 493
- 0
html/productsBranddbd62629.html 파일 보기

@@ -0,0 +1,493 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <!-- Google Tag Manager -->
7
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
8
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
9
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
10
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
11
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
12
+<!-- End Google Tag Manager -->    <title>奔驰</title>
13
+    <meta name="keywords" content=>
14
+    <meta name="description" content=>
15
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
16
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
17
+    <link rel="stylesheet" href="/static/css/animate.min.css">
18
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
19
+    <link href="/common/index.css" rel="stylesheet">
20
+    <link href="/productsBrandEvNew/index.css" rel="stylesheet">
21
+
22
+</head>
23
+<body>
24
+<header>
25
+    <div class="navPanel">
26
+        <div class="navGroup">
27
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
28
+            <a href="/products.html" class="navItem">PRODUCTS</a>
29
+            <a href="/news.html" class="navItem">NEWS</a>
30
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
31
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
32
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
33
+        </div>
34
+        <a class="logo" href="/foton.html"></a>
35
+    </div>
36
+    <div class="subNavPanel">
37
+        <div class="subNavScroll">
38
+            <div class="subNavGroup">
39
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
40
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
41
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
42
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
43
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
44
+            </div>
45
+            <div class="subNavGroup">
46
+                    <div class="subNav">
47
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
48
+                           class="title">测试产品管理</a>
49
+                        <div class="list">
50
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
51
+                                   class="subsubNav">杨子姗</a>
52
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
53
+                                   class="subsubNav">奔驰</a>
54
+                        </div>
55
+                    </div>
56
+                    <div class="subNav">
57
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
58
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
59
+                        <div class="list">
60
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
61
+                                   class="subsubNav">OVERVIEW</a>
62
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
63
+                                   class="subsubNav">2024年4月1</a>
64
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
65
+                                   class="subsubNav">AUMAN R</a>
66
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
67
+                                   class="subsubNav">AUMAN C</a>
68
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
69
+                                   class="subsubNav">AUMAN D</a>
70
+                        </div>
71
+                    </div>
72
+                    <div class="subNav">
73
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
74
+                           class="title">LIGHT DUTY TRUCK</a>
75
+                        <div class="list">
76
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
77
+                                   class="subsubNav">OVERVIEW</a>
78
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
79
+                                   class="subsubNav">ALL-NEW AUMARK</a>
80
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
81
+                                   class="subsubNav">AUMARK S</a>
82
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
83
+                                   class="subsubNav">MILER</a>
84
+                        </div>
85
+                    </div>
86
+                    <div class="subNav">
87
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
88
+                           class="title">MINI TRUCKS</a>
89
+                        <div class="list">
90
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
91
+                                   class="subsubNav">TRUCK MATE</a>
92
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
93
+                                   class="subsubNav">WONDER</a>
94
+                        </div>
95
+                    </div>
96
+                    <div class="subNav">
97
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
98
+                           class="title">PICKUP</a>
99
+                        <div class="list">
100
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
101
+                                   class="subsubNav">TUNLAND G</a>
102
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
103
+                                   class="subsubNav">TUNLAND V</a>
104
+                        </div>
105
+                    </div>
106
+                    <div class="subNav">
107
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
108
+                           class="title">VAN</a>
109
+                        <div class="list">
110
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
111
+                                   class="subsubNav">VIEW CS2</a>
112
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
113
+                                   class="subsubNav">TOANO</a>
114
+                        </div>
115
+                    </div>
116
+                    <div class="subNav">
117
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
118
+                           class="title">BUS&COACH</a>
119
+                        <div class="list">
120
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
121
+                                   class="subsubNav">INERCITY COACH</a>
122
+                        </div>
123
+                    </div>
124
+                    <div class="subNav">
125
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
126
+                           class="title">eMOBILITY</a>
127
+                        <div class="list">
128
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
129
+                                   class="subsubNav">eAUMAN</a>
130
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
131
+                                   class="subsubNav">eAUMARK</a>
132
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
133
+                                   class="subsubNav">eVIEW</a>
134
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
135
+                                   class="subsubNav">eTUNLAND</a>
136
+                        </div>
137
+                    </div>
138
+                    <div class="subNav">
139
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
140
+                           class="title">SPECIAL VEHICLES</a>
141
+                        <div class="list">
142
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
143
+                                   class="subsubNav">BROCK</a>
144
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
145
+                                   class="subsubNav">test2</a>
146
+                        </div>
147
+                    </div>
148
+
149
+                <div class="subNav">
150
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
151
+                </div>
152
+            </div>
153
+            <div class="subNavGroup"></div>
154
+            <div class="subNavGroup"></div>
155
+            <div class="subNavGroup"></div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+        </div>
159
+    </div>
160
+</header>
161
+<div class="header_m">
162
+    <div class="header_bar">
163
+        <a href="/foton.html" class="logo_m"></a>
164
+        <div class="navFlagBtn" data-flag="0">
165
+            <div class="nav_btn_small">
166
+                <div class="lineTop arrowDirBase"></div>
167
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
168
+                <div class="lineBottom arrowDirBase"></div>
169
+            </div>
170
+        </div>
171
+        <div class="headerMline">
172
+        </div>
173
+    </div>
174
+</div>
175
+<div class="navGroup_m">
176
+    <div class="navTopLine"></div>
177
+    <div class="navScroll">
178
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
179
+        <div class="navItem">
180
+            <div class="navTitle">ABOUT US</div>
181
+            <div class="navIcon">
182
+                <div class="hLine"></div>
183
+                <div class="vLine"></div>
184
+            </div>
185
+            <div class="subGroup">
186
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
187
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
188
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
189
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
191
+            </div>
192
+        </div>
193
+        <div class="navItem">
194
+            <div class="navTitle">PRODUCTS</div>
195
+            <div class="navIcon">
196
+                <div class="hLine"></div>
197
+                <div class="vLine"></div>
198
+            </div>
199
+            <div class="subGroup">
200
+                    <a class="subNav ani ani-fromRight ani-delay-100"
201
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
202
+                    <a class="subNav ani ani-fromRight ani-delay-200"
203
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
204
+                    <a class="subNav ani ani-fromRight ani-delay-300"
205
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
206
+                    <a class="subNav ani ani-fromRight ani-delay-400"
207
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
208
+                    <a class="subNav ani ani-fromRight ani-delay-500"
209
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
210
+                    <a class="subNav ani ani-fromRight ani-delay-600"
211
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
212
+                    <a class="subNav ani ani-fromRight ani-delay-700"
213
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
214
+                    <a class="subNav ani ani-fromRight ani-delay-800"
215
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
216
+                    <a class="subNav ani ani-fromRight ani-delay-900"
217
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
218
+            </div>
219
+        </div>
220
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
221
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
222
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
223
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
224
+    </div>
225
+    <div class="navFoot">
226
+        <div><a href="tel:+86 1080762999">
227
+                <div class="li iconPhone">+86 1080762999</div>
228
+            </a>
229
+        </div>
230
+    </div>
231
+</div>
232
+<div class="header-right">
233
+    <div class="sharethis-inline-share-buttons"></div>
234
+</div>
235
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
236
+        async="async">
237
+</script><div class="main">
238
+        <div class="banner">
239
+                <picture class="lazy">
240
+                    <source data-srcset="https://192.168.1.84/fotonmotor/17790e7f795e48328a6dbdb5db46a84e.jpg" srcset="" media="(max-width: 800px)"/>
241
+                    <img class="fit-image" data-src="https://192.168.1.84/fotonmotor/72f8bc83d28d4231b0eaf5eb6fa397dd.jpg" src=""/>
242
+                </picture>
243
+            <div class="bannerTit title_1 blackTit ">
244
+            <div>天线宝宝</div>
245
+                 <div class="bannerPtxt title_text">12121211212</div>
246
+            </div>
247
+        </div>
248
+    <div class="content">
249
+        <div class="history fadeInUp wow"><a class="icon_home" href="/"></a> >
250
+            <a href="/products.html">PRODUCTS</a> >
251
+            <span>测试产品管理</span>
252
+        </div>
253
+        <div class="titleDiv title_1 fadeInUp wow">ALL 测试产品管理 MODELS</div>
254
+        <div class="carModeTabP fadeInUp wow">
255
+            <div class="carModeTab title_3">
256
+            </div>
257
+        </div>
258
+        <div class="carConP fadeInUp wow">
259
+            <div class="carCon">
260
+            </div>
261
+            <div class="carMore">
262
+                <div class="moreBtn">VIEW 测试产品管理 MODELS<span></span></div>
263
+            </div>
264
+            <div class="swiper carConM">
265
+                <div class="swiper-wrapper"></div>
266
+                <div class="swiperBtn">
267
+                    <div class="button-prev">
268
+                        <div class="viewArrow1"></div>
269
+                    </div>
270
+                    <div class="swiper-paginationM"></div>
271
+                    <div class="button-next">
272
+                        <div class="viewArrow1"></div>
273
+                    </div>
274
+                </div>
275
+            </div>
276
+        </div>
277
+        <div class="titleDiv title_1 fadeInUp wow">HIGHLIGHTS</div>
278
+                <div class="highLights">
279
+                        <div class="highDiv">
280
+                            <img class="fadeInLeft wow" src="https://192.168.1.84/fotonmotor/dc1b7b42eec144119c7a747d4c759f8c.jpg"/>
281
+                            <div class="highTxt fadeInRight wow">
282
+                                <div class="txtH3 title_2">杨子姗</div>
283
+                                    <div class="txtP content_text">测试数据测试数据
284
+                                    </div>
285
+                                    <div class="txtP content_text">测试数据
286
+                                    </div>
287
+                                <a class="viewBtn text text-linkP" href="">
288
+                                    <div class="viewText">VIEW MORE</div>
289
+                                    <div class="viewIcon">
290
+                                        <div class="viewArrow1"></div>
291
+                                        <div class="viewArrow2"></div>
292
+                                    </div>
293
+                                </a>
294
+                                <div class="highNum">01</div>
295
+                            </div>
296
+                        </div>
297
+                        <div class="highDiv">
298
+                            <img class="fadeInLeft wow" src="https://192.168.1.84/fotonmotor/eb07436c58ca4f508097afd5bc6b9c16.png"/>
299
+                            <div class="highTxt fadeInRight wow">
300
+                                <div class="txtH3 title_2">23233</div>
301
+                                    <div class="txtP content_text">
302
+                                    </div>
303
+                                <a class="viewBtn text text-linkP" href="">
304
+                                    <div class="viewText">VIEW MORE</div>
305
+                                    <div class="viewIcon">
306
+                                        <div class="viewArrow1"></div>
307
+                                        <div class="viewArrow2"></div>
308
+                                    </div>
309
+                                </a>
310
+                                <div class="highNum">02</div>
311
+                            </div>
312
+                        </div>
313
+                </div>
314
+
315
+        <div class="titleDiv title_1 fadeInUp wow">CUSTOMER STORY TESTIMONY</div>
316
+        <div class="swiper mySwiper fadeInUp wow">
317
+            <div class="swiper-wrapper">
318
+                    <div class="swiper-slide">
319
+                        <div class="img">
320
+                            <div><img src="/fotonmotor/ff15b9e543b046f2b9f8af79a741cb93.png"/></div>
321
+                        </div>
322
+                        <div class="name">赵四</div>
323
+                        <div class="brief">测试</div>
324
+                        <div class="desc">没啥证词
325
+                            <span>“</span>
326
+                            <span class="descIcon">”</span>
327
+                        </div>
328
+                    </div>
329
+            </div>
330
+            <div class="swiper-pagination"></div>
331
+        </div>
332
+
333
+        <div class="titleDiv title_1 fadeInUp wow">NEWS</div>
334
+        <div class="newList fadeInUp wow">
335
+        </div>
336
+        <a class="viewBtn whiteIcon newsBtn fadeInUp wow" href="/news.html">
337
+            <div class="viewText">VIEW MORE</div>
338
+            <div class="viewIcon">
339
+                <div class="viewArrow1"></div>
340
+                <div class="viewArrow2"></div>
341
+            </div>
342
+        </a></div>
343
+</div>
344
+<footer>
345
+    <div class="con">
346
+        <div class="row1">
347
+            <div class="title">VISIT YOUR MARKET SITE</div>
348
+            <a class="viewBtn btn" href="/selectCountry.html">
349
+                <div class="viewText">Choose your market</div>
350
+                <div class="viewIcon">
351
+                    <div class="viewArrow1"></div>
352
+                    <div class="viewArrow2"></div>
353
+                </div>
354
+            </a>
355
+        </div>
356
+        <div class="row2">
357
+            <div class="c1 c-item clicked">
358
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
359
+                <div class="c-container">
360
+                    <a href="/about-foton.html">About Us</a>
361
+                    <a href="/news.html">News</a>
362
+                    <a href="/electromobility.html">Electrombility</a>
363
+                    <a href="/fotonservice.html">Service&Parts</a>
364
+                </div>
365
+            </div>
366
+            <div class="c2 c-item clicked">
367
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
368
+                <div class="c-container">
369
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
370
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
371
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
372
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
373
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
374
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
375
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
376
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
377
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
378
+                </div>
379
+            </div>
380
+            <div class="c4 c-item">
381
+                <div class="c-title">CONTACT US</div>
382
+                <div class="c-container">
383
+                        <a href="./concatUs.html" target="_blank">
384
+                            <div class="icon">
385
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
386
+                            </div>
387
+                            Contact us
388
+                        </a>
389
+                        <div class="c-line mob"></div>
390
+                        <a href="tel:+86 1080762999" target="_blank">
391
+                            <div class="icon">
392
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
393
+                            </div>
394
+                            +86 10 8076 2999
395
+                        </a>
396
+                        <div class="c-line mob"></div>
397
+                        <a href="122" target="_blank">
398
+                            <div class="icon">
399
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
400
+                            </div>
401
+                            122
402
+                        </a>
403
+                        <div class="c-line mob"></div>
404
+                </div>
405
+            </div>
406
+            <div class="c3 c-item">
407
+                <div class="c-title">SOCIAL MEDIA</div>
408
+                <div class="c-container">
409
+                        <a href="customer@foton.com.cn" target="_blank">
410
+                            <div class="icon">
411
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
412
+                            </div>
413
+                            customer@foton.com.cn
414
+                        </a>
415
+                            <div class="c-line mob"></div>
416
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
417
+                            <div class="icon">
418
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
419
+                            </div>
420
+                            Facebook
421
+                        </a>
422
+                            <div class="c-line mob"></div>
423
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
424
+                            <div class="icon">
425
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
426
+                            </div>
427
+                            YouTube
428
+                        </a>
429
+                            <div class="c-line mob"></div>
430
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
431
+                            <div class="icon">
432
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
433
+                            </div>
434
+                            Instagram
435
+                        </a>
436
+                </div>
437
+            </div>
438
+        </div>
439
+        <div class="row3 pc">
440
+            <div class="infoGroup">
441
+                <span>Copyright © Foton International. All rights reserved. </span>
442
+                | <a href="/sitemap.html">Sitemap</a>
443
+                | <a href="/cookies.html">Cookies</a>
444
+                | <a href="/privacy.html">Privacy</a>
445
+            </div>
446
+        </div>
447
+        <div class="row3 mob">
448
+            <div class="infoGroup">
449
+                <span>Copyright © Foton International. All rights reserved. </span>
450
+                <br>
451
+                <a href="/sitemap.html">Sitemap</a>
452
+                | <a href="/cookies.html">Cookies</a>
453
+                | <a href="/privacy.html">Privacy</a>
454
+            </div>
455
+        </div>
456
+        <div class="row4 mob">
457
+            <div class="top-btn"></div>
458
+        </div>
459
+    </div>
460
+</footer><div class="adminFrom">
461
+    <div class="fromCon"><h3>替换内容</h3>
462
+        <div class="fromTable"></div>
463
+        <div class="fromBtn">
464
+            <div class="btnClear">取消</div>
465
+            <div class="btnOk">确定</div>
466
+        </div>
467
+    </div>
468
+</div>
469
+<div class="tableFrom">
470
+    <div class="fromCon"><h3>替换内容</h3>
471
+        <div class="form">
472
+            <div class="left-form">
473
+                <div class="left-newBtn">新增</div>
474
+                <div class="left-tableContain"></div>
475
+            </div>
476
+            <div class="right-form">
477
+                <div class="newBtn">新增</div>
478
+                <div class="head-form"></div>
479
+                <div class="tableContain"></div>
480
+            </div>
481
+        </div>
482
+        <div class="fromBtn">
483
+            <div class="btnClear">取消</div>
484
+            <div class="btnOk">确定</div>
485
+        </div>
486
+    </div>
487
+</div>
488
+<script defer="defer" src="/runtime/index.js"></script>
489
+<script defer="defer" src="/vendor/index.js"></script>
490
+<script defer="defer" src="/common/index.js"></script>
491
+<script defer="defer" src="/productsBrandEvNew/index.js"></script>
492
+</body>
493
+</html>

+ 474
- 0
html/productsBrandef84f398.html 파일 보기

@@ -0,0 +1,474 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <!-- Google Tag Manager -->
7
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
8
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
9
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
10
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
11
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
12
+<!-- End Google Tag Manager -->    <title>OVERVIEW</title>
13
+    <meta name="keywords" content=>
14
+    <meta name="description" content=>
15
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
16
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
17
+    <link rel="stylesheet" href="/static/css/animate.min.css">
18
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
19
+    <link href="/common/index.css" rel="stylesheet">
20
+    <link href="/productsBrandEvNew/index.css" rel="stylesheet">
21
+
22
+</head>
23
+<body>
24
+<header>
25
+    <div class="navPanel">
26
+        <div class="navGroup">
27
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
28
+            <a href="/products.html" class="navItem">PRODUCTS</a>
29
+            <a href="/news.html" class="navItem">NEWS</a>
30
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
31
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
32
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
33
+        </div>
34
+        <a class="logo" href="/foton.html"></a>
35
+    </div>
36
+    <div class="subNavPanel">
37
+        <div class="subNavScroll">
38
+            <div class="subNavGroup">
39
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
40
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
41
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
42
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
43
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
44
+            </div>
45
+            <div class="subNavGroup">
46
+                    <div class="subNav">
47
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
48
+                           class="title">测试产品管理</a>
49
+                        <div class="list">
50
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
51
+                                   class="subsubNav">杨子姗</a>
52
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
53
+                                   class="subsubNav">奔驰</a>
54
+                        </div>
55
+                    </div>
56
+                    <div class="subNav">
57
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
58
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
59
+                        <div class="list">
60
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
61
+                                   class="subsubNav">OVERVIEW</a>
62
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
63
+                                   class="subsubNav">2024年4月1</a>
64
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
65
+                                   class="subsubNav">AUMAN R</a>
66
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
67
+                                   class="subsubNav">AUMAN C</a>
68
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
69
+                                   class="subsubNav">AUMAN D</a>
70
+                        </div>
71
+                    </div>
72
+                    <div class="subNav">
73
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
74
+                           class="title">LIGHT DUTY TRUCK</a>
75
+                        <div class="list">
76
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
77
+                                   class="subsubNav">OVERVIEW</a>
78
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
79
+                                   class="subsubNav">ALL-NEW AUMARK</a>
80
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
81
+                                   class="subsubNav">AUMARK S</a>
82
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
83
+                                   class="subsubNav">MILER</a>
84
+                        </div>
85
+                    </div>
86
+                    <div class="subNav">
87
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
88
+                           class="title">MINI TRUCKS</a>
89
+                        <div class="list">
90
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
91
+                                   class="subsubNav">TRUCK MATE</a>
92
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
93
+                                   class="subsubNav">WONDER</a>
94
+                        </div>
95
+                    </div>
96
+                    <div class="subNav">
97
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
98
+                           class="title">PICKUP</a>
99
+                        <div class="list">
100
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
101
+                                   class="subsubNav">TUNLAND G</a>
102
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
103
+                                   class="subsubNav">TUNLAND V</a>
104
+                        </div>
105
+                    </div>
106
+                    <div class="subNav">
107
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
108
+                           class="title">VAN</a>
109
+                        <div class="list">
110
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
111
+                                   class="subsubNav">VIEW CS2</a>
112
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
113
+                                   class="subsubNav">TOANO</a>
114
+                        </div>
115
+                    </div>
116
+                    <div class="subNav">
117
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
118
+                           class="title">BUS&COACH</a>
119
+                        <div class="list">
120
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
121
+                                   class="subsubNav">INERCITY COACH</a>
122
+                        </div>
123
+                    </div>
124
+                    <div class="subNav">
125
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
126
+                           class="title">eMOBILITY</a>
127
+                        <div class="list">
128
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
129
+                                   class="subsubNav">eAUMAN</a>
130
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
131
+                                   class="subsubNav">eAUMARK</a>
132
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
133
+                                   class="subsubNav">eVIEW</a>
134
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
135
+                                   class="subsubNav">eTUNLAND</a>
136
+                        </div>
137
+                    </div>
138
+                    <div class="subNav">
139
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
140
+                           class="title">SPECIAL VEHICLES</a>
141
+                        <div class="list">
142
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
143
+                                   class="subsubNav">BROCK</a>
144
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
145
+                                   class="subsubNav">test2</a>
146
+                        </div>
147
+                    </div>
148
+
149
+                <div class="subNav">
150
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
151
+                </div>
152
+            </div>
153
+            <div class="subNavGroup"></div>
154
+            <div class="subNavGroup"></div>
155
+            <div class="subNavGroup"></div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+        </div>
159
+    </div>
160
+</header>
161
+<div class="header_m">
162
+    <div class="header_bar">
163
+        <a href="/foton.html" class="logo_m"></a>
164
+        <div class="navFlagBtn" data-flag="0">
165
+            <div class="nav_btn_small">
166
+                <div class="lineTop arrowDirBase"></div>
167
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
168
+                <div class="lineBottom arrowDirBase"></div>
169
+            </div>
170
+        </div>
171
+        <div class="headerMline">
172
+        </div>
173
+    </div>
174
+</div>
175
+<div class="navGroup_m">
176
+    <div class="navTopLine"></div>
177
+    <div class="navScroll">
178
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
179
+        <div class="navItem">
180
+            <div class="navTitle">ABOUT US</div>
181
+            <div class="navIcon">
182
+                <div class="hLine"></div>
183
+                <div class="vLine"></div>
184
+            </div>
185
+            <div class="subGroup">
186
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
187
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
188
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
189
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
191
+            </div>
192
+        </div>
193
+        <div class="navItem">
194
+            <div class="navTitle">PRODUCTS</div>
195
+            <div class="navIcon">
196
+                <div class="hLine"></div>
197
+                <div class="vLine"></div>
198
+            </div>
199
+            <div class="subGroup">
200
+                    <a class="subNav ani ani-fromRight ani-delay-100"
201
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
202
+                    <a class="subNav ani ani-fromRight ani-delay-200"
203
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
204
+                    <a class="subNav ani ani-fromRight ani-delay-300"
205
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
206
+                    <a class="subNav ani ani-fromRight ani-delay-400"
207
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
208
+                    <a class="subNav ani ani-fromRight ani-delay-500"
209
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
210
+                    <a class="subNav ani ani-fromRight ani-delay-600"
211
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
212
+                    <a class="subNav ani ani-fromRight ani-delay-700"
213
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
214
+                    <a class="subNav ani ani-fromRight ani-delay-800"
215
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
216
+                    <a class="subNav ani ani-fromRight ani-delay-900"
217
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
218
+            </div>
219
+        </div>
220
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
221
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
222
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
223
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
224
+    </div>
225
+    <div class="navFoot">
226
+        <div><a href="tel:+86 1080762999">
227
+                <div class="li iconPhone">+86 1080762999</div>
228
+            </a>
229
+        </div>
230
+    </div>
231
+</div>
232
+<div class="header-right">
233
+    <div class="sharethis-inline-share-buttons"></div>
234
+</div>
235
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
236
+        async="async">
237
+</script><div class="main">
238
+        <div class="banner">
239
+                <picture class="lazy">
240
+                    <source data-srcset="http://8.218.104.92/fotonmotor/e84ff209dd1a4c1c93c8d3590ce7fa02.jpg" srcset="" media="(max-width: 800px)"/>
241
+                    <img class="fit-image" data-src="http://8.218.104.92/fotonmotor/d3760bf1d52a4300a03e47ede0365c1c.jpg" src=""/>
242
+                </picture>
243
+            <div class="bannerTit title_1 whiteTit ">
244
+            <div>Exclusively crafted for long-distance transportation</div>
245
+            </div>
246
+        </div>
247
+    <div class="content">
248
+        <div class="history fadeInUp wow"><a class="icon_home" href="/"></a> >
249
+            <a href="/products.html">PRODUCTS</a> >
250
+            <span>MEDIUM & HEAVY DUTY TRUCKS</span>
251
+        </div>
252
+        <div class="titleDiv title_1 fadeInUp wow">ALL MEDIUM & HEAVY DUTY TRUCKS MODELS</div>
253
+        <div class="carModeTabP fadeInUp wow">
254
+            <div class="carModeTab title_3">
255
+            </div>
256
+        </div>
257
+        <div class="carConP fadeInUp wow">
258
+            <div class="carCon">
259
+            </div>
260
+            <div class="carMore">
261
+                <div class="moreBtn">VIEW MEDIUM & HEAVY DUTY TRUCKS MODELS<span></span></div>
262
+            </div>
263
+            <div class="swiper carConM">
264
+                <div class="swiper-wrapper"></div>
265
+                <div class="swiperBtn">
266
+                    <div class="button-prev">
267
+                        <div class="viewArrow1"></div>
268
+                    </div>
269
+                    <div class="swiper-paginationM"></div>
270
+                    <div class="button-next">
271
+                        <div class="viewArrow1"></div>
272
+                    </div>
273
+                </div>
274
+            </div>
275
+        </div>
276
+        <div class="titleDiv title_1 fadeInUp wow">HIGHLIGHTS</div>
277
+                <div class="highLights">
278
+                        <div class="highDiv">
279
+                            <img class="fadeInLeft wow" src="http://8.218.104.92/fotonmotor/a3f78f1ac38b4f8db8881dc6d21887df.jpg"/>
280
+                            <div class="highTxt fadeInRight wow">
281
+                                <div class="txtH3 title_2">AUMAN R AT A GLANCE</div>
282
+                                    <div class="txtP content_text">| Featuring the FOTON Super Power Train, paired with the powerful FOTON Cummins engine and FOTON ZF AMT gearbox, ensuring efficiency, economy, and reliability.
283
+                                    </div>
284
+                                    <div class="txtP content_text">| Equipped with a full airbag three-stage shock absorption system, elevating comfort to new heights.
285
+                                    </div>
286
+                                    <div class="txtP content_text">| The cabin complies with European collision standards and is equipped with various safety electronic systems.
287
+                                    </div>
288
+                                <a class="viewBtn text text-linkP" href="">
289
+                                    <div class="viewText">VIEW MORE</div>
290
+                                    <div class="viewIcon">
291
+                                        <div class="viewArrow1"></div>
292
+                                        <div class="viewArrow2"></div>
293
+                                    </div>
294
+                                </a>
295
+                                <div class="highNum">01</div>
296
+                            </div>
297
+                        </div>
298
+                </div>
299
+
300
+        <div class="titleDiv title_1 fadeInUp wow">CUSTOMER STORY TESTIMONY</div>
301
+        <div class="swiper mySwiper fadeInUp wow">
302
+            <div class="swiper-wrapper">
303
+            </div>
304
+            <div class="swiper-pagination"></div>
305
+        </div>
306
+
307
+        <div class="titleDiv title_1 fadeInUp wow">NEWS</div>
308
+        <div class="newList fadeInUp wow">
309
+                <div class="newLi">
310
+                    <a href="/newsDetail6a4f644a.html" target="_blank">
311
+                        <div><img src="/fotonmotor/9b5207be8cde48eba3dd4d7511259768.jpg" alt=""></div>
312
+                        <p class="content_text">FOTON Debut Three Pure Electric Vehicles in Indonesia.</p>
313
+                        <span>2024-03-07</span>
314
+                    </a>
315
+                </div>
316
+        </div>
317
+        <a class="viewBtn whiteIcon newsBtn fadeInUp wow" href="/news.html">
318
+            <div class="viewText">VIEW MORE</div>
319
+            <div class="viewIcon">
320
+                <div class="viewArrow1"></div>
321
+                <div class="viewArrow2"></div>
322
+            </div>
323
+        </a></div>
324
+</div>
325
+<footer>
326
+    <div class="con">
327
+        <div class="row1">
328
+            <div class="title">VISIT YOUR MARKET SITE</div>
329
+            <a class="viewBtn btn" href="/selectCountry.html">
330
+                <div class="viewText">Choose your market</div>
331
+                <div class="viewIcon">
332
+                    <div class="viewArrow1"></div>
333
+                    <div class="viewArrow2"></div>
334
+                </div>
335
+            </a>
336
+        </div>
337
+        <div class="row2">
338
+            <div class="c1 c-item clicked">
339
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
340
+                <div class="c-container">
341
+                    <a href="/about-foton.html">About Us</a>
342
+                    <a href="/news.html">News</a>
343
+                    <a href="/electromobility.html">Electrombility</a>
344
+                    <a href="/fotonservice.html">Service&Parts</a>
345
+                </div>
346
+            </div>
347
+            <div class="c2 c-item clicked">
348
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
349
+                <div class="c-container">
350
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
351
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
352
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
353
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
354
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
355
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
356
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
357
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
358
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
359
+                </div>
360
+            </div>
361
+            <div class="c4 c-item">
362
+                <div class="c-title">CONTACT US</div>
363
+                <div class="c-container">
364
+                        <a href="./concatUs.html" target="_blank">
365
+                            <div class="icon">
366
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
367
+                            </div>
368
+                            Contact us
369
+                        </a>
370
+                        <div class="c-line mob"></div>
371
+                        <a href="tel:+86 1080762999" target="_blank">
372
+                            <div class="icon">
373
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
374
+                            </div>
375
+                            +86 10 8076 2999
376
+                        </a>
377
+                        <div class="c-line mob"></div>
378
+                        <a href="122" target="_blank">
379
+                            <div class="icon">
380
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
381
+                            </div>
382
+                            122
383
+                        </a>
384
+                        <div class="c-line mob"></div>
385
+                </div>
386
+            </div>
387
+            <div class="c3 c-item">
388
+                <div class="c-title">SOCIAL MEDIA</div>
389
+                <div class="c-container">
390
+                        <a href="customer@foton.com.cn" target="_blank">
391
+                            <div class="icon">
392
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
393
+                            </div>
394
+                            customer@foton.com.cn
395
+                        </a>
396
+                            <div class="c-line mob"></div>
397
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
398
+                            <div class="icon">
399
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
400
+                            </div>
401
+                            Facebook
402
+                        </a>
403
+                            <div class="c-line mob"></div>
404
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
405
+                            <div class="icon">
406
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
407
+                            </div>
408
+                            YouTube
409
+                        </a>
410
+                            <div class="c-line mob"></div>
411
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
412
+                            <div class="icon">
413
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
414
+                            </div>
415
+                            Instagram
416
+                        </a>
417
+                </div>
418
+            </div>
419
+        </div>
420
+        <div class="row3 pc">
421
+            <div class="infoGroup">
422
+                <span>Copyright © Foton International. All rights reserved. </span>
423
+                | <a href="/sitemap.html">Sitemap</a>
424
+                | <a href="/cookies.html">Cookies</a>
425
+                | <a href="/privacy.html">Privacy</a>
426
+            </div>
427
+        </div>
428
+        <div class="row3 mob">
429
+            <div class="infoGroup">
430
+                <span>Copyright © Foton International. All rights reserved. </span>
431
+                <br>
432
+                <a href="/sitemap.html">Sitemap</a>
433
+                | <a href="/cookies.html">Cookies</a>
434
+                | <a href="/privacy.html">Privacy</a>
435
+            </div>
436
+        </div>
437
+        <div class="row4 mob">
438
+            <div class="top-btn"></div>
439
+        </div>
440
+    </div>
441
+</footer><div class="adminFrom">
442
+    <div class="fromCon"><h3>替换内容</h3>
443
+        <div class="fromTable"></div>
444
+        <div class="fromBtn">
445
+            <div class="btnClear">取消</div>
446
+            <div class="btnOk">确定</div>
447
+        </div>
448
+    </div>
449
+</div>
450
+<div class="tableFrom">
451
+    <div class="fromCon"><h3>替换内容</h3>
452
+        <div class="form">
453
+            <div class="left-form">
454
+                <div class="left-newBtn">新增</div>
455
+                <div class="left-tableContain"></div>
456
+            </div>
457
+            <div class="right-form">
458
+                <div class="newBtn">新增</div>
459
+                <div class="head-form"></div>
460
+                <div class="tableContain"></div>
461
+            </div>
462
+        </div>
463
+        <div class="fromBtn">
464
+            <div class="btnClear">取消</div>
465
+            <div class="btnOk">确定</div>
466
+        </div>
467
+    </div>
468
+</div>
469
+<script defer="defer" src="/runtime/index.js"></script>
470
+<script defer="defer" src="/vendor/index.js"></script>
471
+<script defer="defer" src="/common/index.js"></script>
472
+<script defer="defer" src="/productsBrandEvNew/index.js"></script>
473
+</body>
474
+</html>

+ 583
- 0
html/selectCountry.html 파일 보기

@@ -0,0 +1,583 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>CHOOSE YOUR MARKET</title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="./static/css/animate.min.css">
22
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="./common/index.css" rel="stylesheet">
24
+    <link href="./selectCountry/index.css" rel="stylesheet">
25
+
26
+    <meta property="og:title" content="CHOOSE YOUR MARKET" />
27
+    <meta property="og:description" content="Visit your market site for more relevant information specific to your location" />
28
+</head>
29
+<body>
30
+<header>
31
+    <div class="navPanel">
32
+        <div class="navGroup">
33
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
34
+            <a href="/products.html" class="navItem">PRODUCTS</a>
35
+            <a href="/news.html" class="navItem">NEWS</a>
36
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
37
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
38
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
39
+        </div>
40
+        <a class="logo" href="/foton.html"></a>
41
+    </div>
42
+    <div class="subNavPanel">
43
+        <div class="subNavScroll">
44
+            <div class="subNavGroup">
45
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
46
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
47
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
48
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
49
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
50
+            </div>
51
+            <div class="subNavGroup">
52
+                    <div class="subNav">
53
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
54
+                           class="title">测试产品管理</a>
55
+                        <div class="list">
56
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
57
+                                   class="subsubNav">杨子姗</a>
58
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
59
+                                   class="subsubNav">奔驰</a>
60
+                        </div>
61
+                    </div>
62
+                    <div class="subNav">
63
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
64
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
65
+                        <div class="list">
66
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
67
+                                   class="subsubNav">OVERVIEW</a>
68
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
69
+                                   class="subsubNav">2024年4月1</a>
70
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
71
+                                   class="subsubNav">AUMAN R</a>
72
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
73
+                                   class="subsubNav">AUMAN C</a>
74
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
75
+                                   class="subsubNav">AUMAN D</a>
76
+                        </div>
77
+                    </div>
78
+                    <div class="subNav">
79
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
80
+                           class="title">LIGHT DUTY TRUCK</a>
81
+                        <div class="list">
82
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
83
+                                   class="subsubNav">OVERVIEW</a>
84
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
85
+                                   class="subsubNav">ALL-NEW AUMARK</a>
86
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
87
+                                   class="subsubNav">AUMARK S</a>
88
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
89
+                                   class="subsubNav">MILER</a>
90
+                        </div>
91
+                    </div>
92
+                    <div class="subNav">
93
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
94
+                           class="title">MINI TRUCKS</a>
95
+                        <div class="list">
96
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
97
+                                   class="subsubNav">TRUCK MATE</a>
98
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
99
+                                   class="subsubNav">WONDER</a>
100
+                        </div>
101
+                    </div>
102
+                    <div class="subNav">
103
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
104
+                           class="title">PICKUP</a>
105
+                        <div class="list">
106
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
107
+                                   class="subsubNav">TUNLAND G</a>
108
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
109
+                                   class="subsubNav">TUNLAND V</a>
110
+                        </div>
111
+                    </div>
112
+                    <div class="subNav">
113
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
114
+                           class="title">VAN</a>
115
+                        <div class="list">
116
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
117
+                                   class="subsubNav">VIEW CS2</a>
118
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
119
+                                   class="subsubNav">TOANO</a>
120
+                        </div>
121
+                    </div>
122
+                    <div class="subNav">
123
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
124
+                           class="title">BUS&COACH</a>
125
+                        <div class="list">
126
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
127
+                                   class="subsubNav">INERCITY COACH</a>
128
+                        </div>
129
+                    </div>
130
+                    <div class="subNav">
131
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
132
+                           class="title">eMOBILITY</a>
133
+                        <div class="list">
134
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
135
+                                   class="subsubNav">eAUMAN</a>
136
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
137
+                                   class="subsubNav">eAUMARK</a>
138
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
139
+                                   class="subsubNav">eVIEW</a>
140
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
141
+                                   class="subsubNav">eTUNLAND</a>
142
+                        </div>
143
+                    </div>
144
+                    <div class="subNav">
145
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
146
+                           class="title">SPECIAL VEHICLES</a>
147
+                        <div class="list">
148
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
149
+                                   class="subsubNav">BROCK</a>
150
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
151
+                                   class="subsubNav">test2</a>
152
+                        </div>
153
+                    </div>
154
+
155
+                <div class="subNav">
156
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
157
+                </div>
158
+            </div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+            <div class="subNavGroup"></div>
162
+            <div class="subNavGroup"></div>
163
+            <div class="subNavGroup"></div>
164
+        </div>
165
+    </div>
166
+</header>
167
+<div class="header_m">
168
+    <div class="header_bar">
169
+        <a href="/foton.html" class="logo_m"></a>
170
+        <div class="navFlagBtn" data-flag="0">
171
+            <div class="nav_btn_small">
172
+                <div class="lineTop arrowDirBase"></div>
173
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
174
+                <div class="lineBottom arrowDirBase"></div>
175
+            </div>
176
+        </div>
177
+        <div class="headerMline">
178
+        </div>
179
+    </div>
180
+</div>
181
+<div class="navGroup_m">
182
+    <div class="navTopLine"></div>
183
+    <div class="navScroll">
184
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
185
+        <div class="navItem">
186
+            <div class="navTitle">ABOUT US</div>
187
+            <div class="navIcon">
188
+                <div class="hLine"></div>
189
+                <div class="vLine"></div>
190
+            </div>
191
+            <div class="subGroup">
192
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
194
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
195
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
196
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
197
+            </div>
198
+        </div>
199
+        <div class="navItem">
200
+            <div class="navTitle">PRODUCTS</div>
201
+            <div class="navIcon">
202
+                <div class="hLine"></div>
203
+                <div class="vLine"></div>
204
+            </div>
205
+            <div class="subGroup">
206
+                    <a class="subNav ani ani-fromRight ani-delay-100"
207
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
208
+                    <a class="subNav ani ani-fromRight ani-delay-200"
209
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
210
+                    <a class="subNav ani ani-fromRight ani-delay-300"
211
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
212
+                    <a class="subNav ani ani-fromRight ani-delay-400"
213
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
214
+                    <a class="subNav ani ani-fromRight ani-delay-500"
215
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
216
+                    <a class="subNav ani ani-fromRight ani-delay-600"
217
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
218
+                    <a class="subNav ani ani-fromRight ani-delay-700"
219
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
220
+                    <a class="subNav ani ani-fromRight ani-delay-800"
221
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
222
+                    <a class="subNav ani ani-fromRight ani-delay-900"
223
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
224
+            </div>
225
+        </div>
226
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
227
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
228
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
229
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
230
+    </div>
231
+    <div class="navFoot">
232
+        <div><a href="tel:+86 1080762999">
233
+                <div class="li iconPhone">+86 1080762999</div>
234
+            </a>
235
+        </div>
236
+    </div>
237
+</div>
238
+<div class="header-right">
239
+    <div class="sharethis-inline-share-buttons"></div>
240
+</div>
241
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
242
+        async="async">
243
+</script><div class="main">
244
+    <section class="section bread mob">
245
+        <a class="icon" href="./index.html">
246
+            <img src="./static/images/selectCountry/home.jpg" class="fit-image">
247
+        </a>
248
+        <div class="bread-line">></div>
249
+        <div class="bread-link">Choose your market</div>
250
+    </section>
251
+    <section class="section part part_1">
252
+        <div class="title_2">CHOOSE YOUR MARKET</div>
253
+        <div class="content_text">Visit your market site for more relevant information specific to your location</div>
254
+        <div class="con">
255
+                <div class="con-item">
256
+                    <div class="con-title">
257
+                        <span>Middle East/Africa</span>
258
+                        <span class="icon"></span>
259
+                    </div>
260
+                    <div class="countryData">
261
+                            <a href="https://www.baidu.com/" target="_blank">
262
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@19499f38</div>
263
+                            </a>
264
+                            <a href="https://www.everstarindustries.com" target="_blank">
265
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@493491f</div>
266
+                            </a>
267
+                            <a href="http://foton-jo.com/" target="_blank">
268
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@e81e0b5</div>
269
+                            </a>
270
+                            <a href="https://www.foton-maroc.com/" target="_blank">
271
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@791d5bac</div>
272
+                            </a>
273
+                            <a href="javascript:;">
274
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@2cf8abe8</div>
275
+                            </a>
276
+                            <a href="fotonlebanon.com" target="_blank">
277
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@323dd4d9</div>
278
+                            </a>
279
+                            <a href="https://www.fotonegypt.com" target="_blank">
280
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@33380e63</div>
281
+                            </a>
282
+                            <a href="https://petromin-foton.com/" target="_blank">
283
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@20ebf393</div>
284
+                            </a>
285
+                    </div>
286
+                </div>
287
+                <div class="con-item">
288
+                    <div class="con-title">
289
+                        <span>South America</span>
290
+                        <span class="icon"></span>
291
+                    </div>
292
+                    <div class="countryData">
293
+                            <a href="javascript:;">
294
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@4925bb8d</div>
295
+                            </a>
296
+                            <a href="javascript:;">
297
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@15e2356c</div>
298
+                            </a>
299
+                            <a href="https://www.foton.mx/" target="_blank">
300
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@665a6aa5</div>
301
+                            </a>
302
+                            <a href="www.fotondobrasil.com.br" target="_blank">
303
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@19526a96</div>
304
+                            </a>
305
+                            <a href="javascript:;">
306
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@7dcf53e2</div>
307
+                            </a>
308
+                            <a href="www.fotontrucks.com.ar" target="_blank">
309
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@79825062</div>
310
+                            </a>
311
+                            <a href="www.fotonparaguay.com.py" target="_blank">
312
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@4cb802b5</div>
313
+                            </a>
314
+                            <a href="https://fotonbolivia.com.bo/" target="_blank">
315
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@46b4c76e</div>
316
+                            </a>
317
+                            <a href="https://foton.pe/" target="_blank">
318
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@4163cc19</div>
319
+                            </a>
320
+                    </div>
321
+                </div>
322
+                <div class="con-item">
323
+                    <div class="con-title">
324
+                        <span>Asia / Pacific</span>
325
+                        <span class="icon"></span>
326
+                    </div>
327
+                    <div class="countryData">
328
+                            <a href="javascript:;">
329
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@2a898517</div>
330
+                            </a>
331
+                            <a href="javascript:;">
332
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@26289759</div>
333
+                            </a>
334
+                            <a href="www.thacotai.vn" target="_blank">
335
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@46c7bb45</div>
336
+                            </a>
337
+                            <a href="https://www.horizon-automotive.com/" target="_blank">
338
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@199ba480</div>
339
+                            </a>
340
+                            <a href="https://acimotors-bd.com/products/automobiles/foton" target="_blank">
341
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@664a7407</div>
342
+                            </a>
343
+                            <a href="https://www.cpfoton.co.th/" target="_blank">
344
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@22b163ea</div>
345
+                            </a>
346
+                            <a href="https://foton.co.nz/contact/" target="_blank">
347
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@3caf04c6</div>
348
+                            </a>
349
+                            <a href="https://www.fotonmobility.com.au/contact-us" target="_blank">
350
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@46b23dfe</div>
351
+                            </a>
352
+                            <a href="https://www.mmcl.com.pk/" target="_blank">
353
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@736d9363</div>
354
+                            </a>
355
+                            <a href="foton-motors.by" target="_blank">
356
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@5a6a00d7</div>
357
+                            </a>
358
+                            <a href="https://aspgroup.ge" target="_blank">
359
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@1e27a668</div>
360
+                            </a>
361
+                            <a href="www.foton.am" target="_blank">
362
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@49ad359f</div>
363
+                            </a>
364
+                            <a href="www.ikd.ir" target="_blank">
365
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@56445142</div>
366
+                            </a>
367
+                    </div>
368
+                </div>
369
+                <div class="con-item">
370
+                    <div class="con-title">
371
+                        <span>Europe</span>
372
+                        <span class="icon"></span>
373
+                    </div>
374
+                    <div class="countryData">
375
+                            <a href="https://www.otokar.com.tr/" target="_blank">
376
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@5ca29fe5</div>
377
+                            </a>
378
+                            <a href="e-van.com.pl" target="_blank">
379
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@7f9566ff</div>
380
+                            </a>
381
+                            <a href="Brock.ge" target="_blank">
382
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@5f34a55f</div>
383
+                            </a>
384
+                    </div>
385
+                </div>
386
+                <div class="con-item">
387
+                    <div class="con-title">
388
+                        <span>Central America</span>
389
+                        <span class="icon"></span>
390
+                    </div>
391
+                    <div class="countryData">
392
+                            <a href="javascript:;">
393
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@2b0e31ba</div>
394
+                            </a>
395
+                            <a href="javascript:;">
396
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@631bde89</div>
397
+                            </a>
398
+                            <a href="https://tienda.mcvcommercial.com/" target="_blank">
399
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@376dee8b</div>
400
+                            </a>
401
+                            <a href="http://www.conauto.com.sv/" target="_blank">
402
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@4d09bb64</div>
403
+                            </a>
404
+                            <a href="https://www.fotonecuador.com" target="_blank">
405
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@17d0c09e</div>
406
+                            </a>
407
+                            <a href="https://www.cathaygroup.com.do/" target="_blank">
408
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@2a82ab7b</div>
409
+                            </a>
410
+                            <a href="https://www.foton.gt/" target="_blank">
411
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@72430116</div>
412
+                            </a>
413
+                            <a href="https://foton.hn/" target="_blank">
414
+                                <div class="country-item">com.webstudio.staticize.domain.HwDealer@721156a1</div>
415
+                            </a>
416
+                    </div>
417
+                </div>
418
+        </div>
419
+    </section>
420
+    <div class="modal">
421
+        <div class="con">
422
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@2cf8abe8</div>
423
+                            <a class="text-link" href="https://agleventis.com/foton/">A.G. Leventis (Nigeria) Ltd</a></div>
424
+                            <a class="text-link" href="https://kewalramnigeria.com/">Kewalram Nigeria Limited Nigeria</a></div>
425
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@4925bb8d</div>
426
+                            <a class="text-link" href="https://www.navitrans.com.co/">Navitrans SAS</a></div>
427
+                            <a class="text-link" href="https://foton.com.co/">COLOMBIANA DE COMERCIO CORBETA S.A.</a></div>
428
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@15e2356c</div>
429
+                            <a class="text-link" href="https://cidef.cl/marca/foton/">CIDEF COMERCIAL S.A</a></div>
430
+                            <a class="text-link" href="https://foton.cl/">Comercial Motores de Los Andes Spa</a></div>
431
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@7dcf53e2</div>
432
+                            <a class="text-link" href="www.fotonuruguay.com">Homero</a></div>
433
+                            <a class="text-link" href="www.foton.com.uy">Foton truck Uruguay</a></div>
434
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@2a898517</div>
435
+                            <a class="text-link" href="https://perkasaindoquip.co.id/">PT Perkasa Indoquip Utama</a></div>
436
+                            <a class="text-link" href="https://www.hexindo-tbk.co.id/id/">PT Hexindo Adiperkasa Tbk.</a></div>
437
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@26289759</div>
438
+                            <a class="text-link" href="https://foton.com.ph/">UNITED ASIA AUTOMOTIVE GROUP,INC</a></div>
439
+                            <a class="text-link" href="https://foton.com.ph/">UNITED ASIA AUTOMOTIVE GROUP,INC</a></div>
440
+                            <a class="text-link" href="https://www.baidu.com/">测试邮箱是否可以收到</a></div>
441
+                            <a class="text-link" href="https://foton.com.ph/">UNITED ASIA AUTOMOTIVE GROUP,INC</a></div>
442
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@2b0e31ba</div>
443
+                            <a class="text-link" href="https://fotonvzla.com/">Apb Auto World, INC</a></div>
444
+                            <a class="text-link" href="https://www.encava.com/">Encava C.A</a></div>
445
+                        <div class="content_text">com.webstudio.staticize.domain.HwDealer@631bde89</div>
446
+                            <a class="text-link" href="https://www.fotoncr.com/">CORI MOTORS DE CENTROAMERICA S.A.</a></div>
447
+                            <a class="text-link" href="https://fotoncamiones.cr/">Pacific Motors, Investments and Enterprises S.A</a></div>
448
+            <div class="before"></div>
449
+        </div>
450
+    </div>
451
+</div>
452
+<footer>
453
+    <div class="con">
454
+        <div class="row1">
455
+            <div class="title">VISIT YOUR MARKET SITE</div>
456
+            <a class="viewBtn btn" href="/selectCountry.html">
457
+                <div class="viewText">Choose your market</div>
458
+                <div class="viewIcon">
459
+                    <div class="viewArrow1"></div>
460
+                    <div class="viewArrow2"></div>
461
+                </div>
462
+            </a>
463
+        </div>
464
+        <div class="row2">
465
+            <div class="c1 c-item clicked">
466
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
467
+                <div class="c-container">
468
+                    <a href="/about-foton.html">About Us</a>
469
+                    <a href="/news.html">News</a>
470
+                    <a href="/electromobility.html">Electrombility</a>
471
+                    <a href="/fotonservice.html">Service&Parts</a>
472
+                </div>
473
+            </div>
474
+            <div class="c2 c-item clicked">
475
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
476
+                <div class="c-container">
477
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
478
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
479
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
480
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
481
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
482
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
483
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
484
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
485
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
486
+                </div>
487
+            </div>
488
+            <div class="c4 c-item">
489
+                <div class="c-title">CONTACT US</div>
490
+                <div class="c-container">
491
+                        <a href="./concatUs.html" target="_blank">
492
+                            <div class="icon">
493
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
494
+                            </div>
495
+                            Contact us
496
+                        </a>
497
+                        <div class="c-line mob"></div>
498
+                        <a href="tel:+86 1080762999" target="_blank">
499
+                            <div class="icon">
500
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
501
+                            </div>
502
+                            +86 10 8076 2999
503
+                        </a>
504
+                        <div class="c-line mob"></div>
505
+                        <a href="122" target="_blank">
506
+                            <div class="icon">
507
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
508
+                            </div>
509
+                            122
510
+                        </a>
511
+                        <div class="c-line mob"></div>
512
+                </div>
513
+            </div>
514
+            <div class="c3 c-item">
515
+                <div class="c-title">SOCIAL MEDIA</div>
516
+                <div class="c-container">
517
+                        <a href="customer@foton.com.cn" target="_blank">
518
+                            <div class="icon">
519
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
520
+                            </div>
521
+                            customer@foton.com.cn
522
+                        </a>
523
+                            <div class="c-line mob"></div>
524
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
525
+                            <div class="icon">
526
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
527
+                            </div>
528
+                            Facebook
529
+                        </a>
530
+                            <div class="c-line mob"></div>
531
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
532
+                            <div class="icon">
533
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
534
+                            </div>
535
+                            YouTube
536
+                        </a>
537
+                            <div class="c-line mob"></div>
538
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
539
+                            <div class="icon">
540
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
541
+                            </div>
542
+                            Instagram
543
+                        </a>
544
+                </div>
545
+            </div>
546
+        </div>
547
+        <div class="row3 pc">
548
+            <div class="infoGroup">
549
+                <span>Copyright © Foton International. All rights reserved. </span>
550
+                | <a href="/sitemap.html">Sitemap</a>
551
+                | <a href="/cookies.html">Cookies</a>
552
+                | <a href="/privacy.html">Privacy</a>
553
+            </div>
554
+        </div>
555
+        <div class="row3 mob">
556
+            <div class="infoGroup">
557
+                <span>Copyright © Foton International. All rights reserved. </span>
558
+                <br>
559
+                <a href="/sitemap.html">Sitemap</a>
560
+                | <a href="/cookies.html">Cookies</a>
561
+                | <a href="/privacy.html">Privacy</a>
562
+            </div>
563
+        </div>
564
+        <div class="row4 mob">
565
+            <div class="top-btn"></div>
566
+        </div>
567
+    </div>
568
+</footer>
569
+<script defer="defer" src="./runtime/index.js"></script>
570
+<script defer="defer" src="./vendor/index.js"></script>
571
+<script defer="defer" src="./common/index.js"></script>
572
+<script defer="defer" src="./selectCountry/index.js"></script>
573
+</body>
574
+<script>// 模块动画
575
+    var wow = new WOW({
576
+        boxClass: 'wow',
577
+        animateClass: 'animated',
578
+        offset: 100,
579
+        live: true,
580
+        mobile: false
581
+    });
582
+    wow.init();</script>
583
+</html>

+ 385
- 0
html/specialvehicles/bangladesh-refrigerated-truck.html 파일 보기

@@ -0,0 +1,385 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>FOTON Refrigerated Truck</title>
17
+    <meta name="keywords" content=bangladesh foton truck>
18
+    <meta name="description" content=FOTON SPECIAL TRUCKS>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/newsDetail/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                        </div>
118
+                    </div>
119
+                    <div class="subNav">
120
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
121
+                           class="title">BUS&COACH</a>
122
+                        <div class="list">
123
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
124
+                                   class="subsubNav">INERCITY COACH</a>
125
+                        </div>
126
+                    </div>
127
+                    <div class="subNav">
128
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
129
+                           class="title">eMOBILITY</a>
130
+                        <div class="list">
131
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
132
+                                   class="subsubNav">eAUMAN</a>
133
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
134
+                                   class="subsubNav">eAUMARK</a>
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
136
+                                   class="subsubNav">eVIEW</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
138
+                                   class="subsubNav">eTUNLAND</a>
139
+                        </div>
140
+                    </div>
141
+                    <div class="subNav">
142
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
143
+                           class="title">SPECIAL VEHICLES</a>
144
+                        <div class="list">
145
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
146
+                                   class="subsubNav">BROCK</a>
147
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
148
+                                   class="subsubNav">test2</a>
149
+                        </div>
150
+                    </div>
151
+
152
+                <div class="subNav">
153
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
154
+                </div>
155
+            </div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+            <div class="subNavGroup"></div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+        </div>
162
+    </div>
163
+</header>
164
+<div class="header_m">
165
+    <div class="header_bar">
166
+        <a href="/foton.html" class="logo_m"></a>
167
+        <div class="navFlagBtn" data-flag="0">
168
+            <div class="nav_btn_small">
169
+                <div class="lineTop arrowDirBase"></div>
170
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
171
+                <div class="lineBottom arrowDirBase"></div>
172
+            </div>
173
+        </div>
174
+        <div class="headerMline">
175
+        </div>
176
+    </div>
177
+</div>
178
+<div class="navGroup_m">
179
+    <div class="navTopLine"></div>
180
+    <div class="navScroll">
181
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
182
+        <div class="navItem">
183
+            <div class="navTitle">ABOUT US</div>
184
+            <div class="navIcon">
185
+                <div class="hLine"></div>
186
+                <div class="vLine"></div>
187
+            </div>
188
+            <div class="subGroup">
189
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
191
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
192
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
194
+            </div>
195
+        </div>
196
+        <div class="navItem">
197
+            <div class="navTitle">PRODUCTS</div>
198
+            <div class="navIcon">
199
+                <div class="hLine"></div>
200
+                <div class="vLine"></div>
201
+            </div>
202
+            <div class="subGroup">
203
+                    <a class="subNav ani ani-fromRight ani-delay-100"
204
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
205
+                    <a class="subNav ani ani-fromRight ani-delay-200"
206
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
207
+                    <a class="subNav ani ani-fromRight ani-delay-300"
208
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-400"
210
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-500"
212
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-600"
214
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-700"
216
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-800"
218
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-900"
220
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
221
+            </div>
222
+        </div>
223
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
224
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
225
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
226
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
227
+    </div>
228
+    <div class="navFoot">
229
+        <div><a href="tel:+86 1080762999">
230
+                <div class="li iconPhone">+86 1080762999</div>
231
+            </a>
232
+        </div>
233
+    </div>
234
+</div>
235
+<div class="header-right">
236
+    <div class="sharethis-inline-share-buttons"></div>
237
+</div>
238
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
239
+        async="async">
240
+</script><div class="main">
241
+    <section class="section banner">
242
+        <div class="bgImage">
243
+            <picture class="lazy">
244
+                <source data-srcset="/static/images/newsDetail/mob/banner.jpg" srcset="" media="(max-width: 800px)"/>
245
+                <img class="fit-image" data-src="/static/images/newsDetail/banner.jpg" src=""/></picture>
246
+        </div>
247
+    </section>
248
+    <section class="part">
249
+        <div class="date wow fadeInUp">2024-05-16</div>
250
+        <div class="title wow fadeInUp">FOTON Refrigerated Truck</div>
251
+        <div class="data wow fadeInUp ql-editor">
252
+            <p><img src='http://www.fotonmotor.com/fotonmotor/e9ec0e91cd074c04914f9cef6d549fd4.png'></p><p><br></p><p><br></p><p><img src='http://www.fotonmotor.com/fotonmotor/3d1bdd0d80974ce1bb6e9cc4bcf93c80.png'></p>
253
+        </div>
254
+    </section>
255
+</div>
256
+<footer>
257
+    <div class="con">
258
+        <div class="row1">
259
+            <div class="title">VISIT YOUR MARKET SITE</div>
260
+            <a class="viewBtn btn" href="/selectCountry.html">
261
+                <div class="viewText">Choose your market</div>
262
+                <div class="viewIcon">
263
+                    <div class="viewArrow1"></div>
264
+                    <div class="viewArrow2"></div>
265
+                </div>
266
+            </a>
267
+        </div>
268
+        <div class="row2">
269
+            <div class="c1 c-item clicked">
270
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
271
+                <div class="c-container">
272
+                    <a href="/about-foton.html">About Us</a>
273
+                    <a href="/news.html">News</a>
274
+                    <a href="/electromobility.html">Electrombility</a>
275
+                    <a href="/fotonservice.html">Service&Parts</a>
276
+                </div>
277
+            </div>
278
+            <div class="c2 c-item clicked">
279
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
280
+                <div class="c-container">
281
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
282
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
283
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
284
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
285
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
286
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
287
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
288
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
289
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
290
+                </div>
291
+            </div>
292
+            <div class="c4 c-item">
293
+                <div class="c-title">CONTACT US</div>
294
+                <div class="c-container">
295
+                        <a href="./concatUs.html" target="_blank">
296
+                            <div class="icon">
297
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
298
+                            </div>
299
+                            Contact us
300
+                        </a>
301
+                        <div class="c-line mob"></div>
302
+                        <a href="tel:+86 1080762999" target="_blank">
303
+                            <div class="icon">
304
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
305
+                            </div>
306
+                            +86 10 8076 2999
307
+                        </a>
308
+                        <div class="c-line mob"></div>
309
+                        <a href="122" target="_blank">
310
+                            <div class="icon">
311
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
312
+                            </div>
313
+                            122
314
+                        </a>
315
+                        <div class="c-line mob"></div>
316
+                </div>
317
+            </div>
318
+            <div class="c3 c-item">
319
+                <div class="c-title">SOCIAL MEDIA</div>
320
+                <div class="c-container">
321
+                        <a href="customer@foton.com.cn" target="_blank">
322
+                            <div class="icon">
323
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
324
+                            </div>
325
+                            customer@foton.com.cn
326
+                        </a>
327
+                            <div class="c-line mob"></div>
328
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
329
+                            <div class="icon">
330
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
331
+                            </div>
332
+                            Facebook
333
+                        </a>
334
+                            <div class="c-line mob"></div>
335
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
336
+                            <div class="icon">
337
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
338
+                            </div>
339
+                            YouTube
340
+                        </a>
341
+                            <div class="c-line mob"></div>
342
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
343
+                            <div class="icon">
344
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
345
+                            </div>
346
+                            Instagram
347
+                        </a>
348
+                </div>
349
+            </div>
350
+        </div>
351
+        <div class="row3 pc">
352
+            <div class="infoGroup">
353
+                <span>Copyright © Foton International. All rights reserved. </span>
354
+                | <a href="/sitemap.html">Sitemap</a>
355
+                | <a href="/cookies.html">Cookies</a>
356
+                | <a href="/privacy.html">Privacy</a>
357
+            </div>
358
+        </div>
359
+        <div class="row3 mob">
360
+            <div class="infoGroup">
361
+                <span>Copyright © Foton International. All rights reserved. </span>
362
+                <br>
363
+                <a href="/sitemap.html">Sitemap</a>
364
+                | <a href="/cookies.html">Cookies</a>
365
+                | <a href="/privacy.html">Privacy</a>
366
+            </div>
367
+        </div>
368
+        <div class="row4 mob">
369
+            <div class="top-btn"></div>
370
+        </div>
371
+    </div>
372
+</footer><script defer="defer" src="/runtime/index.js"></script>
373
+<script defer="defer" src="/vendor/index.js"></script>
374
+<script defer="defer" src="/newsDetail/index.js"></script>
375
+</body>
376
+<script>// 模块动画
377
+    var wow = new WOW({
378
+        boxClass: 'wow',
379
+        animateClass: 'animated',
380
+        offset: 100,
381
+        live: true,
382
+        mobile: false
383
+    });
384
+    wow.init();</script>
385
+</html>

+ 481
- 0
html/subject0d38a51b.html 파일 보기

@@ -0,0 +1,481 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+<!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>#EVolveABetterWorld</title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=Major National Logistics Group takes Delivery of new FOTON Light Duty Electric Trucks!>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/subject/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                        </div>
118
+                    </div>
119
+                    <div class="subNav">
120
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
121
+                           class="title">BUS&COACH</a>
122
+                        <div class="list">
123
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
124
+                                   class="subsubNav">INERCITY COACH</a>
125
+                        </div>
126
+                    </div>
127
+                    <div class="subNav">
128
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
129
+                           class="title">eMOBILITY</a>
130
+                        <div class="list">
131
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
132
+                                   class="subsubNav">eAUMAN</a>
133
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
134
+                                   class="subsubNav">eAUMARK</a>
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
136
+                                   class="subsubNav">eVIEW</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
138
+                                   class="subsubNav">eTUNLAND</a>
139
+                        </div>
140
+                    </div>
141
+                    <div class="subNav">
142
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
143
+                           class="title">SPECIAL VEHICLES</a>
144
+                        <div class="list">
145
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
146
+                                   class="subsubNav">BROCK</a>
147
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
148
+                                   class="subsubNav">test2</a>
149
+                        </div>
150
+                    </div>
151
+
152
+                <div class="subNav">
153
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
154
+                </div>
155
+            </div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+            <div class="subNavGroup"></div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+        </div>
162
+    </div>
163
+</header>
164
+<div class="header_m">
165
+    <div class="header_bar">
166
+        <a href="/foton.html" class="logo_m"></a>
167
+        <div class="navFlagBtn" data-flag="0">
168
+            <div class="nav_btn_small">
169
+                <div class="lineTop arrowDirBase"></div>
170
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
171
+                <div class="lineBottom arrowDirBase"></div>
172
+            </div>
173
+        </div>
174
+        <div class="headerMline">
175
+        </div>
176
+    </div>
177
+</div>
178
+<div class="navGroup_m">
179
+    <div class="navTopLine"></div>
180
+    <div class="navScroll">
181
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
182
+        <div class="navItem">
183
+            <div class="navTitle">ABOUT US</div>
184
+            <div class="navIcon">
185
+                <div class="hLine"></div>
186
+                <div class="vLine"></div>
187
+            </div>
188
+            <div class="subGroup">
189
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
191
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
192
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
194
+            </div>
195
+        </div>
196
+        <div class="navItem">
197
+            <div class="navTitle">PRODUCTS</div>
198
+            <div class="navIcon">
199
+                <div class="hLine"></div>
200
+                <div class="vLine"></div>
201
+            </div>
202
+            <div class="subGroup">
203
+                    <a class="subNav ani ani-fromRight ani-delay-100"
204
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
205
+                    <a class="subNav ani ani-fromRight ani-delay-200"
206
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
207
+                    <a class="subNav ani ani-fromRight ani-delay-300"
208
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-400"
210
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-500"
212
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-600"
214
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-700"
216
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-800"
218
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-900"
220
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
221
+            </div>
222
+        </div>
223
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
224
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
225
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
226
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
227
+    </div>
228
+    <div class="navFoot">
229
+        <div><a href="tel:+86 1080762999">
230
+                <div class="li iconPhone">+86 1080762999</div>
231
+            </a>
232
+        </div>
233
+    </div>
234
+</div>
235
+<div class="header-right">
236
+    <div class="sharethis-inline-share-buttons"></div>
237
+</div>
238
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
239
+        async="async">
240
+</script><div class='main '>
241
+        <div class='section bread'>
242
+            <div class='con'>
243
+                <div class='bread-container'>
244
+                    <div class='icon'><img src='./static/images/subject/home.jpg' class='fit-image'></div>
245
+                    <div class='tab-text'>> <span class='tab-item editTxt'>#DeliveringTheTrust</span></div>
246
+                </div>
247
+            </div>
248
+        </div>
249
+        <div class='section part part_1 fadeInUp wow'>
250
+            <div class='con'>
251
+                <div class='date editTxt'>1st.February 2023</div>
252
+                <div class='title editTxt'>Major National Logistics Group takes Delivery of new FOTON Light Duty
253
+                    Electric Trucks!</div>
254
+                <div class='text editTxt'>Sydney, Australia, Feb 01, 2023 - An initial order of 6 FOTON T5 Light Duty
255
+                    Electric trucks were delivered to Mainfreight Australia. The trucks were completed to Mainfreight
256
+                    specifications, based on the current T5 cab chassis, and were handed over to Massey Wade, National
257
+                    Brand & Fleet Coordinator at the company’s new Yarrunga St. Prestons Depot in Sydney. The vehicles
258
+                    will be deployed by Mainfreight across four of their Interstate Transport and Warehousing Depots as
259
+                    part of the company’s commitment to sustainability.</div>
260
+                <div class='img'>
261
+                    <div class='bgImage editImgOrVideo'>
262
+                        <picture class='lazy'>
263
+                            <source data-srcset='./static/images/subject/1.jpg' srcset='' media='(max-width: 800px)' />
264
+                            <img class='fit-image' data-src='./static/images/subject/1.jpg' src='' />
265
+                        </picture>
266
+                    </div>
267
+                </div>
268
+            </div>
269
+        </div>
270
+        <div class='section part part_2 fadeInUp wow'>
271
+            <div class='con'>
272
+                <div class='text editTxt'>Purpose -built as an EV from the ground up, the T5 with dual 4.5t/6t GVM
273
+                    capability is currently the only car licence Electric Truck on the market with ESC as standard
274
+                    alongside its other safety features.</div>
275
+                <div class='text editTxt'>The Federal Member for Werriwa, Anne Stanley MP was present at the handover.
276
+                </div>
277
+            </div>
278
+            <div class='con'>
279
+                <div class='container'>
280
+                    <div class='left fadeInLeft wow'>
281
+                        <div class='item editTxt'>Ms. Stanley said,“It is great to see companies like Mainfreight
282
+                            partnering with Foton Mobility in adopting zero emissions electric vehicles in running their
283
+                            business”.</div>
284
+                        <div class='item editTxt'>“Moves like this help build market confidence in the technology and
285
+                            hopefully soon we will see more zero emissions delivery vehicles deployed widely across the
286
+                            Australian economy”.</div>
287
+                        <div class='item editTxt'>“The Albanese Government is consulting on the National Electric
288
+                            Vehicle Strategy, and we know there are plenty of great opportunities for logistics
289
+                            companies”.</div>
290
+                    </div>
291
+                    <div class='right fadeInRight wow'>
292
+                        <div class='bgImage editImg'>
293
+                            <picture class='lazy'>
294
+                                <source data-srcset='./static/images/subject/2.jpg' srcset=''
295
+                                    media='(max-width: 800px)' /><img class='fit-image'
296
+                                    data-src='./static/images/subject/2.jpg' src='' />
297
+                            </picture>
298
+                        </div>
299
+                    </div>
300
+                </div>
301
+            </div>
302
+        </div>
303
+        <div class='section part part_3 fadeInUp wow'>
304
+            <div class='con'>
305
+                <div class='text editTxt'>FMD NSW Manager & National Manager Fleets Jeff Morgan said that it had been a
306
+                    pleasure to work with Mainfreight to deliver the required outcome, and that he looked forward to
307
+                    supporting Mainfreight as it transitioned the vehicles into its working Fleet.</div>
308
+                <div class='swiper-block'>
309
+                    <div class='swiper-width'>
310
+                        <div class='swiper editList'>
311
+                            <div class='swiper-wrapper'>
312
+                                <div class='swiper-slide'>
313
+                                    <div class='bgImage'>
314
+                                        <picture class='lazy'>
315
+                                            <source data-srcset='./static/images/subject/swiper-1.jpg' srcset=''
316
+                                                media='(max-width: 800px)' /><img class='fit-image'
317
+                                                data-src='./static/images/subject/swiper-1.jpg' src='' />
318
+                                        </picture>
319
+                                    </div>
320
+                                    <div class='mask'></div>
321
+                                </div>
322
+                                <div class='swiper-slide'>
323
+                                    <div class='bgImage'>
324
+                                        <picture class='lazy'>
325
+                                            <source data-srcset='./static/images/subject/swiper-2.jpg' srcset=''
326
+                                                media='(max-width: 800px)' /><img class='fit-image'
327
+                                                data-src='./static/images/subject/swiper-2.jpg' src='' />
328
+                                        </picture>
329
+                                    </div>
330
+                                    <div class='mask'></div>
331
+                                </div>
332
+                                <div class='swiper-slide'>
333
+                                    <div class='bgImage'>
334
+                                        <picture class='lazy'>
335
+                                            <source data-srcset='./static/images/subject/swiper-3.jpg' srcset=''
336
+                                                media='(max-width: 800px)' /><img class='fit-image'
337
+                                                data-src='./static/images/subject/swiper-3.jpg' src='' />
338
+                                        </picture>
339
+                                    </div>
340
+                                    <div class='mask'></div>
341
+                                </div>
342
+                            </div>
343
+                        </div>
344
+                    </div>
345
+                </div>
346
+                <div class='swiper-pagination'></div>
347
+            </div>
348
+        
349
+</div>
350
+<footer>
351
+    <div class="con">
352
+        <div class="row1">
353
+            <div class="title">VISIT YOUR MARKET SITE</div>
354
+            <a class="viewBtn btn" href="/selectCountry.html">
355
+                <div class="viewText">Choose your market</div>
356
+                <div class="viewIcon">
357
+                    <div class="viewArrow1"></div>
358
+                    <div class="viewArrow2"></div>
359
+                </div>
360
+            </a>
361
+        </div>
362
+        <div class="row2">
363
+            <div class="c1 c-item clicked">
364
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
365
+                <div class="c-container">
366
+                    <a href="/about-foton.html">About Us</a>
367
+                    <a href="/news.html">News</a>
368
+                    <a href="/electromobility.html">Electrombility</a>
369
+                    <a href="/fotonservice.html">Service&Parts</a>
370
+                </div>
371
+            </div>
372
+            <div class="c2 c-item clicked">
373
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
374
+                <div class="c-container">
375
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
376
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
377
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
378
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
379
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
380
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
381
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
382
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
383
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
384
+                </div>
385
+            </div>
386
+            <div class="c4 c-item">
387
+                <div class="c-title">CONTACT US</div>
388
+                <div class="c-container">
389
+                        <a href="./concatUs.html" target="_blank">
390
+                            <div class="icon">
391
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
392
+                            </div>
393
+                            Contact us
394
+                        </a>
395
+                        <div class="c-line mob"></div>
396
+                        <a href="tel:+86 1080762999" target="_blank">
397
+                            <div class="icon">
398
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
399
+                            </div>
400
+                            +86 10 8076 2999
401
+                        </a>
402
+                        <div class="c-line mob"></div>
403
+                        <a href="122" target="_blank">
404
+                            <div class="icon">
405
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
406
+                            </div>
407
+                            122
408
+                        </a>
409
+                        <div class="c-line mob"></div>
410
+                </div>
411
+            </div>
412
+            <div class="c3 c-item">
413
+                <div class="c-title">SOCIAL MEDIA</div>
414
+                <div class="c-container">
415
+                        <a href="customer@foton.com.cn" target="_blank">
416
+                            <div class="icon">
417
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
418
+                            </div>
419
+                            customer@foton.com.cn
420
+                        </a>
421
+                            <div class="c-line mob"></div>
422
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
423
+                            <div class="icon">
424
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
425
+                            </div>
426
+                            Facebook
427
+                        </a>
428
+                            <div class="c-line mob"></div>
429
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
430
+                            <div class="icon">
431
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
432
+                            </div>
433
+                            YouTube
434
+                        </a>
435
+                            <div class="c-line mob"></div>
436
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
437
+                            <div class="icon">
438
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
439
+                            </div>
440
+                            Instagram
441
+                        </a>
442
+                </div>
443
+            </div>
444
+        </div>
445
+        <div class="row3 pc">
446
+            <div class="infoGroup">
447
+                <span>Copyright © Foton International. All rights reserved. </span>
448
+                | <a href="/sitemap.html">Sitemap</a>
449
+                | <a href="/cookies.html">Cookies</a>
450
+                | <a href="/privacy.html">Privacy</a>
451
+            </div>
452
+        </div>
453
+        <div class="row3 mob">
454
+            <div class="infoGroup">
455
+                <span>Copyright © Foton International. All rights reserved. </span>
456
+                <br>
457
+                <a href="/sitemap.html">Sitemap</a>
458
+                | <a href="/cookies.html">Cookies</a>
459
+                | <a href="/privacy.html">Privacy</a>
460
+            </div>
461
+        </div>
462
+        <div class="row4 mob">
463
+            <div class="top-btn"></div>
464
+        </div>
465
+    </div>
466
+</footer>
467
+<script defer="defer" src="/runtime/index.js"></script>
468
+<script defer="defer" src="/vendor/index.js"></script>
469
+<script defer="defer" src="/common/index.js"></script>
470
+<script defer="defer" src="/subject/index.js"></script>
471
+</body>
472
+<script>// 模块动画
473
+    var wow = new WOW({
474
+        boxClass: 'wow',
475
+        animateClass: 'animated',
476
+        offset: 100,
477
+        live: true,
478
+        mobile: false
479
+    });
480
+    wow.init();</script>
481
+</html>

+ 460
- 0
html/subject3819d5bf.html 파일 보기

@@ -0,0 +1,460 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+<!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>Commerce and Mobility Synergized </title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/subject/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                        </div>
118
+                    </div>
119
+                    <div class="subNav">
120
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
121
+                           class="title">BUS&COACH</a>
122
+                        <div class="list">
123
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
124
+                                   class="subsubNav">INERCITY COACH</a>
125
+                        </div>
126
+                    </div>
127
+                    <div class="subNav">
128
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
129
+                           class="title">eMOBILITY</a>
130
+                        <div class="list">
131
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
132
+                                   class="subsubNav">eAUMAN</a>
133
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
134
+                                   class="subsubNav">eAUMARK</a>
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
136
+                                   class="subsubNav">eVIEW</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
138
+                                   class="subsubNav">eTUNLAND</a>
139
+                        </div>
140
+                    </div>
141
+                    <div class="subNav">
142
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
143
+                           class="title">SPECIAL VEHICLES</a>
144
+                        <div class="list">
145
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
146
+                                   class="subsubNav">BROCK</a>
147
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
148
+                                   class="subsubNav">test2</a>
149
+                        </div>
150
+                    </div>
151
+
152
+                <div class="subNav">
153
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
154
+                </div>
155
+            </div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+            <div class="subNavGroup"></div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+        </div>
162
+    </div>
163
+</header>
164
+<div class="header_m">
165
+    <div class="header_bar">
166
+        <a href="/foton.html" class="logo_m"></a>
167
+        <div class="navFlagBtn" data-flag="0">
168
+            <div class="nav_btn_small">
169
+                <div class="lineTop arrowDirBase"></div>
170
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
171
+                <div class="lineBottom arrowDirBase"></div>
172
+            </div>
173
+        </div>
174
+        <div class="headerMline">
175
+        </div>
176
+    </div>
177
+</div>
178
+<div class="navGroup_m">
179
+    <div class="navTopLine"></div>
180
+    <div class="navScroll">
181
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
182
+        <div class="navItem">
183
+            <div class="navTitle">ABOUT US</div>
184
+            <div class="navIcon">
185
+                <div class="hLine"></div>
186
+                <div class="vLine"></div>
187
+            </div>
188
+            <div class="subGroup">
189
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
191
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
192
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
194
+            </div>
195
+        </div>
196
+        <div class="navItem">
197
+            <div class="navTitle">PRODUCTS</div>
198
+            <div class="navIcon">
199
+                <div class="hLine"></div>
200
+                <div class="vLine"></div>
201
+            </div>
202
+            <div class="subGroup">
203
+                    <a class="subNav ani ani-fromRight ani-delay-100"
204
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
205
+                    <a class="subNav ani ani-fromRight ani-delay-200"
206
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
207
+                    <a class="subNav ani ani-fromRight ani-delay-300"
208
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-400"
210
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-500"
212
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-600"
214
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-700"
216
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-800"
218
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-900"
220
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
221
+            </div>
222
+        </div>
223
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
224
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
225
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
226
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
227
+    </div>
228
+    <div class="navFoot">
229
+        <div><a href="tel:+86 1080762999">
230
+                <div class="li iconPhone">+86 1080762999</div>
231
+            </a>
232
+        </div>
233
+    </div>
234
+</div>
235
+<div class="header-right">
236
+    <div class="sharethis-inline-share-buttons"></div>
237
+</div>
238
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
239
+        async="async">
240
+</script><div class='main '>
241
+        <div class='section bread'>
242
+            <div class='con'>
243
+                <div class='bread-container'>
244
+                    <div class='icon'><img src='./static/images/subject/home.jpg' class='fit-image'></div>
245
+                    <div class='tab-text'>> <span class='tab-item editTxt'>#DeliveringTheTrust</span></div>
246
+                </div>
247
+            </div>
248
+        </div>
249
+        <div class='section part part_1 fadeInUp wow'>
250
+            <div class='con'>
251
+                <div class='date editTxt'>10th February, 2023</div>
252
+                <div class='title editTxt'>Commerce and Mobility Synergized: the first electric light-duty truck in
253
+                    Philippines launched</div>
254
+                <div class='text editTxt'>On 10th February, FOTON BIG SHOW 2023 with the theme of “Commerce and Mobility
255
+                    Synergized” was grandly opened at the World Trade Center in Pasay City, Philippines. At the opening
256
+                    ceremony, FOTON unveiled the eAUMARK, the country's first electric light-duty truck with the aim of
257
+                    providing electrified transportation solutions for Filipino customers. FOTON has just become the
258
+                    first brand in the country to launch an electric truck for customers.</div>
259
+                <div class='img'>
260
+                    <div class='bgImage editImg'>
261
+                        <picture class='lazy'>
262
+                            <source data-srcset='./static/images/subject/1/1.jpg' srcset=''
263
+                                media='(max-width: 800px)' /><img class='fit-image'
264
+                                data-src='./static/images/subject/1/1.jpg' src='' />
265
+                        </picture>
266
+                    </div>
267
+                </div>
268
+            </div>
269
+        </div>
270
+        <div class='section part part_2 fadeInUp wow'>
271
+            <div class='con'>
272
+                <div class='text editTxt'>The new EV is powered by the 81 kWh dual LiFePO4 battery packs on both flanks
273
+                    of the chassis and benefits from a 540V architecture, it can deliver 80 hp to 134 hp peak boost with
274
+                    a peak torque of 1,000 Nm. It can go as fast as 90 km/h.</div>
275
+            </div>
276
+            <div class='con'>
277
+                <div class='container'>
278
+                    <div class='left fadeInLeft wow'>
279
+                        <div class='item'>Honorable Senator Sherwin Gatchalian, Chinese Embassy Minister Counselor Hon.
280
+                            Yang Guoliang, came at the opening ceremony.</div>
281
+                    </div>
282
+                    <div class='right fadeInRight wow'>
283
+                        <div class='bgImage editImg'>
284
+                            <picture class='lazy'>
285
+                                <source data-srcset='./static/images/subject/1/2.jpg' srcset=''
286
+                                    media='(max-width: 800px)' /><img class='fit-image'
287
+                                    data-src='./static/images/subject/1/2.jpg' src='' />
288
+                            </picture>
289
+                        </div>
290
+                    </div>
291
+                </div>
292
+            </div>
293
+        </div>
294
+        <div class='section part part_3 fadeInUp wow'>
295
+            <div class='con'>
296
+                <div class='text'></div>
297
+                <div class='swiper-block'>
298
+                    <div class='swiper-width'>
299
+                        <div class='swiper editList'>
300
+                            <div class='swiper-wrapper'>
301
+                                <div class='swiper-slide'>
302
+                                    <div class='bgImage'>
303
+                                        <picture class='lazy'>
304
+                                            <source data-srcset='./static/images/subject/1/3_1.jpg' srcset=''
305
+                                                media='(max-width: 800px)' /><img class='fit-image'
306
+                                                data-src='./static/images/subject/1/3_1.jpg' src='' />
307
+                                        </picture>
308
+                                    </div>
309
+                                    <div class='mask'></div>
310
+                                </div>
311
+                                <div class='swiper-slide'>
312
+                                    <div class='bgImage'>
313
+                                        <picture class='lazy'>
314
+                                            <source data-srcset='./static/images/subject/1/3_2.jpg' srcset=''
315
+                                                media='(max-width: 800px)' /><img class='fit-image'
316
+                                                data-src='./static/images/subject/1/3_2.jpg' src='' />
317
+                                        </picture>
318
+                                    </div>
319
+                                    <div class='mask'></div>
320
+                                </div>
321
+                            </div>
322
+                        </div>
323
+                    </div>
324
+                </div>
325
+                <div class='swiper-pagination'></div>
326
+            </div>
327
+        
328
+</div>
329
+<footer>
330
+    <div class="con">
331
+        <div class="row1">
332
+            <div class="title">VISIT YOUR MARKET SITE</div>
333
+            <a class="viewBtn btn" href="/selectCountry.html">
334
+                <div class="viewText">Choose your market</div>
335
+                <div class="viewIcon">
336
+                    <div class="viewArrow1"></div>
337
+                    <div class="viewArrow2"></div>
338
+                </div>
339
+            </a>
340
+        </div>
341
+        <div class="row2">
342
+            <div class="c1 c-item clicked">
343
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
344
+                <div class="c-container">
345
+                    <a href="/about-foton.html">About Us</a>
346
+                    <a href="/news.html">News</a>
347
+                    <a href="/electromobility.html">Electrombility</a>
348
+                    <a href="/fotonservice.html">Service&Parts</a>
349
+                </div>
350
+            </div>
351
+            <div class="c2 c-item clicked">
352
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
353
+                <div class="c-container">
354
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
355
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
356
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
357
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
358
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
359
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
360
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
361
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
362
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
363
+                </div>
364
+            </div>
365
+            <div class="c4 c-item">
366
+                <div class="c-title">CONTACT US</div>
367
+                <div class="c-container">
368
+                        <a href="./concatUs.html" target="_blank">
369
+                            <div class="icon">
370
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
371
+                            </div>
372
+                            Contact us
373
+                        </a>
374
+                        <div class="c-line mob"></div>
375
+                        <a href="tel:+86 1080762999" target="_blank">
376
+                            <div class="icon">
377
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
378
+                            </div>
379
+                            +86 10 8076 2999
380
+                        </a>
381
+                        <div class="c-line mob"></div>
382
+                        <a href="122" target="_blank">
383
+                            <div class="icon">
384
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
385
+                            </div>
386
+                            122
387
+                        </a>
388
+                        <div class="c-line mob"></div>
389
+                </div>
390
+            </div>
391
+            <div class="c3 c-item">
392
+                <div class="c-title">SOCIAL MEDIA</div>
393
+                <div class="c-container">
394
+                        <a href="customer@foton.com.cn" target="_blank">
395
+                            <div class="icon">
396
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
397
+                            </div>
398
+                            customer@foton.com.cn
399
+                        </a>
400
+                            <div class="c-line mob"></div>
401
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
402
+                            <div class="icon">
403
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
404
+                            </div>
405
+                            Facebook
406
+                        </a>
407
+                            <div class="c-line mob"></div>
408
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
409
+                            <div class="icon">
410
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
411
+                            </div>
412
+                            YouTube
413
+                        </a>
414
+                            <div class="c-line mob"></div>
415
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
416
+                            <div class="icon">
417
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
418
+                            </div>
419
+                            Instagram
420
+                        </a>
421
+                </div>
422
+            </div>
423
+        </div>
424
+        <div class="row3 pc">
425
+            <div class="infoGroup">
426
+                <span>Copyright © Foton International. All rights reserved. </span>
427
+                | <a href="/sitemap.html">Sitemap</a>
428
+                | <a href="/cookies.html">Cookies</a>
429
+                | <a href="/privacy.html">Privacy</a>
430
+            </div>
431
+        </div>
432
+        <div class="row3 mob">
433
+            <div class="infoGroup">
434
+                <span>Copyright © Foton International. All rights reserved. </span>
435
+                <br>
436
+                <a href="/sitemap.html">Sitemap</a>
437
+                | <a href="/cookies.html">Cookies</a>
438
+                | <a href="/privacy.html">Privacy</a>
439
+            </div>
440
+        </div>
441
+        <div class="row4 mob">
442
+            <div class="top-btn"></div>
443
+        </div>
444
+    </div>
445
+</footer>
446
+<script defer="defer" src="/runtime/index.js"></script>
447
+<script defer="defer" src="/vendor/index.js"></script>
448
+<script defer="defer" src="/common/index.js"></script>
449
+<script defer="defer" src="/subject/index.js"></script>
450
+</body>
451
+<script>// 模块动画
452
+    var wow = new WOW({
453
+        boxClass: 'wow',
454
+        animateClass: 'animated',
455
+        offset: 100,
456
+        live: true,
457
+        mobile: false
458
+    });
459
+    wow.init();</script>
460
+</html>

+ 373
- 0
html/subject4d6c6e96.html
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 373
- 0
html/subject79db1675.html 파일 보기

@@ -0,0 +1,373 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+<!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>FOTON ELECTROMOBILITY ACCELERATES </title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=ssss>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/subject/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                        </div>
118
+                    </div>
119
+                    <div class="subNav">
120
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
121
+                           class="title">BUS&COACH</a>
122
+                        <div class="list">
123
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
124
+                                   class="subsubNav">INERCITY COACH</a>
125
+                        </div>
126
+                    </div>
127
+                    <div class="subNav">
128
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
129
+                           class="title">eMOBILITY</a>
130
+                        <div class="list">
131
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
132
+                                   class="subsubNav">eAUMAN</a>
133
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
134
+                                   class="subsubNav">eAUMARK</a>
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
136
+                                   class="subsubNav">eVIEW</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
138
+                                   class="subsubNav">eTUNLAND</a>
139
+                        </div>
140
+                    </div>
141
+                    <div class="subNav">
142
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
143
+                           class="title">SPECIAL VEHICLES</a>
144
+                        <div class="list">
145
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
146
+                                   class="subsubNav">BROCK</a>
147
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
148
+                                   class="subsubNav">test2</a>
149
+                        </div>
150
+                    </div>
151
+
152
+                <div class="subNav">
153
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
154
+                </div>
155
+            </div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+            <div class="subNavGroup"></div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+        </div>
162
+    </div>
163
+</header>
164
+<div class="header_m">
165
+    <div class="header_bar">
166
+        <a href="/foton.html" class="logo_m"></a>
167
+        <div class="navFlagBtn" data-flag="0">
168
+            <div class="nav_btn_small">
169
+                <div class="lineTop arrowDirBase"></div>
170
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
171
+                <div class="lineBottom arrowDirBase"></div>
172
+            </div>
173
+        </div>
174
+        <div class="headerMline">
175
+        </div>
176
+    </div>
177
+</div>
178
+<div class="navGroup_m">
179
+    <div class="navTopLine"></div>
180
+    <div class="navScroll">
181
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
182
+        <div class="navItem">
183
+            <div class="navTitle">ABOUT US</div>
184
+            <div class="navIcon">
185
+                <div class="hLine"></div>
186
+                <div class="vLine"></div>
187
+            </div>
188
+            <div class="subGroup">
189
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
191
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
192
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
194
+            </div>
195
+        </div>
196
+        <div class="navItem">
197
+            <div class="navTitle">PRODUCTS</div>
198
+            <div class="navIcon">
199
+                <div class="hLine"></div>
200
+                <div class="vLine"></div>
201
+            </div>
202
+            <div class="subGroup">
203
+                    <a class="subNav ani ani-fromRight ani-delay-100"
204
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
205
+                    <a class="subNav ani ani-fromRight ani-delay-200"
206
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
207
+                    <a class="subNav ani ani-fromRight ani-delay-300"
208
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-400"
210
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-500"
212
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-600"
214
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-700"
216
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-800"
218
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-900"
220
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
221
+            </div>
222
+        </div>
223
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
224
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
225
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
226
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
227
+    </div>
228
+    <div class="navFoot">
229
+        <div><a href="tel:+86 1080762999">
230
+                <div class="li iconPhone">+86 1080762999</div>
231
+            </a>
232
+        </div>
233
+    </div>
234
+</div>
235
+<div class="header-right">
236
+    <div class="sharethis-inline-share-buttons"></div>
237
+</div>
238
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
239
+        async="async">
240
+</script><div class='main '><div class='section bread'><div class='con'><div class='bread-container'><div class='icon'><img src='https://192.168.1.84/foton_hw/static/images/subject/home.jpg' class='fit-image'></div><div class='tab-text'>&gt; <span class='tab-item editTxt'>#DeliveringTheTrust</span></div></div></div></div><div class='section part part_1 fadeInUp wow'><div class='con'><div class='date editTxt'>5th JUNE, 2023</div><div class='title editTxt'>FOTON ELECTROMOBILITY ACCELERATES ZERO EMISSION HOME DELIVERIES IN AUSTRALIA </div><div class='text editTxt'>On June 5, an Australia leading retailer purchased 25 units of FOTON electric light duty trucks, who has announced that it aims to make all its home delivery trucks 100% electric-powered by 2030. FOTON helps the customer kick-start the transition of electromobility and help the retailer be the first Australian supermarket chain to do so.</div><div class='img'><div class='bgImage editImg'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/1.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/1.jpg' src='https://192.168.1.84/foton_hw/static/images/subject/2/1.jpg'></picture></div></div></div></div><div class='section part part_2 fadeInUp wow'><div class='con'><div class='container'><div class='left fadeInLeft wow'><div class='item editTxt'>“Our home delivery trucks are a familiar sight in neighborhoods across Australia, and within the next seven years, we want to make every one of them electric, and free of fossil fuels. We’re proud to be putting new EVs on the road in the coming weeks – in one of the many ways we’re working to make grocery shopping greener. Not only can we help make our suburban streets quieter and cleaner, but we hope to set an example for other businesses to support the growth of Australia’s EV industry.”</div><div class='item editTxt'>——Said the CEO of the retailer company</div></div><div class='right fadeInRight wow'><div class='bgImage editImg'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/2.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/2.jpg' src='https://192.168.1.84/foton_hw/static/images/subject/2/2.jpg'></picture></div></div></div></div></div><div class='section part part_3 fadeInUp wow'><div class='con'><div class='text'></div><div class='swiper-block'><div class='swiper-width'><div class='swiper editList'><div class='swiper-wrapper'><div class='swiper-slide'><div class='bgImage'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/3_1.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/3_1.jpg' src=''></picture></div><div class='mask'></div></div><div class='swiper-slide'><div class='bgImage'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/3_2.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/3_2.jpg' src=''></picture></div><div class='mask'></div></div><div class='swiper-slide'><div class='bgImage'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/3_3.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/3_3.jpg' src=''></picture></div><div class='mask'></div></div><div class='swiper-slide'><div class='bgImage'><picture class='lazy'><source data-srcset='https://192.168.1.84/foton_hw/static/images/subject/2/3_4.jpg' srcset='' media='(max-width: 800px)'><img class='fit-image' data-src='https://192.168.1.84/foton_hw/static/images/subject/2/3_4.jpg' src=''></picture></div><div class='mask'></div></div></div></div></div></div><div class='swiper-pagination'></div></div></div>
241
+</div>
242
+<footer>
243
+    <div class="con">
244
+        <div class="row1">
245
+            <div class="title">VISIT YOUR MARKET SITE</div>
246
+            <a class="viewBtn btn" href="/selectCountry.html">
247
+                <div class="viewText">Choose your market</div>
248
+                <div class="viewIcon">
249
+                    <div class="viewArrow1"></div>
250
+                    <div class="viewArrow2"></div>
251
+                </div>
252
+            </a>
253
+        </div>
254
+        <div class="row2">
255
+            <div class="c1 c-item clicked">
256
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
257
+                <div class="c-container">
258
+                    <a href="/about-foton.html">About Us</a>
259
+                    <a href="/news.html">News</a>
260
+                    <a href="/electromobility.html">Electrombility</a>
261
+                    <a href="/fotonservice.html">Service&Parts</a>
262
+                </div>
263
+            </div>
264
+            <div class="c2 c-item clicked">
265
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
266
+                <div class="c-container">
267
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
268
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
269
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
270
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
271
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
272
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
273
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
274
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
275
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
276
+                </div>
277
+            </div>
278
+            <div class="c4 c-item">
279
+                <div class="c-title">CONTACT US</div>
280
+                <div class="c-container">
281
+                        <a href="./concatUs.html" target="_blank">
282
+                            <div class="icon">
283
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
284
+                            </div>
285
+                            Contact us
286
+                        </a>
287
+                        <div class="c-line mob"></div>
288
+                        <a href="tel:+86 1080762999" target="_blank">
289
+                            <div class="icon">
290
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
291
+                            </div>
292
+                            +86 10 8076 2999
293
+                        </a>
294
+                        <div class="c-line mob"></div>
295
+                        <a href="122" target="_blank">
296
+                            <div class="icon">
297
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
298
+                            </div>
299
+                            122
300
+                        </a>
301
+                        <div class="c-line mob"></div>
302
+                </div>
303
+            </div>
304
+            <div class="c3 c-item">
305
+                <div class="c-title">SOCIAL MEDIA</div>
306
+                <div class="c-container">
307
+                        <a href="customer@foton.com.cn" target="_blank">
308
+                            <div class="icon">
309
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
310
+                            </div>
311
+                            customer@foton.com.cn
312
+                        </a>
313
+                            <div class="c-line mob"></div>
314
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
315
+                            <div class="icon">
316
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
317
+                            </div>
318
+                            Facebook
319
+                        </a>
320
+                            <div class="c-line mob"></div>
321
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
322
+                            <div class="icon">
323
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
324
+                            </div>
325
+                            YouTube
326
+                        </a>
327
+                            <div class="c-line mob"></div>
328
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
329
+                            <div class="icon">
330
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
331
+                            </div>
332
+                            Instagram
333
+                        </a>
334
+                </div>
335
+            </div>
336
+        </div>
337
+        <div class="row3 pc">
338
+            <div class="infoGroup">
339
+                <span>Copyright © Foton International. All rights reserved. </span>
340
+                | <a href="/sitemap.html">Sitemap</a>
341
+                | <a href="/cookies.html">Cookies</a>
342
+                | <a href="/privacy.html">Privacy</a>
343
+            </div>
344
+        </div>
345
+        <div class="row3 mob">
346
+            <div class="infoGroup">
347
+                <span>Copyright © Foton International. All rights reserved. </span>
348
+                <br>
349
+                <a href="/sitemap.html">Sitemap</a>
350
+                | <a href="/cookies.html">Cookies</a>
351
+                | <a href="/privacy.html">Privacy</a>
352
+            </div>
353
+        </div>
354
+        <div class="row4 mob">
355
+            <div class="top-btn"></div>
356
+        </div>
357
+    </div>
358
+</footer>
359
+<script defer="defer" src="/runtime/index.js"></script>
360
+<script defer="defer" src="/vendor/index.js"></script>
361
+<script defer="defer" src="/common/index.js"></script>
362
+<script defer="defer" src="/subject/index.js"></script>
363
+</body>
364
+<script>// 模块动画
365
+    var wow = new WOW({
366
+        boxClass: 'wow',
367
+        animateClass: 'animated',
368
+        offset: 100,
369
+        live: true,
370
+        mobile: false
371
+    });
372
+    wow.init();</script>
373
+</html>

+ 481
- 0
html/subject7a4c7ff6.html 파일 보기

@@ -0,0 +1,481 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+<!-- Google Tag Manager -->
11
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
16
+<!-- End Google Tag Manager -->    <title>发给房东刚</title>
17
+    <meta name="keywords" content=>
18
+    <meta name="description" content=电饭锅分蛋糕的发货>
19
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
20
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
21
+    <link rel="stylesheet" href="/static/css/animate.min.css">
22
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
23
+    <link href="/common/index.css" rel="stylesheet">
24
+    <link href="/subject/index.css" rel="stylesheet">
25
+</head>
26
+<body>
27
+<header>
28
+    <div class="navPanel">
29
+        <div class="navGroup">
30
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
31
+            <a href="/products.html" class="navItem">PRODUCTS</a>
32
+            <a href="/news.html" class="navItem">NEWS</a>
33
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
34
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
35
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
36
+        </div>
37
+        <a class="logo" href="/foton.html"></a>
38
+    </div>
39
+    <div class="subNavPanel">
40
+        <div class="subNavScroll">
41
+            <div class="subNavGroup">
42
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
43
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
44
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
45
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
46
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
47
+            </div>
48
+            <div class="subNavGroup">
49
+                    <div class="subNav">
50
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb"
51
+                           class="title">测试产品管理</a>
52
+                        <div class="list">
53
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=89cd919fcb3941438bcb9e79846572c5"
54
+                                   class="subsubNav">杨子姗</a>
55
+                                <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb&defaultTitle2=fe49adcbfc9344bab0e5fa19dbd62629"
56
+                                   class="subsubNav">奔驰</a>
57
+                        </div>
58
+                    </div>
59
+                    <div class="subNav">
60
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2"
61
+                           class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
62
+                        <div class="list">
63
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=547fee49c50e4abdb9e1d26def84f398"
64
+                                   class="subsubNav">OVERVIEW</a>
65
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=e0cb462f5abd4c7bbd14ca5cfe5829ef"
66
+                                   class="subsubNav">2024年4月1</a>
67
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=9cfb49283e974832b7506e713f883c59"
68
+                                   class="subsubNav">AUMAN R</a>
69
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1005eb82efe24961a46ee581cd4c3fa2"
70
+                                   class="subsubNav">AUMAN C</a>
71
+                                <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2&defaultTitle2=1d60dcfb358243fcb206bac489eac34d"
72
+                                   class="subsubNav">AUMAN D</a>
73
+                        </div>
74
+                    </div>
75
+                    <div class="subNav">
76
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3"
77
+                           class="title">LIGHT DUTY TRUCK</a>
78
+                        <div class="list">
79
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=314e189c7b1a46b08a2b845a5fd38ddf"
80
+                                   class="subsubNav">OVERVIEW</a>
81
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=9ab108ca9f904fbaacac97d84ece8b0e"
82
+                                   class="subsubNav">ALL-NEW AUMARK</a>
83
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=550d8ec897c24fa9b7bbc31067538ff5"
84
+                                   class="subsubNav">AUMARK S</a>
85
+                                <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3&defaultTitle2=dfcd27b7f8b1470792a98c47e3211449"
86
+                                   class="subsubNav">MILER</a>
87
+                        </div>
88
+                    </div>
89
+                    <div class="subNav">
90
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0"
91
+                           class="title">MINI TRUCKS</a>
92
+                        <div class="list">
93
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=1a59bf4c54a946c19aed0e5bb656b6ad"
94
+                                   class="subsubNav">TRUCK MATE</a>
95
+                                <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0&defaultTitle2=7a61cc3f6cde4ff5920eaa918b21ae23"
96
+                                   class="subsubNav">WONDER</a>
97
+                        </div>
98
+                    </div>
99
+                    <div class="subNav">
100
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8"
101
+                           class="title">PICKUP</a>
102
+                        <div class="list">
103
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=dd2089570b0443f6a5dcde65e8530f27"
104
+                                   class="subsubNav">TUNLAND G</a>
105
+                                <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8&defaultTitle2=c8ddcfd76fdb467b9391e1795970c28a"
106
+                                   class="subsubNav">TUNLAND V</a>
107
+                        </div>
108
+                    </div>
109
+                    <div class="subNav">
110
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19"
111
+                           class="title">VAN</a>
112
+                        <div class="list">
113
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=8c1d369b1db549b096292bac78951862"
114
+                                   class="subsubNav">VIEW CS2</a>
115
+                                <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19&defaultTitle2=bb4b1e0c2d25460da1a3d2a4fd6f8c77"
116
+                                   class="subsubNav">TOANO</a>
117
+                        </div>
118
+                    </div>
119
+                    <div class="subNav">
120
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d"
121
+                           class="title">BUS&COACH</a>
122
+                        <div class="list">
123
+                                <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d&defaultTitle2=8877a117f11547dc8d303e63b1dc37b0"
124
+                                   class="subsubNav">INERCITY COACH</a>
125
+                        </div>
126
+                    </div>
127
+                    <div class="subNav">
128
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb"
129
+                           class="title">eMOBILITY</a>
130
+                        <div class="list">
131
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=2dbf711653034a30b1c30b160eedbe77"
132
+                                   class="subsubNav">eAUMAN</a>
133
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=039b6adee4534d1c852a230acfbc6a21"
134
+                                   class="subsubNav">eAUMARK</a>
135
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=dc66527a796e4afeaf8f3726c250ef86"
136
+                                   class="subsubNav">eVIEW</a>
137
+                                <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb&defaultTitle2=f96261fc6fc644cc9b7ef35b704ee2c4"
138
+                                   class="subsubNav">eTUNLAND</a>
139
+                        </div>
140
+                    </div>
141
+                    <div class="subNav">
142
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c"
143
+                           class="title">SPECIAL VEHICLES</a>
144
+                        <div class="list">
145
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=94bc029f35f84cc1a6fe8fcbbe633124"
146
+                                   class="subsubNav">BROCK</a>
147
+                                <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c&defaultTitle2=b1b1a00def2648c88e879ea8978a7396"
148
+                                   class="subsubNav">test2</a>
149
+                        </div>
150
+                    </div>
151
+
152
+                <div class="subNav">
153
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
154
+                </div>
155
+            </div>
156
+            <div class="subNavGroup"></div>
157
+            <div class="subNavGroup"></div>
158
+            <div class="subNavGroup"></div>
159
+            <div class="subNavGroup"></div>
160
+            <div class="subNavGroup"></div>
161
+        </div>
162
+    </div>
163
+</header>
164
+<div class="header_m">
165
+    <div class="header_bar">
166
+        <a href="/foton.html" class="logo_m"></a>
167
+        <div class="navFlagBtn" data-flag="0">
168
+            <div class="nav_btn_small">
169
+                <div class="lineTop arrowDirBase"></div>
170
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
171
+                <div class="lineBottom arrowDirBase"></div>
172
+            </div>
173
+        </div>
174
+        <div class="headerMline">
175
+        </div>
176
+    </div>
177
+</div>
178
+<div class="navGroup_m">
179
+    <div class="navTopLine"></div>
180
+    <div class="navScroll">
181
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
182
+        <div class="navItem">
183
+            <div class="navTitle">ABOUT US</div>
184
+            <div class="navIcon">
185
+                <div class="hLine"></div>
186
+                <div class="vLine"></div>
187
+            </div>
188
+            <div class="subGroup">
189
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
190
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
191
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
192
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
193
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
194
+            </div>
195
+        </div>
196
+        <div class="navItem">
197
+            <div class="navTitle">PRODUCTS</div>
198
+            <div class="navIcon">
199
+                <div class="hLine"></div>
200
+                <div class="vLine"></div>
201
+            </div>
202
+            <div class="subGroup">
203
+                    <a class="subNav ani ani-fromRight ani-delay-100"
204
+                       href="./products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb">测试产品管理</a>
205
+                    <a class="subNav ani ani-fromRight ani-delay-200"
206
+                       href="./products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2">MEDIUM & HEAVY DUTY TRUCKS</a>
207
+                    <a class="subNav ani ani-fromRight ani-delay-300"
208
+                       href="./products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3">LIGHT DUTY TRUCK</a>
209
+                    <a class="subNav ani ani-fromRight ani-delay-400"
210
+                       href="./products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0">MINI TRUCKS</a>
211
+                    <a class="subNav ani ani-fromRight ani-delay-500"
212
+                       href="./products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8">PICKUP</a>
213
+                    <a class="subNav ani ani-fromRight ani-delay-600"
214
+                       href="./products.html?defaultTitle=7e2509e229734720be3354f38d431e19">VAN</a>
215
+                    <a class="subNav ani ani-fromRight ani-delay-700"
216
+                       href="./products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d">BUS&COACH</a>
217
+                    <a class="subNav ani ani-fromRight ani-delay-800"
218
+                       href="./products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb">eMOBILITY</a>
219
+                    <a class="subNav ani ani-fromRight ani-delay-900"
220
+                       href="./products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c">SPECIAL VEHICLES</a>
221
+            </div>
222
+        </div>
223
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
224
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
225
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
226
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
227
+    </div>
228
+    <div class="navFoot">
229
+        <div><a href="tel:+86 1080762999">
230
+                <div class="li iconPhone">+86 1080762999</div>
231
+            </a>
232
+        </div>
233
+    </div>
234
+</div>
235
+<div class="header-right">
236
+    <div class="sharethis-inline-share-buttons"></div>
237
+</div>
238
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
239
+        async="async">
240
+</script><div class='main '>
241
+        <div class='section bread'>
242
+            <div class='con'>
243
+                <div class='bread-container'>
244
+                    <div class='icon'><img src='./static/images/subject/home.jpg' class='fit-image'></div>
245
+                    <div class='tab-text'>> <span class='tab-item editTxt'>#DeliveringTheTrust</span></div>
246
+                </div>
247
+            </div>
248
+        </div>
249
+        <div class='section part part_1 fadeInUp wow'>
250
+            <div class='con'>
251
+                <div class='date editTxt'>1st.February 2023</div>
252
+                <div class='title editTxt'>Major National Logistics Group takes Delivery of new FOTON Light Duty
253
+                    Electric Trucks!</div>
254
+                <div class='text editTxt'>Sydney, Australia, Feb 01, 2023 - An initial order of 6 FOTON T5 Light Duty
255
+                    Electric trucks were delivered to Mainfreight Australia. The trucks were completed to Mainfreight
256
+                    specifications, based on the current T5 cab chassis, and were handed over to Massey Wade, National
257
+                    Brand & Fleet Coordinator at the company’s new Yarrunga St. Prestons Depot in Sydney. The vehicles
258
+                    will be deployed by Mainfreight across four of their Interstate Transport and Warehousing Depots as
259
+                    part of the company’s commitment to sustainability.</div>
260
+                <div class='img'>
261
+                    <div class='bgImage editImgOrVideo'>
262
+                        <picture class='lazy'>
263
+                            <source data-srcset='./static/images/subject/1.jpg' srcset='' media='(max-width: 800px)' />
264
+                            <img class='fit-image' data-src='./static/images/subject/1.jpg' src='' />
265
+                        </picture>
266
+                    </div>
267
+                </div>
268
+            </div>
269
+        </div>
270
+        <div class='section part part_2 fadeInUp wow'>
271
+            <div class='con'>
272
+                <div class='text editTxt'>Purpose -built as an EV from the ground up, the T5 with dual 4.5t/6t GVM
273
+                    capability is currently the only car licence Electric Truck on the market with ESC as standard
274
+                    alongside its other safety features.</div>
275
+                <div class='text editTxt'>The Federal Member for Werriwa, Anne Stanley MP was present at the handover.
276
+                </div>
277
+            </div>
278
+            <div class='con'>
279
+                <div class='container'>
280
+                    <div class='left fadeInLeft wow'>
281
+                        <div class='item editTxt'>Ms. Stanley said,“It is great to see companies like Mainfreight
282
+                            partnering with Foton Mobility in adopting zero emissions electric vehicles in running their
283
+                            business”.</div>
284
+                        <div class='item editTxt'>“Moves like this help build market confidence in the technology and
285
+                            hopefully soon we will see more zero emissions delivery vehicles deployed widely across the
286
+                            Australian economy”.</div>
287
+                        <div class='item editTxt'>“The Albanese Government is consulting on the National Electric
288
+                            Vehicle Strategy, and we know there are plenty of great opportunities for logistics
289
+                            companies”.</div>
290
+                    </div>
291
+                    <div class='right fadeInRight wow'>
292
+                        <div class='bgImage editImg'>
293
+                            <picture class='lazy'>
294
+                                <source data-srcset='./static/images/subject/2.jpg' srcset=''
295
+                                    media='(max-width: 800px)' /><img class='fit-image'
296
+                                    data-src='./static/images/subject/2.jpg' src='' />
297
+                            </picture>
298
+                        </div>
299
+                    </div>
300
+                </div>
301
+            </div>
302
+        </div>
303
+        <div class='section part part_3 fadeInUp wow'>
304
+            <div class='con'>
305
+                <div class='text editTxt'>FMD NSW Manager & National Manager Fleets Jeff Morgan said that it had been a
306
+                    pleasure to work with Mainfreight to deliver the required outcome, and that he looked forward to
307
+                    supporting Mainfreight as it transitioned the vehicles into its working Fleet.</div>
308
+                <div class='swiper-block'>
309
+                    <div class='swiper-width'>
310
+                        <div class='swiper editList'>
311
+                            <div class='swiper-wrapper'>
312
+                                <div class='swiper-slide'>
313
+                                    <div class='bgImage'>
314
+                                        <picture class='lazy'>
315
+                                            <source data-srcset='./static/images/subject/swiper-1.jpg' srcset=''
316
+                                                media='(max-width: 800px)' /><img class='fit-image'
317
+                                                data-src='./static/images/subject/swiper-1.jpg' src='' />
318
+                                        </picture>
319
+                                    </div>
320
+                                    <div class='mask'></div>
321
+                                </div>
322
+                                <div class='swiper-slide'>
323
+                                    <div class='bgImage'>
324
+                                        <picture class='lazy'>
325
+                                            <source data-srcset='./static/images/subject/swiper-2.jpg' srcset=''
326
+                                                media='(max-width: 800px)' /><img class='fit-image'
327
+                                                data-src='./static/images/subject/swiper-2.jpg' src='' />
328
+                                        </picture>
329
+                                    </div>
330
+                                    <div class='mask'></div>
331
+                                </div>
332
+                                <div class='swiper-slide'>
333
+                                    <div class='bgImage'>
334
+                                        <picture class='lazy'>
335
+                                            <source data-srcset='./static/images/subject/swiper-3.jpg' srcset=''
336
+                                                media='(max-width: 800px)' /><img class='fit-image'
337
+                                                data-src='./static/images/subject/swiper-3.jpg' src='' />
338
+                                        </picture>
339
+                                    </div>
340
+                                    <div class='mask'></div>
341
+                                </div>
342
+                            </div>
343
+                        </div>
344
+                    </div>
345
+                </div>
346
+                <div class='swiper-pagination'></div>
347
+            </div>
348
+        
349
+</div>
350
+<footer>
351
+    <div class="con">
352
+        <div class="row1">
353
+            <div class="title">VISIT YOUR MARKET SITE</div>
354
+            <a class="viewBtn btn" href="/selectCountry.html">
355
+                <div class="viewText">Choose your market</div>
356
+                <div class="viewIcon">
357
+                    <div class="viewArrow1"></div>
358
+                    <div class="viewArrow2"></div>
359
+                </div>
360
+            </a>
361
+        </div>
362
+        <div class="row2">
363
+            <div class="c1 c-item clicked">
364
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
365
+                <div class="c-container">
366
+                    <a href="/about-foton.html">About Us</a>
367
+                    <a href="/news.html">News</a>
368
+                    <a href="/electromobility.html">Electrombility</a>
369
+                    <a href="/fotonservice.html">Service&Parts</a>
370
+                </div>
371
+            </div>
372
+            <div class="c2 c-item clicked">
373
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
374
+                <div class="c-container">
375
+                        <a href="/products.html?defaultTitle=ab956fd527e6451e926343e7871f07eb" class="title">测试产品管理</a>
376
+                        <a href="/products.html?defaultTitle=bcf4f59a78e34ce6aa3c1454cccfc7e2" class="title">MEDIUM & HEAVY DUTY TRUCKS</a>
377
+                        <a href="/products.html?defaultTitle=1ddf320bea3846788d53641631aa0dd3" class="title">LIGHT DUTY TRUCK</a>
378
+                        <a href="/products.html?defaultTitle=7f63bcd3cc2943a9ae13f65782a7f3a0" class="title">MINI TRUCKS</a>
379
+                        <a href="/products.html?defaultTitle=ffe3e42bf2044c9b916584aef92ea6a8" class="title">PICKUP</a>
380
+                        <a href="/products.html?defaultTitle=7e2509e229734720be3354f38d431e19" class="title">VAN</a>
381
+                        <a href="/products.html?defaultTitle=83038e69a54e48788b7b7e4322b9fb7d" class="title">BUS&COACH</a>
382
+                        <a href="/products.html?defaultTitle=3e10a41a199648e6b23d6d91ffaf62fb" class="title">eMOBILITY</a>
383
+                        <a href="/products.html?defaultTitle=9a99b2abf66e45269306c3c34bd64d8c" class="title">SPECIAL VEHICLES</a>
384
+                </div>
385
+            </div>
386
+            <div class="c4 c-item">
387
+                <div class="c-title">CONTACT US</div>
388
+                <div class="c-container">
389
+                        <a href="./concatUs.html" target="_blank">
390
+                            <div class="icon">
391
+                                <img src="/fotonmotor/8592f2becdce4dc68b73dab91133630a.svg">
392
+                            </div>
393
+                            Contact us
394
+                        </a>
395
+                        <div class="c-line mob"></div>
396
+                        <a href="tel:+86 1080762999" target="_blank">
397
+                            <div class="icon">
398
+                                <img src="/fotonmotor/a437af33c2034752b7b1a67f2837a0b2.svg">
399
+                            </div>
400
+                            +86 10 8076 2999
401
+                        </a>
402
+                        <div class="c-line mob"></div>
403
+                        <a href="122" target="_blank">
404
+                            <div class="icon">
405
+                                <img src="/fotonmotor/4ea7a3f8366c4604ba914d1b840195ac.jpeg">
406
+                            </div>
407
+                            122
408
+                        </a>
409
+                        <div class="c-line mob"></div>
410
+                </div>
411
+            </div>
412
+            <div class="c3 c-item">
413
+                <div class="c-title">SOCIAL MEDIA</div>
414
+                <div class="c-container">
415
+                        <a href="customer@foton.com.cn" target="_blank">
416
+                            <div class="icon">
417
+                                <img src="/fotonmotor/cfa5c7ce5037448c8ba6615045fd95a3.svg">
418
+                            </div>
419
+                            customer@foton.com.cn
420
+                        </a>
421
+                            <div class="c-line mob"></div>
422
+                        <a href="https://www.facebook.com/fotonmotor" target="_blank">
423
+                            <div class="icon">
424
+                                <img src="/fotonmotor/23401f3cfc0b40b9896bcaf215d852f8.svg">
425
+                            </div>
426
+                            Facebook
427
+                        </a>
428
+                            <div class="c-line mob"></div>
429
+                        <a href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ" target="_blank">
430
+                            <div class="icon">
431
+                                <img src="/fotonmotor/ba57d20f6aa4419495df9dd276edfd4e.svg">
432
+                            </div>
433
+                            YouTube
434
+                        </a>
435
+                            <div class="c-line mob"></div>
436
+                        <a href="https://www.instagram.com/fotonmotor/" target="_blank">
437
+                            <div class="icon">
438
+                                <img src="/fotonmotor/caf1063c8fb4469a904aca3ec89c3b39.jpg">
439
+                            </div>
440
+                            Instagram
441
+                        </a>
442
+                </div>
443
+            </div>
444
+        </div>
445
+        <div class="row3 pc">
446
+            <div class="infoGroup">
447
+                <span>Copyright © Foton International. All rights reserved. </span>
448
+                | <a href="/sitemap.html">Sitemap</a>
449
+                | <a href="/cookies.html">Cookies</a>
450
+                | <a href="/privacy.html">Privacy</a>
451
+            </div>
452
+        </div>
453
+        <div class="row3 mob">
454
+            <div class="infoGroup">
455
+                <span>Copyright © Foton International. All rights reserved. </span>
456
+                <br>
457
+                <a href="/sitemap.html">Sitemap</a>
458
+                | <a href="/cookies.html">Cookies</a>
459
+                | <a href="/privacy.html">Privacy</a>
460
+            </div>
461
+        </div>
462
+        <div class="row4 mob">
463
+            <div class="top-btn"></div>
464
+        </div>
465
+    </div>
466
+</footer>
467
+<script defer="defer" src="/runtime/index.js"></script>
468
+<script defer="defer" src="/vendor/index.js"></script>
469
+<script defer="defer" src="/common/index.js"></script>
470
+<script defer="defer" src="/subject/index.js"></script>
471
+</body>
472
+<script>// 模块动画
473
+    var wow = new WOW({
474
+        boxClass: 'wow',
475
+        animateClass: 'animated',
476
+        offset: 100,
477
+        live: true,
478
+        mobile: false
479
+    });
480
+    wow.init();</script>
481
+</html>

+ 373
- 0
html/subjectc38cda22.html
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


BIN
nacos/nacos_config.zip 파일 보기


+ 298
- 0
pom.xml 파일 보기

@@ -0,0 +1,298 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0"
3
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+    <modelVersion>4.0.0</modelVersion>
6
+
7
+    <groupId>com.webstudio</groupId>
8
+    <artifactId>webstudio</artifactId>
9
+    <version>3.6.2</version>
10
+
11
+    <name>webstudio</name>
12
+    <description>基建管理平台</description>
13
+
14
+    <properties>
15
+        <webstudio.version>3.6.2</webstudio.version>
16
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
18
+        <java.version>1.8</java.version>
19
+        <spring-boot.version>2.7.7</spring-boot.version>
20
+        <spring-cloud.version>2021.0.5</spring-cloud.version>
21
+        <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
22
+        <spring-boot-admin.version>2.7.10</spring-boot-admin.version>
23
+        <swagger.fox.version>3.0.0</swagger.fox.version>
24
+        <swagger.core.version>1.6.2</swagger.core.version>
25
+        <tobato.version>1.27.2</tobato.version>
26
+        <kaptcha.version>2.3.3</kaptcha.version>
27
+        <pagehelper.boot.version>1.4.6</pagehelper.boot.version>
28
+        <druid.version>1.2.16</druid.version>
29
+        <dynamic-ds.version>3.5.2</dynamic-ds.version>
30
+        <commons.io.version>2.11.0</commons.io.version>
31
+        <velocity.version>2.3</velocity.version>
32
+        <fastjson.version>2.0.25</fastjson.version>
33
+        <jjwt.version>0.9.1</jjwt.version>
34
+        <minio.version>8.2.2</minio.version>
35
+        <poi.version>4.1.2</poi.version>
36
+        <mysql.version>5.1.9</mysql.version>
37
+        <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>
38
+    </properties>
39
+
40
+    <!-- 依赖声明 -->
41
+    <dependencyManagement>
42
+        <dependencies>
43
+
44
+            <!-- SpringCloud 微服务 -->
45
+            <dependency>
46
+                <groupId>org.springframework.cloud</groupId>
47
+                <artifactId>spring-cloud-dependencies</artifactId>
48
+                <version>${spring-cloud.version}</version>
49
+                <type>pom</type>
50
+                <scope>import</scope>
51
+            </dependency>
52
+
53
+            <!-- SpringCloud Alibaba 微服务 -->
54
+            <dependency>
55
+                <groupId>com.alibaba.cloud</groupId>
56
+                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
57
+                <version>${spring-cloud-alibaba.version}</version>
58
+                <type>pom</type>
59
+                <scope>import</scope>
60
+            </dependency>
61
+
62
+            <!-- SpringBoot 依赖配置 -->
63
+            <dependency>
64
+                <groupId>org.springframework.boot</groupId>
65
+                <artifactId>spring-boot-dependencies</artifactId>
66
+                <version>${spring-boot.version}</version>
67
+                <type>pom</type>
68
+                <scope>import</scope>
69
+            </dependency>
70
+
71
+            <!-- FastDFS 分布式文件系统 -->
72
+            <dependency>
73
+                <groupId>com.github.tobato</groupId>
74
+                <artifactId>fastdfs-client</artifactId>
75
+                <version>${tobato.version}</version>
76
+            </dependency>
77
+
78
+            <!-- Swagger 依赖配置 -->
79
+            <dependency>
80
+                <groupId>io.swagger</groupId>
81
+                <artifactId>swagger-models</artifactId>
82
+                <version>${swagger.core.version}</version>
83
+            </dependency>
84
+            <dependency>
85
+                <groupId>io.swagger</groupId>
86
+                <artifactId>swagger-annotations</artifactId>
87
+                <version>${swagger.core.version}</version>
88
+            </dependency>
89
+
90
+            <!-- 验证码 -->
91
+            <dependency>
92
+                <groupId>pro.fessional</groupId>
93
+                <artifactId>kaptcha</artifactId>
94
+                <version>${kaptcha.version}</version>
95
+            </dependency>
96
+
97
+            <!-- pagehelper 分页插件 -->
98
+            <dependency>
99
+                <groupId>com.github.pagehelper</groupId>
100
+                <artifactId>pagehelper-spring-boot-starter</artifactId>
101
+                <version>${pagehelper.boot.version}</version>
102
+            </dependency>
103
+
104
+            <dependency>
105
+                <groupId>mysql</groupId>
106
+                <artifactId>mysql-connector-java</artifactId>
107
+                <version>${mysql.version}</version>
108
+            </dependency>
109
+
110
+            <!-- io常用工具类 -->
111
+            <dependency>
112
+                <groupId>commons-io</groupId>
113
+                <artifactId>commons-io</artifactId>
114
+                <version>${commons.io.version}</version>
115
+            </dependency>
116
+
117
+            <!-- excel工具 -->
118
+            <dependency>
119
+                <groupId>org.apache.poi</groupId>
120
+                <artifactId>poi-ooxml</artifactId>
121
+                <version>${poi.version}</version>
122
+            </dependency>
123
+
124
+            <!-- 代码生成使用模板 -->
125
+            <dependency>
126
+                <groupId>org.apache.velocity</groupId>
127
+                <artifactId>velocity-engine-core</artifactId>
128
+                <version>${velocity.version}</version>
129
+            </dependency>
130
+
131
+            <!-- JSON 解析器和生成器 -->
132
+            <dependency>
133
+                <groupId>com.alibaba.fastjson2</groupId>
134
+                <artifactId>fastjson2</artifactId>
135
+                <version>${fastjson.version}</version>
136
+            </dependency>
137
+
138
+            <!-- JWT -->
139
+            <dependency>
140
+                <groupId>io.jsonwebtoken</groupId>
141
+                <artifactId>jjwt</artifactId>
142
+                <version>${jjwt.version}</version>
143
+            </dependency>
144
+
145
+            <!-- 线程传递值 -->
146
+            <dependency>
147
+                <groupId>com.alibaba</groupId>
148
+                <artifactId>transmittable-thread-local</artifactId>
149
+                <version>${transmittable-thread-local.version}</version>
150
+            </dependency>
151
+
152
+            <!-- 核心模块 -->
153
+            <dependency>
154
+                <groupId>com.webstudio</groupId>
155
+                <artifactId>webstudio-common-core</artifactId>
156
+                <version>${webstudio.version}</version>
157
+            </dependency>
158
+
159
+            <!-- 接口模块 -->
160
+            <dependency>
161
+                <groupId>com.webstudio</groupId>
162
+                <artifactId>webstudio-common-swagger</artifactId>
163
+                <version>${webstudio.version}</version>
164
+            </dependency>
165
+
166
+            <!-- 安全模块 -->
167
+            <dependency>
168
+                <groupId>com.webstudio</groupId>
169
+                <artifactId>webstudio-common-security</artifactId>
170
+                <version>${webstudio.version}</version>
171
+            </dependency>
172
+
173
+            <!-- 权限范围 -->
174
+            <dependency>
175
+                <groupId>com.webstudio</groupId>
176
+                <artifactId>webstudio-common-datascope</artifactId>
177
+                <version>${webstudio.version}</version>
178
+            </dependency>
179
+
180
+            <!-- 多数据源 -->
181
+            <dependency>
182
+                <groupId>com.webstudio</groupId>
183
+                <artifactId>webstudio-common-datasource</artifactId>
184
+                <version>${webstudio.version}</version>
185
+            </dependency>
186
+
187
+            <!-- 分布式事务 -->
188
+            <dependency>
189
+                <groupId>com.webstudio</groupId>
190
+                <artifactId>webstudio-common-seata</artifactId>
191
+                <version>${webstudio.version}</version>
192
+            </dependency>
193
+
194
+            <!-- 日志记录 -->
195
+            <dependency>
196
+                <groupId>com.webstudio</groupId>
197
+                <artifactId>webstudio-common-log</artifactId>
198
+                <version>${webstudio.version}</version>
199
+            </dependency>
200
+
201
+            <!-- 缓存服务 -->
202
+            <dependency>
203
+                <groupId>com.webstudio</groupId>
204
+                <artifactId>webstudio-common-redis</artifactId>
205
+                <version>${webstudio.version}</version>
206
+            </dependency>
207
+
208
+            <!-- 系统接口 -->
209
+            <dependency>
210
+                <groupId>com.webstudio</groupId>
211
+                <artifactId>webstudio-api-system</artifactId>
212
+                <version>${webstudio.version}</version>
213
+            </dependency>
214
+
215
+        </dependencies>
216
+    </dependencyManagement>
217
+
218
+    <modules>
219
+        <module>webstudio-auth</module>
220
+        <module>webstudio-gateway</module>
221
+        <module>webstudio-modules</module>
222
+        <module>webstudio-api</module>
223
+        <module>webstudio-common</module>
224
+    </modules>
225
+    <packaging>pom</packaging>
226
+
227
+    <dependencies>
228
+        <!-- bootstrap 启动器 -->
229
+        <dependency>
230
+            <groupId>org.springframework.cloud</groupId>
231
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
232
+        </dependency>
233
+    </dependencies>
234
+
235
+    <build>
236
+        <plugins>
237
+            <plugin>
238
+                <groupId>org.apache.maven.plugins</groupId>
239
+                <artifactId>maven-compiler-plugin</artifactId>
240
+                <configuration>
241
+                    <source>${java.version}</source>
242
+                    <target>${java.version}</target>
243
+                    <encoding>${project.build.sourceEncoding}</encoding>
244
+                </configuration>
245
+            </plugin>
246
+        </plugins>
247
+        <pluginManagement>
248
+            <plugins>
249
+                <plugin>
250
+                    <groupId>org.springframework.boot</groupId>
251
+                    <artifactId>spring-boot-maven-plugin</artifactId>
252
+                    <version>${spring-boot.version}</version>
253
+                    <executions>
254
+                        <execution>
255
+                            <goals>
256
+                                <goal>repackage</goal>
257
+                            </goals>
258
+                        </execution>
259
+                    </executions>
260
+                </plugin>
261
+            </plugins>
262
+        </pluginManagement>
263
+    </build>
264
+
265
+    <repositories>
266
+        <repository>
267
+            <id>public</id>
268
+            <name>aliyun nexus</name>
269
+            <url>https://maven.aliyun.com/repository/public</url>
270
+            <releases>
271
+                <enabled>true</enabled>
272
+            </releases>
273
+        </repository>
274
+        <repository>
275
+            <id>jeecg</id>
276
+            <name>jeecg Repository</name>
277
+            <url>http://maven.jeewx.com/nexus/content/repositories/jeecg</url>
278
+            <snapshots>
279
+                <enabled>false</enabled>
280
+            </snapshots>
281
+        </repository>
282
+    </repositories>
283
+
284
+    <pluginRepositories>
285
+        <pluginRepository>
286
+            <id>public</id>
287
+            <name>aliyun nexus</name>
288
+            <url>https://maven.aliyun.com/repository/public</url>
289
+            <releases>
290
+                <enabled>true</enabled>
291
+            </releases>
292
+            <snapshots>
293
+                <enabled>false</enabled>
294
+            </snapshots>
295
+        </pluginRepository>
296
+    </pluginRepositories>
297
+
298
+</project>

+ 291
- 0
sql/quartz.sql 파일 보기

@@ -0,0 +1,291 @@
1
+
2
+
3
+-- ----------------------------
4
+-- 1、存储每一个已配置的 jobDetail 的详细信息
5
+-- ----------------------------
6
+create table qrtz_job_details (
7
+    sched_name           varchar2(120)    not null,
8
+    job_name             varchar2(200)    not null,
9
+    job_group            varchar2(200)    not null,
10
+    description          varchar2(250)    null,
11
+    job_class_name       varchar2(250)    not null,
12
+    is_durable           varchar2(1)      not null,
13
+    is_nonconcurrent     varchar2(1)      not null,
14
+    is_update_data       varchar2(1)      not null,
15
+    requests_recovery    varchar2(1)      not null,
16
+    job_data             blob             null,
17
+    constraint qrtz_job_details_pk primary key (sched_name, job_name, job_group)
18
+);
19
+
20
+comment on table  qrtz_job_details                    is '任务详细信息表';
21
+comment on column qrtz_job_details.sched_name         is '调度名称';
22
+comment on column qrtz_job_details.job_name           is '任务名称';
23
+comment on column qrtz_job_details.job_group          is '任务组名';
24
+comment on column qrtz_job_details.description        is '相关介绍';
25
+comment on column qrtz_job_details.job_class_name     is '执行任务类名称';
26
+comment on column qrtz_job_details.is_durable         is '是否持久化';
27
+comment on column qrtz_job_details.is_nonconcurrent   is '是否并发';
28
+comment on column qrtz_job_details.is_update_data     is '是否更新数据';
29
+comment on column qrtz_job_details.requests_recovery  is '是否接受恢复执行';
30
+comment on column qrtz_job_details.job_data           is '存放持久化job对象';
31
+
32
+-- ----------------------------
33
+-- 2、 存储已配置的 Trigger 的信息
34
+-- ----------------------------
35
+create table qrtz_triggers (
36
+    sched_name           varchar2(120)    not null,
37
+    trigger_name         varchar2(200)    not null,
38
+    trigger_group        varchar2(200)    not null,
39
+    job_name             varchar2(200)    not null,
40
+    job_group            varchar2(200)    not null,
41
+    description          varchar2(250)    null,
42
+    next_fire_time       number(13)       null,
43
+    prev_fire_time       number(13)       null,
44
+    priority             number(13)       null,
45
+    trigger_state        varchar2(16)     not null,
46
+    trigger_type         varchar2(8)      not null,
47
+    start_time           number(13)       not null,
48
+    end_time             number(13)       null,
49
+    calendar_name        varchar2(200)    null,
50
+    misfire_instr        number(2)        null,
51
+    job_data             blob             null,
52
+    constraint qrtz_triggers_pk primary key (sched_name, trigger_name, trigger_group),
53
+    constraint qrtz_trigger_to_jobs_fk foreign key (sched_name, job_name, job_group) references qrtz_job_details(sched_name, job_name, job_group)
54
+);
55
+
56
+comment on table  qrtz_triggers                    is '触发器详细信息表';
57
+comment on column qrtz_triggers.sched_name         is '调度名称';
58
+comment on column qrtz_triggers.trigger_name       is '触发器的名字';
59
+comment on column qrtz_triggers.trigger_group      is '触发器所属组的名字';
60
+comment on column qrtz_triggers.job_name           is 'qrtz_job_details表job_name的外键';
61
+comment on column qrtz_triggers.job_group          is 'qrtz_job_details表job_group的外键';
62
+comment on column qrtz_triggers.description        is '相关介绍';
63
+comment on column qrtz_triggers.next_fire_time     is '上一次触发时间(毫秒)';
64
+comment on column qrtz_triggers.prev_fire_time     is '下一次触发时间(默认为-1表示不触发)';
65
+comment on column qrtz_triggers.priority           is '优先级';
66
+comment on column qrtz_triggers.trigger_state      is '触发器状态';
67
+comment on column qrtz_triggers.trigger_type       is '触发器的类型';
68
+comment on column qrtz_triggers.start_time         is '开始时间';
69
+comment on column qrtz_triggers.end_time           is '结束时间';
70
+comment on column qrtz_triggers.calendar_name      is '日程表名称';
71
+comment on column qrtz_triggers.misfire_instr      is '补偿执行的策略';
72
+comment on column qrtz_triggers.job_data           is '存放持久化job对象';
73
+
74
+
75
+
76
+-- ----------------------------
77
+-- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数
78
+-- ----------------------------
79
+create table qrtz_simple_triggers (
80
+    sched_name           varchar2(120)    not null,
81
+    trigger_name         varchar2(200)    not null,
82
+    trigger_group        varchar2(200)    not null,
83
+    repeat_count         number(7)        not null,
84
+    repeat_interval      number(12)       not null,
85
+    times_triggered      number(10)       not null,
86
+    constraint qrtz_simple_trig_pk primary key (sched_name, trigger_name, trigger_group),
87
+    constraint qrtz_simple_trig_to_trig_fk foreign key (sched_name, trigger_name, trigger_group) references qrtz_triggers(sched_name, trigger_name, trigger_group)
88
+);
89
+
90
+comment on table  qrtz_simple_triggers                    is '简单触发器的信息表';
91
+comment on column qrtz_simple_triggers.sched_name         is '调度名称';
92
+comment on column qrtz_simple_triggers.trigger_name       is 'qrtz_triggers表trigger_name的外键';
93
+comment on column qrtz_simple_triggers.trigger_group      is 'qrtz_triggers表trigger_group的外键';
94
+comment on column qrtz_simple_triggers.repeat_count       is '重复的次数统计';
95
+comment on column qrtz_simple_triggers.repeat_interval    is '重复的间隔时间';
96
+comment on column qrtz_simple_triggers.times_triggered    is '已经触发的次数';
97
+
98
+-- ----------------------------
99
+-- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息
100
+-- ---------------------------- 
101
+create table qrtz_cron_triggers (
102
+    sched_name           varchar2(120)    not null,
103
+    trigger_name         varchar2(200)    not null,
104
+    trigger_group        varchar2(200)    not null,
105
+    cron_expression      varchar2(120)    not null,
106
+    time_zone_id         varchar2(80),
107
+    constraint qrtz_cron_trig_pk primary key (sched_name, trigger_name, trigger_group),
108
+    constraint qrtz_cron_trig_to_trig_fk foreign key (sched_name, trigger_name, trigger_group) references qrtz_triggers(sched_name, trigger_name, trigger_group)
109
+);
110
+
111
+comment on table  qrtz_cron_triggers                    is 'Cron类型的触发器表';
112
+comment on column qrtz_cron_triggers.sched_name         is '调度名称';
113
+comment on column qrtz_cron_triggers.trigger_name       is 'qrtz_triggers表trigger_name的外键';
114
+comment on column qrtz_cron_triggers.trigger_group      is 'qrtz_triggers表trigger_group的外键';
115
+comment on column qrtz_cron_triggers.cron_expression    is 'cron表达式';
116
+comment on column qrtz_cron_triggers.time_zone_id       is '时区';
117
+
118
+-- ----------------------------
119
+-- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候)
120
+-- ---------------------------- 
121
+create table qrtz_blob_triggers (
122
+    sched_name           varchar2(120)    not null,
123
+    trigger_name         varchar2(200)    not null,
124
+    trigger_group        varchar2(200)    not null,
125
+    blob_data            blob null,
126
+    constraint qrtz_blob_trig_pk primary key (sched_name, trigger_name, trigger_group),
127
+    constraint qrtz_blob_trig_to_trig_fk foreign key (sched_name, trigger_name, trigger_group) references qrtz_triggers(sched_name, trigger_name, trigger_group)
128
+);
129
+
130
+comment on table  qrtz_blob_triggers                    is 'Blob类型的触发器表';
131
+comment on column qrtz_blob_triggers.sched_name         is '调度名称';
132
+comment on column qrtz_blob_triggers.trigger_name       is 'qrtz_triggers表trigger_name的外键';
133
+comment on column qrtz_blob_triggers.trigger_group      is 'qrtz_triggers表trigger_group的外键';
134
+comment on column qrtz_blob_triggers.blob_data          is '存放持久化Trigger对象';
135
+
136
+-- ----------------------------
137
+-- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围
138
+-- ---------------------------- 
139
+create table qrtz_calendars (
140
+    sched_name           varchar2(120)    not null,
141
+    calendar_name        varchar2(200)    not null,
142
+    calendar             blob             not null,
143
+    constraint qrtz_calendars_pk primary key (sched_name, calendar_name)
144
+);
145
+
146
+comment on table  qrtz_calendars                    is '日历信息表';
147
+comment on column qrtz_calendars.sched_name         is '调度名称';
148
+comment on column qrtz_calendars.calendar_name      is '日历名称';
149
+comment on column qrtz_calendars.calendar           is '存放持久化calendar对象';
150
+
151
+-- ----------------------------
152
+-- 7、 存储已暂停的 Trigger 组的信息
153
+-- ---------------------------- 
154
+create table qrtz_paused_trigger_grps (
155
+    sched_name           varchar2(120)    not null,
156
+    trigger_group        varchar2(200)    not null,
157
+    constraint qrtz_paused_trig_grps_pk primary key (sched_name, trigger_group)
158
+);
159
+
160
+comment on table  qrtz_paused_trigger_grps                    is '暂停的触发器表';
161
+comment on column qrtz_paused_trigger_grps.sched_name         is '调度名称';
162
+comment on column qrtz_paused_trigger_grps.trigger_group      is 'qrtz_triggers表trigger_group的外键';
163
+
164
+-- ----------------------------
165
+-- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息
166
+-- ---------------------------- 
167
+create table qrtz_fired_triggers (
168
+    sched_name           varchar2(120)    not null,
169
+    entry_id             varchar2(95)     not null,
170
+    trigger_name         varchar2(200)    not null,
171
+    trigger_group        varchar2(200)    not null,
172
+    instance_name        varchar2(200)    not null,
173
+    fired_time           number(13)       not null,
174
+    sched_time           number(13)       not null,
175
+    priority             number(13)       not null,
176
+    state                varchar2(16)     not null,
177
+    job_name             varchar2(200)    null,
178
+    job_group            varchar2(200)    null,
179
+    is_nonconcurrent     varchar2(1)      null,
180
+    requests_recovery    varchar2(1)      null,
181
+    constraint qrtz_fired_trigger_pk primary key (sched_name, entry_id)
182
+);
183
+
184
+comment on table  qrtz_fired_triggers                      is '已触发的触发器表';
185
+comment on column qrtz_fired_triggers.sched_name           is '调度名称';
186
+comment on column qrtz_fired_triggers.entry_id             is '调度器实例id';
187
+comment on column qrtz_fired_triggers.trigger_name         is 'qrtz_triggers表trigger_name的外键';
188
+comment on column qrtz_fired_triggers.trigger_group        is 'qrtz_triggers表trigger_group的外键';
189
+comment on column qrtz_fired_triggers.instance_name        is '调度器实例名';
190
+comment on column qrtz_fired_triggers.fired_time           is '触发的时间';
191
+comment on column qrtz_fired_triggers.sched_time           is '定时器制定的时间';
192
+comment on column qrtz_fired_triggers.priority             is '优先级';
193
+comment on column qrtz_fired_triggers.state                is '状态';
194
+comment on column qrtz_fired_triggers.job_name             is '任务名称';
195
+comment on column qrtz_fired_triggers.job_group            is '任务组名';
196
+comment on column qrtz_fired_triggers.is_nonconcurrent     is '是否并发';
197
+comment on column qrtz_fired_triggers.requests_recovery    is '是否接受恢复执行';
198
+
199
+-- ----------------------------
200
+-- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例
201
+-- ---------------------------- 
202
+create table qrtz_scheduler_state (
203
+    sched_name           varchar2(120)    not null,
204
+    instance_name        varchar2(200)    not null,
205
+    last_checkin_time    number(13)       not null,
206
+    checkin_interval     number(13)       not null,
207
+    constraint qrtz_scheduler_state_pk primary key (sched_name, instance_name)
208
+);
209
+
210
+comment on table  qrtz_scheduler_state                     is '调度器状态表';
211
+comment on column qrtz_scheduler_state.sched_name          is '调度名称';
212
+comment on column qrtz_scheduler_state.instance_name       is '实例名称';
213
+comment on column qrtz_scheduler_state.last_checkin_time   is '上次检查时间';
214
+comment on column qrtz_scheduler_state.checkin_interval    is '检查间隔时间';
215
+
216
+-- ----------------------------
217
+-- 10、 存储程序的悲观锁的信息(假如使用了悲观锁)
218
+-- ---------------------------- 
219
+create table qrtz_locks (
220
+    sched_name           varchar2(120)    not null,
221
+    lock_name            varchar2(40)     not null,
222
+    constraint qrtz_locks_pk primary key (sched_name, lock_name)
223
+);
224
+
225
+comment on table  qrtz_locks                    is '存储的悲观锁信息表';
226
+comment on column qrtz_locks.sched_name         is '调度名称';
227
+comment on column qrtz_locks.lock_name          is '悲观锁名称';
228
+
229
+-- ----------------------------
230
+-- 11、 Quartz集群实现同步机制的行锁表
231
+-- ---------------------------- 
232
+create table qrtz_simprop_triggers (
233
+    sched_name           varchar2(120)    not null,
234
+    trigger_name         varchar2(200)    not null,
235
+    trigger_group        varchar2(200)    not null,
236
+    str_prop_1           varchar2(512)    null,
237
+    str_prop_2           varchar2(512)    null,
238
+    str_prop_3           varchar2(512)    null,
239
+    int_prop_1           number(10)       null,
240
+    int_prop_2           number(10)       null,
241
+    long_prop_1          number(13)       null,
242
+    long_prop_2          number(13)       null,
243
+    dec_prop_1           numeric(13,4)    null,
244
+    dec_prop_2           numeric(13,4)    null,
245
+    bool_prop_1          varchar2(1)      null,
246
+    bool_prop_2          varchar2(1)      null,
247
+    constraint qrtz_simprop_trig_pk primary key (sched_name, trigger_name, trigger_group),
248
+    constraint qrtz_simprop_trig_to_trig_fk foreign key (sched_name, trigger_name, trigger_group) references qrtz_triggers(sched_name, trigger_name, trigger_group)
249
+);
250
+
251
+comment on table  qrtz_simprop_triggers                    is '同步机制的行锁表';
252
+comment on column qrtz_simprop_triggers.sched_name         is '调度名称';
253
+comment on column qrtz_simprop_triggers.trigger_name       is 'qrtz_triggers表trigger_name的外键';
254
+comment on column qrtz_simprop_triggers.trigger_group      is 'qrtz_triggers表trigger_group的外键';
255
+comment on column qrtz_simprop_triggers.str_prop_1         is 'String类型的trigger的第一个参数';
256
+comment on column qrtz_simprop_triggers.str_prop_2         is 'String类型的trigger的第二个参数';
257
+comment on column qrtz_simprop_triggers.str_prop_3         is 'String类型的trigger的第三个参数';
258
+comment on column qrtz_simprop_triggers.int_prop_1         is 'int类型的trigger的第一个参数';
259
+comment on column qrtz_simprop_triggers.int_prop_2         is 'int类型的trigger的第二个参数';
260
+comment on column qrtz_simprop_triggers.long_prop_1        is 'long类型的trigger的第一个参数';
261
+comment on column qrtz_simprop_triggers.long_prop_2        is 'long类型的trigger的第二个参数';
262
+comment on column qrtz_simprop_triggers.dec_prop_1         is 'decimal类型的trigger的第一个参数';
263
+comment on column qrtz_simprop_triggers.dec_prop_2         is 'decimal类型的trigger的第二个参数';
264
+comment on column qrtz_simprop_triggers.bool_prop_1        is 'Boolean类型的trigger的第一个参数';
265
+comment on column qrtz_simprop_triggers.bool_prop_2        is 'Boolean类型的trigger的第二个参数';
266
+
267
+create index idx_qrtz_j_req_recovery on qrtz_job_details(sched_name, requests_recovery);
268
+create index idx_qrtz_j_grp on qrtz_job_details(sched_name, job_group);
269
+
270
+create index idx_qrtz_t_j on qrtz_triggers(sched_name, job_name, job_group);
271
+create index idx_qrtz_t_jg on qrtz_triggers(sched_name, job_group);
272
+create index idx_qrtz_t_c on qrtz_triggers(sched_name, calendar_name);
273
+create index idx_qrtz_t_g on qrtz_triggers(sched_name, trigger_group);
274
+create index idx_qrtz_t_state on qrtz_triggers(sched_name, trigger_state);
275
+create index idx_qrtz_t_n_state on qrtz_triggers(sched_name, trigger_name, trigger_group, trigger_state);
276
+create index idx_qrtz_t_n_g_state on qrtz_triggers(sched_name, trigger_group, trigger_state);
277
+create index idx_qrtz_t_next_fire_time on qrtz_triggers(sched_name, next_fire_time);
278
+create index idx_qrtz_t_nft_st on qrtz_triggers(sched_name, trigger_state, next_fire_time);
279
+create index idx_qrtz_t_nft_misfire on qrtz_triggers(sched_name, misfire_instr, next_fire_time);
280
+create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(sched_name, misfire_instr, next_fire_time, trigger_state);
281
+create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(sched_name, misfire_instr, next_fire_time, trigger_group, trigger_state);
282
+
283
+create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(sched_name, instance_name);
284
+create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(sched_name, instance_name, requests_recovery);
285
+create index idx_qrtz_ft_j_g on qrtz_fired_triggers(sched_name, job_name, job_group);
286
+create index idx_qrtz_ft_jg on qrtz_fired_triggers(sched_name, job_group);
287
+create index idx_qrtz_ft_t_g on qrtz_fired_triggers(sched_name, trigger_name, trigger_group);
288
+
289
+create index idx_qrtz_ft_tg on qrtz_fired_triggers(sched_name, trigger_group);
290
+
291
+commit;

+ 1059
- 0
sql/ry_20230223.sql
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 219
- 0
sql/ry_config_20220929.sql 파일 보기

@@ -0,0 +1,219 @@
1
+DROP DATABASE IF EXISTS `ry-config`;
2
+
3
+CREATE DATABASE  `ry-config` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
4
+
5
+SET NAMES utf8mb4;
6
+SET FOREIGN_KEY_CHECKS = 0;
7
+
8
+USE `ry-config`;
9
+
10
+/******************************************/
11
+/*   表名称 = config_info   */
12
+/******************************************/
13
+CREATE TABLE `config_info` (
14
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
15
+  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
16
+  `group_id` varchar(255) DEFAULT NULL,
17
+  `content` longtext NOT NULL COMMENT 'content',
18
+  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
19
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
20
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
21
+  `src_user` text COMMENT 'source user',
22
+  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
23
+  `app_name` varchar(128) DEFAULT NULL,
24
+  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
25
+  `c_desc` varchar(256) DEFAULT NULL,
26
+  `c_use` varchar(64) DEFAULT NULL,
27
+  `effect` varchar(64) DEFAULT NULL,
28
+  `type` varchar(64) DEFAULT NULL,
29
+  `c_schema` text,
30
+  `encrypted_data_key` text COMMENT '秘钥',
31
+  PRIMARY KEY (`id`),
32
+  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
33
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
34
+
35
+insert into config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema, encrypted_data_key) values 
36
+(1,'application-dev.yml','DEFAULT_GROUP','spring:\n  autoconfigure:\n    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher\n\n# feign 配置\nfeign:\n  sentinel:\n    enabled: true\n  okhttp:\n    enabled: true\n  httpclient:\n    enabled: false\n  client:\n    config:\n      default:\n        connectTimeout: 10000\n        readTimeout: 10000\n  compression:\n    request:\n      enabled: true\n    response:\n      enabled: true\n\n# 暴露监控端点\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: \'*\'\n','aaa73b809cfd4d0058893aa13da57806','2020-05-20 12:00:00','2022-04-24 10:26:34','nacos','0:0:0:0:0:0:0:1','','','通用配置','null','null','yaml',NULL,''),
37
+(2,'ruoyi-gateway-dev.yml','DEFAULT_GROUP','spring:\n  redis:\n    host: localhost\n    port: 6379\n    password:\n  cloud:\n    gateway:\n      discovery:\n        locator:\n          lowerCaseServiceId: true\n          enabled: true\n      routes:\n        # 认证中心\n        - id: ruoyi-auth\n          uri: lb://ruoyi-auth\n          predicates:\n            - Path=/auth/**\n          filters:\n            # 验证码处理\n            - CacheRequestFilter\n            - ValidateCodeFilter\n            - StripPrefix=1\n        # 代码生成\n        - id: ruoyi-gen\n          uri: lb://ruoyi-gen\n          predicates:\n            - Path=/code/**\n          filters:\n            - StripPrefix=1\n        # 定时任务\n        - id: ruoyi-job\n          uri: lb://ruoyi-job\n          predicates:\n            - Path=/schedule/**\n          filters:\n            - StripPrefix=1\n        # 系统模块\n        - id: ruoyi-system\n          uri: lb://ruoyi-system\n          predicates:\n            - Path=/system/**\n          filters:\n            - StripPrefix=1\n        # 文件服务\n        - id: ruoyi-file\n          uri: lb://ruoyi-file\n          predicates:\n            - Path=/file/**\n          filters:\n            - StripPrefix=1\n\n# 安全配置\nsecurity:\n  # 验证码\n  captcha:\n    enabled: true\n    type: math\n  # 防止XSS攻击\n  xss:\n    enabled: true\n    excludeUrls:\n      - /system/notice\n  # 不校验白名单\n  ignore:\n    whites:\n      - /auth/logout\n      - /auth/login\n      - /auth/register\n      - /*/v2/api-docs\n      - /csrf\n','57cec5abd0e0a6b77d853750344a9dc0','2020-05-14 14:17:55','2022-09-29 04:23:32','nacos','0:0:0:0:0:0:0:1','','','网关模块','null','null','yaml','',''),
38
+(3,'ruoyi-auth-dev.yml','DEFAULT_GROUP','spring:\n  redis:\n    host: localhost\n    port: 6379\n    password:\n','8bd9dada9a94822feeab40de55efced6','2020-11-20 00:00:00','2022-09-29 04:23:42','nacos','0:0:0:0:0:0:0:1','','','认证中心','null','null','yaml','',''),
39
+(4,'ruoyi-monitor-dev.yml','DEFAULT_GROUP','# spring\nspring:\n  security:\n    user:\n      name: ruoyi\n      password: 123456\n  boot:\n    admin:\n      ui:\n        title: 若依服务状态监控\n','6f122fd2bfb8d45f858e7d6529a9cd44','2020-11-20 00:00:00','2022-09-29 04:23:56','nacos','0:0:0:0:0:0:0:1','','','监控中心','null','null','yaml','',''),
40
+(5,'ruoyi-system-dev.yml','DEFAULT_GROUP','# spring配置\nspring:\n  redis:\n    host: localhost\n    port: 6379\n    password:\n  datasource:\n    druid:\n      stat-view-servlet:\n        enabled: true\n        loginUsername: admin\n        loginPassword: 123456\n    dynamic:\n      druid:\n        initial-size: 5\n        min-idle: 5\n        maxActive: 20\n        maxWait: 60000\n        timeBetweenEvictionRunsMillis: 60000\n        minEvictableIdleTimeMillis: 300000\n        validationQuery: SELECT 1 FROM DUAL\n        testWhileIdle: true\n        testOnBorrow: false\n        testOnReturn: false\n        poolPreparedStatements: true\n        maxPoolPreparedStatementPerConnectionSize: 20\n        filters: stat,slf4j\n        connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n      datasource:\n          # 主库数据源\n          master:\n            driver-class-name: oracle.jdbc.driver.OracleDriver\n            url: jdbc:oracle:thin:@127.0.0.1:1521/orcl\n            username: root\n            password: password\n          # 从库数据源\n          # slave:\n            # username: \n            # password: \n            # url: \n            # driver-class-name: \n\n# mybatis配置\nmybatis:\n    # 搜索指定包别名\n    typeAliasesPackage: com.ruoyi.system\n    # 配置mapper的扫描,找到所有的mapper.xml映射文件\n    mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n  title: 系统模块接口文档\n  license: Powered By ruoyi\n  licenseUrl: https://ruoyi.vip','f52e99b37a73102f41ec8ab64f5eaa25','2020-11-20 00:00:00','2022-09-29 04:23:10','nacos','0:0:0:0:0:0:0:1','','','系统模块','null','null','yaml','',''),
41
+(6,'ruoyi-gen-dev.yml','DEFAULT_GROUP','# spring配置\nspring:\n  redis:\n    host: localhost\n    port: 6379\n    password:\n  datasource: \n    driver-class-name: oracle.jdbc.driver.OracleDriver\n    url: jdbc:oracle:thin:@127.0.0.1:1521/orcl\n    username: root\n    password: password\n\n# mybatis配置\nmybatis:\n    # 搜索指定包别名\n    typeAliasesPackage: com.ruoyi.gen.domain\n    # 配置mapper的扫描,找到所有的mapper.xml映射文件\n    mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n  title: 代码生成接口文档\n  license: Powered By ruoyi\n  licenseUrl: https://ruoyi.vip\n\n# 代码生成\ngen: \n  # 作者\n  author: ruoyi\n  # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\n  packageName: com.ruoyi.system\n  # 自动去除表前缀,默认是false\n  autoRemovePre: false\n  # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\n  tablePrefix: sys_\n','d181e3046752455c8b613628a3bff5f8','2020-11-20 00:00:00','2022-09-29 04:24:38','nacos','0:0:0:0:0:0:0:1','','','代码生成','null','null','yaml','',''),
42
+(7,'ruoyi-job-dev.yml','DEFAULT_GROUP','# spring配置\nspring:\n  redis:\n    host: localhost\n    port: 6379\n    password:\n  datasource:\n    driver-class-name: oracle.jdbc.driver.OracleDriver\n    url: jdbc:oracle:thin:@127.0.0.1:1521/orcl\n    username: root\n    password: password\n\n# mybatis配置\nmybatis:\n    # 搜索指定包别名\n    typeAliasesPackage: com.ruoyi.job.domain\n    # 配置mapper的扫描,找到所有的mapper.xml映射文件\n    mapperLocations: classpath:mapper/**/*.xml\n\n# swagger配置\nswagger:\n  title: 定时任务接口文档\n  license: Powered By ruoyi\n  licenseUrl: https://ruoyi.vip\n','3e65cff0ac38b1ff02373db1d446e7c8','2020-11-20 00:00:00','2022-09-29 04:24:31','nacos','0:0:0:0:0:0:0:1','','','定时任务','null','null','yaml','',''),
43
+(8,'ruoyi-file-dev.yml','DEFAULT_GROUP','# 本地文件上传    \r\nfile:\r\n    domain: http://127.0.0.1:9300\r\n    path: D:/ruoyi/uploadPath\r\n    prefix: /statics\r\n\r\n# FastDFS配置\r\nfdfs:\r\n  domain: http://8.129.231.12\r\n  soTimeout: 3000\r\n  connectTimeout: 2000\r\n  trackerList: 8.129.231.12:22122\r\n\r\n# Minio配置\r\nminio:\r\n  url: http://8.129.231.12:9000\r\n  accessKey: minioadmin\r\n  secretKey: minioadmin\r\n  bucketName: test','5382b93f3d8059d6068c0501fdd41195','2020-11-20 00:00:00','2020-12-21 21:01:59',NULL,'0:0:0:0:0:0:0:1','','','文件服务','null','null','yaml',NULL,''),
44
+(9,'sentinel-ruoyi-gateway','DEFAULT_GROUP','[\r\n    {\r\n        \"resource\": \"ruoyi-auth\",\r\n        \"count\": 500,\r\n        \"grade\": 1,\r\n        \"limitApp\": \"default\",\r\n        \"strategy\": 0,\r\n        \"controlBehavior\": 0\r\n    },\r\n	{\r\n        \"resource\": \"ruoyi-system\",\r\n        \"count\": 1000,\r\n        \"grade\": 1,\r\n        \"limitApp\": \"default\",\r\n        \"strategy\": 0,\r\n        \"controlBehavior\": 0\r\n    },\r\n	{\r\n        \"resource\": \"ruoyi-gen\",\r\n        \"count\": 200,\r\n        \"grade\": 1,\r\n        \"limitApp\": \"default\",\r\n        \"strategy\": 0,\r\n        \"controlBehavior\": 0\r\n    },\r\n	{\r\n        \"resource\": \"ruoyi-job\",\r\n        \"count\": 300,\r\n        \"grade\": 1,\r\n        \"limitApp\": \"default\",\r\n        \"strategy\": 0,\r\n        \"controlBehavior\": 0\r\n    }\r\n]','9f3a3069261598f74220bc47958ec252','2020-11-20 00:00:00','2020-11-20 00:00:00',NULL,'0:0:0:0:0:0:0:1','','','限流策略','null','null','json','null','');
45
+
46
+
47
+/******************************************/
48
+/*   表名称 = config_info_aggr   */
49
+/******************************************/
50
+CREATE TABLE `config_info_aggr` (
51
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
52
+  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
53
+  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
54
+  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
55
+  `content` longtext NOT NULL COMMENT '内容',
56
+  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
57
+  `app_name` varchar(128) DEFAULT NULL,
58
+  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
59
+  PRIMARY KEY (`id`),
60
+  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
61
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
62
+
63
+
64
+/******************************************/
65
+/*   表名称 = config_info_beta   */
66
+/******************************************/
67
+CREATE TABLE `config_info_beta` (
68
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
69
+  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
70
+  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
71
+  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
72
+  `content` longtext NOT NULL COMMENT 'content',
73
+  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
74
+  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
75
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
76
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
77
+  `src_user` text COMMENT 'source user',
78
+  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
79
+  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
80
+  `encrypted_data_key` text COMMENT '秘钥',
81
+  PRIMARY KEY (`id`),
82
+  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
83
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
84
+
85
+/******************************************/
86
+/*   表名称 = config_info_tag   */
87
+/******************************************/
88
+CREATE TABLE `config_info_tag` (
89
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
90
+  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
91
+  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
92
+  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
93
+  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
94
+  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
95
+  `content` longtext NOT NULL COMMENT 'content',
96
+  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
97
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
98
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
99
+  `src_user` text COMMENT 'source user',
100
+  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
101
+  PRIMARY KEY (`id`),
102
+  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
103
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
104
+
105
+/******************************************/
106
+/*   表名称 = config_tags_relation   */
107
+/******************************************/
108
+CREATE TABLE `config_tags_relation` (
109
+  `id` bigint(20) NOT NULL COMMENT 'id',
110
+  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
111
+  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
112
+  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
113
+  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
114
+  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
115
+  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
116
+  PRIMARY KEY (`nid`),
117
+  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
118
+  KEY `idx_tenant_id` (`tenant_id`)
119
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
120
+
121
+/******************************************/
122
+/*   表名称 = group_capacity   */
123
+/******************************************/
124
+CREATE TABLE `group_capacity` (
125
+  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
126
+  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
127
+  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
128
+  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
129
+  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
130
+  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
131
+  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
132
+  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
133
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
134
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
135
+  PRIMARY KEY (`id`),
136
+  UNIQUE KEY `uk_group_id` (`group_id`)
137
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
138
+
139
+/******************************************/
140
+/*   表名称 = his_config_info   */
141
+/******************************************/
142
+CREATE TABLE `his_config_info` (
143
+  `id` bigint(64) unsigned NOT NULL,
144
+  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
145
+  `data_id` varchar(255) NOT NULL,
146
+  `group_id` varchar(128) NOT NULL,
147
+  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
148
+  `content` longtext NOT NULL,
149
+  `md5` varchar(32) DEFAULT NULL,
150
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
151
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
152
+  `src_user` text,
153
+  `src_ip` varchar(50) DEFAULT NULL,
154
+  `op_type` char(10) DEFAULT NULL,
155
+  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
156
+  `encrypted_data_key` text COMMENT '秘钥',
157
+  PRIMARY KEY (`nid`),
158
+  KEY `idx_gmt_create` (`gmt_create`),
159
+  KEY `idx_gmt_modified` (`gmt_modified`),
160
+  KEY `idx_did` (`data_id`)
161
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
162
+
163
+
164
+/******************************************/
165
+/*   数据库全名 = nacos_config   */
166
+/*   表名称 = tenant_capacity   */
167
+/******************************************/
168
+CREATE TABLE `tenant_capacity` (
169
+  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
170
+  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
171
+  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
172
+  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
173
+  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
174
+  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
175
+  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
176
+  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
177
+  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
178
+  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
179
+  PRIMARY KEY (`id`),
180
+  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
181
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
182
+
183
+
184
+CREATE TABLE `tenant_info` (
185
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
186
+  `kp` varchar(128) NOT NULL COMMENT 'kp',
187
+  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
188
+  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
189
+  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
190
+  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
191
+  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
192
+  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
193
+  PRIMARY KEY (`id`),
194
+  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
195
+  KEY `idx_tenant_id` (`tenant_id`)
196
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
197
+
198
+CREATE TABLE `users` (
199
+	`username` varchar(50) NOT NULL PRIMARY KEY,
200
+	`password` varchar(500) NOT NULL,
201
+	`enabled` boolean NOT NULL
202
+);
203
+
204
+CREATE TABLE `roles` (
205
+	`username` varchar(50) NOT NULL,
206
+	`role` varchar(50) NOT NULL,
207
+	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
208
+);
209
+
210
+CREATE TABLE `permissions` (
211
+    `role` varchar(50) NOT NULL,
212
+    `resource` varchar(255) NOT NULL,
213
+    `action` varchar(8) NOT NULL,
214
+    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
215
+);
216
+
217
+INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
218
+
219
+INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

+ 71
- 0
sql/ry_seata_20210326.sql 파일 보기

@@ -0,0 +1,71 @@
1
+-- -------------------------------- The script used when storeMode is 'db' --------------------------------
2
+-- the table to store GlobalSession data
3
+CREATE TABLE IF NOT EXISTS `global_table`
4
+(
5
+    `xid`                       VARCHAR(128) NOT NULL,
6
+    `transaction_id`            BIGINT,
7
+    `status`                    TINYINT      NOT NULL,
8
+    `application_id`            VARCHAR(32),
9
+    `transaction_service_group` VARCHAR(32),
10
+    `transaction_name`          VARCHAR(128),
11
+    `timeout`                   INT,
12
+    `begin_time`                BIGINT,
13
+    `application_data`          VARCHAR(2000),
14
+    `gmt_create`                DATETIME,
15
+    `gmt_modified`              DATETIME,
16
+    PRIMARY KEY (`xid`),
17
+    KEY `idx_gmt_modified_status` (`gmt_modified`, `status`),
18
+    KEY `idx_transaction_id` (`transaction_id`)
19
+) ENGINE = InnoDB
20
+  DEFAULT CHARSET = utf8mb4;
21
+
22
+-- the table to store BranchSession data
23
+CREATE TABLE IF NOT EXISTS `branch_table`
24
+(
25
+    `branch_id`         BIGINT       NOT NULL,
26
+    `xid`               VARCHAR(128) NOT NULL,
27
+    `transaction_id`    BIGINT,
28
+    `resource_group_id` VARCHAR(32),
29
+    `resource_id`       VARCHAR(256),
30
+    `branch_type`       VARCHAR(8),
31
+    `status`            TINYINT,
32
+    `client_id`         VARCHAR(64),
33
+    `application_data`  VARCHAR(2000),
34
+    `gmt_create`        DATETIME(6),
35
+    `gmt_modified`      DATETIME(6),
36
+    PRIMARY KEY (`branch_id`),
37
+    KEY `idx_xid` (`xid`)
38
+) ENGINE = InnoDB
39
+  DEFAULT CHARSET = utf8mb4;
40
+
41
+-- the table to store lock data
42
+CREATE TABLE IF NOT EXISTS `lock_table`
43
+(
44
+    `row_key`        VARCHAR(128) NOT NULL,
45
+    `xid`            VARCHAR(96),
46
+    `transaction_id` BIGINT,
47
+    `branch_id`      BIGINT       NOT NULL,
48
+    `resource_id`    VARCHAR(256),
49
+    `table_name`     VARCHAR(32),
50
+    `pk`             VARCHAR(36),
51
+    `gmt_create`     DATETIME,
52
+    `gmt_modified`   DATETIME,
53
+    PRIMARY KEY (`row_key`),
54
+    KEY `idx_branch_id` (`branch_id`)
55
+) ENGINE = InnoDB
56
+  DEFAULT CHARSET = utf8mb4;
57
+
58
+-- for AT mode you must to init this sql for you business database. the seata server not need it.
59
+CREATE TABLE IF NOT EXISTS `undo_log`
60
+(
61
+    `branch_id`     BIGINT(20)   NOT NULL COMMENT 'branch transaction id',
62
+    `xid`           VARCHAR(100) NOT NULL COMMENT 'global transaction id',
63
+    `context`       VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
64
+    `rollback_info` LONGBLOB     NOT NULL COMMENT 'rollback info',
65
+    `log_status`    INT(11)      NOT NULL COMMENT '0:normal status,1:defense status',
66
+    `log_created`   DATETIME(6)  NOT NULL COMMENT 'create datetime',
67
+    `log_modified`  DATETIME(6)  NOT NULL COMMENT 'modify datetime',
68
+    UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`)
69
+) ENGINE = InnoDB
70
+  AUTO_INCREMENT = 1
71
+  DEFAULT CHARSET = utf8mb4 COMMENT ='AT transaction mode undo table';

+ 116
- 0
templates/Australia-1.ftl 파일 보기

@@ -0,0 +1,116 @@
1
+<!doctype html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="UTF-8">
5
+    <meta name="viewport" content="width=device-width,initial-scale=1">
6
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
7
+    <link rel="stylesheet" href="/static/css/animate.min.css">
8
+    <meta name="format-detection" content="telephone=no">
9
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
10
+    <title>${htmlTitle!""}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
14
+    <script src="/static/js/axios.min.js" charset="utf-8"></script>
15
+    <script src="/static/js/jquery-2.1.1.min.js" charset="utf-8"></script>
16
+    <script src="/static/js/editIframe/topic1.js" charset="utf-8"></script>
17
+    <link href="/common/index.css" rel="stylesheet">
18
+    <link href="/Australia-1/index.css" rel="stylesheet">
19
+</head>
20
+<body>
21
+<#include "./header.ftl" parse=true encoding="utf-8">
22
+<div id="banner">
23
+    <div class="b-swiper">
24
+        <div class="swiper-wrapper">
25
+            <#list spsubjectDetailList as spsubjectDetail>
26
+                <div class="swiper-slide">
27
+                    <div class="bg">
28
+                        <img src="${spsubjectDetail.pcImgUrl!""}"/>
29
+                        <div class="mask"></div>
30
+                    </div>
31
+                    <div class="timeline">
32
+                        <div class="item active">
33
+                            <div class="content">
34
+                                <img src="${spsubjectDetail.secPcImgUrl!""}" alt="" style="">
35
+                            </div>
36
+                        </div>
37
+                    </div>
38
+                    <div class="circleLine">
39
+                        <img src="/static/images/details/circle.png"/>
40
+                    </div>
41
+                    <div class="info">
42
+                        <div class="title">${spsubjectDetail.name}</div>
43
+                        <div class="line"></div>
44
+                        <div class="subTitle">${spsubjectDetail.secTitle}</div>
45
+                        <div class="p">${spsubjectDetail.pText}</div>
46
+                        <#if spsubjectDetail_index gt 0>
47
+                            <a class="viewBtn white" href="${spsubjectDetail.pageUrl}">
48
+                                <div class="viewText">VIEW MORE</div>
49
+                                <div class="viewIcon">
50
+                                    <div class="viewArrow1"></div>
51
+                                    <div class="viewArrow2"></div>
52
+                                </div>
53
+                            </a>
54
+                        </#if>
55
+                    </div>
56
+                </div>
57
+            </#list>
58
+        </div>
59
+    </div>
60
+    <#if spsubjectDetailList?size gt 1>
61
+    <div class="btns">
62
+        <div class="btn prev">
63
+            <div class="icon">
64
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
65
+                     p-id="6036" width="200" height="200">
66
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
67
+                          fill="#000000" p-id="6037"></path>
68
+                </svg>
69
+            </div>
70
+            <p></p>
71
+        </div>
72
+        <div class="btn next">
73
+            <div class="icon">
74
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
75
+                     p-id="6036" width="200" height="200">
76
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
77
+                          fill="#000000" p-id="6037"></path>
78
+                </svg>
79
+            </div>
80
+            <p></p>
81
+        </div>
82
+    </div>
83
+    </#if>
84
+</div>
85
+${part}
86
+    <div class="bottom-block">
87
+        <div class="title">RECOMMENDED ARTICLES</div>
88
+        <div class="content-block">
89
+            <#list othCouFriSpsDetailList as othCouFriSpsDetail>
90
+                <div class="img-block">
91
+                    <a class="hover-mask" style="display:block" href="${othCouFriSpsDetail.pageUrl}" target="_blank"></a>
92
+                    <img class="fit-image" src="${othCouFriSpsDetail.pcImgUrl!""}">
93
+                    <div class="bottom_text hasClick">${othCouFriSpsDetail.name}<span class="radio_btn"></span>
94
+                    </div>
95
+                </div>
96
+            </#list>
97
+        </div>
98
+    </div>
99
+</div>
100
+<#include "./footer.ftl" parse=true encoding="utf-8">
101
+<script defer="defer" src="/runtime/index.js"></script>
102
+<script defer="defer" src="/vendor/index.js"></script>
103
+<script defer="defer" src="/common/index.js"></script>
104
+<script defer="defer" src="/Australia-1/index.js"></script>
105
+</body>
106
+<script>new wb.main()
107
+    // 模块动画
108
+    window.wow = new WOW({
109
+        boxClass: 'wow',
110
+        animateClass: 'animated',
111
+        offset: 100,
112
+        resetAnimation: false,
113
+        live: true
114
+    });
115
+    window.wow.init();</script>
116
+</html>

+ 115
- 0
templates/Australia-2.ftl 파일 보기

@@ -0,0 +1,115 @@
1
+<!doctype html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="UTF-8">
5
+    <meta name="viewport" content="width=device-width,initial-scale=1">
6
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
7
+    <link rel="stylesheet" href="/static/css/animate.min.css">
8
+    <meta name="format-detection" content="telephone=no">
9
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
10
+    <title>${htmlTitle!""}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
14
+    <script src="/static/js/axios.min.js" charset="utf-8"></script>
15
+    <script src="/static/js/jquery-2.1.1.min.js" charset="utf-8"></script>
16
+    <script src="/static/js/editIframe/topic2.js" charset="utf-8"></script>
17
+    <link href="/common/index.css" rel="stylesheet">
18
+    <link href="/Australia-2/index.css" rel="stylesheet">
19
+</head>
20
+<body>
21
+<#include "./header.ftl" parse=true encoding="utf-8">
22
+<div id="banner">
23
+    <div class="b-swiper">
24
+        <div class="swiper-wrapper">
25
+            <#list spsubjectDetailList as spsubjectDetail>
26
+                <div class="swiper-slide">
27
+                    <div class="bg">
28
+                        <img src="${spsubjectDetail.pcImgUrl!""}"/>
29
+                        <div class="mask"></div>
30
+                    </div>
31
+                    <div class="timeline">
32
+                        <div class="item active">
33
+                            <div class="content">
34
+                                <img src="${spsubjectDetail.secPcImgUrl!""}" alt="" style="">
35
+                            </div>
36
+                        </div>
37
+                    </div>
38
+                    <div class="circleLine">
39
+                        <img src="/static/images/details/circle.png"/>
40
+                    </div>
41
+                    <div class="info">
42
+                        <div class="title">${spsubjectDetail.name}</div>
43
+                        <div class="line"></div>
44
+                        <div class="subTitle">${spsubjectDetail.secTitle}</div>
45
+                        <div class="p">${spsubjectDetail.pText}</div>
46
+                        <#if spsubjectDetail_index gt 0>
47
+                            <a class="viewBtn white" href="${spsubjectDetail.pageUrl}">
48
+                                <div class="viewText">VIEW MORE</div>
49
+                                <div class="viewIcon">
50
+                                    <div class="viewArrow1"></div>
51
+                                    <div class="viewArrow2"></div>
52
+                                </div>
53
+                            </a>
54
+                        </#if>
55
+                    </div>
56
+                </div>
57
+            </#list>
58
+        </div>
59
+    </div>
60
+    <#if spsubjectDetailList?size gt 1>
61
+    <div class="btns">
62
+        <div class="btn prev">
63
+            <div class="icon">
64
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
65
+                     p-id="6036" width="200" height="200">
66
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
67
+                          fill="#000000" p-id="6037"></path>
68
+                </svg>
69
+            </div>
70
+            <p></p></div>
71
+        <div class="btn next">
72
+            <div class="icon">
73
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
74
+                     p-id="6036" width="200" height="200">
75
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
76
+                          fill="#000000" p-id="6037"></path>
77
+                </svg>
78
+            </div>
79
+            <p></p></div>
80
+    </div>
81
+    </#if>
82
+</div>
83
+${part}
84
+    <div class="bottom-block">
85
+        <div class="title">RECOMMENDED ARTICLES</div>
86
+        <div class="content-block">
87
+            <#list othCouFriSpsDetailList as othCouFriSpsDetail>
88
+                <div class="img-block">
89
+                    <a class="hover-mask" style="display:block" href="${othCouFriSpsDetail.pageUrl}" target="_blank"></a>
90
+                    <img class="fit-image" src="${othCouFriSpsDetail.pcImgUrl!""}">
91
+                    <div class="bottom_text hasClick">${othCouFriSpsDetail.name!""}<span class="radio_btn"></span>
92
+                    </div>
93
+                </div>
94
+            </#list>
95
+        </div>
96
+    </div>
97
+</div>
98
+<#include "./footer.ftl" parse=true encoding="utf-8">
99
+<script defer="defer" src="/runtime/index.js"></script>
100
+<script defer="defer" src="/vendor/index.js"></script>
101
+<script defer="defer" src="/common/index.js"></script>
102
+<script defer="defer" src="/Australia-2/index.js"></script>
103
+</body>
104
+<script>//  new wb.main()
105
+    // 模块动画
106
+    window.wow = new WOW({
107
+        boxClass: 'wow',
108
+        animateClass: 'animated',
109
+        offset: 100,
110
+        resetAnimation: false,
111
+        live: true
112
+    });
113
+    window.wow.init();
114
+</script>
115
+</html>

+ 112
- 0
templates/Chile.ftl 파일 보기

@@ -0,0 +1,112 @@
1
+<#--专题-智利-->
2
+<!doctype html>
3
+<html lang="en">
4
+<head>
5
+    <meta charset="UTF-8">
6
+    <meta name="viewport" content="width=device-width,initial-scale=1">
7
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
8
+    <meta name="format-detection" content="telephone=no">
9
+    <link rel="stylesheet" href="/static/css/animate.min.css">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!""}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
15
+    <link href="/common/index.css" rel="stylesheet">
16
+    <link href="/Chile/index.css" rel="stylesheet">
17
+</head>
18
+<body>
19
+<#include "./header.ftl" parse=true encoding="utf-8">
20
+
21
+<div id="banner">
22
+    <div class="b-swiper">
23
+        <div class="swiper-wrapper">
24
+            <#list spsubjectDetailList as spsubjectDetail>
25
+            <div class="swiper-slide">
26
+                <div class="bg">
27
+                    <img src="${spsubjectDetail.pcImgUrl!""}"/>
28
+                    <div class="mask"></div>
29
+                </div>
30
+                <div class="timeline">
31
+                    <div class="item active">
32
+                        <div class="content">
33
+                            <img src="${spsubjectDetail.secPcImgUrl!""}" alt="" style="">
34
+                        </div>
35
+                    </div>
36
+                </div>
37
+                <div class="circleLine">
38
+                    <img src="/static/images/details/circle.png"/>
39
+                </div>
40
+                <div class="info">
41
+                    <div class="title">${spsubjectDetail.name}</div>
42
+                    <div class="line"></div>
43
+                    <div class="subTitle">${spsubjectDetail.secTitle}</div>
44
+                    <div class="p">${spsubjectDetail.pText}</div>
45
+                    <#if spsubjectDetail_index gt 0>
46
+                    <a class="viewBtn white" href="${spsubjectDetail.pageUrl}">
47
+                        <div class="viewText">VIEW MORE</div>
48
+                            <div class="viewIcon">
49
+                                <div class="viewArrow1"></div>
50
+                                <div class="viewArrow2"></div>
51
+                            </div>
52
+                    </a>
53
+                    </#if>
54
+                </div>
55
+            </div>
56
+            </#list>
57
+        </div>
58
+    </div>
59
+    <#if spsubjectDetailList?size gt 1>
60
+    <div class="btns">
61
+        <div class="btn prev">
62
+            <div class="icon">
63
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
64
+                     p-id="6036" width="200" height="200">
65
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
66
+                          fill="#000000" p-id="6037"></path>
67
+                </svg>
68
+            </div>
69
+            <p></p></div>
70
+        <div class="btn next">
71
+            <div class="icon">
72
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
73
+                     p-id="6036" width="200" height="200">
74
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
75
+                          fill="#000000" p-id="6037"></path>
76
+                </svg>
77
+            </div>
78
+            <p></p></div>
79
+    </div>
80
+    </#if>
81
+</div>
82
+${part}
83
+    <div class="bottom-block">
84
+        <div class="title">RECOMMENDED ARTICLES</div>
85
+        <div class="content-block">
86
+            <#list othCouFriSpsDetailList as othCouFriSpsDetail>
87
+                <div class="img-block">
88
+                    <a class="hover-mask" style="display:block" href="${othCouFriSpsDetail.pageUrl}" target="_blank"></a>
89
+                    <img class="fit-image" src="${othCouFriSpsDetail.pcImgUrl!""}">
90
+                    <div class="bottom_text hasClick">${othCouFriSpsDetail.name}<span class="radio_btn"></span>
91
+                    </div>
92
+                </div>
93
+            </#list>
94
+        </div>
95
+    </div>
96
+</div>
97
+<#include "./footer.ftl" parse=true encoding="utf-8">
98
+<script defer="defer" src="/runtime/index.js"></script>
99
+<script defer="defer" src="/vendor/index.js"></script>
100
+<script defer="defer" src="/common/index.js"></script>
101
+<script defer="defer" src="/Chile/index.js"></script>
102
+</body>
103
+<script>// 模块动画
104
+    var wow = new WOW({
105
+        boxClass: 'wow',
106
+        animateClass: 'animated',
107
+        offset: 100,
108
+        live: true,
109
+        mobile: false
110
+    });
111
+    wow.init();</script>
112
+</html>

+ 111
- 0
templates/Philippines.ftl 파일 보기

@@ -0,0 +1,111 @@
1
+<#--专题-菲律宾-->
2
+<!doctype html>
3
+<html lang="en">
4
+<head>
5
+    <meta charset="UTF-8">
6
+    <meta name="viewport" content="width=device-width,initial-scale=1">
7
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
8
+    <meta name="format-detection" content="telephone=no">
9
+    <link rel="stylesheet" href="/static/css/animate.min.css">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!""}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
15
+    <link href="/common/index.css" rel="stylesheet">
16
+    <link href="/Philippines/index.css" rel="stylesheet">
17
+</head>
18
+<body>
19
+<#include "./header.ftl" parse=true encoding="utf-8">
20
+<div id="banner">
21
+    <div class="b-swiper">
22
+        <div class="swiper-wrapper">
23
+            <#list spsubjectDetailList as spsubjectDetail>
24
+                <div class="swiper-slide">
25
+                    <div class="bg">
26
+                        <img src="${spsubjectDetail.pcImgUrl!""}"/>
27
+                        <div class="mask"></div>
28
+                    </div>
29
+                    <div class="timeline">
30
+                        <div class="item active">
31
+                            <div class="content">
32
+                                <img src="${spsubjectDetail.secPcImgUrl!""}" alt="" style="">
33
+                            </div>
34
+                        </div>
35
+                    </div>
36
+                    <div class="circleLine">
37
+                        <img src="/static/images/details/circle.png"/>
38
+                    </div>
39
+                    <div class="info">
40
+                        <div class="title">${spsubjectDetail.name}</div>
41
+                        <div class="line"></div>
42
+                        <div class="subTitle">${spsubjectDetail.secTitle}</div>
43
+                        <div class="p">${spsubjectDetail.pText}</div>
44
+                        <#if spsubjectDetail_index gt 0>
45
+                            <a class="viewBtn white" href="/topicDetail${spsubjectDetail.pageUrl}.html">
46
+                                <div class="viewText">VIEW MORE</div>
47
+                                <div class="viewIcon">
48
+                                    <div class="viewArrow1"></div>
49
+                                    <div class="viewArrow2"></div>
50
+                                </div>
51
+                            </a>
52
+                        </#if>
53
+                    </div>
54
+                </div>
55
+            </#list>
56
+        </div>
57
+    </div>
58
+    <#if spsubjectDetailList?size gt 1>
59
+    <div class="btns">
60
+        <div class="btn prev">
61
+            <div class="icon">
62
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
63
+                     p-id="6036" width="200" height="200">
64
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
65
+                          fill="#000000" p-id="6037"></path>
66
+                </svg>
67
+            </div>
68
+            <p></p></div>
69
+        <div class="btn next">
70
+            <div class="icon">
71
+                <svg t="1681194529332" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
72
+                     p-id="6036" width="200" height="200">
73
+                    <path d="M0.2048 512c-0.0512-6.656 2.4064-13.2608 7.4752-18.2784l325.8368-325.8368a25.6 25.6 0 1 1 36.1984 36.1984L87.2448 486.6048h911.36a25.6 25.6 0 1 1 0 51.2H87.552l282.112 282.112a25.6 25.6 0 0 1-36.1984 36.1984L7.68 530.2784a25.4976 25.4976 0 0 1-7.4752-18.0736V512z"
74
+                          fill="#000000" p-id="6037"></path>
75
+                </svg>
76
+            </div>
77
+            <p></p></div>
78
+    </div>
79
+    </#if>
80
+</div>
81
+${part}
82
+    <div class="bottom-block">
83
+        <div class="title">RECOMMENDED ARTICLES</div>
84
+        <div class="content-block">
85
+            <#list othCouFriSpsDetailList as othCouFriSpsDetail>
86
+                <div class="img-block">
87
+                    <a class="hover-mask" style="display:block" href="${othCouFriSpsDetail.pageUrl}" target="_blank"></a>
88
+                    <img class="fit-image" src="${othCouFriSpsDetail.pcImgUrl!""}">
89
+                    <div class="bottom_text hasClick">${othCouFriSpsDetail.name}<span class="radio_btn"></span>
90
+                    </div>
91
+                </div>
92
+            </#list>
93
+        </div>
94
+    </div>
95
+</div>
96
+<#include "./footer.ftl" parse=true encoding="utf-8">
97
+<script defer="defer" src="/runtime/index.js"></script>
98
+<script defer="defer" src="/vendor/index.js"></script>
99
+<script defer="defer" src="/common/index.js"></script>
100
+<script defer="defer" src="/Philippines/index.js"></script>
101
+</body>
102
+<script>// 模块动画
103
+    var wow = new WOW({
104
+        boxClass: 'wow',
105
+        animateClass: 'animated',
106
+        offset: 100,
107
+        live: true,
108
+        mobile: false
109
+    });
110
+    wow.init();</script>
111
+</html>

+ 45
- 0
templates/aboutUs-1.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"OVERVIEW - ABOUT US"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="../static/css/animate.min.css">
16
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="../common/index.css" rel="stylesheet">
18
+    <link href="../aboutUs-1/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="OVERVIEW - ABOUTUS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/aboutUs-1/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
25
+</head>
26
+<body>
27
+<#include "./header.ftl" parse=true encoding="utf-8">
28
+${part}
29
+<#include "./footer.ftl" parse=true encoding="utf-8">
30
+
31
+<script defer="defer" src="../runtime/index.js"></script>
32
+<script defer="defer" src="../vendor/index.js"></script>
33
+<script defer="defer" src="../common/index.js"></script>
34
+<script defer="defer" src="../aboutUs-1/index.js"></script>
35
+</body>
36
+<script>// 模块动画
37
+    var wow = new WOW({
38
+        boxClass: 'wow',
39
+        animateClass: 'animated',
40
+        offset: 100,
41
+        live: true,
42
+        mobile: false
43
+    });
44
+    wow.init();</script>
45
+</html>

+ 44
- 0
templates/aboutUs-2.ftl 파일 보기

@@ -0,0 +1,44 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"WHO WE ARE - ABOUT US"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="../static/css/animate.min.css">
16
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="../common/index.css" rel="stylesheet">
18
+    <link href="../aboutUs-2/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="WHO WE ARE - ABOUTUS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/aboutUs-2/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+</head>
25
+<body>
26
+<#include "./header.ftl" parse=true encoding="utf-8">
27
+${part}
28
+<#include "./footer.ftl" parse=true encoding="utf-8">
29
+
30
+<script defer="defer" src="../runtime/index.js"></script>
31
+<script defer="defer" src="../vendor/index.js"></script>
32
+<script defer="defer" src="../common/index.js"></script>
33
+<script defer="defer" src="../aboutUs-2/index.js"></script>
34
+</body>
35
+<script>// 模块动画
36
+    var wow = new WOW({
37
+        boxClass: 'wow',
38
+        animateClass: 'animated',
39
+        offset: 100,
40
+        live: true,
41
+        mobile: false
42
+    });
43
+    wow.init();</script>
44
+</html>

+ 45
- 0
templates/aboutUs-3.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"SUPPLY CHAIN - ABOUT US"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="../static/css/animate.min.css">
16
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="../common/index.css" rel="stylesheet">
18
+    <link href="../aboutUs-3/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="SUPPLY CHAIN - ABOUTUS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/aboutUs-3/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
25
+</head>
26
+<body>
27
+<#include "./header.ftl" parse=true encoding="utf-8">
28
+${part}
29
+<#include "./footer.ftl" parse=true encoding="utf-8">
30
+
31
+<script defer="defer" src="../runtime/index.js"></script>
32
+<script defer="defer" src="../vendor/index.js"></script>
33
+<script defer="defer" src="../common/index.js"></script>
34
+<script defer="defer" src="../aboutUs-3/index.js"></script>
35
+</body>
36
+<script>// 模块动画
37
+    var wow = new WOW({
38
+        boxClass: 'wow',
39
+        animateClass: 'animated',
40
+        offset: 100,
41
+        live: true,
42
+        mobile: false
43
+    });
44
+    wow.init();</script>
45
+</html>

+ 45
- 0
templates/aboutUs-4.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"SUSTAINABILITY - ABOUT US"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="../static/css/animate.min.css">
16
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="../common/index.css" rel="stylesheet">
18
+    <link href="../aboutUs-4/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="SUSTAINABILITY - ABOUTUS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/aboutUs-4/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
25
+</head>
26
+<body>
27
+<#include "./header.ftl" parse=true encoding="utf-8">
28
+${part}
29
+<#include "./footer.ftl" parse=true encoding="utf-8">
30
+
31
+<script defer="defer" src="../runtime/index.js"></script>
32
+<script defer="defer" src="../vendor/index.js"></script>
33
+<script defer="defer" src="../common/index.js"></script>
34
+<script defer="defer" src="../aboutUs-4/index.js"></script>
35
+</body>
36
+<script>// 模块动画
37
+    var wow = new WOW({
38
+        boxClass: 'wow',
39
+        animateClass: 'animated',
40
+        offset: 100,
41
+        live: true,
42
+        mobile: false
43
+    });
44
+    wow.init();</script>
45
+</html>

+ 45
- 0
templates/aboutUs-5.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"INNOVATION - ABOUT US"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="../static/css/animate.min.css">
16
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="../common/index.css" rel="stylesheet">
18
+    <link href="../aboutUs-5/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="INNOVATIONS - ABOUTUS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/aboutUs-5/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
25
+</head>
26
+<body>
27
+<#include "./header.ftl" parse=true encoding="utf-8">
28
+${part}
29
+<#include "./footer.ftl" parse=true encoding="utf-8">
30
+
31
+<script defer="defer" src="../runtime/index.js"></script>
32
+<script defer="defer" src="../vendor/index.js"></script>
33
+<script defer="defer" src="../common/index.js"></script>
34
+<script defer="defer" src="../aboutUs-5/index.js"></script>
35
+</body>
36
+<script>// 模块动画
37
+    var wow = new WOW({
38
+        boxClass: 'wow',
39
+        animateClass: 'animated',
40
+        offset: 100,
41
+        live: true,
42
+        mobile: false
43
+    });
44
+    wow.init();</script>
45
+</html>

+ 45
- 0
templates/attachment.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <title>${htmlTitle!"PARTS"}</title>
11
+    <meta name="keywords" content=${keywords!""}>
12
+    <meta name="description" content=${description!""}>
13
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
14
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
15
+    <link rel="stylesheet" href="./static/css/animate.min.css">
16
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
17
+    <link href="./common/index.css" rel="stylesheet">
18
+    <link href="./attachment/index.css" rel="stylesheet">
19
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
20
+    <meta property="og:title" content="SERVICE&PARTS" />
21
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
22
+    <meta property="og:image" content="http://8.218.104.92/static/images/attachment/banner.jpg" />
23
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
24
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
25
+</head>
26
+<body>
27
+<#include "./header.ftl" parse=true encoding="utf-8">
28
+${part}
29
+<#include "./footer.ftl" parse=true encoding="utf-8">
30
+
31
+<script defer="defer" src="./runtime/index.js"></script>
32
+<script defer="defer" src="./vendor/index.js"></script>
33
+<script defer="defer" src="./common/index.js"></script>
34
+<script defer="defer" src="./attachment/index.js"></script>
35
+</body>
36
+<script>// 模块动画
37
+    var wow = new WOW({
38
+        boxClass: 'wow',
39
+        animateClass: 'animated',
40
+        offset: 100,
41
+        live: true,
42
+        mobile: false
43
+    });
44
+    wow.init();</script>
45
+</html>

+ 141
- 0
templates/concatUs.ftl 파일 보기

@@ -0,0 +1,141 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"Contact Us"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./concatUs/index.css" rel="stylesheet">
20
+
21
+    <meta property="og:title" content="Contact Us." />
22
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
23
+    <meta property="og:image" content="http://8.218.104.92/static/images/concatUs/right-back.jpg" />
24
+    <meta property="og:description" content="For any enquiries, or just to say hello, get in touch and contact us." />
25
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
26
+</head>
27
+<body>
28
+<#include "./header.ftl" parse=true encoding="utf-8">
29
+<div class="main">
30
+    <div class="part">
31
+        <div class="right">
32
+            <div class="bgImage">
33
+                <picture class="lazy">
34
+                    <source data-srcset="./static/images/concatUs/right-back-mob.jpg" srcset=""
35
+                            media="(max-width: 800px)"/>
36
+                    <img class="fit-image" data-src="./static/images/concatUs/right-back.jpg" src=""/></picture>
37
+            </div>
38
+        </div>
39
+        <div class="left">
40
+            <div class="content">
41
+                <div class="title_1">Contact Us.</div>
42
+                <div class="sub">
43
+                    <div class="sub-left">
44
+                        <div class="sub-text">For any enquiries, or just to say hello, get in touch and contact us.
45
+                        </div>
46
+                        <a class="phone" href="tel:+86 1080762999">
47
+                            <div class="icon"></div>
48
+                            <span>+86 1080762999</span>
49
+                        </a>
50
+                        <div class="descrtiption pc">
51
+                            <div class="label">Message</div>
52
+                            <textarea class="formTextArea" type="textarea" rows="3"></textarea>
53
+                        </div>
54
+                    </div>
55
+                    <div class="sub-right">
56
+                        <div class="form">
57
+                            <div class="row row1">
58
+                                <div class="type"></div>
59
+                            </div>
60
+                            <div class="row row2">
61
+                                <div class="country"></div>
62
+                            </div>
63
+                            <div class="row row3">
64
+                                <div class="">
65
+                                    <input class="formInput require" placeholder="City*" onfocus="this.placeholder=''" onblur="this.placeholder='City*'"/>
66
+                                </div>
67
+                            </div>
68
+                            <div class="row row4">
69
+                                <input class="formInput require" placeholder="First Name*" onfocus="this.placeholder=''" onblur="this.placeholder='First Name*'"/>
70
+                            </div>
71
+                            <div class="row row5"><input class="formInput require" placeholder="Surname*" onfocus="this.placeholder=''" onblur="this.placeholder='Surname*'"/>
72
+                            </div>
73
+                            <div class="row row6">
74
+                                <div class="td"><input class="formInput require" placeholder="Email*" onfocus="this.placeholder=''" onblur="this.placeholder='Email*'"/>
75
+                                </div>
76
+                                <div class="td"><input class="formInput" placeholder="Tel" onfocus="this.placeholder=''" onblur="this.placeholder='Tel'"/>
77
+                                </div>
78
+                            </div>
79
+                            <div class="descrtiption mob">
80
+                                <div class="label">Message</div>
81
+                                <textarea class="formTextArea" type="textarea" rows="3"></textarea>
82
+                            </div>
83
+                            <div class="row row7">
84
+                                <div class="label">Privacy Policy</div>
85
+                                <div class="check">
86
+                                    <div class="checkbox clicked"></div>
87
+                                    <div class="check_text">I have read and understood the information on data
88
+                                        protection.
89
+                                    </div>
90
+                                </div>
91
+                            </div>
92
+                        </div>
93
+                        <div class="viewBtn btn black send">
94
+                            <div class="viewText">SEND</div>
95
+                            <div class="viewIcon">
96
+                                <div class="viewArrow1"></div>
97
+                                <div class="viewArrow2"></div>
98
+                            </div>
99
+                        </div>
100
+                    </div>
101
+                </div>
102
+            </div>
103
+        </div>
104
+    </div>
105
+</div>
106
+<div class="alertbox-submit">
107
+    <div class="content">
108
+        <div class="alertheader">
109
+            <h4 class="modaltitle"></h4>
110
+        </div>
111
+        <div class="modalbody">
112
+            <p>提交成功</p>
113
+        </div>
114
+        <div class="modalfooter"><button type="button" class="btn btn-default">我知道了</button></div>
115
+    </div>
116
+</div>
117
+<#include "./footer.ftl" parse=true encoding="utf-8">
118
+<div class="adminFrom">
119
+    <div class="fromCon"><h3>替换内容</h3>
120
+        <div class="fromTable"></div>
121
+        <div class="fromBtn">
122
+            <div class="btnClear">取消</div>
123
+            <div class="btnOk">确定</div>
124
+        </div>
125
+    </div>
126
+</div>
127
+<script defer="defer" src="./runtime/index.js"></script>
128
+<script defer="defer" src="./vendor/index.js"></script>
129
+<script defer="defer" src="./common/index.js"></script>
130
+<script defer="defer" src="./concatUs/index.js"></script>
131
+</body>
132
+<script>// 模块动画
133
+    var wow = new WOW({
134
+        boxClass: 'wow',
135
+        animateClass: 'animated',
136
+        offset: 100,
137
+        live: true,
138
+        mobile: false
139
+    });
140
+    wow.init();</script>
141
+</html>

+ 75
- 0
templates/configuration.ftl 파일 보기

@@ -0,0 +1,75 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!""}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./configuration/index.css" rel="stylesheet">
20
+</head>
21
+<body>
22
+<#include "./header.ftl" parse=true encoding="utf-8">
23
+<div class="main">
24
+    <div class="con">
25
+        <div class="history fadeInUp wow">
26
+            <a class="icon_home" href="/"></a> >
27
+            <a href="./products.html">PRODUCT</a> >
28
+            <a href="./productsDetail${modelUuid}.html">${modelName}</a> >
29
+            <span>CONFIGURATION</span>
30
+        </div>
31
+    </div>
32
+    <section class="section part part_1">
33
+        <div class="title_2">CONFIGURATION</div>
34
+        <div class="con">
35
+            <#list carConf.exlId.info as info>
36
+                <div class="con-item">
37
+                    <div class="con-title">
38
+                        <span>${info_index+1}. ${info.type}</span>
39
+                        <span class="icon"></span>
40
+                    </div>
41
+                    <div class="countryData">
42
+                        <div class="tr th">
43
+                            <#list info.carModelList as title>
44
+                                <div class="td">${title}</div>
45
+                            </#list>
46
+                        </div>
47
+                        <#list info.dataAll as data>
48
+                            <div class="tr">
49
+                                <#list data as dataSon>
50
+                                    <div class="td">${dataSon}</div>
51
+                                </#list>
52
+                            </div>
53
+                        </#list>
54
+                    </div>
55
+                </div>
56
+            </#list>
57
+        </div>
58
+    </section>
59
+</div>
60
+<#include "./footer.ftl" parse=true encoding="utf-8">
61
+<script defer="defer" src="./runtime/index.js"></script>
62
+<script defer="defer" src="./vendor/index.js"></script>
63
+<script defer="defer" src="./common/index.js"></script>
64
+<script defer="defer" src="./configuration/index.js"></script>
65
+</body>
66
+<script>// 模块动画
67
+    var wow = new WOW({
68
+        boxClass: 'wow',
69
+        animateClass: 'animated',
70
+        offset: 100,
71
+        live: true,
72
+        mobile: false
73
+    });
74
+    wow.init();</script>
75
+</html>

+ 71
- 0
templates/cookies.ftl 파일 보기

@@ -0,0 +1,71 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"cookies"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link rel="stylesheet" href="./static/css/animate.min.css">
12
+    <link href="./common/index.css" rel="stylesheet">
13
+    <link href="./cookies/index.css" rel="stylesheet">
14
+</head>
15
+<body>
16
+<#include "./header.ftl" parse=true encoding="utf-8">
17
+<div class="main">
18
+    <div class="content">
19
+        <div class="editorial-content">
20
+            <div class="module-title"><h1 class="module-headline title_2">COOKIE INFORMATION</h1></div>
21
+            <h3>1. What are cookies?</h3>
22
+            <p>A cookie is a small data set being stored on your device and contains data such as your personal page
23
+                settings, an ID, or login information. This dataset is generated by the web server that you used to
24
+                establish a connection via your web browser and is sent to you. In general, we use cookies to analyse
25
+                interest in our web pages and to make them more user-friendly. In principle, you can access our web
26
+                pages without cookies. However, if you want to use our pages fully and smoothly, you should accept the
27
+                cookies that enable certain functions to be used or make the use of our website more user-friendly. MAN
28
+                uses cookies to make its offers more user-friendly, more effective and more secure.</p>
29
+            <p>Via the cookie banner appearing the first time you visit our website, you will be able to select whether
30
+                you agree to the use of technically necessary cookies only or if you also agree to the use of optional
31
+                cookies.</p>
32
+            <p>In addition, you will be able to adjust your browser settings regarding the use of cookies. Most browsers
33
+                are set to accept all cookies by default. However, you have the option of setting your browser such that
34
+                cookies are displayed before being stored, only certain cookies are accepted or rejected, or cookies are
35
+                rejected in general.</p>
36
+            <p>Please note that changes to settings only ever affect that particular browser. If you use different
37
+                browsers or change device, you will have to adjust the settings again. In addition, you can delete
38
+                cookies from your storage medium at any time. Please refer to the Help section of your web browser for
39
+                additional information regarding cookie settings, changing the settings, and deleting cookies.</p>
40
+            <hr>
41
+            <h3>2. What types of cookies are there?</h3><h4 class="myh4">a. First-party cookies</h4>
42
+            <p>These are placed by the website itself (same domain as in the browser address bar) and can only be read
43
+                by that particular website. These cookies are usually used to store information (for example, your
44
+                settings) that will be used on your next visit to the website.</p><h4>b. Third-party cookies</h4>
45
+            <p>Third-party cookies originate from parties different than the website operator. They can be used to
46
+                collect information for advertising, user-defined content and web statistics, for example.</p><h4>c.
47
+                Technically necessary cookies</h4>
48
+            <p>Technically necessary cookies are often required, or at least useful, for basic functions of the website
49
+                such as selecting the preferred language, adjusting page settings, or to save the content of your
50
+                shopping cart.</p><h4>d. Optional cookies (technically not necessary cookies)</h4>
51
+            <p>Optional cookies go beyond the functional scope of technically necessary cookies and are used for
52
+                collecting information for advertising purposes, user-defined content, and web statistics.</p>
53
+            <hr>
54
+            <h3>3. Cookies used</h3>
55
+            <p>The following cookies are used on this website:</p>
56
+            <h3>Cookie List</h3>
57
+            <p>A cookie is a small piece of data (text file) that a website – when visited by a user – asks your browser
58
+                to store on your device in order to remember information about you, such as your language preference or
59
+                login information. Those cookies are set by us and called first-party cookies. We also use third-party
60
+                cookies – which are cookies from a domain different than the domain of the website you are visiting –
61
+                for our advertising and marketing efforts. More specifically, we use cookies and other tracking
62
+                technologies for the following purposes:</p></div>
63
+    </div>
64
+</div>
65
+<#include "./footer.ftl" parse=true encoding="utf-8">
66
+<script defer="defer" src="./runtime/index.js"></script>
67
+<script defer="defer" src="./vendor/index.js"></script>
68
+<script defer="defer" src="./common/index.js"></script>
69
+<script defer="defer" src="./cookies/index.js"></script>
70
+</body>
71
+</html>

+ 45
- 0
templates/dealer.ftl 파일 보기

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"DEALER"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>
12
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
13
+    <link rel="stylesheet" href="./static/css/animate.min.css">
14
+    <link href="./common/index.css" rel="stylesheet">
15
+    <link href="./dealer/index.css" rel="stylesheet">
16
+</head>
17
+<body>
18
+<#include "./header.ftl" parse=true encoding="utf-8">
19
+<div class="main">
20
+    <div class="content">
21
+        <div class="carLeft">
22
+            <div class="carCon">
23
+                <div class="conChoose">
24
+                    <div class="region"></div>
25
+                    <div class="country"></div>
26
+                </div>
27
+                <div class="list"></div>
28
+            </div>
29
+        </div>
30
+        <div class="carRight">
31
+            <div id="map"></div>
32
+        </div>
33
+        <div class="clear"></div>
34
+    </div>
35
+</div>
36
+<#include "./footer.ftl" parse=true encoding="utf-8">
37
+
38
+<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBGUBS_wZ6LvubKPJKVrfOyEtMx1hYoljE&callback=initMap&libraries=marker&v=beta"
39
+        defer="defer"></script>
40
+<script defer="defer" src="./runtime/index.js"></script>
41
+<script defer="defer" src="./vendor/index.js"></script>
42
+<script defer="defer" src="./common/index.js"></script>
43
+<script defer="defer" src="./dealer/index.js"></script>
44
+</body>
45
+</html>

+ 90
- 0
templates/footer.ftl 파일 보기

@@ -0,0 +1,90 @@
1
+<footer>
2
+    <div class="con">
3
+        <div class="row1">
4
+            <div class="title">VISIT YOUR MARKET SITE</div>
5
+            <a class="viewBtn btn" href="/selectCountry.html">
6
+                <div class="viewText">Choose your market</div>
7
+                <div class="viewIcon">
8
+                    <div class="viewArrow1"></div>
9
+                    <div class="viewArrow2"></div>
10
+                </div>
11
+            </a>
12
+        </div>
13
+        <div class="row2">
14
+            <div class="c1 c-item clicked">
15
+                <div class="c-title">QUICKLINKS <span class="icon"></span></div>
16
+                <div class="c-container">
17
+                    <a href="/about-foton.html">About Us</a>
18
+                    <a href="/news.html">News</a>
19
+<#--                    <a href="./dealer.html">Dealer</a>-->
20
+                    <a href="/electromobility.html">Electrombility</a>
21
+                    <a href="/fotonservice.html">Service&Parts</a>
22
+                </div>
23
+            </div>
24
+            <div class="c2 c-item clicked">
25
+                <div class="c-title">PRODUCTS <span class="icon"></span></div>
26
+                <div class="c-container">
27
+                    <#list header as productMap>
28
+                        <a href="/products.html?defaultTitle=${productMap.catege.uuid}" class="title">${productMap.catege.title}</a>
29
+                    </#list>
30
+                </div>
31
+            </div>
32
+            <div class="c4 c-item">
33
+                <div class="c-title">CONTACT US</div>
34
+                <div class="c-container">
35
+                    <#list footer as socialMedia>
36
+                        <#if socialMedia_index lt 3>
37
+                        <a href="${socialMedia.url!""}" target="_blank">
38
+                            <div class="icon">
39
+                                <img src="${socialMedia.imgUrl!""}">
40
+                            </div>
41
+                            ${socialMedia.title}
42
+                        </a>
43
+                        <#if socialMedia_has_next>
44
+                        <div class="c-line mob"></div>
45
+                        </#if>
46
+                        </#if>
47
+                    </#list>
48
+                </div>
49
+            </div>
50
+            <div class="c3 c-item">
51
+                <div class="c-title">SOCIAL MEDIA</div>
52
+                <div class="c-container">
53
+                    <#list footer as socialMedia>
54
+                        <#if socialMedia_index gte 3>
55
+                        <a href="${socialMedia.url!""}" target="_blank">
56
+                            <div class="icon">
57
+                                <img src="${socialMedia.imgUrl!""}">
58
+                            </div>
59
+                            ${socialMedia.title}
60
+                        </a>
61
+                        <#if socialMedia_has_next>
62
+                            <div class="c-line mob"></div>
63
+                        </#if>
64
+                        </#if>
65
+                    </#list>
66
+                </div>
67
+            </div>
68
+        </div>
69
+        <div class="row3 pc">
70
+            <div class="infoGroup">
71
+                <span>Copyright © Foton International. All rights reserved. </span>
72
+                | <a href="/sitemap.html">Sitemap</a>
73
+                | <a href="/cookies.html">Cookies</a>
74
+                | <a href="/privacy.html">Privacy</a>
75
+            </div>
76
+        </div>
77
+        <div class="row3 mob">
78
+            <div class="infoGroup">
79
+                <span>Copyright © Foton International. All rights reserved. </span>
80
+                <br>
81
+                <a href="/sitemap.html">Sitemap</a>
82
+                | <a href="/cookies.html">Cookies</a>
83
+                | <a href="/privacy.html">Privacy</a>
84
+            </div>
85
+        </div>
86
+        <div class="row4 mob">
87
+            <div class="top-btn"></div>
88
+        </div>
89
+    </div>
90
+</footer>

+ 133
- 0
templates/header.ftl 파일 보기

@@ -0,0 +1,133 @@
1
+<header>
2
+    <div class="navPanel">
3
+        <div class="navGroup">
4
+            <a href="/about-foton.html" class="navItem">ABOUT US</a>
5
+            <a href="/products.html" class="navItem">PRODUCTS</a>
6
+            <a href="/news.html" class="navItem">NEWS</a>
7
+<#--            <a href="./dealer.html" class="navItem">DEALER</a>-->
8
+            <a href="/electromobility.html" class="navItem">ELECTROMOBILITY</a>
9
+            <a href="/fotonservice.html" class="navItem">SERVICE&PARTS</a>
10
+            <a href="/concatUs.html" class="navItem">CONTACT US</a>
11
+        </div>
12
+        <a class="logo" href="/foton.html"></a>
13
+<#--        <div class="icons">-->
14
+<#--            <a href="./mall.html">-->
15
+<#--                <div class="shop"></div>-->
16
+<#--                <div class="icon-txt">e-shop</div>-->
17
+<#--            </a>-->
18
+<#--            <div class="line"></div>-->
19
+<#--            <a href="./selectCountry.html">-->
20
+<#--                <div class="lang"></div>-->
21
+<#--                <div class="icon-txt">Global</div>-->
22
+<#--            </a>-->
23
+<#--        </div>-->
24
+    </div>
25
+    <div class="subNavPanel">
26
+        <div class="subNavScroll">
27
+            <div class="subNavGroup">
28
+                <div class="subNav"><a href="/about-foton.html" class="title">OVERVIEW</a></div>
29
+                <div class="subNav"><a href="/about-foton/whoweare.html" class="title">WHO WE ARE</a></div>
30
+                <div class="subNav"><a href="/about-foton/supplychain.html" class="title">SUPPLY CHAIN</a></div>
31
+                <div class="subNav"><a href="/about-foton/sustainability.html" class="title">SUSTAINABILITY</a></div>
32
+                <div class="subNav"><a href="/about-foton/innovation.html" class="title">INNOVATION</a></div>
33
+            </div>
34
+            <div class="subNavGroup">
35
+                <#list header as productMap>
36
+                    <div class="subNav">
37
+                        <a href="/products.html?defaultTitle=${productMap.catege.uuid}"
38
+                           class="title">${productMap.catege.title}</a>
39
+                        <div class="list">
40
+                            <#list productMap.seriesList as series>
41
+                                <a href="/products.html?defaultTitle=${productMap.catege.uuid}&defaultTitle2=${series.uuid}"
42
+                                   class="subsubNav">${series.title}</a>
43
+                            </#list>
44
+                        </div>
45
+                    </div>
46
+                </#list>
47
+
48
+<#--                <div class="subNav">-->
49
+<#--                    <a href="./products.html?defaultTitle=SPECIAL" class="title">SPECIAL VEHICLES</a>-->
50
+<#--                    <div class="list">-->
51
+<#--                        <a href="https://www.brock-kehrtechnik.de/en/" target="_blank" class="subsubNav">BROCK</a>-->
52
+<#--                    </div>-->
53
+<#--                </div>-->
54
+                <div class="subNav">
55
+                    <a href="/digital360/index.html" target="_blank" class="title">VR</a>
56
+                </div>
57
+            </div>
58
+            <div class="subNavGroup"></div>
59
+            <div class="subNavGroup"></div>
60
+            <div class="subNavGroup"></div>
61
+            <div class="subNavGroup"></div>
62
+            <div class="subNavGroup"></div>
63
+        </div>
64
+    </div>
65
+</header>
66
+<div class="header_m">
67
+    <div class="header_bar">
68
+        <a href="/foton.html" class="logo_m"></a>
69
+        <div class="navFlagBtn" data-flag="0">
70
+            <div class="nav_btn_small">
71
+                <div class="lineTop arrowDirBase"></div>
72
+                <div class="lineCenter arrowDirBase" style="display: block;"></div>
73
+                <div class="lineBottom arrowDirBase"></div>
74
+            </div>
75
+        </div>
76
+        <div class="headerMline">
77
+        </div>
78
+    </div>
79
+</div>
80
+<div class="navGroup_m">
81
+    <div class="navTopLine"></div>
82
+    <div class="navScroll">
83
+        <div class="navItem"><a class="navTitle" href="/foton.html">HOME</a></div>
84
+        <div class="navItem">
85
+            <div class="navTitle">ABOUT US</div>
86
+            <div class="navIcon">
87
+                <div class="hLine"></div>
88
+                <div class="vLine"></div>
89
+            </div>
90
+            <div class="subGroup">
91
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton.html">OVERVIEW</a>
92
+                <a class="subNav ani ani-fromRight ani-delay-100" href="/about-foton/whoweare.html">WHO WE ARE</a>
93
+                <a class="subNav ani ani-fromRight ani-delay-200" href="/about-foton/supplychain.html">SUPPLY CHAIN</a>
94
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/sustainability.html">SUSTAINABILITY</a>
95
+                <a class="subNav ani ani-fromRight ani-delay-300" href="/about-foton/innovation.html">INNOVATION</a>
96
+            </div>
97
+        </div>
98
+        <div class="navItem">
99
+            <div class="navTitle">PRODUCTS</div>
100
+            <div class="navIcon">
101
+                <div class="hLine"></div>
102
+                <div class="vLine"></div>
103
+            </div>
104
+            <div class="subGroup">
105
+                <#list header as productMap>
106
+                    <a class="subNav ani ani-fromRight ani-delay-${productMap_index+1}00"
107
+                       href="./products.html?defaultTitle=${productMap.catege.uuid}">${productMap.catege.title}</a>
108
+                </#list>
109
+            </div>
110
+        </div>
111
+        <div class="navItem"><a class="navTitle" href="./news.html">NEWS</a></div>
112
+<#--        <div class="navItem"><a class="navTitle" href="./dealer.html">DEALER</a></div>-->
113
+        <div class="navItem"><a class="navTitle" href="/electromobility.html">ELECTROMOBILITY</a></div>
114
+        <div class="navItem"><a class="navTitle" href="/fotonservice.html">SERVICE&PARTS</a></div>
115
+        <div class="navItem"><a class="navTitle" href="/concatUs.html">CONTACT US</a></div>
116
+    </div>
117
+    <div class="navFoot">
118
+        <div><a href="tel:+86 1080762999">
119
+                <div class="li iconPhone">+86 1080762999</div>
120
+            </a>
121
+<#--            <div class="liLine"></div>-->
122
+<#--            <div class="li iconDiqiu">Global Sites</div>-->
123
+<#--            <div class="liLine"></div>-->
124
+<#--            <div class="li iconShop">FOTON e-shop</div>-->
125
+        </div>
126
+    </div>
127
+</div>
128
+<div class="header-right">
129
+    <div class="sharethis-inline-share-buttons"></div>
130
+</div>
131
+<script src="https://platform-api.sharethis.com/js/sharethis.js#property=65ba10c42c3e3c0012d51a0e&product=inline-share-buttons"
132
+        async="async">
133
+</script>

+ 7
- 0
templates/headerUp.ftl 파일 보기

@@ -0,0 +1,7 @@
1
+<!-- Google Tag Manager -->
2
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
3
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
4
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
5
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
6
+})(window,document,'script','dataLayer','GTM-TNFFPGVX');</script>
7
+<!-- End Google Tag Manager -->

+ 83
- 0
templates/index.ftl 파일 보기

@@ -0,0 +1,83 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"Welcome to FOTON"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
12
+    <link rel="stylesheet" href="./static/css/animate.min.css">
13
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
14
+    <link href="./common/index.css" rel="stylesheet">
15
+    <link href="./index/index.css" rel="stylesheet">
16
+
17
+    <meta property="og:title" content="Welcome to FOTON" />
18
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
19
+    <meta property="og:image" content="http://8.218.104.92/static/images/index/Banner05.jpg" />
20
+    <meta property="og:description" content="Welcome to FOTON" />
21
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
22
+</head>
23
+<body>
24
+<#include "./header.ftl" parse=true encoding="utf-8">
25
+${friPart}
26
+        <div class="bgImage">
27
+            <#list newsList as news>
28
+                <#if news_index == 0>
29
+                    <a class="left fadeInLeft wow" href="${news.newsDetailUrl}">
30
+                        <div class="bottomContent">
31
+                            <div class="date mob">${(news.date)?string('yyyy-MM-dd')}</div>
32
+                            <div class="title_3">${news.title}
33
+                            </div>
34
+                            <div class="date pc">${(news.date)?string('yyyy-MM-dd')}</div>
35
+                        </div>
36
+                        <picture class="lazy">
37
+                            <source data-srcset="${news.topSurfaceUrl!""}" srcset="" media="(max-width: 800px)"/>
38
+                            <img class="fit-image" data-src="${news.topSurfaceUrl!""}" src=""/>
39
+                        </picture>
40
+                    </a>
41
+                <#else >
42
+                    <div class="right-detail fadeInRight wow">
43
+                        <div class="imagePanel">
44
+                            <picture class="lazy">
45
+                                <source data-srcset="${news.topSurfaceUrl!""}" srcset="" media="(max-width: 800px)"/>
46
+                                <img class="fit-image" data-src="${news.topSurfaceUrl!""}" src=""/>
47
+                            </picture>
48
+                        </div>
49
+                        <div class="content">
50
+                            <div class="title_3">${news.title}
51
+                            </div>
52
+                            <div class="line pc"></div>
53
+                            <div class="date">${(news.date)?string('yyyy-MM-dd')}</div>
54
+                            <div class="detail">${news.digest}</div>
55
+                            <a class="viewBtn text" href="${news.newsDetailUrl}">
56
+                                <div class="viewText">VIEW MORE</div>
57
+                                <div class="viewIcon">
58
+                                    <div class="viewArrow1"></div>
59
+                                    <div class="viewArrow2"></div>
60
+                                </div>
61
+                            </a></div>
62
+                        <div class="line mob"></div>
63
+                    </div>
64
+                </#if>
65
+            </#list>
66
+        </div>
67
+${secPart}
68
+<#include "./footer.ftl" parse=true encoding="utf-8">
69
+<script>// 模块动画
70
+    var wow = new WOW({
71
+        boxClass: 'wow',
72
+        animateClass: 'animated',
73
+        offset: 100,
74
+        live: true,
75
+        mobile: false
76
+    });
77
+    wow.init();</script>
78
+<script defer="defer" src="./runtime/index.js"></script>
79
+<script defer="defer" src="./vendor/index.js"></script>
80
+<script defer="defer" src="./common/index.js"></script>
81
+<script defer="defer" src="./index/index.js"></script>
82
+</body>
83
+</html>

+ 118
- 0
templates/mall.ftl 파일 보기

@@ -0,0 +1,118 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>SHOP</title>
12
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
13
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
14
+    <link rel="stylesheet" href="./static/css/animate.min.css">
15
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
16
+    <link href="./common/index.css" rel="stylesheet">
17
+    <link href="./mall/index.css" rel="stylesheet">
18
+
19
+    <meta property="og:title" content="SHOP" />
20
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
21
+    <meta property="og:image" content="http://8.218.104.92/static/images/mall/banner.jpg" />
22
+    <meta property="og:description" content="SHOP" />
23
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
24
+</head>
25
+<body>
26
+<#include "./header.ftl" parse=true encoding="utf-8">
27
+<div class="main">
28
+    <section class="section banner">
29
+        <div class="bgImage">
30
+            <picture class="lazy">
31
+                <source data-srcset="${hot.mImgUrl}" srcset="" media="(max-width: 800px)"/>
32
+                <img class="fit-image" data-src="${hot.pcImgUrl}" src=""/>
33
+            </picture>
34
+        </div>
35
+        <div class="partContent">
36
+            <div class="title_1">Hot selling items</div>
37
+            <div class="banner_text">Trend-setter in commercial vehicle products and technologies.</div>
38
+            <a class="viewBtn white" href="${hot.mallDetailUrl}">
39
+                <div class="viewText">VIEW MORE</div>
40
+                <div class="viewIcon">
41
+                    <div class="viewArrow1"></div>
42
+                    <div class="viewArrow2"></div>
43
+                </div>
44
+            </a>
45
+        </div>
46
+    </section>
47
+    <section class="section part part_1">
48
+        <div class="con">
49
+            <div class="title_1">TOP PRODUCT</div>
50
+            <div class="title_text">There's more than just sales at the top.</div>
51
+            <div class="swiper">
52
+                <div class="swiper-wrapper">
53
+                    <#list top as top>
54
+                        <div class="swiper-slide">
55
+                            <a class="swiper-back" href="${top.mallDetailUrl}">
56
+                                <picture class="lazy">
57
+                                    <source data-srcset="${top.mImgUrl}" srcset="" media="(max-width: 800px)"/>
58
+                                    <img class="fit-image" data-src="${top.pcImgUrl}" src=""/></picture>
59
+                            </a>
60
+                            <div class="content_text">${top.pText}</div>
61
+                            <a class="viewBtn text" href="${top.mallDetailUrl}">
62
+                                <div class="viewText">VIEW MORE</div>
63
+                                <div class="viewIcon">
64
+                                    <div class="viewArrow1"></div>
65
+                                    <div class="viewArrow2"></div>
66
+                                </div>
67
+                            </a>
68
+                        </div>
69
+                    </#list>
70
+                </div>
71
+            </div>
72
+            <div class="swiper-pagination"></div>
73
+        </div>
74
+    </section>
75
+    <section class="section part part_2">
76
+        <div class="con">
77
+            <div class="title_1">PRODUCT SHOWCASE</div>
78
+            <div class="title_text">Technology leading into the future.</div>
79
+            <div class="search">
80
+                <div class="search-item">
81
+                    <div class="item-title">Product categories</div>
82
+                    <div class="line"></div>
83
+                    <div class="sub-item">AUTOMATE Parts</div>
84
+                    <div class="sub-item">Promotional Gifts</div>
85
+                    <div class="sub-item">Used Vehicles</div>
86
+                </div>
87
+                <div class="search-item">
88
+                    <div class="item-title">Product Details</div>
89
+                    <div class="line"></div>
90
+                    <div class="sub-item">filter</div>
91
+                    <div class="sub-item">clutch</div>
92
+                    <div class="sub-item">water pump</div>
93
+                    <div class="sub-item">belt</div>
94
+                    <div class="sub-item">wiper blade</div>
95
+                </div>
96
+            </div>
97
+            <div id="list"></div>
98
+            <div id="pagination"></div>
99
+        </div>
100
+    </section>
101
+</div>
102
+<#include "./footer.ftl" parse=true encoding="utf-8">
103
+
104
+<script defer="defer" src="./runtime/index.js"></script>
105
+<script defer="defer" src="./vendor/index.js"></script>
106
+<script defer="defer" src="./common/index.js"></script>
107
+<script defer="defer" src="./mall/index.js"></script>
108
+</body>
109
+<script>// 模块动画
110
+    var wow = new WOW({
111
+        boxClass: 'wow',
112
+        animateClass: 'animated',
113
+        offset: 100,
114
+        live: true,
115
+        mobile: false
116
+    });
117
+    wow.init();</script>
118
+</html>

+ 186
- 0
templates/mallDetail.ftl 파일 보기

@@ -0,0 +1,186 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>SHOP DETAILS</title>
12
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
13
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
14
+    <link rel="stylesheet" href="./static/css/animate.min.css">
15
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
16
+    <link href="./common/index.css" rel="stylesheet">
17
+    <link href="./mallDetail/index.css" rel="stylesheet">
18
+
19
+    <meta property="og:title" content="${sp.name}" />
20
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
21
+    <meta property="og:image" content="${sp.pcImgUrl}" />
22
+    <meta property="og:description" content="${sp.pText}" />
23
+</head>
24
+<body>
25
+<#include "./header.ftl" parse=true encoding="utf-8">
26
+<div class="main">
27
+    <section class="section part part_1">
28
+        <div class="con">
29
+            <div class="part-content">
30
+                <div class="part-left">
31
+                    <div class="swiper mySwiper2">
32
+                        <div class="swiper-wrapper">
33
+                            <#list ms as ms>
34
+                                <div class="swiper-slide">
35
+                                    <img src="${ms.imgUrl}"/>
36
+                                </div>
37
+                            </#list>
38
+                        </div>
39
+                        <div class="swiper-btn black">
40
+                            <div class="prev">
41
+                                <div class="iconIro">
42
+                                    <div class="radio_btn">
43
+                                        <div class="icon_block">
44
+                                            <div class="radio_icon"></div>
45
+                                            <div class="radio_icon"></div>
46
+                                        </div>
47
+                                    </div>
48
+                                </div>
49
+                            </div>
50
+                            <div class="next">
51
+                                <div class="iconIro">
52
+                                    <div class="radio_btn">
53
+                                        <div class="icon_block">
54
+                                            <div class="radio_icon"></div>
55
+                                            <div class="radio_icon"></div>
56
+                                        </div>
57
+                                    </div>
58
+                                </div>
59
+                            </div>
60
+                        </div>
61
+                    </div>
62
+                    <div thumbsslider="" class="swiper mySwiper">
63
+                        <div class="swiper-wrapper">
64
+                            <#list ms as ms>
65
+                                <div class="swiper-slide">
66
+                                    <img src="${ms.imgUrl}"/>
67
+                                </div>
68
+                            </#list>
69
+                        </div>
70
+                    </div>
71
+                </div>
72
+                <div class="part-right">
73
+                    <div class="title_2">${sp.name}</div>
74
+                    <div class="price">US$${sp.price}</div>
75
+                    <div class="line"></div>
76
+                    <div class="info">
77
+                        <p class="content_text">${sp.pText}</p>
78
+                    </div>
79
+                    <div class="content_text size-label">Size:</div>
80
+                    <div class="size">
81
+                        <#list sp.gaugeList as gauge>
82
+                            <div class="size-item content_text">${gauge}</div>
83
+                        </#list>
84
+                    </div>
85
+                    <div class="content_text quantity-label">Quantity:</div>
86
+                    <div class="quantity">
87
+                        <div class="sum-panel">
88
+                            <div class="jianhao icon"></div>
89
+                        </div>
90
+                        <div class="sum">${sp.num}</div>
91
+                        <div class="sum-panel">
92
+                            <div class="jiahao icon"></div>
93
+                        </div>
94
+                    </div>
95
+                    <div class="btnGroup">
96
+                        <a class="viewBtn btn black btn1" href="./concatUs.html">
97
+                            <div class="viewText">Concat Us</div>
98
+                            <div class="viewIcon">
99
+                                <div class="viewArrow1"></div>
100
+                                <div class="viewArrow2"></div>
101
+                            </div>
102
+                        </a>
103
+                        <a class="viewBtn btn black btn2"
104
+                               href="https://fotonmotor.en.alibaba.com/productgrouplist-931137777/Promotional_Gifts.html?spm=a2700.shop_index.52311.2.45f16365a2kxOj">
105
+                            <div class="viewText">Alibaba.com</div>
106
+                            <div class="viewIcon">
107
+                                <div class="viewArrow1"></div>
108
+                                <div class="viewArrow2"></div>
109
+                            </div>
110
+                        </a>
111
+                    </div>
112
+                </div>
113
+            </div>
114
+        </div>
115
+    </section>
116
+    <section class="section part part_2">
117
+        <div class="con">
118
+            <div class="title_2">PRODUCT DESCRIPTIONS</div>
119
+            <#list ms as ms>
120
+                <#if (ms_index+1)%2 == 1>
121
+                    <div class="block block_L">
122
+                        <div class="textBlock">
123
+                            <div class="line"></div>
124
+                            <div class="textContent">${ms.pText}
125
+                            </div>
126
+                            <div class="numPanel">0${ms_index}+1.</div>
127
+                        </div>
128
+                        <div class="imgBlock"><img src="${ms.imgUrl}"></div>
129
+                    </div>
130
+                <#else>
131
+                    <div class="block block_R">
132
+                        <div class="imgBlock"><img src="${ms.imgUrl}"></div>
133
+                        <div class="textBlock">
134
+                            <div class="line"></div>
135
+                            <div class="textContent">${ms.pText}
136
+                            </div>
137
+                            <div class="numPanel">0${ms_index}.</div>
138
+                        </div>
139
+                    </div>
140
+                </#if>
141
+            </#list>
142
+        </div>
143
+    </section>
144
+    <section class="section part part_3">
145
+        <div class="con">
146
+            <div class="title_2">KEY ATTRIBUTES</div>
147
+            <div class="attr">
148
+                <div class="attr_title">Industry-specific attributes</div>
149
+                <div class="table">
150
+                    <#list tx_indstry as txi>
151
+                        <div class="row">
152
+                            <div class="left_td">${txi.name}</div>
153
+                            <div class="right_td">${txi.pText}</div>
154
+                        </div>
155
+                    </#list>
156
+                </div>
157
+                <div class="attr_title">Other attributes</div>
158
+                <div class="table">
159
+                    <#list tx_other as txo>
160
+                        <div class="row">
161
+                            <div class="left_td">${txo.name}</div>
162
+                            <div class="right_td">${txo.pText}</div>
163
+                        </div>
164
+                    </#list>
165
+                </div>
166
+            </div>
167
+        </div>
168
+    </section>
169
+</div>
170
+<#include "./footer.ftl" parse=true encoding="utf-8">
171
+
172
+<script defer="defer" src="./runtime/index.js"></script>
173
+<script defer="defer" src="./vendor/index.js"></script>
174
+<script defer="defer" src="./common/index.js"></script>
175
+<script defer="defer" src="./mallDetail/index.js"></script>
176
+</body>
177
+<script>// 模块动画
178
+    var wow = new WOW({
179
+        boxClass: 'wow',
180
+        animateClass: 'animated',
181
+        offset: 100,
182
+        live: true,
183
+        mobile: false
184
+    });
185
+    wow.init();</script>
186
+</html>

+ 130
- 0
templates/news.ftl 파일 보기

@@ -0,0 +1,130 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"NEWS"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./news/index.css" rel="stylesheet">
20
+
21
+    <meta property="og:title" content="${newsList[0].title!""}" />
22
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
23
+    <meta property="og:image" content="${newsList[0].topSurfaceUrl!""}" />
24
+    <meta property="og:description" content="${newsList[0].digest!""}" />
25
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
26
+</head>
27
+<body>
28
+<#include "./header.ftl" parse=true encoding="utf-8">
29
+<div class="main">
30
+    <section class="section part part_1 fadeInUp wow">
31
+        <div class="part_content">
32
+            ${part}
33
+        </div>
34
+    </section>
35
+    <section class="section part part_2 fadeInUp wow">
36
+        <div class="part_content">
37
+            <#list newsList as news>
38
+                <#if news_index == 0>
39
+                    <a class="item-1" href="${news.newsDetailUrl}">
40
+                        <div class="bgImage">
41
+                            <picture class="lazy">
42
+                                <source data-srcset="${news.topSurfaceUrl!""}" srcset="" media="(max-width: 800px)"/>
43
+                                <img class="fit-image" data-src="${news.topSurfaceUrl!""}" src=""/>
44
+                            </picture>
45
+                        </div>
46
+                        <div class="info">
47
+                            <div class="item-title">${news.title}</div>
48
+                            <div class="item-sub-title">${(news.date)?string('yyyy-MM-dd')}</div>
49
+                        </div>
50
+                    </a>
51
+                <#else >
52
+                    <div class="item-2">
53
+                        <div class="item-img">
54
+                            <div class="bgImage">
55
+                                <picture class="lazy">
56
+                                    <source data-srcset="${news.topSurfaceUrl!""}" srcset="" media="(max-width: 800px)"/>
57
+                                    <img class="fit-image" data-src="${news.topSurfaceUrl!""}" src=""/>
58
+                                </picture>
59
+                            </div>
60
+                        </div>
61
+                        <div class="info">
62
+                            <div class="item-title">${news.title}
63
+                            </div>
64
+                            <div class="item-sub-title">${(news.date)?string('yyyy-MM-dd')}</div>
65
+                            <div class="item-context">${news.digest}
66
+                            </div>
67
+                            <a class="viewBtn btn text" href="${news.newsDetailUrl}">
68
+                                <div class="viewText">VIEW MORE</div>
69
+                                <div class="viewIcon">
70
+                                    <div class="viewArrow1"></div>
71
+                                    <div class="viewArrow2"></div>
72
+                                </div>
73
+                            </a>
74
+                        </div>
75
+                    </div>
76
+                </#if>
77
+            </#list>
78
+        </div>
79
+    </section>
80
+    <section class="section part part_3 fadeInUp wow">
81
+        <div class="searchForm">
82
+            <div class="products">
83
+                <div class="select-title">Products</div>
84
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
85
+                    <#list header as productMap>
86
+                        <div data-value="${productMap.catege.uuid}" data-label="${productMap.catege.title}" data-index-id="${productMap_index}" class="select-listItem">${productMap.catege.title}</div>
87
+                    </#list>
88
+                </div>
89
+            </div>
90
+            <div class="topics">
91
+                <div class="select-title">Topics</div>
92
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
93
+                    <#list gambitTagList as tag>
94
+                        <div data-value="${tag.uuid}" data-label="${tag.name}" data-index-id="${tag_index}" class="select-listItem">${tag.name}</div>
95
+                    </#list>
96
+                </div>
97
+            </div>
98
+            <div class="time">
99
+                <div class="select-title">Time</div>
100
+                <div class="select-dropList select-dropList-close swiper-no-swiping" data-flag="0">
101
+                    <#list dateList as date>
102
+                        <div data-value="${date}" data-label="${date}" data-index-id="${date_index}" class="select-listItem">${date}</div>
103
+                    </#list>
104
+                </div>
105
+            </div>
106
+            <div class="all">ALL</div>
107
+        </div>
108
+        <div class="titleForm"></div>
109
+        <div id="list"></div>
110
+        <div id="pagination"></div>
111
+    </section>
112
+    <section class="section part part_4 fadeInUp wow"></section>
113
+</div>
114
+<#include "./footer.ftl" parse=true encoding="utf-8">
115
+
116
+<script defer="defer" src="./runtime/index.js"></script>
117
+<script defer="defer" src="./vendor/index.js"></script>
118
+<script defer="defer" src="./common/index.js"></script>
119
+<script defer="defer" src="./news/index.js"></script>
120
+</body>
121
+<script>// 模块动画
122
+    var wow = new WOW({
123
+        boxClass: 'wow',
124
+        animateClass: 'animated',
125
+        offset: 100,
126
+        live: true,
127
+        mobile: false
128
+    });
129
+    wow.init();</script>
130
+</html>

+ 87
- 0
templates/newsDetail.ftl 파일 보기

@@ -0,0 +1,87 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"NEWS DETAILS"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="/static/css/animate.min.css">
17
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="/common/index.css" rel="stylesheet">
19
+    <link href="/newsDetail/index.css" rel="stylesheet">
20
+
21
+    <meta property="og:title" content="${news.title}" />
22
+<#--    <meta property="og:url" content="http://www.sharethis.com" />-->
23
+    <meta property="og:image" content="${news.surfaceUrl}" />
24
+    <meta property="og:description" content="${news.digest}" />
25
+<#--    <meta property="og:site_name" content="ShareThis" />-->
26
+</head>
27
+<body>
28
+<#include "./header.ftl" parse=true encoding="utf-8">
29
+<div class="main">
30
+    <section class="section banner">
31
+        <div class="bgImage">
32
+            <picture class="lazy">
33
+                <source data-srcset="/static/images/newsDetail/mob/banner.jpg" srcset="" media="(max-width: 800px)"/>
34
+                <img class="fit-image" data-src="/static/images/newsDetail/banner.jpg" src=""/></picture>
35
+        </div>
36
+    </section>
37
+    <div class="tab-menu">
38
+        <div class="con">
39
+            <div class="left">
40
+                <div class="icon">
41
+                    <img class="fit-image" src="/static/images/newsDetail/home.jpg"/>
42
+                </div>
43
+                <div class="tab-text">> NEWS > <span class="tab-item">${news.title}</span>
44
+                </div>
45
+            </div>
46
+            <div class="right">
47
+                <div class=""></div>
48
+                Share:
49
+                <div class="icon-list">
50
+                    <a class="share-item" href="www.facebook.com/fotonmotor">
51
+                        <img class="fit-image" src="/static/images/newsDetail/facebook.jpg"/>
52
+                    </a>
53
+                    <div class="share-line"></div>
54
+                    <a class="share-item" href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ">
55
+                        <img class="fit-image" src="/static/images/newsDetail/jiahao.jpg"/>
56
+                    </a>
57
+                    <div class="share-line"></div>
58
+                    <a class="share-item" href="https://www.youtube.com/channel/UCIiMalpdX9hQhDGuWMiMKaQ">
59
+                        <img class="fit-image" src="/static/images/newsDetail/twitter.jpg"/>
60
+                    </a>
61
+                </div>
62
+            </div>
63
+        </div>
64
+    </div>
65
+    <section class="part">
66
+        <div class="date wow fadeInUp">${(news.date)?string('yyyy-MM-dd')}</div>
67
+        <div class="title wow fadeInUp">${news.title}</div>
68
+        <div class="data wow fadeInUp ql-editor">
69
+            ${news.content}
70
+        </div>
71
+    </section>
72
+</div>
73
+<#include "./footer.ftl" parse=true encoding="utf-8">
74
+<script defer="defer" src="/runtime/index.js"></script>
75
+<script defer="defer" src="/vendor/index.js"></script>
76
+<script defer="defer" src="/newsDetail/index.js"></script>
77
+</body>
78
+<script>// 模块动画
79
+    var wow = new WOW({
80
+        boxClass: 'wow',
81
+        animateClass: 'animated',
82
+        offset: 100,
83
+        live: true,
84
+        mobile: false
85
+    });
86
+    wow.init();</script>
87
+</html>

+ 53
- 0
templates/personalCar.ftl 파일 보기

@@ -0,0 +1,53 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"PERSONAL CAR"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="../static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="../static/css/animate.min.css">
17
+    <script src="../static/js/wow.min.js" charset="utf-8"></script>
18
+    <script src="../static/js/jquery-2.1.1.min.js" charset="utf-8"></script>
19
+    <script src="../static/js/axios.min.js" charset="utf-8"></script>
20
+    <script src="../static/js/editIframe/about.js" charset="utf-8"></script>
21
+    <link href="../common/index.css" rel="stylesheet">
22
+    <link href="../personalCar/index.css" rel="stylesheet">
23
+</head>
24
+<body>
25
+<#include "./header.ftl" parse=true encoding="utf-8">
26
+<div class="main">
27
+    <div class="con">
28
+        <div class="history fadeInUp wow">
29
+            <a class="icon_home" href="/"></a> >
30
+            <a href="/products.html">PRODUCTS</a> >
31
+            <a href="/products.html">SPECIAL VEHICLES</a> >
32
+            <span>BROCK</span>
33
+        </div>
34
+        <div class="dataPart"></div>
35
+    </div>
36
+</div>
37
+<#include "./footer.ftl" parse=true encoding="utf-8">
38
+<script defer="defer" src="../runtime/index.js"></script>
39
+<script defer="defer" src="../vendor/index.js"></script>
40
+<script defer="defer" src="../common/index.js"></script>
41
+<script defer="defer" src="../personalCar/index.js"></script>
42
+</body>
43
+<script>//new wb.main()
44
+    // 模块动画
45
+    var wow = new WOW({
46
+        boxClass: 'wow',
47
+        animateClass: 'animated',
48
+        offset: 100,
49
+        live: true,
50
+        mobile: false
51
+    });
52
+    wow.init();</script>
53
+</html>

+ 235
- 0
templates/privacy.ftl 파일 보기

@@ -0,0 +1,235 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"privacy"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link rel="stylesheet" href="./static/css/animate.min.css">
12
+    <link href="./common/index.css" rel="stylesheet">
13
+    <link href="./privacy/index.css" rel="stylesheet">
14
+</head>
15
+<body>
16
+<#include "./header.ftl" parse=true encoding="utf-8">
17
+<div class="main">
18
+    <div class="content"><h2 class="title_2">PRIVACY POLICY</h2>
19
+        <div><p><span style="color: #ff9900;">Last updated on: August 10, 2022</span></p>
20
+            <p>This Policy is formulated to explain how does Foton Overseas (unless otherwise stated, Foton Overseas
21
+                refers to the Beijing Foton International Trade Co., Ltd.) collect, access and store your personal
22
+                information and what rights do you enjoy in the process of providing network services. Foton Overseas
23
+                will explain relevant matters to you through this <i>Privacy Policy</i>. <b>Foton Overseas hereby
24
+                    reminds you that you must carefully read and understand this </b><b><i>Privacy Policy</i></b><b>&nbsp;before
25
+                    accessing the services provided by Foton Overseas, and you may access the products or services
26
+                    provided by Foton Overseas only after confirming your full understanding and consent. Your accessing
27
+                    of products or services provided by Foton Overseas shall be deemed as your acceptance and approval
28
+                    of the contents of this Policy. If you do not agree to any of the clauses of this Policy, you should
29
+                    stop accessing the services provided by Foton Overseas.</b></p>
30
+            <p>This Policy will help you understand:</p>
31
+            <p>1.&nbsp;How Foton Overseas collects and uses your personal information</p>
32
+            <p>2.&nbsp;How Foton Overseas uses cookies</p>
33
+            <p>3.&nbsp;How is your personal information shared, transferred and publicly disclosed</p>
34
+            <p>4.&nbsp;How Foton Overseas protects your personal information</p>
35
+            <p>5.&nbsp;How Foton Overseas accesses, modifies or withdraws your personal information</p>
36
+            <p>6.&nbsp;How does your personal information transferred in a global context</p>
37
+            <p>7.&nbsp;How is this Policy updated</p>
38
+            <p>8.&nbsp;How to contact us</p>
39
+            <p>Foton Overseas deeply understands the importance of your personal information and will do our best to
40
+                keep your personal information safe and secure. When you access the services provided on website of
41
+                Foton Overseas, we will collect, process and disclose your information in accordance with this <i>Privacy
42
+                    Policy</i>. Foton Overseas is committed to maintaining your trust in us, and protecting your
43
+                personal information by scrupulously adhering to the following principles: power and responsibility
44
+                integration principle, purpose specification principle, selection consent principle, least enough
45
+                principle, ensuring safety principle, subject participation principle, publicity and transparency
46
+                principle, etc. Meanwhile, we promise that we will take appropriate security protection measures to
47
+                protect your personal information in accordance with the mature security standards in the industry.
48
+                Please read and understand this <i>Privacy Policy</i>&nbsp;carefully before accessing any of Foton
49
+                Overseas's services.</p>
50
+            <p><b>1. How Foton Overseas collects and uses your personal information</b><b></b></p>
51
+            <p>1.1 The personal information refers to all kinds of information recorded electronically or by other means
52
+                and can be accessed individually or in combination with other information to identify the identity of a
53
+                specific natural person or to reflect the activities of a specific natural person.</p>
54
+            <p>1.2 When you access any of Foton Overseas's products and services, we will collect and access your
55
+                personal information in the following ways:</p>
56
+            <p>(1) When you access any relevant services on Foton Overseas's website, you need to provide us with your
57
+                <b>username and mobile phone number</b>. You can choose to continue to improve your information on the
58
+                web page, including but not limited to your real name, industry involved, region, website, detailed
59
+                address. We will keep this information strictly confidential and handle it in a lawful manner.</p>
60
+            <p>(2) Online message information. When you need to access the online message service provided on Foton
61
+                Overseas's website, we will require you to provide your username and email address so that we can
62
+                respond to your service request. We may retain your chat records and order information so that we can
63
+                provide you with the services you wish to obtain.</p>
64
+            <p>(3) Operation and support information. Foton Overseas will, from time to time, launch operations for new
65
+                services and features. If you participate in the relevant operation activities, we may collect your <b>contact
66
+                    information (e.g. mobile phone number), contact address and transaction account information </b>through
67
+                the operation activities interface to ensure that you can successfully participate in the activities.
68
+                <b>If you do not participate in the relevant operation activities, you are not required to provide the
69
+                    foregoing information.</b></p>
70
+            <p>1.3 In summary, your personal information collected by the website will be used to:</p>
71
+            <p>(1) Provide, maintain or improve products or services for you;<br>(2) send important notifications to
72
+                you;<br>(3) activate or validate any product or service;<br>(4) promote and introduce products to you as
73
+                permitted by laws and regulations; and,<br>(5) achieve other purposes permitted by you.</p>
74
+            <p>1.4 If we intend to use the information collected for other purposes not specified in this Policy, we
75
+                will seek your prior consent.</p>
76
+            <p>1.5 It should be noted that, as a user of Foton Overseas, if you access the technical services of Foton
77
+                Overseas to provide relevant data services for your users, you shall separately agree on the privacy
78
+                policy with your users because the control right of this part of business data belongs to you. This <i>Privacy
79
+                    Policy</i>&nbsp;does not apply to the processing of the above data.</p>
80
+            <p><b>2. How Foton Overseas uses cookies</b><b></b></p>
81
+            <p>2.1 In order to ensure the proper operation of the website, we will send small data files called cookies
82
+                to your computer or mobile device. Cookies typically contain the identifiers, site name, and some
83
+                numbers and characters. By taking use of the cookies, the website can store the information such as your
84
+                preferences.</p>
85
+            <p>2.2 We will not use Cookies for any purpose other than those described in this Policy. You can manage or
86
+                delete cookies according to your preferences. You can clear all cookies saved on your computer, and most
87
+                web browsers have Cookie blocking capabilities. However, if you do this, you are required to personally
88
+                change the user settings every time you visit our site.</p>
89
+            <p><b>3. How Foton Overseas shares, transfers and publicly discloses your personal information</b><b></b>
90
+            </p>
91
+            <p>3.1 Sharing</p>
92
+            <p>We will not share your personal information with any corporation, organization or individual other than
93
+                Foton Overseas, with the exception of:</p>
94
+            <p>(1) Sharing with express consent: We will share your personal information with other parties only after
95
+                obtaining your express consent.</p>
96
+            <p>(2) Sharing your user information externally in accordance with laws and regulations, litigation or
97
+                arbitral settlement, or as required by administrative or judicial authorities in accordance with
98
+                law.</p>
99
+            <p>(3) Sharing with our affiliates: Your personal information may be shared with affiliates of Foton
100
+                Overseas. We will only share necessary personal information and are bound by the purposes stated in this
101
+                <i>Privacy Policy</i>. If any of our affiliates want to change the purpose for which personal
102
+                information is processed, they will seek your authorization and consent again.</p>
103
+            <p>"Our affiliate" means any corporation or legal organization that is or will be controlled by us, control
104
+                us or jointly controlled with us. "Control" means to have the power to determine the financial and
105
+                business policies of a corporation, directly or indirectly enjoy more than 50% of the management or
106
+                decision-making rights of the corporation, and can obtain benefits from the business activities of the
107
+                corporation.</p>
108
+            <p>(4) Sharing with authorized partners: Certain of our services (e.g. real-name authentication) will be
109
+                provided by authorized partners only for the purpose stated in this Policy. We will only access your
110
+                personal information for lawful, legitimate, necessary, specific and explicit purposes, and will only
111
+                provide the personal information necessary for the services. Our partners are not entitled to use the
112
+                personal information obtained for any other purpose. For the companies, organizations and individuals
113
+                with whom we share user information, we will sign strict information protection agreements with them and
114
+                require them to handle user information in accordance with our instructions, this <i>Privacy Policy</i>&nbsp;and
115
+                any other relevant confidentiality and security measures. In addition, your personal information will be
116
+                transferred to the storage space in the data center through the underlying network operator. For our
117
+                services in China, we will cooperate with the Chinese underlying network operators and data centers
118
+                located in China.</p>
119
+            <p>3.2 Transfer</p>
120
+            <p>We will not transfer your personal information to any corporation, organization or individual, with the
121
+                exception of:</p>
122
+            <p>(1) Transfer with express consent: We will transfer your personal information to other parties only after
123
+                obtaining your express consent.<br>(2) If the transfer of personal information is involved in merger,
124
+                acquisition or bankruptcy liquidation, we will require the new corporation or organization holding your
125
+                personal information to continue to be bound by this <i>Privacy Policy</i>, otherwise we will require
126
+                the corporation or organization to seek authorization and consent from you again.</p>
127
+            <p>3.3 Public disclosure</p>
128
+            <p>We will publicly disclose your personal information only if:</p>
129
+            <p>(1) Your express consent is obtained.<br>(2) Disclosure is required by law: We may publicly disclose your
130
+                personal information when being compulsorily required by law, legal process, litigation or government
131
+                authorities.</p>
132
+            <p>3.4 Exceptions to obtaining prior authorization and consent when sharing, transferring or publicly
133
+                disclosing user information</p>
134
+            <p>No prior authorization and consent from you is required to share, transfer or publicly disclose your user
135
+                information if your user information is:<br>(1) related to national security and national defense
136
+                security;<br>(2) related to public security, public health and major public interests;<br>(3) related to
137
+                criminal investigation, prosecution, trial and execution of judgment;<br>(4) disclosed to protect your
138
+                or other individuals' life, property and other major legitimate rights and interests, but it is
139
+                difficult to get your consent;<br>(5) disclosed to the public by you on your own; and,<br>(6) collected
140
+                from legally disclosed information, such as legal news reports, government information disclosure and
141
+                other channels.</p>
142
+            <p><b>4. How Foton Overseas protects your personal information</b><b></b></p>
143
+            <p>4.1 Foton Overseas attaches great importance to the security of your information. We will endeavor to
144
+                take all reasonable physical, electronic and administrative security measures to protect your user
145
+                information. We will prevent unauthorized access, public disclosure, use, modification, damage or loss
146
+                of user information. We will enhance the security of user information by adopting the encryption
147
+                technology; we will protect our user information from being subjected to malicious attacks by adopting
148
+                trustworthy protection mechanisms; we will deploy access control mechanisms to try to ensure that only
149
+                authorized persons have access to user information; and we will organize security and privacy protection
150
+                training courses to enhance staff awareness of the importance of protecting user information. Foton
151
+                Overseas has passed numerous international and domestic management system certification.</p>
152
+            <p><b>4.2 We will take all reasonable and practicable measures to avoid the collection of irrelevant
153
+                    personal information as much as possible. We will only retain your personal information for as long
154
+                    as necessary to achieve the purposes stated in this Policy, unless otherwise specified by laws.
155
+                    After the expiration of the above user information retention period, we will delete or anonymize
156
+                    your personal information.</b></p>
157
+            <p>4.3 Please use a complex password to help us ensure the security of your account. We will do our best to
158
+                ensure the security of any information that you send to us. In order to ensure your information security
159
+                more effectively, we also hope that you can strengthen the awareness of self-protection. We are only
160
+                liable for the disclosure of your personal information to the extent that it is directly caused by Foton
161
+                Overseas. Therefore, please keep your account number and password information properly to avoid the
162
+                disclosure of your personal information.</p>
163
+            <p>4.4 The Internet environment is not 100% safe, so we will try our best to ensure or guarantee the
164
+                security of any information that you send to us. In the event of an unfortunate personal information
165
+                security incident (leakage, loss, etc.), we will, in accordance with the requirements of laws and
166
+                regulations, timely inform you of the basic situation and possible consequences of the security
167
+                incident, the disposal measures we have taken or will take, suggestions for you to independently prevent
168
+                and reduce risks, and remedial measures for you. We will timely inform you of the relevant situation of
169
+                the incident by email, letter, phone call, push notification and other means. When it is difficult to
170
+                inform the subjects of personal information one by one, we will make a public announcement in a
171
+                reasonable and effective manner. Meanwhile, we will also take the initiative to report the disposal of
172
+                personal information security incidents in accordance with the requirements of the regulatory
173
+                authorities.</p>
174
+            <p><b>5. How Foton Overseas accesses, modifies and deletes your personal information</b><b></b></p>
175
+            <p>5.1 You may request us to delete your personal information in accordance with the law; if we have a
176
+                reasonable basis to believe that the request is deceptive, unenforceable or impairs the privacy rights
177
+                or interests of others, we will refuse to process the request.</p>
178
+            <p>5.2 You may request us to delete your personal information if:</p>
179
+            <p>(1) You find that any behavior of our handling of personal information violates any laws and regulations;<br>(2)
180
+                we collect and use your personal information without your express consent;<br>(3) any behavior of us in
181
+                handling personal information seriously violates the agreement with you; and,<br>(4) you will no longer
182
+                use any of our services.<br>For security purposes, you may be required to provide a written request or
183
+                otherwise prove your identity. We may ask you to prove your identity before we process your request.</p>
184
+            <p>5.3 If you cancel your account by yourself, we will stop providing you with products or services, and
185
+                delete your personal information or anonymize it according to applicable laws.</p>
186
+            <p>5.4 We do not charge for your reasonable request in principle. However, if the request is repeated many
187
+                times and exceeds the reasonable limit, we will charge a certain cost at our discretion. We may reject
188
+                requests that are gratuitously repeated or excessively self-conceited (e.g., those requiring the
189
+                development of a new system or fundamental changes in existing practices), pose a risk to the legal
190
+                rights of others, or are highly impractical (e.g., those involving the information stored on backup
191
+                tapes).</p>
192
+            <p>5.5 We will not be able to respond to your request to delete personal information if:</p>
193
+            <p>(1) It is relevant to our performance of obligations stipulated in laws and regulations;<br>(2) it is
194
+                directly related to national security or national defense security;<br>(3) it is directly related to
195
+                public security, public health or major public interests;<br>(4) it is directly related to criminal
196
+                investigation, prosecution, examination and approval and execution of judgment;<br>(5) we have evidence
197
+                to show that you have engaged in subjective malice or abuse of power;<br>(6) it is for the purpose of
198
+                safeguarding the major legitimate rights and interests of the personal information subject or other
199
+                individuals, such as life and property, but it is difficult to get your consent;<br>(7) your request
200
+                will cause serious damage to the legitimate rights and interests of you or other individuals or
201
+                organizations; and,<br>(8) any trade secret is involved.</p>
202
+            <p><b>6</b><b>. Preservation and cross-border transfer of your personal information</b><b></b></p>
203
+            <p>We will store the information that we collected about you in the People's Republic of China. If we
204
+                transfer the personal information overseas for business purposes in accordance with applicable laws and
205
+                regulations, we will obtain your consent in advance and inform you of the purpose of cross-border
206
+                transfer, receiving party, security measures, security risks and other information.</p>
207
+            <p><b>7</b><b>. How is this Policy updated</b><b></b></p>
208
+            <p>7.1 Our <i>Privacy Policy</i>&nbsp;is subject to change.</p>
209
+            <p>7.2 We will publish any changes to this Policy through our company's official website.</p>
210
+            <p>7.3 For any material changes, we will also provide a more prominent notice (including for some services,
211
+                we will send a notice by email stating specific changes to the privacy policy).</p>
212
+            <p>7.4 The material changes referred to this Policy include but are not limited to:</p>
213
+            <p>(1) Material changes to our service model. For example, the purpose of processing personal information,
214
+                the type of personal information processed, the use of personal information, etc.;<br>(2) material
215
+                changes in our ownership structure, organizational structure, etc. For example, the change of owner
216
+                caused by business adjustment, bankruptcy merger and acquisition;<br>(3) changes in the main objects of
217
+                personal information sharing, transfer or public disclosure;<br>(4) material changes in your right to
218
+                participate in the processing of personal information and the way in which you exercise it;<br>(5)
219
+                changes in the departments responsible for handling personal information security, contact information
220
+                and complaint channels; and,<br>(6) personal information security impact assessment report indicates
221
+                that there is a high risk.</p>
222
+            <p><b>8</b><b>. How to contact us</b><b></b></p>
223
+            <p>If you have any questions or comments about the content of this policy statement, or about Foton&nbsp;Overseas's
224
+                practice and operation of this <i>Privacy Policy</i>, you can contact us at <strong><a target="_blank"
225
+                                                                                                       href="mailto:ftglobal@foton.com.cn">ftglobal@foton.com.cn</a>.</strong>
226
+            </p></div>
227
+    </div>
228
+</div>
229
+<#include "./footer.ftl" parse=true encoding="utf-8">
230
+<script defer="defer" src="./runtime/index.js"></script>
231
+<script defer="defer" src="./vendor/index.js"></script>
232
+<script defer="defer" src="./common/index.js"></script>
233
+<script defer="defer" src="./privacy/index.js"></script>
234
+</body>
235
+</html>

+ 42
- 0
templates/products.ftl 파일 보기

@@ -0,0 +1,42 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"PRODUCTS"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
12
+    <link rel="stylesheet" href="./static/css/animate.min.css">
13
+    <link href="./common/index.css" rel="stylesheet">
14
+    <link href="./products/index.css" rel="stylesheet">
15
+
16
+    <meta property="og:title" content="PRODUCTS" />
17
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
18
+    <meta property="og:image" content="http://8.218.104.92/static/images/index/Banner05.jpg" />
19
+    <meta property="og:description" content="PRODUCTS" />
20
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
21
+</head>
22
+<body>
23
+<#include "./header.ftl" parse=true encoding="utf-8">
24
+<div class="main">
25
+    <div class="content">
26
+        <div class="carCon">
27
+            <div class="carLeft">
28
+                <div class="carLeftOver"></div>
29
+            </div>
30
+            <div class="carRight"></div>
31
+            <div class="clear"></div>
32
+        </div>
33
+    </div>
34
+</div>
35
+<#include "./footer.ftl" parse=true encoding="utf-8">
36
+
37
+<script defer="defer" src="./runtime/index.js"></script>
38
+<script defer="defer" src="./vendor/index.js"></script>
39
+<script defer="defer" src="./common/index.js"></script>
40
+<script defer="defer" src="./products/index.js"></script>
41
+</body>
42
+</html>

+ 234
- 0
templates/productsBrand.ftl 파일 보기

@@ -0,0 +1,234 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!""}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
12
+    <link rel="stylesheet" href="/static/css/animate.min.css">
13
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
14
+    <link href="/common/index.css" rel="stylesheet">
15
+    <link href="/productsBrandEvNew/index.css" rel="stylesheet">
16
+
17
+<#--    <meta property="og:title" content="PRODUCTS" />-->
18
+<#--    <meta property="og:url" content="http://www.sharethis.com" />-->
19
+<#--    <meta property="og:image" content="http://8.218.104.92/static/images/index/Banner05.jpg" />-->
20
+<#--    <meta property="og:description" content="PRODUCTS" />-->
21
+<#--    <meta property="og:site_name" content="ShareThis" />-->
22
+</head>
23
+<body>
24
+<#include "./header.ftl" parse=true encoding="utf-8">
25
+<div class="main">
26
+<#--    焦点图-->
27
+    <#list brandDetatil as brandDetatil>
28
+        <#if brandDetatil.column == 'banner'>
29
+        <div class="banner">
30
+            <#if brandDetatil.dataJsonObj.imgOrVideo == 'img'>
31
+                <picture class="lazy">
32
+                    <source data-srcset="${brandDetatil.dataJsonObj.imgM.url}" srcset="" media="(max-width: 800px)"/>
33
+                    <img class="fit-image" data-src="${brandDetatil.dataJsonObj.imgPc.url}" src=""/>
34
+                </picture>
35
+            <#else>
36
+                <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
37
+                       loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
38
+                       x5-playsinline="true" src=""
39
+                       data-srcPc="${brandDetatil.dataJsonObj.imgPc.url}"
40
+                       data-srcM="${brandDetatil.dataJsonObj.imgM.url}">
41
+                </video>
42
+            </#if>
43
+            <#if brandDetatil.dataJsonObj.titlePosUD == 'up'
44
+                && brandDetatil.dataJsonObj.titlePosLR == 'right'>
45
+            <div class="bannerTit title_1 ${brandDetatil.dataJsonObj.titleColor}Tit bannerRight">
46
+            <#elseif brandDetatil.dataJsonObj.titlePosUD == 'down'
47
+                && brandDetatil.dataJsonObj.titlePosLR == 'right'>
48
+            <div class="bannerTit title_1 ${brandDetatil.dataJsonObj.titleColor}Tit bannerBottomR">
49
+            <#elseif brandDetatil.dataJsonObj.titlePosUD == 'down'
50
+                && brandDetatil.dataJsonObj.titlePosLR == 'left'>
51
+            <div class="bannerTit title_1 ${brandDetatil.dataJsonObj.titleColor}Tit bannerBottomL">
52
+            <#else>
53
+            <div class="bannerTit title_1 ${brandDetatil.dataJsonObj.titleColor}Tit ">
54
+            </#if>
55
+            <div>${brandDetatil.dataJsonObj.title}</div>
56
+            <#if brandDetatil.dataJsonObj.pText ??>
57
+                 <div class="bannerPtxt title_text">${brandDetatil.dataJsonObj.pText}</div>
58
+            </#if>
59
+            </div>
60
+        </div>
61
+        </#if>
62
+    </#list>
63
+    <div class="content">
64
+        <div class="history fadeInUp wow"><a class="icon_home" href="/"></a> >
65
+            <a href="/products.html">PRODUCTS</a> >
66
+            <span>${brandName}</span>
67
+        </div>
68
+        <div class="titleDiv title_1 fadeInUp wow">ALL ${brandName} MODELS</div>
69
+        <div class="carModeTabP fadeInUp wow">
70
+            <div class="carModeTab title_3">
71
+            </div>
72
+        </div>
73
+        <div class="carConP fadeInUp wow">
74
+            <div class="carCon">
75
+            </div>
76
+            <div class="carMore">
77
+                <div class="moreBtn">VIEW ${brandName} MODELS<span></span></div>
78
+            </div>
79
+            <div class="swiper carConM">
80
+                <div class="swiper-wrapper"></div>
81
+                <div class="swiperBtn">
82
+                    <div class="button-prev">
83
+                        <div class="viewArrow1"></div>
84
+                    </div>
85
+                    <div class="swiper-paginationM"></div>
86
+                    <div class="button-next">
87
+                        <div class="viewArrow1"></div>
88
+                    </div>
89
+                </div>
90
+            </div>
91
+        </div>
92
+        <div class="titleDiv title_1 fadeInUp wow">HIGHLIGHTS</div>
93
+        <#list brandDetatil as brandDetatil>
94
+        <#--亮点1   车图标题描述+链接-->
95
+            <#if brandDetatil.column == 'brandLight1'>
96
+                <div class="highLights">
97
+                    <#list brandDetatil.dataJsonObj.pTextList4 as ld1>
98
+                        <div class="highDiv">
99
+                            <img class="fadeInLeft wow" src="${ld1.img.url}"/>
100
+                            <div class="highTxt fadeInRight wow">
101
+                                <div class="txtH3 title_2">${ld1.title}</div>
102
+                                <#list ld1.pText as pText>
103
+                                    <div class="txtP content_text">${pText.txt}
104
+                                    </div>
105
+                                </#list>
106
+                                <a class="viewBtn text text-linkP" href="${ld1.url}">
107
+                                    <div class="viewText">VIEW MORE</div>
108
+                                    <div class="viewIcon">
109
+                                        <div class="viewArrow1"></div>
110
+                                        <div class="viewArrow2"></div>
111
+                                    </div>
112
+                                </a>
113
+                                <div class="highNum">0${ld1_index+1}</div>
114
+                            </div>
115
+                        </div>
116
+                    </#list>
117
+                </div>
118
+            <#elseif brandDetatil.column == 'brandLight2'>
119
+                <div class="highLightsEv">
120
+                    <div class="highBg">
121
+                        <img class="fadeInUp wow" src=""/></div>
122
+                    <div class="highVan fadeInUp wow">
123
+                        <div class="ul">
124
+                            <#list brandDetatil.dataJsonObj.pTextList4 as ld2>
125
+                                <div class="li title_3" data-img="${ld2.img.url}"
126
+                                     data-imgm="${ld2.img.url}">
127
+                                    <div class="title">${ld2.title}
128
+                                        <span class="add"></span>
129
+                                        <span class="addf"></span>
130
+                                    </div>
131
+                                    <#list ld2.pText as pText>
132
+                                        <div class="p content_text">${pText.txt}</div>
133
+                                    </#list>
134
+                                </div>
135
+                            </#list>
136
+                        </div>
137
+                    </div>
138
+                </div>
139
+            <#elseif brandDetatil.column == 'brandLight3'>
140
+                <div class="highLightsVan">
141
+                    <div class="highVan">
142
+                        <div class="ul">
143
+                            <#list brandDetatil.dataJsonObj.pTextList4 as ld3>
144
+                                <div class="li title_3">
145
+                                    <div class="title fadeInLeft wow">${ld3.title}</div>
146
+                                    <#list ld3.pText as pText>
147
+                                        <div class="p content_text fadeInLeft wow">${pText.txt}
148
+                                        </div>
149
+                                    </#list>
150
+                                    <div class="img fadeInRight wow"><img src="${ld3.img.url}"/>
151
+                                    </div>
152
+                                </div>
153
+                            </#list>
154
+                        </div>
155
+                    </div>
156
+                </div>
157
+            </#if>
158
+        </#list>
159
+
160
+        <div class="titleDiv title_1 fadeInUp wow">CUSTOMER STORY TESTIMONY</div>
161
+        <div class="swiper mySwiper fadeInUp wow">
162
+            <div class="swiper-wrapper">
163
+                <#list brandTestimony as brandTestimony>
164
+                    <div class="swiper-slide">
165
+                        <div class="img">
166
+                            <div><img src="${brandTestimony.pcImgUrl}"/></div>
167
+                        </div>
168
+                        <div class="name">${brandTestimony.userName}</div>
169
+                        <div class="brief">${brandTestimony.job}</div>
170
+                        <div class="desc">${brandTestimony.brandTestimony}
171
+                            <span>“</span>
172
+                            <span class="descIcon">”</span>
173
+                        </div>
174
+                    </div>
175
+                </#list>
176
+            </div>
177
+            <div class="swiper-pagination"></div>
178
+        </div>
179
+
180
+        <div class="titleDiv title_1 fadeInUp wow">NEWS</div>
181
+        <div class="newList fadeInUp wow">
182
+            <#list newsList as news>
183
+                <div class="newLi">
184
+                    <a href="${news.newsDetailUrl}" target="_blank">
185
+                        <div><img src="${news.surfaceUrl}" alt=""></div>
186
+                        <p class="content_text">${news.title}</p>
187
+                        <span>${(news.date)?string('yyyy-MM-dd')}</span>
188
+                    </a>
189
+                </div>
190
+            </#list>
191
+        </div>
192
+        <a class="viewBtn whiteIcon newsBtn fadeInUp wow" href="/news.html">
193
+            <div class="viewText">VIEW MORE</div>
194
+            <div class="viewIcon">
195
+                <div class="viewArrow1"></div>
196
+                <div class="viewArrow2"></div>
197
+            </div>
198
+        </a></div>
199
+</div>
200
+<#include "./footer.ftl" parse=true encoding="utf-8">
201
+<div class="adminFrom">
202
+    <div class="fromCon"><h3>替换内容</h3>
203
+        <div class="fromTable"></div>
204
+        <div class="fromBtn">
205
+            <div class="btnClear">取消</div>
206
+            <div class="btnOk">确定</div>
207
+        </div>
208
+    </div>
209
+</div>
210
+<div class="tableFrom">
211
+    <div class="fromCon"><h3>替换内容</h3>
212
+        <div class="form">
213
+            <div class="left-form">
214
+                <div class="left-newBtn">新增</div>
215
+                <div class="left-tableContain"></div>
216
+            </div>
217
+            <div class="right-form">
218
+                <div class="newBtn">新增</div>
219
+                <div class="head-form"></div>
220
+                <div class="tableContain"></div>
221
+            </div>
222
+        </div>
223
+        <div class="fromBtn">
224
+            <div class="btnClear">取消</div>
225
+            <div class="btnOk">确定</div>
226
+        </div>
227
+    </div>
228
+</div>
229
+<script defer="defer" src="/runtime/index.js"></script>
230
+<script defer="defer" src="/vendor/index.js"></script>
231
+<script defer="defer" src="/common/index.js"></script>
232
+<script defer="defer" src="/productsBrandEvNew/index.js"></script>
233
+</body>
234
+</html>

+ 695
- 0
templates/productsDetail.ftl 파일 보기

@@ -0,0 +1,695 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!""}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
12
+    <link rel="stylesheet" href="/static/css/animate.min.css">
13
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
14
+    <link href="/common/index.css" rel="stylesheet">
15
+    <link href="/productsDetailTruckNew/index.css" rel="stylesheet">
16
+
17
+<#--    <meta property="og:title" content="Join the best company in the world!" />-->
18
+<#--    <meta property="og:url" content="http://www.sharethis.com" />-->
19
+<#--    <meta property="og:image" content="http://sharethis.com/images/logo.jpg" />-->
20
+<#--    <meta property="og:description" content="ShareThis is its people. It's imperative that we hire smart,innovative people who can work intelligently as we continue to disrupt the very category we created. Come join us!" />-->
21
+<#--    <meta property="og:site_name" content="ShareThis" />-->
22
+</head>
23
+<body>
24
+<#include "./header.ftl" parse=true encoding="utf-8">
25
+<div class="main">
26
+    <#--    焦点图-->
27
+    <#list carDetatil as carDetatil>
28
+        <#if carDetatil.column == 'banner'>
29
+            <div class="banner">
30
+                <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
31
+                <picture class="lazy">
32
+                    <source data-srcset="${carDetatil.dataJsonObj.imgM.url}" srcset="" media="(max-width: 800px)"/>
33
+                    <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url}" src=""/>
34
+                </picture>
35
+                <#else>
36
+                <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
37
+                       loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
38
+                       x5-playsinline="true" src=""
39
+                       data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
40
+                       data-srcM="${carDetatil.dataJsonObj.imgM.url}">
41
+                </video>
42
+                </#if>
43
+                <#if carDetatil.dataJsonObj.titlePosUD == 'up'
44
+                    && carDetatil.dataJsonObj.titlePosLR == 'right'>
45
+                <div class="bannerTit title_1 ${carDetatil.dataJsonObj.titleColor}Tit bannerRight">
46
+                <#elseif carDetatil.dataJsonObj.titlePosUD == 'down'
47
+                    && carDetatil.dataJsonObj.titlePosLR == 'right'>
48
+                <div class="bannerTit title_1 ${carDetatil.dataJsonObj.titleColor}Tit bannerBottomR">
49
+                <#elseif carDetatil.dataJsonObj.titlePosUD == 'down'
50
+                    && carDetatil.dataJsonObj.titlePosLR == 'left'>
51
+                <div class="bannerTit title_1 ${carDetatil.dataJsonObj.titleColor}Tit bannerBottomL">
52
+                <#else>
53
+                    <div class="bannerTit title_1 ${carDetatil.dataJsonObj.titleColor}Tit ">
54
+                </#if>
55
+                    <div>${carDetatil.dataJsonObj.title}</div>
56
+                    <#if carDetatil.dataJsonObj.pText ??>
57
+                        <div class="bannerPtxt title_text">${carDetatil.dataJsonObj.pText}</div>
58
+                    </#if>
59
+                </div>
60
+            </div>
61
+        </#if>
62
+    </#list>
63
+    <#--    栏目锚点-->
64
+        <div class="twoMenu fadeInUp wow">
65
+            <div class="menuCon">
66
+                <div class="conAll">
67
+                    <#list carDetatil as carDetatil>
68
+                    <#if carDetatil.column == 'banner'>
69
+<#--                    || carDetatil.column == 'upTdi'-->
70
+<#--                    || carDetatil.column == 'lsirtpc'-->
71
+<#--                    || carDetatil.column == 'twoTpi'-->
72
+                    <#else>
73
+                        <#if carDetatil.columnName?? && carDetatil.columnName != ''>
74
+                            <#if carDetatil_index == 0>
75
+                                <div class="li liActive">${carDetatil.columnName}</div>
76
+                            <#else>
77
+                                <div class="li">${carDetatil.columnName}</div>
78
+                            </#if>
79
+                        </#if>
80
+                    </#if>
81
+                    </#list>
82
+                </div>
83
+                <div class="menuJump">CONTACT US</div>
84
+            </div>
85
+        </div>
86
+    <#--    所属菜单-->
87
+    <div class="history fadeInUp wow"><a class="icon_home" href="/"></a> > <a href="/products.html">PRODUCTS</a>
88
+        ><span>${modelName}</span></div>
89
+
90
+    <#list carDetatil as carDetatil>
91
+    <#--模块二 横向轮播带参数-->
92
+    <#if carDetatil.column == 'hxlb'>
93
+        <div class="carSw hxlb"
94
+            <#if carDetatil.columnName?? && carDetatil.columnName != ''>
95
+                id="${carDetatil.columnName}"
96
+            </#if>
97
+        >
98
+            <#-- 标题+描述-->
99
+            <div class="titleDiv title_1 fadeInUp wow">
100
+                <#if carDetatil.dataJsonObj.title??>
101
+                ${carDetatil.dataJsonObj.title}
102
+                </#if>
103
+                <#if carDetatil.dataJsonObj.pText ??>
104
+                    <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
105
+                </#if>
106
+            </div>
107
+            <div class="swiper carSwiper fadeInUp wow">
108
+                <div class="carBgTxt">
109
+                    <#if carDetatil.dataJsonObj.imgPc ??>
110
+                        <img src="${carDetatil.dataJsonObj.imgPc.url}"/>
111
+                    </#if>
112
+                </div>
113
+                <div class="swiper-wrapper">
114
+                    <img src=""/>
115
+                </div>
116
+                <div class="carPagination">
117
+                    <div class="carPaginationDiv">
118
+                        <#-- 轮播图-颜色+图-->
119
+                        <#list carDetatil.dataJsonObj.fileListNew as fileListNew>
120
+                            <div class="swiper-pagination-bullet" style="background:${fileListNew.color}"></div>
121
+                        </#list>
122
+                    </div>
123
+                </div>
124
+            </div>
125
+            <div class="carDetail">
126
+                <div class="detilL fadeInLeft wow">
127
+                    <#-- 指标-->
128
+                    <#list carDetatil.dataJsonObj.leftInfo as zb>
129
+                        <div>
130
+                            <div class="detilLNum">${zb.title}</div>
131
+                            <div>${zb.value}</div>
132
+                        </div>
133
+                    </#list>
134
+                </div>
135
+                <div class="detilR fadeInRight wow">
136
+                    <#--  右下图片-->
137
+                    <#list carDetatil.dataJsonObj.fileListNew as fileListNew>
138
+                        <div class="carZu">
139
+                            <#list fileListNew.imgzu as imgzu>
140
+                                <div><img data-src="${imgzu.url}"/></div>
141
+                            </#list>
142
+                        </div>
143
+                    </#list>
144
+                </div>
145
+            </div>
146
+        </div>
147
+    <#elseif carDetatil.column == 'twoTpi'>
148
+    <#--    模块十二 二级标题描述图片 1小图-->
149
+    <div class="txtImg txtImg${carDetatil.dataJsonObj.imgPos} twoTpi"
150
+            <#if carDetatil.columnName?? && carDetatil.columnName != ''>
151
+        id="${carDetatil.columnName}"
152
+            </#if>
153
+    >
154
+        <div class="txtDiv">
155
+            <div class="txtCon fadeIn${(carDetatil.dataJsonObj.imgPos=='R')?string('Right','Left')} wow">
156
+                <#if carDetatil.dataJsonObj.title??>
157
+                <div class="titleB title_2">${carDetatil.dataJsonObj.title}</div>
158
+                </#if>
159
+                <#list carDetatil.dataJsonObj.pTextList as ms>
160
+                    <div class="p content_text">${ms}</div>
161
+                </#list>
162
+            </div>
163
+            <div class="imgCon fadeIn${(carDetatil.dataJsonObj.imgPos=='R')?string('Left','Right')} wow">
164
+                <img src="${carDetatil.dataJsonObj.imgPc.url}"/>
165
+            </div>
166
+        </div>
167
+    </div>
168
+    <#elseif carDetatil.column == 'oneTpsi'>
169
+    <#-- 模块十三 一级标题描述+轮播图片-->
170
+    <div class="txtImg txtImgR gallery oneTpsi"
171
+         <#if carDetatil.columnName?? && carDetatil.columnName != ''>
172
+         id="${carDetatil.columnName}"
173
+         </#if>
174
+    >
175
+        <div class="txtDiv">
176
+            <div class="txtCon fadeInRight wow">
177
+                <#if carDetatil.dataJsonObj.title??>
178
+                <div class="title title_1">${carDetatil.dataJsonObj.title}</div>
179
+                </#if>
180
+                <#list carDetatil.dataJsonObj.pTextList as pText>
181
+                <div class="p title_text">${pText}</div>
182
+                </#list>
183
+            </div>
184
+            <div class="imgCon fadeInLeft wow">
185
+                <img src="${carDetatil.dataJsonObj.fileList[0].url}"/>
186
+                <#if carDetatil.dataJsonObj.fileListTxt[0]?? &&
187
+                    carDetatil.dataJsonObj.fileListTxt[0] != ''>
188
+                <div class="content_text txt swiper-no-swiping">${carDetatil.dataJsonObj.fileListTxt[0]}</div>
189
+                </#if>
190
+            </div>
191
+        </div>
192
+        <div class="imgDiv fadeInUp wow">
193
+            <div class="swiper imgSwiper">
194
+                <div class="swiper-wrapper">
195
+                    <#list carDetatil.dataJsonObj.fileList as tp>
196
+                    <#list carDetatil.dataJsonObj.fileListTxt as ms>
197
+                        <#if tp_index == ms_index && tp_index != 0>
198
+                            <div class="swiper-slide">
199
+                                <img class="fadeInUp wow" src="${tp.url}"/>
200
+                                <#if ms ?? && ms != ''>
201
+                                <div class="content_text txt swiper-no-swiping">${ms}
202
+                                </div>
203
+                                </#if>
204
+                            </div>
205
+                        </#if>
206
+                    </#list>
207
+                    </#list>
208
+                </div>
209
+            </div>
210
+            <div class="swiper-pagination imgPaginationPc"></div>
211
+        </div>
212
+        <div class="imgDivm">
213
+            <div class="swiper imgSwiperm">
214
+                <div class="swiper-wrapper">
215
+                    <#list carDetatil.dataJsonObj.fileList as tp>
216
+                        <#list carDetatil.dataJsonObj.fileListTxt as ms>
217
+                            <#if tp_index == ms_index && tp_index != 0>
218
+                                <div class="swiper-slide">
219
+                                    <img src="${tp.url}"/>
220
+                                    <#if ms ??>
221
+                                        <div class="content_text txt">${ms}
222
+                                        </div>
223
+                                    </#if>
224
+                                </div>
225
+                            </#if>
226
+                        </#list>
227
+                    </#list>
228
+                </div>
229
+            </div>
230
+            <div class="swiper-pagination imgPagination"></div>
231
+        </div>
232
+    </div>
233
+    <#elseif carDetatil.column == 'utpi'>
234
+    <#-- 模块十一 上标题描述图片 1大图-->
235
+    <div class="imgTxt fadeInUp wow utpi"
236
+        <#if carDetatil.columnName?? && carDetatil.columnName != ''>
237
+            id="${carDetatil.columnName}"
238
+        </#if>
239
+    >
240
+        <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
241
+            <picture class="lazy">
242
+                <source data-srcset="${carDetatil.dataJsonObj.imgM.url}" srcset="" media="(max-width: 800px)"/>
243
+                <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url}" src=""/>
244
+            </picture>
245
+        <#else>
246
+            <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
247
+                   loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
248
+                   x5-playsinline="true" src=""
249
+                   data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
250
+                   data-srcM="${carDetatil.dataJsonObj.imgM.url}">
251
+            </video>
252
+        </#if>
253
+        <#if carDetatil.dataJsonObj.titleColor??>
254
+        <div class="titleDiv title_1 ${(carDetatil.dataJsonObj.titleColor=='white')?string('whiteTxt','')}">
255
+        <#else>
256
+        <div class="titleDiv title_1">
257
+        </#if>
258
+            <#if carDetatil.dataJsonObj.title??>
259
+                ${carDetatil.dataJsonObj.title}
260
+            </#if>
261
+            <#if carDetatil.dataJsonObj.pText??>
262
+                <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
263
+            </#if>
264
+        </div>
265
+    </div>
266
+    <#elseif carDetatil.column == 'utidtpci'>
267
+    <#-- 模块八 上大图标题,下若干二级标题,详情标题,详情,图片-->
268
+    <div class="imgTxt fadeInUp wow utidtpci"
269
+        <#if carDetatil.columnName?? && carDetatil.columnName != ''>
270
+            id="${carDetatil.columnName}"
271
+        </#if>
272
+    >
273
+        <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
274
+            <picture class="lazy">
275
+                <source data-srcset="${carDetatil.dataJsonObj.imgM.url}" srcset="" media="(max-width: 800px)"/>
276
+                <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url}" src=""/>
277
+            </picture>
278
+        <#else>
279
+            <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
280
+                   loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
281
+                   x5-playsinline="true" src=""
282
+                   data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
283
+                   data-srcM="${carDetatil.dataJsonObj.imgM.url}">
284
+            </video>
285
+        </#if>
286
+        <#if carDetatil.dataJsonObj.titleColor??>
287
+        <div class="titleDiv title_1 ${(carDetatil.dataJsonObj.titleColor=='white')?string('whiteTxt','')}">
288
+        <#else>
289
+        <div class="titleDiv title_1">
290
+        </#if>
291
+        <#if carDetatil.dataJsonObj.title??>
292
+            ${carDetatil.dataJsonObj.title}
293
+        </#if>
294
+        <#if carDetatil.dataJsonObj.pText??>
295
+            <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
296
+        </#if>
297
+        </div>
298
+    </div>
299
+    <#list carDetatil.dataJsonObj.pTextList4 as tp_ms>
300
+        <#if (tp_ms_index+1)%2 == 1>
301
+        <div class="txtImg txtImgL utidtpci">
302
+            <div class="txtDiv">
303
+                <div class="txtCon fadeInLeft wow">
304
+                    <#if tp_ms.title??>
305
+                    <div class="titleB title_2">${tp_ms.title}</div>
306
+                    </#if>
307
+                    <#list tp_ms.pText as bt_ms>
308
+                        <#if bt_ms.title?? && bt_ms.title != "">
309
+                            <div class="title title_3">${bt_ms.title}</div>
310
+                        </#if>
311
+                        <#if bt_ms.txt??>
312
+                            <div class="p content_text">${bt_ms.txt}</div>
313
+                        </#if>
314
+                    </#list>
315
+                </div>
316
+                <div class="imgCon fadeInRight wow">
317
+                    <img src="${tp_ms.img.url}"/>
318
+                </div>
319
+            </div>
320
+        </div>
321
+        <#else>
322
+        <div class="txtImg txtImgR utidtpci">
323
+            <div class="txtDiv">
324
+                <div class="txtCon fadeInRight wow">
325
+                    <#if tp_ms.title??>
326
+                    <div class="titleB title_2">${tp_ms.title}</div>
327
+                    </#if>
328
+                    <#list tp_ms.pText as bt_ms>
329
+                        <#if bt_ms.title?? && bt_ms.title != "">
330
+                        <div class="title title_3">${bt_ms.title}</div>
331
+                        </#if>
332
+                        <#if bt_ms.txt??>
333
+                        <div class="p content_text">${bt_ms.txt}
334
+                        </#if>
335
+                        </div>
336
+                    </#list>
337
+                </div>
338
+                <div class="imgCon fadeInLeft wow">
339
+                    <img src="${tp_ms.img.url}"/>
340
+                </div>
341
+            </div>
342
+        </div>
343
+        </#if>
344
+    </#list>
345
+    <#elseif carDetatil.column == 'lsirtpc'>
346
+    <#-- 模块九 左竖向轮播图,右二级标题,详情标题,详情数组-->
347
+            <div class="txtImg txtImgR lsirtpc"
348
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
349
+                    id="${carDetatil.columnName}"
350
+                </#if>
351
+            >
352
+                <div class="txtDiv">
353
+                    <div class="txtCon fadeInRight wow">
354
+                        <#if carDetatil.dataJsonObj.title??>
355
+                        <div class="titleB title_2">${carDetatil.dataJsonObj.title}</div>
356
+                        </#if>
357
+                        <#list carDetatil.dataJsonObj.pTextList2 as bt_ms>
358
+                            <div class="title title_3">${bt_ms[0]}</div>
359
+                            <div class="p content_text">${bt_ms[1]}</div>
360
+                        </#list>
361
+                    </div>
362
+                    <div class="imgCon fadeInLeft wow">
363
+                        <img class="imgHide" src="${carDetatil.dataJsonObj.fileList[0].url}"/>
364
+                        <div class="swiper imgSwiper">
365
+                            <div class="swiper-wrapper">
366
+                                <#list carDetatil.dataJsonObj.fileList as lbt>
367
+                                    <div class="swiper-slide">
368
+                                        <img src="${lbt.url}"/>
369
+                                    </div>
370
+                                </#list>
371
+                            </div>
372
+                            <div class="swiper-pagination imgPagination"></div>
373
+                        </div>
374
+                    </div>
375
+                </div>
376
+            </div>
377
+    <#elseif carDetatil.column == 'uidi'>
378
+    <#-- 模块十 上2图,下2图 若干大图-->
379
+            <div class="carFourImg uidi"
380
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
381
+                    id="${carDetatil.columnName}"
382
+                </#if>
383
+            >
384
+                <div class="titleDiv title_1 fadeInUp wow">${carDetatil.dataJsonObj.title}</div>
385
+                <div class="img">
386
+                    <div class="imgDiv minImg imgL fadeInLeft wow">
387
+                            <img src="${carDetatil.dataJsonObj.fileList[0].url}"/></div>
388
+                    <div class="imgDiv maxImg imgR fadeInRight wow">
389
+                            <img src="${carDetatil.dataJsonObj.fileList[1].url}"/></div>
390
+                    <div class="imgDiv maxImg imgL fadeInLeft wow">
391
+                            <img src="${carDetatil.dataJsonObj.fileList[2].url}"/></div>
392
+                    <div class="imgDiv minImg imgR fadeInRight wow">
393
+                            <img src="${carDetatil.dataJsonObj.fileList[3].url}"/></div>
394
+                    <div class="clear"></div>
395
+                </div>
396
+            </div>
397
+    <#elseif carDetatil.column == 'ltriTit'>
398
+    <#-- 模块三 左标题描述配置,右图-->
399
+            <div class="txtImg txtImgL ltriTit"
400
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
401
+                    id="${carDetatil.columnName}"
402
+                </#if>
403
+            >
404
+                <div class="txtDiv">
405
+                    <div class="txtCon fadeInLeft wow">
406
+                        <#--  左标题+描述-->
407
+                        <#if carDetatil.dataJsonObj.title??>
408
+                        <div class="titleDiv title_1">${carDetatil.dataJsonObj.title}</div>
409
+                        </#if>
410
+                        <#if carDetatil.dataJsonObj.pTextList??>
411
+                            <#list carDetatil.dataJsonObj.pTextList as pText>
412
+                                <div class="p title_text">${pText}</div>
413
+                            </#list>
414
+                        </#if>
415
+                        <#--  左配置-->
416
+                        <div class="titCon">
417
+<#--                            <#list carDetatil.dataJsonObj.leftInfo3 as pz>-->
418
+                                <div class="conLine">
419
+                                    <div class="num">${carDetatil.dataJsonObj.leftInfo3[0].title}
420
+                                        <span>${carDetatil.dataJsonObj.leftInfo3[0].dw}</span></div>
421
+                                    <div>${carDetatil.dataJsonObj.leftInfo3[0].value}</div>
422
+                                </div>
423
+                                <div>
424
+                                    <div class="divRig">
425
+                                        <div class="num">${carDetatil.dataJsonObj.leftInfo3[1].title}
426
+                                            <span>${carDetatil.dataJsonObj.leftInfo3[1].dw}</span></div>
427
+                                        <div>${carDetatil.dataJsonObj.leftInfo3[1].value}</div>
428
+                                    </div>
429
+                                </div>
430
+<#--                            </#list>-->
431
+                        </div>
432
+                    </div>
433
+                    <#--  右图-->
434
+                    <div class="imgCon fadeInRight wow">
435
+                        <img src="${carDetatil.dataJsonObj.imgPc.url}"/>
436
+                    </div>
437
+                </div>
438
+            </div>
439
+    <#elseif carDetatil.column == 'uitplsirtp'>
440
+    <#--模块四 上图标题描述,下左轮播4图右标题描述-->
441
+            <div class="imgTxt fadeInUp wow uitplsirtp"
442
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
443
+                    id="${carDetatil.columnName}"
444
+                </#if>
445
+            >
446
+                <#-- 大图+标题+描述-->
447
+                <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
448
+                <picture class="lazy">
449
+                    <source data-srcset="${carDetatil.dataJsonObj.imgPc.url}" srcset="" media="(max-width: 800px)"/>
450
+                    <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url}" src=""/>
451
+                </picture>
452
+                <#else>
453
+                <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
454
+                       loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
455
+                       x5-playsinline="true" src=""
456
+                       data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
457
+                       data-srcM="${carDetatil.dataJsonObj.imgM.url}">
458
+                </video>
459
+                </#if>
460
+                <#if carDetatil.dataJsonObj.titleColor??>
461
+                <div class="titleDiv title_1 ${(carDetatil.dataJsonObj.titleColor=='white')?string('whiteTxt','')}">
462
+                <#else>
463
+                <div class="titleDiv title_1">
464
+                </#if>
465
+                    <#if carDetatil.dataJsonObj.title??>
466
+                        ${carDetatil.dataJsonObj.title}
467
+                    </#if>
468
+                    <#if carDetatil.dataJsonObj.pText??>
469
+                    <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
470
+                    </#if>
471
+                </div>
472
+            </div>
473
+            <div class="txtImg txtImgR uitplsirtp">
474
+                <div class="txtDiv">
475
+                    <div class="txtCon fadeInRight wow">
476
+                        <#if carDetatil.dataJsonObj.title2??>
477
+                            <div class="titleB title_2">${carDetatil.dataJsonObj.title2}</div>
478
+                        </#if>
479
+                        <#list carDetatil.dataJsonObj.pTextList as pText2>
480
+                            <div class="p content_text">${pText2}</div>
481
+                        </#list>
482
+                    </div>
483
+                    <div class="imgCon fadeInLeft wow">
484
+                        <img src="/static/images/products/detail/truckCarTit2_1.jpg"/>
485
+                        <div class="myImgSwiper">
486
+                            <div class="swiper imgSwiper imgSwiperPc imgSwiper1">
487
+                                <div class="swiper-wrapper">
488
+                                    <#list carDetatil.dataJsonObj.fileList as lb>
489
+                                    <#-- 第一个-->
490
+                                        <#if (lb_index+1)%4 == 1>
491
+                                            <div class="swiper-slide">
492
+                                            <img src="${lb.url}"/>
493
+                                        <#else>
494
+                                            <img src="${lb.url}"/>
495
+                                        </#if>
496
+                                    <#-- 第四个或没有下一个了-->
497
+                                        <#if (lb_index+1)%4 == 0 || !lb_has_next>
498
+                                            </div>
499
+                                        </#if>
500
+                                    </#list >
501
+                                </div>
502
+                            </div>
503
+                            <div class="swiper imgSwiper imgSwiperm imgSwiper1m">
504
+                                <div class="swiper-wrapper">
505
+                                    <#list carDetatil.dataJsonObj.fileList as lb>
506
+                                        <div class="swiper-slide">
507
+                                            <img src="${lb.url}"/>
508
+                                        </div>
509
+                                    </#list>
510
+                                </div>
511
+                            </div>
512
+                            <div class="swiper-pagination imgPagination imgPagination1"></div>
513
+                        </div>
514
+                    </div>
515
+                </div>
516
+            </div>
517
+    <#elseif carDetatil.column == 'utpdirpdltpri'>
518
+    <#-- 模块五 上标题描述,中图片右描述,下左二级标题描述右图片-->
519
+            <div class="safer utpdirpdltpri"
520
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
521
+                    id="${carDetatil.columnName}"
522
+                </#if>
523
+            >
524
+                <#-- 上标题+描述-->
525
+                <div class="titleDiv title_1 fadeInUp wow">
526
+                    <#if carDetatil.dataJsonObj.title??>
527
+                    ${carDetatil.dataJsonObj.title}
528
+                    </#if>
529
+                    <#if carDetatil.dataJsonObj.pText??>
530
+                        <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
531
+                    </#if>
532
+                </div>
533
+                <#-- 中图片+描述-->
534
+                <div class="imgAllRtxt fadeInUp wow">
535
+                    <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
536
+                        <img src="${carDetatil.dataJsonObj.imgPc.url}"/>
537
+                    <#else>
538
+                        <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
539
+                               loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
540
+                               x5-playsinline="true" src=""
541
+                               data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
542
+                               data-srcM="${carDetatil.dataJsonObj.imgPc.url}">
543
+                        </video>
544
+                    </#if>
545
+                    <div class="rTxt fadeInRight wow" data-wow-delay="0.3s">
546
+                        <#list carDetatil.dataJsonObj.pTextList2 as pTextList2>
547
+                            <div>
548
+                            <div class="title title_2">${pTextList2[0]}</div>
549
+                            <div class="p content_text">${pTextList2[1]}</div>
550
+                            </div>
551
+                        </#list>
552
+                    </div>
553
+                </div>
554
+            </div>
555
+            <#-- 下左二级标题描述右图片-->
556
+            <div class="txtImg txtImgL utpdirpdltpri">
557
+                <div class="txtDiv">
558
+                    <div class="txtCon fadeInLeft wow">
559
+                        <#if carDetatil.dataJsonObj.title2??>
560
+                        <div class="titleB title_2">${carDetatil.dataJsonObj.title2}</div>
561
+                        </#if>
562
+                        <#list carDetatil.dataJsonObj.pTextList as pText>
563
+                            <div class="p p0 content_text">${pText}</div>
564
+                        </#list>
565
+                    </div>
566
+                    <div class="imgCon fadeInRight wow">
567
+                        <img src="${carDetatil.dataJsonObj.imgM.url}"/>
568
+                    </div>
569
+                </div>
570
+            </div>
571
+    <#elseif carDetatil.column == 'uitplsiritp'>
572
+    <#-- 模块六 上图标题描述,下左轮播4图右图标题描述数组-->
573
+            <div class="imgTxt fadeInUp wow uitplsiritp"
574
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
575
+                    id="${carDetatil.columnName}"
576
+                </#if>
577
+            class="powerId">
578
+                <#if carDetatil.dataJsonObj.imgOrVideo == 'img'>
579
+                    <picture class="lazy">
580
+                        <source data-srcset="${carDetatil.dataJsonObj.imgPc.url}" srcset="" media="(max-width: 800px)"/>
581
+                        <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url}" src=""/>
582
+                    </picture>
583
+                <#else>
584
+                    <video class="myVideo_" muted="muted" preload="metadata" autoplay="autoplay"
585
+                           loop="loop" webkit-playsinline="webkit-playsinline" playsinline="playsinline"
586
+                           x5-playsinline="true" src=""
587
+                           data-srcPc="${carDetatil.dataJsonObj.imgPc.url}"
588
+                           data-srcM="${carDetatil.dataJsonObj.imgPc.url}">
589
+                    </video>
590
+                </#if>
591
+                <#if carDetatil.dataJsonObj.titleColor??>
592
+                <div class="titleDiv title_1 ${(carDetatil.dataJsonObj.titleColor=='white')?string('whiteTxt','')}">
593
+                    <#else>
594
+                    <div class="titleDiv title_1">
595
+                        </#if>
596
+                        <#if carDetatil.dataJsonObj.title??>
597
+                            ${carDetatil.dataJsonObj.title}
598
+                        </#if>
599
+                        <#if carDetatil.dataJsonObj.pText??>
600
+                            <div class="p title_text">${carDetatil.dataJsonObj.pText}</div>
601
+                        </#if>
602
+                    </div>
603
+            </div>
604
+            <div class="txtImg txtImgR uitplsiritp power">
605
+                <div class="txtDiv">
606
+                    <div class="txtCon">
607
+                        <#list carDetatil.dataJsonObj.pTextList3 as tb>
608
+                            <div class="conIco fadeInUp wow" data-wow-delay="0s">
609
+                                <div class="iconImg">
610
+                                    <#if tb.icon.url??>
611
+                                        <img src="${tb.icon.url}"/>
612
+                                    </#if>
613
+                                </div>
614
+                                <#if tb.title??>
615
+                                <div class="iconTitle">${tb.title}</div>
616
+                                </#if>
617
+                                <#if tb.pText??>
618
+                                <div class="iconP">${tb.pText}</div>
619
+                                </#if>
620
+                            </div>
621
+                        </#list>
622
+                    </div>
623
+                    <div class="imgCon fadeInLeft wow">
624
+                        <img src="/static/images/products/detail/truckCarTit4_1.jpg"/>
625
+                        <div class="myImgSwiper">
626
+                            <div class="swiper imgSwiper imgSwiperPc imgSwiper2">
627
+                                <div class="swiper-wrapper">
628
+                                    <div class="swiper-slide">
629
+                                        <#list carDetatil.dataJsonObj.fileList as tp>
630
+                                            <img src="${tp.url}"/>
631
+                                        </#list>
632
+                                    </div>
633
+                                </div>
634
+                            </div>
635
+                            <div class="swiper imgSwiper imgSwiperm imgSwiper2m">
636
+                                <div class="swiper-wrapper">
637
+                                    <#list carDetatil.dataJsonObj.fileList as tp>
638
+                                        <#if tp_index != 3>
639
+                                        <div class="swiper-slide">
640
+                                            <img src="${tp.url}"/>
641
+                                        </div>
642
+                                        </#if>
643
+                                    </#list>
644
+                                </div>
645
+                            </div>
646
+                            <div class="swiper-pagination imgPagination imgPagination2"></div>
647
+                        </div>
648
+                    </div>
649
+                    <#if carDetatil.dataJsonObj.fileList[3] ??>
650
+                        <div class="imgMshow">
651
+                            <img src="${carDetatil.dataJsonObj.fileList[3].url}"/>
652
+                        </div>
653
+                    </#if>
654
+                </div>
655
+            </div>
656
+    <#elseif carDetatil.column == 'upTdi'>
657
+    <#-- 模块七 车型参数-->
658
+            <div class="carFoot upTdi"
659
+                <#if carDetatil.columnName?? && carDetatil.columnName != ''>
660
+                    id="${carDetatil.columnName}"
661
+                </#if>
662
+            >
663
+                <div class="titleDiv title_1 fadeInUp wow">${carDetatil.dataJsonObj.title}</div>
664
+                <div class="carFootCon">
665
+                    <div class="footConBg fadeInUp wow"></div>
666
+                    <div class="carCon">
667
+                        <div class="carConImg fadeInUp wow">
668
+                            <picture class="lazy">
669
+                                <source data-srcset="${carDetatil.dataJsonObj.imgM.url!""}" srcset=""
670
+                                        media="(max-width: 800px)"/>
671
+                                <img class="fit-image" data-src="${carDetatil.dataJsonObj.imgPc.url!""}" src=""/>
672
+                            </picture>
673
+                        </div>
674
+<#--                        <#if carDetatil.exlId??>-->
675
+                        <div class="carAllShow fadeInUp wow" data-wow-delay="0.4s" data-url="./configuration${carDetatil.uuid}.html">ALL CONFIGURATION</div>
676
+<#--                        </#if>-->
677
+                    </div>
678
+                </div>
679
+            </div>
680
+    </#if>
681
+    </#list>
682
+    </div>
683
+    <#include "./footer.ftl" parse=true encoding="utf-8">
684
+                <div class="zhezhao">
685
+                    <div class="img">
686
+                        <img class="imgSrc" src="" />
687
+                        <div class="closeZ">X</div>
688
+                    </div>
689
+                </div>
690
+    <script defer="defer" src="/runtime/index.js"></script>
691
+    <script defer="defer" src="/vendor/index.js"></script>
692
+    <script defer="defer" src="/common/index.js"></script>
693
+    <script defer="defer" src="/productsDetailTruckNew/index.js"></script>
694
+</body>
695
+</html>

+ 100
- 0
templates/selectCountry.ftl 파일 보기

@@ -0,0 +1,100 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"CHOOSE YOUR MARKET"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./selectCountry/index.css" rel="stylesheet">
20
+
21
+    <meta property="og:title" content="CHOOSE YOUR MARKET" />
22
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
23
+    <#--    <meta property="og:image" content="http://8.218.104.92/static/images/index/Banner05.jpg" />-->
24
+    <meta property="og:description" content="Visit your market site for more relevant information specific to your location" />
25
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
26
+</head>
27
+<body>
28
+<#include "./header.ftl" parse=true encoding="utf-8">
29
+<div class="main">
30
+    <section class="section bread mob">
31
+        <a class="icon" href="./index.html">
32
+            <img src="./static/images/selectCountry/home.jpg" class="fit-image">
33
+        </a>
34
+        <div class="bread-line">></div>
35
+        <div class="bread-link">Choose your market</div>
36
+    </section>
37
+    <section class="section part part_1">
38
+        <div class="title_2">CHOOSE YOUR MARKET</div>
39
+        <div class="content_text">Visit your market site for more relevant information specific to your location</div>
40
+        <div class="con">
41
+            <#list regionMapList as regionMap>
42
+                <div class="con-item">
43
+                    <div class="con-title">
44
+                        <span>${regionMap.region.region}</span>
45
+                        <span class="icon"></span>
46
+                    </div>
47
+                    <div class="countryData">
48
+                    <#list regionMap.countryMapList as countryMap>
49
+                        <#if countryMap.dealerList?size gt 1>
50
+                            <a href="javascript:;">
51
+                                <div class="country-item">${countryMap.country.country}</div>
52
+                            </a>
53
+                        <#else>
54
+                            <#list countryMap.dealerList as dealer>
55
+                            <a href="${dealer.url!""}" target="_blank">
56
+                            </#list>
57
+                                <div class="country-item">${countryMap.country.country}</div>
58
+                            </a>
59
+                        </#if>
60
+                    </#list>
61
+                    </div>
62
+                </div>
63
+            </#list>
64
+        </div>
65
+    </section>
66
+    <div class="modal">
67
+        <div class="con">
68
+            <#list regionMapList as regionMap>
69
+                <#list regionMap.countryMapList as countryMap>
70
+                    <#if countryMap.dealerList?size gt 1>
71
+                        <#list countryMap.dealerList as dealer>
72
+                            <div class="modal-item"  data-name="${countryMap.country.country}">
73
+                                <div class="content_text">${dealer.name}</div>
74
+                                <a class="text-link" href="${dealer.url}" target="_blank">${dealer.url}</a>
75
+                            </div>
76
+                        </#list>
77
+                    </#if>
78
+                </#list>
79
+            </#list>
80
+            <div class="before"></div>
81
+        </div>
82
+    </div>
83
+</div>
84
+<#include "./footer.ftl" parse=true encoding="utf-8">
85
+
86
+<script defer="defer" src="./runtime/index.js"></script>
87
+<script defer="defer" src="./vendor/index.js"></script>
88
+<script defer="defer" src="./common/index.js"></script>
89
+<script defer="defer" src="./selectCountry/index.js"></script>
90
+</body>
91
+<script>// 模块动画
92
+    var wow = new WOW({
93
+        boxClass: 'wow',
94
+        animateClass: 'animated',
95
+        offset: 100,
96
+        live: true,
97
+        mobile: false
98
+    });
99
+    wow.init();</script>
100
+</html>

+ 54
- 0
templates/service.ftl 파일 보기

@@ -0,0 +1,54 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"SERVICE"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./service/index.css" rel="stylesheet">
20
+
21
+    <meta property="og:title" content="SERVICE&PARTS" />
22
+    <#--    <meta property="og:url" content="http://www.sharethis.com" />-->
23
+    <meta property="og:image" content="http://8.218.104.92/static/images/service/banner.jpg" />
24
+    <meta property="og:description" content="Making a fast development in commercial vehicle business." />
25
+    <#--    <meta property="og:site_name" content="ShareThis" />-->
26
+</head>
27
+<body>
28
+<#include "./header.ftl" parse=true encoding="utf-8">
29
+${part}
30
+<#include "./footer.ftl" parse=true encoding="utf-8">
31
+<div class="adminFrom">
32
+    <div class="fromCon"><h3>替换内容</h3>
33
+        <div class="fromTable"></div>
34
+        <div class="fromBtn">
35
+            <div class="btnClear">取消</div>
36
+            <div class="btnOk">确定</div>
37
+        </div>
38
+    </div>
39
+</div>
40
+<script defer="defer" src="./runtime/index.js"></script>
41
+<script defer="defer" src="./vendor/index.js"></script>
42
+<script defer="defer" src="./common/index.js"></script>
43
+<script defer="defer" src="./service/index.js"></script>
44
+</body>
45
+<script>// 模块动画
46
+    var wow = new WOW({
47
+        boxClass: 'wow',
48
+        animateClass: 'animated',
49
+        offset: 100,
50
+        live: true,
51
+        mobile: false
52
+    });
53
+    wow.init();</script>
54
+</html>

+ 49
- 0
templates/sitemap.ftl 파일 보기

@@ -0,0 +1,49 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
7
+    <title>${htmlTitle!"sitemap"}</title>
8
+    <meta name="keywords" content=${keywords!""}>
9
+    <meta name="description" content=${description!""}>
10
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
11
+    <link rel="stylesheet" href="./static/css/animate.min.css">
12
+    <link href="./common/index.css" rel="stylesheet">
13
+    <link href="./sitemap/index.css" rel="stylesheet">
14
+</head>
15
+<body>
16
+<#include "./header.ftl" parse=true encoding="utf-8">
17
+<div class="main"><h2 class="title_2">SITE MAP</h2>
18
+    <div class="content">
19
+        <div>
20
+            <a class="mapTitle" href="./index.html">HOME</a>
21
+        </div>
22
+        <div>
23
+            <a class="mapTitle" href="./aboutUs-1.html">ABOUT US</a>
24
+            <a class="mapText" href="./aboutUs-1.html">OVERVIEW</a>
25
+            <a class="mapText" href="./aboutUs-2.html">WHO WE ARE</a>
26
+            <a class="mapText" href="./aboutUs-3.html">SUPPLY CHAIN</a>
27
+            <a class="mapText" href="./aboutUs-4.html">SUSTAINABILITY</a>
28
+            <a class="mapText" href="./aboutUs-5.html">INNOVATION</a>
29
+        </div>
30
+        <div>
31
+            <a class="mapTitle" href="./products.html">PRODUCTS</a>
32
+            <#list header as productMap>
33
+                <a class="mapText" href="./products.html?defaultTitle=${productMap.catege.uuid}">${productMap.catege.title}</a>
34
+            </#list>
35
+        </div>
36
+        <div><a class="mapTitle" href="./news.html">NEWS</a></div>
37
+        <div><a class="mapTitle" href="./dealer.html">DEALER</a></div>
38
+        <div><a class="mapTitle" href="./topic.html">ELECTROMOBILITY</a></div>
39
+        <div><a class="mapTitle" href="./service.html">SERVICE&PARTS</a></div>
40
+        <div><a class="mapTitle" href="./concatUs.html">CONTACT US</a></div>
41
+    </div>
42
+</div>
43
+<#include "./footer.ftl" parse=true encoding="utf-8">
44
+<script defer="defer" src="./runtime/index.js"></script>
45
+<script defer="defer" src="./vendor/index.js"></script>
46
+<script defer="defer" src="./common/index.js"></script>
47
+<script defer="defer" src="./sitemap/index.js"></script>
48
+</body>
49
+</html>

+ 69
- 0
templates/subject.ftl 파일 보기

@@ -0,0 +1,69 @@
1
+<#--话题-->
2
+<!doctype html>
3
+<html lang="cn">
4
+<head>
5
+    <meta charset="utf-8"/>
6
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
7
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
9
+    <meta name="apple-touch-fullscreen" content="yes">
10
+    <meta name="apple-mobile-web-app-capable" content="yes">
11
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
12
+    <title>${htmlTitle!"TOPIC"}</title>
13
+    <meta name="keywords" content=${keywords!""}>
14
+    <meta name="description" content=${description!""}>
15
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
16
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
17
+    <link rel="stylesheet" href="/static/css/animate.min.css">
18
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
19
+    <link href="/common/index.css" rel="stylesheet">
20
+    <link href="/subject/index.css" rel="stylesheet">
21
+</head>
22
+<body>
23
+<#include "./header.ftl" parse=true encoding="utf-8">
24
+${part}
25
+<#if gambit.topic??>
26
+    <div class="section part part_5 fadeInUp wow">
27
+        <div class="con">
28
+            <div class="title">${tag.name}</div>
29
+            <div class="text">${tag.describe!""}
30
+            </div>
31
+        </div>
32
+        <div class="con">
33
+            <div class="data">
34
+                <#list newsList as new>
35
+                    <div class="item fadeInUp wow">
36
+                        <a href="${new.newsDetailUrl}">
37
+                            <div class="bgImage">
38
+                                <picture class="lazy">
39
+                                    <source data-srcset="${new.surfaceUrl}" srcset="" media="(max-width: 800px)"/>
40
+                                    <img class="fit-image" data-src="${new.surfaceUrl}" src=""/>
41
+                                </picture>
42
+                            </div>
43
+                            <div class="info">${new.title} <span class="icon"></span></div>
44
+                            <div class="mask"></div>
45
+                        </a>
46
+                    </div>
47
+                </#list>
48
+            </div>
49
+        </div>
50
+    </div>
51
+</#if>
52
+</div>
53
+<#include "./footer.ftl" parse=true encoding="utf-8">
54
+
55
+<script defer="defer" src="/runtime/index.js"></script>
56
+<script defer="defer" src="/vendor/index.js"></script>
57
+<script defer="defer" src="/common/index.js"></script>
58
+<script defer="defer" src="/subject/index.js"></script>
59
+</body>
60
+<script>// 模块动画
61
+    var wow = new WOW({
62
+        boxClass: 'wow',
63
+        animateClass: 'animated',
64
+        offset: 100,
65
+        live: true,
66
+        mobile: false
67
+    });
68
+    wow.init();</script>
69
+</html>

+ 69
- 0
templates/subjectAggre.ftl 파일 보기

@@ -0,0 +1,69 @@
1
+<#--话题-->
2
+<!doctype html>
3
+<html lang="cn">
4
+<head>
5
+    <meta charset="utf-8"/>
6
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
7
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
9
+    <meta name="apple-touch-fullscreen" content="yes">
10
+    <meta name="apple-mobile-web-app-capable" content="yes">
11
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
12
+    <title>${htmlTitle!"TOPIC"}</title>
13
+    <meta name="keywords" content=${keywords!""}>
14
+    <meta name="description" content=${description!""}>
15
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
16
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
17
+    <link rel="stylesheet" href="/static/css/animate.min.css">
18
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
19
+    <link href="/common/index.css" rel="stylesheet">
20
+    <link href="/subject/index.css" rel="stylesheet">
21
+</head>
22
+<body>
23
+<#include "./header.ftl" parse=true encoding="utf-8">
24
+<div class='main'>
25
+<#if gambitList??>
26
+    <div class="section part part_5 fadeInUp wow">
27
+        <div class="con">
28
+            <div class="title">${gambitTag.name}</div>
29
+            <div class="text">${gambitTag.describe!""}
30
+            </div>
31
+        </div>
32
+        <div class="con">
33
+            <div class="data">
34
+                <#list gambitList as gambit>
35
+                    <div class="item fadeInUp wow">
36
+                        <a href="${gambit.subjectHtmlUrl}">
37
+                            <div class="bgImage">
38
+                                <picture class="lazy">
39
+                                    <source data-srcset="${gambit.mImgUrl}" srcset="" media="(max-width: 800px)"/>
40
+                                    <img class="fit-image" data-src="${gambit.pcImgUrl}" src=""/>
41
+                                </picture>
42
+                            </div>
43
+                            <div class="info">${gambit.name} <span class="icon"></span></div>
44
+                            <div class="mask"></div>
45
+                        </a>
46
+                    </div>
47
+                </#list>
48
+            </div>
49
+        </div>
50
+    </div>
51
+</#if>
52
+</div>
53
+<#include "./footer.ftl" parse=true encoding="utf-8">
54
+
55
+<script defer="defer" src="/runtime/index.js"></script>
56
+<script defer="defer" src="/vendor/index.js"></script>
57
+<script defer="defer" src="/common/index.js"></script>
58
+<script defer="defer" src="/subject/index.js"></script>
59
+</body>
60
+<script>// 模块动画
61
+    var wow = new WOW({
62
+        boxClass: 'wow',
63
+        animateClass: 'animated',
64
+        offset: 100,
65
+        live: true,
66
+        mobile: false
67
+    });
68
+    wow.init();</script>
69
+</html>

+ 53
- 0
templates/temporaryProduct.ftl 파일 보기

@@ -0,0 +1,53 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"TEMPORARY PRODUCT"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="/static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="/static/css/animate.min.css">
17
+    <script src="/static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="/common/index.css" rel="stylesheet">
19
+    <link href="/newsDetail/index.css" rel="stylesheet">
20
+</head>
21
+<body>
22
+<#include "./header.ftl" parse=true encoding="utf-8">
23
+<div class="main">
24
+    <section class="section banner">
25
+        <div class="bgImage">
26
+            <picture class="lazy">
27
+                <source data-srcset="/static/images/newsDetail/mob/banner.jpg" srcset="" media="(max-width: 800px)"/>
28
+                <img class="fit-image" data-src="/static/images/newsDetail/banner.jpg" src=""/></picture>
29
+        </div>
30
+    </section>
31
+    <section class="part">
32
+        <div class="date wow fadeInUp">${(news.date)?string('yyyy-MM-dd')}</div>
33
+        <div class="title wow fadeInUp">${news.title}</div>
34
+        <div class="data wow fadeInUp ql-editor">
35
+            ${news.content}
36
+        </div>
37
+    </section>
38
+</div>
39
+<#include "./footer.ftl" parse=true encoding="utf-8">
40
+<script defer="defer" src="/runtime/index.js"></script>
41
+<script defer="defer" src="/vendor/index.js"></script>
42
+<script defer="defer" src="/newsDetail/index.js"></script>
43
+</body>
44
+<script>// 模块动画
45
+    var wow = new WOW({
46
+        boxClass: 'wow',
47
+        animateClass: 'animated',
48
+        offset: 100,
49
+        live: true,
50
+        mobile: false
51
+    });
52
+    wow.init();</script>
53
+</html>

+ 75
- 0
templates/topic.ftl 파일 보기

@@ -0,0 +1,75 @@
1
+<#--专题首页-->
2
+<!doctype html>
3
+<html lang="cn">
4
+<head>
5
+    <meta charset="utf-8"/>
6
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
7
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
8
+    <title>${htmlTitle!"ELECTROMOBILITY"}</title>
9
+    <meta name="keywords" content=${keywords!""}>
10
+    <meta name="description" content=${description!""}>
11
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
12
+    <link href="./common/index.css" rel="stylesheet">
13
+    <link href="./topic/index.css" rel="stylesheet">
14
+</head>
15
+<body>
16
+<#include "./header.ftl" parse=true encoding="utf-8">
17
+<div class="main">
18
+    <div class="threeApp"></div>
19
+    <div class="bgMask"></div>
20
+    <div class="tip tipHide">
21
+        <div class="tipContent">
22
+            <div class="title"></div>
23
+            <div class="intro"></div>
24
+            <div class="date"></div>
25
+            <a class="btn">View More</a>
26
+            <a class="detailsMoreBtn prev">
27
+                <div class="iconIro">
28
+                    <div class="radio_btn"></div>
29
+                </div>
30
+            </a>
31
+        </div>
32
+    </div>
33
+</div>
34
+<div class="legendGroup-m">
35
+    <div class="legend legend1">Already Collaborated</div>
36
+    <div class="legend legend2">Upcoming Collaborations</div>
37
+</div>
38
+<div class="testDom"></div>
39
+<div class="uiContainer">
40
+    <div class="title">${overview.title}</div>
41
+    <div class="intro">${overview.pText}
42
+    </div>
43
+    <div class="countryList"></div>
44
+    <div class="legendGroup">
45
+        <div class="legend legend1">Already Collaborated</div>
46
+        <div class="legend legend2">Upcoming Collaborations</div>
47
+    </div>
48
+</div>
49
+<div id="loading" class="sk-cube-grid">
50
+    <div class="sk-cube sk-cube1"></div>
51
+    <div class="sk-cube sk-cube2"></div>
52
+    <div class="sk-cube sk-cube3"></div>
53
+    <div class="sk-cube sk-cube4"></div>
54
+    <div class="sk-cube sk-cube5"></div>
55
+    <div class="sk-cube sk-cube6"></div>
56
+    <div class="sk-cube sk-cube7"></div>
57
+    <div class="sk-cube sk-cube8"></div>
58
+    <div class="sk-cube sk-cube9"></div>
59
+</div>
60
+<#include "./footer.ftl" parse=true encoding="utf-8">
61
+<div class="adminFrom">
62
+    <div class="fromCon"><h3>替换内容</h3>
63
+        <div class="fromTable"></div>
64
+        <div class="fromBtn">
65
+            <div class="btnClear">取消</div>
66
+            <div class="btnOk">确定</div>
67
+        </div>
68
+    </div>
69
+</div>
70
+<script defer="defer" src="./runtime/index.js"></script>
71
+<script defer="defer" src="./vendor/index.js"></script>
72
+<script defer="defer" src="./common/index.js"></script>
73
+<script defer="defer" src="./topic/index.js"></script>
74
+</body>
75
+</html>

+ 64
- 0
templates/video.ftl 파일 보기

@@ -0,0 +1,64 @@
1
+<!doctype html>
2
+<html lang="cn">
3
+<head>
4
+    <meta charset="utf-8"/>
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
6
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
+    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
8
+    <meta name="apple-touch-fullscreen" content="yes">
9
+    <meta name="apple-mobile-web-app-capable" content="yes">
10
+    <#include "./headerUp.ftl" parse=true encoding="utf-8">
11
+    <title>${htmlTitle!"VIDEO"}</title>
12
+    <meta name="keywords" content=${keywords!""}>
13
+    <meta name="description" content=${description!""}>
14
+    <meta content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width" name="viewport"/>
15
+    <link href="./static/css/swiper-bundle.min.css" rel="stylesheet"/>
16
+    <link rel="stylesheet" href="./static/css/animate.min.css">
17
+    <script src="./static/js/wow.min.js" charset="utf-8"></script>
18
+    <link href="./common/index.css" rel="stylesheet">
19
+    <link href="./video/index.css" rel="stylesheet">
20
+</head>
21
+<body>
22
+<#include "./header.ftl" parse=true encoding="utf-8">
23
+<div class="main">
24
+    <section class="section part part_3 fadeInUp wow">
25
+        <div class="searchForm">
26
+            <div class="products"></div>
27
+            <div class="topics"></div>
28
+            <div class="time"></div>
29
+            <div class="all">ALL</div>
30
+        </div>
31
+        <div class="titleForm"></div>
32
+        <div id="list"></div>
33
+        <div id="pagination"></div>
34
+    </section>
35
+    <section class="section part part_4 fadeInUp wow"></section>
36
+</div>
37
+<div class="alertbox">
38
+    <div class="content">
39
+        <div class="alertheader">
40
+            <div class="close-btn">close</div>
41
+        </div>
42
+        <div class="alertbody">
43
+            <iframe style="width: 100%;height: 100%;" src="https://www.youtube.com/embed/6VmXuL6M0Vw" title="FOTON GENUINE PARTS IMAGE VIDEO" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="">
44
+            </iframe>
45
+        </div>
46
+    </div>
47
+</div>
48
+<#include "./footer.ftl" parse=true encoding="utf-8">
49
+
50
+<script defer="defer" src="./runtime/index.js"></script>
51
+<script defer="defer" src="./vendor/index.js"></script>
52
+<script defer="defer" src="./common/index.js"></script>
53
+<script defer="defer" src="./video/index.js"></script>
54
+</body>
55
+<script>// 模块动画
56
+    var wow = new WOW({
57
+        boxClass: 'wow',
58
+        animateClass: 'animated',
59
+        offset: 100,
60
+        live: true,
61
+        mobile: false
62
+    });
63
+    wow.init();</script>
64
+</html>

+ 22
- 0
webstudio-api/pom.xml 파일 보기

@@ -0,0 +1,22 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
3
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+    <parent>
5
+        <groupId>com.webstudio</groupId>
6
+        <artifactId>webstudio</artifactId>
7
+        <version>3.6.2</version>
8
+    </parent>
9
+    <modelVersion>4.0.0</modelVersion>
10
+
11
+    <modules>
12
+        <module>webstudio-api-system</module>
13
+    </modules>
14
+
15
+    <artifactId>webstudio-api</artifactId>
16
+    <packaging>pom</packaging>
17
+
18
+    <description>
19
+        webstudio-api系统接口
20
+    </description>
21
+
22
+</project>

+ 28
- 0
webstudio-api/webstudio-api-system/pom.xml 파일 보기

@@ -0,0 +1,28 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+         xmlns="http://maven.apache.org/POM/4.0.0"
4
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+    <parent>
6
+        <groupId>com.webstudio</groupId>
7
+        <artifactId>webstudio-api</artifactId>
8
+        <version>3.6.2</version>
9
+    </parent>
10
+    <modelVersion>4.0.0</modelVersion>
11
+    
12
+    <artifactId>webstudio-api-system</artifactId>
13
+
14
+    <description>
15
+        webstudio-api-system系统接口模块
16
+    </description>
17
+
18
+    <dependencies>
19
+		
20
+        <!-- RuoYi Common Core-->
21
+        <dependency>
22
+            <groupId>com.webstudio</groupId>
23
+            <artifactId>webstudio-common-core</artifactId>
24
+        </dependency>
25
+        
26
+    </dependencies>
27
+
28
+</project>

+ 81
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteFileService.java 파일 보기

@@ -0,0 +1,81 @@
1
+package com.webstudio.system.api;
2
+
3
+import org.springframework.cloud.openfeign.FeignClient;
4
+import org.springframework.http.MediaType;
5
+import org.springframework.web.bind.annotation.GetMapping;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.PostMapping;
8
+import org.springframework.web.bind.annotation.RequestPart;
9
+import org.springframework.web.multipart.MultipartFile;
10
+import com.webstudio.common.core.constant.ServiceNameConstants;
11
+import com.webstudio.common.core.domain.R;
12
+import com.webstudio.system.api.domain.SysFile;
13
+import com.webstudio.system.api.factory.RemoteFileFallbackFactory;
14
+
15
+/**
16
+ * 文件服务
17
+ * 
18
+ * @author ruoyi
19
+ */
20
+@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
21
+public interface RemoteFileService
22
+{
23
+    /**
24
+     * 上传文件
25
+     *
26
+     * @param file 文件信息
27
+     * @return 结果
28
+     */
29
+    @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
30
+    public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
31
+
32
+    /**
33
+     * 根据uuid查文件信息
34
+     */
35
+    @PostMapping(value = "/selectFileByUUID",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
36
+    public R<SysFile> selectFileByUUID(@RequestPart(value = "uuid") String uuid);
37
+
38
+
39
+    @PostMapping(value = "/selectThumFileByUUID",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
40
+    public R<SysFile> selectThumFileByUUID(@RequestPart(value = "uuid") String uuid);
41
+
42
+    /**
43
+     * 根据uuid下载文件并转输入流
44
+     */
45
+    @PostMapping(value = "/download",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
46
+    public R<byte[]> download(@RequestPart(value = "uuid") String uuid);
47
+
48
+    /**
49
+     * 根据uuid下载文件并转输入流
50
+     */
51
+    @PostMapping(value = "/downloadBase64",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
52
+    public R<String> downloadBase64(@RequestPart(value = "uuid") String uuid);
53
+
54
+    /**
55
+     * 根据uuid下载文件并转输入流
56
+     */
57
+    @PostMapping(value = "/createTempFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
58
+    public String createTempFile(@RequestPart(value = "uuid") String uuid);
59
+
60
+    /**
61
+     * 获取SysFile信息
62
+     * 带ip端口
63
+     */
64
+    @GetMapping("selectSysFileByUUID/{uuid}")
65
+    public R<SysFile> selectSysFileByUUID(@PathVariable("uuid") String uuid);
66
+
67
+    /**
68
+     * 获取SysFile信息
69
+     * 不带ip端口
70
+     */
71
+    @GetMapping("selectSysFileByUUIDNotIp/{uuid}")
72
+    public R<SysFile> selectSysFileByUUIDNotIp(@PathVariable("uuid") String uuid);
73
+
74
+    /**
75
+     *
76
+     * @return MinioUrl
77
+     */
78
+    @GetMapping("getMinioUrl")
79
+    public String getMinioUrl();
80
+
81
+}

+ 39
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteFormService.java 파일 보기

@@ -0,0 +1,39 @@
1
+package com.webstudio.system.api;
2
+
3
+import com.webstudio.common.core.constant.ServiceNameConstants;
4
+import com.webstudio.common.core.domain.R;
5
+import com.webstudio.common.core.web.domain.AjaxResult;
6
+import com.webstudio.common.core.web.page.TableDataInfo;
7
+import com.webstudio.system.api.domain.*;
8
+import com.webstudio.system.api.factory.RemoteFormFallbackFactory;
9
+import org.springframework.cloud.openfeign.FeignClient;
10
+import org.springframework.web.bind.annotation.GetMapping;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+
13
+import java.util.List;
14
+
15
+/**
16
+ * 基础服务
17
+ **/
18
+@FeignClient(contextId = "remoteFormService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteFormFallbackFactory.class)
19
+public interface RemoteFormService {
20
+
21
+
22
+    /**
23
+     * 枚举
24
+     * @param uuid
25
+     * @return
26
+     */
27
+    @GetMapping(value = "/enum/data/getEnumName/{uuid}")
28
+    public String selectEnumDataById(@PathVariable("uuid") String uuid);
29
+
30
+    @GetMapping(value = "/config/{configId}")
31
+    public R<SysConfig> getSysConfInfo(@PathVariable("configId") Long configId);
32
+
33
+    @GetMapping(value = "/dept/getInfo/{deptId}")
34
+    public SysDept selectDeptById(@PathVariable("deptId") String deptId);
35
+
36
+    @GetMapping("/multiProject/getInfo/{uuid}")
37
+    public R<SysProjectInfo> getInfo(@PathVariable("uuid")String uuid);
38
+
39
+}

+ 41
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteLogService.java 파일 보기

@@ -0,0 +1,41 @@
1
+package com.webstudio.system.api;
2
+
3
+import org.springframework.cloud.openfeign.FeignClient;
4
+import org.springframework.web.bind.annotation.PostMapping;
5
+import org.springframework.web.bind.annotation.RequestBody;
6
+import org.springframework.web.bind.annotation.RequestHeader;
7
+import com.webstudio.common.core.constant.SecurityConstants;
8
+import com.webstudio.common.core.constant.ServiceNameConstants;
9
+import com.webstudio.common.core.domain.R;
10
+import com.webstudio.system.api.domain.SysLogininfor;
11
+import com.webstudio.system.api.domain.SysOperLog;
12
+import com.webstudio.system.api.factory.RemoteLogFallbackFactory;
13
+
14
+/**
15
+ * 日志服务
16
+ * 
17
+ * @author ruoyi
18
+ */
19
+@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class)
20
+public interface RemoteLogService
21
+{
22
+    /**
23
+     * 保存系统日志
24
+     *
25
+     * @param sysOperLog 日志实体
26
+     * @param source 请求来源
27
+     * @return 结果
28
+     */
29
+    @PostMapping("/operlog")
30
+    public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
31
+
32
+    /**
33
+     * 保存访问记录
34
+     *
35
+     * @param sysLogininfor 访问实体
36
+     * @param source 请求来源
37
+     * @return 结果
38
+     */
39
+    @PostMapping("/logininfor")
40
+    public R<Boolean> saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
41
+}

+ 77
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteStaticService.java 파일 보기

@@ -0,0 +1,77 @@
1
+package com.webstudio.system.api;
2
+
3
+import com.webstudio.common.core.constant.ServiceNameConstants;
4
+import com.webstudio.common.core.domain.R;
5
+import com.webstudio.common.core.web.domain.AjaxResult;
6
+import com.webstudio.system.api.domain.SysConfig;
7
+import com.webstudio.system.api.domain.SysDept;
8
+import com.webstudio.system.api.domain.SysProjectInfo;
9
+import com.webstudio.system.api.factory.RemoteFormFallbackFactory;
10
+import org.springframework.cloud.openfeign.FeignClient;
11
+import org.springframework.web.bind.annotation.GetMapping;
12
+import org.springframework.web.bind.annotation.PathVariable;
13
+import org.springframework.web.bind.annotation.RequestParam;
14
+
15
+/**
16
+ * 基础服务
17
+ **/
18
+@FeignClient(contextId = "remoteStaticService", value = ServiceNameConstants.STATICIZE_SERVICE, fallbackFactory = RemoteFormFallbackFactory.class)
19
+public interface RemoteStaticService {
20
+
21
+    /**
22
+     * 首页
23
+     * @return
24
+     */
25
+    @GetMapping("/index")
26
+    public AjaxResult index();
27
+
28
+    /**
29
+     * 品牌概览
30
+     * @return
31
+     */
32
+    @GetMapping("/productsBrand")
33
+    public AjaxResult productsBrand(@RequestParam(value = "menuUuid") String menuUuid);
34
+
35
+    /**
36
+     * 新闻首页
37
+     * @return
38
+     */
39
+    @GetMapping("/news")
40
+    public AjaxResult news();
41
+
42
+    /**
43
+     * 新闻详情页
44
+     * @return
45
+     */
46
+    @GetMapping("/newsDetail")
47
+    public AjaxResult newsDetail(@RequestParam(value = "newsUuid") String newsUuid);
48
+
49
+    /**
50
+     * 临时产品页
51
+     * @return
52
+     */
53
+    @GetMapping("/temporaryProduct")
54
+    public AjaxResult temporaryProduct(@RequestParam(value = "newsUuid") String newsUuid);
55
+
56
+    @GetMapping("select/{htmlName}")
57
+    public AjaxResult select(@PathVariable("htmlName") String htmlName);
58
+
59
+    /**
60
+     * 话题故事
61
+     */
62
+    @GetMapping("/subject")
63
+    public AjaxResult subject(@RequestParam(value = "gambitUuid") String gambitUuid);
64
+
65
+    /**
66
+     * 话题聚合
67
+     */
68
+    @GetMapping("/subjectAggre")
69
+    public AjaxResult subjectAggre(@RequestParam(value = "tagUuid") String tagUuid);
70
+
71
+    /**
72
+     * 专题
73
+     */
74
+    @GetMapping("/topicDetail")
75
+    public AjaxResult topicDetail(@RequestParam(value = "spsubjectDetailUuid") String spsubjectDetailUuid);
76
+
77
+}

+ 70
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/RemoteUserService.java 파일 보기

@@ -0,0 +1,70 @@
1
+package com.webstudio.system.api;
2
+
3
+import com.webstudio.common.core.constant.SecurityConstants;
4
+import com.webstudio.common.core.constant.ServiceNameConstants;
5
+import com.webstudio.common.core.domain.R;
6
+import com.webstudio.system.api.domain.SysUser;
7
+import com.webstudio.system.api.factory.RemoteUserFallbackFactory;
8
+import com.webstudio.system.api.model.LoginUser;
9
+import org.springframework.cloud.openfeign.FeignClient;
10
+import org.springframework.web.bind.annotation.*;
11
+
12
+import java.util.List;
13
+
14
+/**
15
+ * 用户服务
16
+ * 
17
+ * @author ruoyi
18
+ */
19
+@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
20
+public interface RemoteUserService
21
+{
22
+    /**
23
+     * 通过用户名查询用户信息
24
+     *
25
+     * @param username 用户名
26
+     * @param source 请求来源
27
+     * @return 结果
28
+     */
29
+    @GetMapping("/user/info/{username}")
30
+    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
31
+
32
+    /**
33
+     * 注册用户信息
34
+     *
35
+     * @param sysUser 用户信息
36
+     * @param source 请求来源
37
+     * @return 结果
38
+     */
39
+    @PostMapping("/user/register")
40
+    public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
41
+
42
+    /**
43
+     * 根据用户uuid获取用户信息
44
+     * @param uuid 用户uuid
45
+     * @return SysUser 用户信息
46
+     */
47
+    @GetMapping("/user/getUserInfo/{uuid}")
48
+    public SysUser getUserInfoByUuID(@PathVariable("uuid") String uuid);
49
+
50
+    /**
51
+     * 根据用户id集合获取用户信息
52
+     *
53
+     * @param userIds
54
+     * @param source 请求来源
55
+     * @return 结果
56
+     */
57
+    @GetMapping("/user/getByUserIds")
58
+    public R<List<SysUser>> getByUserIds(@RequestParam(value = "userIds") List<Long> userIds, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
59
+
60
+    /**
61
+     * 根据用户id获取用户信息
62
+     *
63
+     * @param userId
64
+     * @param source 请求来源
65
+     * @return 结果
66
+     */
67
+    @GetMapping("/user/getUser/{userId}")
68
+    public R<SysUser> getUserById(@PathVariable("userId") long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
69
+
70
+}

+ 111
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysConfig.java 파일 보기

@@ -0,0 +1,111 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import javax.validation.constraints.NotBlank;
4
+import javax.validation.constraints.Size;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.webstudio.common.core.annotation.Excel;
8
+import com.webstudio.common.core.annotation.Excel.ColumnType;
9
+import com.webstudio.common.core.web.domain.BaseEntity;
10
+
11
+/**
12
+ * 参数配置表 sys_config
13
+ * 
14
+ * @author ruoyi
15
+ */
16
+public class SysConfig extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 参数主键 */
21
+    @Excel(name = "参数主键", cellType = ColumnType.NUMERIC)
22
+    private Long configId;
23
+
24
+    /** 参数名称 */
25
+    @Excel(name = "参数名称")
26
+    private String configName;
27
+
28
+    /** 参数键名 */
29
+    @Excel(name = "参数键名")
30
+    private String configKey;
31
+
32
+    /** 参数键值 */
33
+    @Excel(name = "参数键值")
34
+    private String configValue;
35
+
36
+    /** 系统内置(Y是 N否) */
37
+    @Excel(name = "系统内置", readConverterExp = "Y=是,N=否")
38
+    private String configType;
39
+
40
+    public Long getConfigId()
41
+    {
42
+        return configId;
43
+    }
44
+
45
+    public void setConfigId(Long configId)
46
+    {
47
+        this.configId = configId;
48
+    }
49
+
50
+    @NotBlank(message = "参数名称不能为空")
51
+    @Size(min = 0, max = 100, message = "参数名称不能超过100个字符")
52
+    public String getConfigName()
53
+    {
54
+        return configName;
55
+    }
56
+
57
+    public void setConfigName(String configName)
58
+    {
59
+        this.configName = configName;
60
+    }
61
+
62
+    @NotBlank(message = "参数键名长度不能为空")
63
+    @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符")
64
+    public String getConfigKey()
65
+    {
66
+        return configKey;
67
+    }
68
+
69
+    public void setConfigKey(String configKey)
70
+    {
71
+        this.configKey = configKey;
72
+    }
73
+
74
+    @NotBlank(message = "参数键值不能为空")
75
+    @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符")
76
+    public String getConfigValue()
77
+    {
78
+        return configValue;
79
+    }
80
+
81
+    public void setConfigValue(String configValue)
82
+    {
83
+        this.configValue = configValue;
84
+    }
85
+
86
+    public String getConfigType()
87
+    {
88
+        return configType;
89
+    }
90
+
91
+    public void setConfigType(String configType)
92
+    {
93
+        this.configType = configType;
94
+    }
95
+    
96
+    @Override
97
+    public String toString() {
98
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
99
+            .append("configId", getConfigId())
100
+            .append("configName", getConfigName())
101
+            .append("configKey", getConfigKey())
102
+            .append("configValue", getConfigValue())
103
+            .append("configType", getConfigType())
104
+            .append("createBy", getCreateBy())
105
+            .append("createTime", getCreateTime())
106
+            .append("updateBy", getUpdateBy())
107
+            .append("updateTime", getUpdateTime())
108
+            .append("remark", getRemark())
109
+            .toString();
110
+    }
111
+}

+ 225
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDept.java 파일 보기

@@ -0,0 +1,225 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import java.util.ArrayList;
4
+import java.util.List;
5
+import javax.validation.constraints.Email;
6
+import javax.validation.constraints.NotBlank;
7
+import javax.validation.constraints.NotNull;
8
+import javax.validation.constraints.Size;
9
+import org.apache.commons.lang3.builder.ToStringBuilder;
10
+import org.apache.commons.lang3.builder.ToStringStyle;
11
+import com.webstudio.common.core.web.domain.BaseEntity;
12
+
13
+/**
14
+ * 部门表 sys_dept
15
+ * 
16
+ * @author ruoyi
17
+ */
18
+public class SysDept extends BaseEntity
19
+{
20
+    private static final long serialVersionUID = 1L;
21
+
22
+    /** 部门ID */
23
+    private Long deptId;
24
+
25
+    /** 父部门ID */
26
+    private Long parentId;
27
+
28
+    /** 祖级列表 */
29
+    private String ancestors;
30
+
31
+    /** 部门名称 */
32
+    private String deptName;
33
+
34
+    /** 显示顺序 */
35
+    private Integer orderNum;
36
+
37
+    /** 负责人 */
38
+    private String leader;
39
+
40
+    /** 联系电话 */
41
+    private String phone;
42
+
43
+    /** 邮箱 */
44
+    private String email;
45
+
46
+    /** 部门状态:0正常,1停用 */
47
+    private String status;
48
+
49
+    /** 删除标志(0代表存在 2代表删除) */
50
+    private String delFlag;
51
+
52
+    /** 关联项目UUID */
53
+    private String sysProjectUuid;
54
+
55
+    /** 父部门名称 */
56
+    private String parentName;
57
+    
58
+    /** 子部门 */
59
+    private List<SysDept> children = new ArrayList<SysDept>();
60
+
61
+    /** 第三方ID */
62
+    private String thirdPartId;
63
+
64
+    public Long getDeptId()
65
+    {
66
+        return deptId;
67
+    }
68
+
69
+    public void setDeptId(Long deptId)
70
+    {
71
+        this.deptId = deptId;
72
+    }
73
+
74
+    public Long getParentId()
75
+    {
76
+        return parentId;
77
+    }
78
+
79
+    public void setParentId(Long parentId)
80
+    {
81
+        this.parentId = parentId;
82
+    }
83
+
84
+    public String getAncestors()
85
+    {
86
+        return ancestors;
87
+    }
88
+
89
+    public void setAncestors(String ancestors)
90
+    {
91
+        this.ancestors = ancestors;
92
+    }
93
+
94
+    @NotBlank(message = "部门名称不能为空")
95
+    @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
96
+    public String getDeptName()
97
+    {
98
+        return deptName;
99
+    }
100
+
101
+    public void setDeptName(String deptName)
102
+    {
103
+        this.deptName = deptName;
104
+    }
105
+
106
+    @NotNull(message = "显示顺序不能为空")
107
+    public Integer getOrderNum()
108
+    {
109
+        return orderNum;
110
+    }
111
+
112
+    public void setOrderNum(Integer orderNum)
113
+    {
114
+        this.orderNum = orderNum;
115
+    }
116
+
117
+    public String getLeader()
118
+    {
119
+        return leader;
120
+    }
121
+
122
+    public void setLeader(String leader)
123
+    {
124
+        this.leader = leader;
125
+    }
126
+
127
+    @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
128
+    public String getPhone()
129
+    {
130
+        return phone;
131
+    }
132
+
133
+    public void setPhone(String phone)
134
+    {
135
+        this.phone = phone;
136
+    }
137
+
138
+    @Email(message = "邮箱格式不正确")
139
+    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
140
+    public String getEmail()
141
+    {
142
+        return email;
143
+    }
144
+
145
+    public void setEmail(String email)
146
+    {
147
+        this.email = email;
148
+    }
149
+
150
+    public String getStatus()
151
+    {
152
+        return status;
153
+    }
154
+
155
+    public void setStatus(String status)
156
+    {
157
+        this.status = status;
158
+    }
159
+
160
+    public String getDelFlag()
161
+    {
162
+        return delFlag;
163
+    }
164
+
165
+    public void setDelFlag(String delFlag)
166
+    {
167
+        this.delFlag = delFlag;
168
+    }
169
+
170
+    public String getParentName()
171
+    {
172
+        return parentName;
173
+    }
174
+
175
+    public void setParentName(String parentName)
176
+    {
177
+        this.parentName = parentName;
178
+    }
179
+
180
+    public List<SysDept> getChildren()
181
+    {
182
+        return children;
183
+    }
184
+
185
+    public void setChildren(List<SysDept> children)
186
+    {
187
+        this.children = children;
188
+    }
189
+
190
+    public String getThirdPartId() {
191
+        return thirdPartId;
192
+    }
193
+
194
+    public void setThirdPartId(String thirdPartId) {
195
+        this.thirdPartId = thirdPartId;
196
+    }
197
+
198
+    public String getSysProjectUuid() {
199
+        return sysProjectUuid;
200
+    }
201
+
202
+    public void setSysProjectUuid(String sysProjectUuid) {
203
+        this.sysProjectUuid = sysProjectUuid;
204
+    }
205
+
206
+    @Override
207
+    public String toString() {
208
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
209
+            .append("deptId", getDeptId())
210
+            .append("parentId", getParentId())
211
+            .append("ancestors", getAncestors())
212
+            .append("deptName", getDeptName())
213
+            .append("orderNum", getOrderNum())
214
+            .append("leader", getLeader())
215
+            .append("phone", getPhone())
216
+            .append("email", getEmail())
217
+            .append("status", getStatus())
218
+            .append("delFlag", getDelFlag())
219
+            .append("createBy", getCreateBy())
220
+            .append("createTime", getCreateTime())
221
+            .append("updateBy", getUpdateBy())
222
+            .append("updateTime", getUpdateTime())
223
+            .toString();
224
+    }
225
+}

+ 176
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDictData.java 파일 보기

@@ -0,0 +1,176 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import javax.validation.constraints.NotBlank;
4
+import javax.validation.constraints.Size;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.webstudio.common.core.annotation.Excel;
8
+import com.webstudio.common.core.annotation.Excel.ColumnType;
9
+import com.webstudio.common.core.constant.UserConstants;
10
+import com.webstudio.common.core.web.domain.BaseEntity;
11
+
12
+/**
13
+ * 字典数据表 sys_dict_data
14
+ * 
15
+ * @author ruoyi
16
+ */
17
+public class SysDictData extends BaseEntity
18
+{
19
+    private static final long serialVersionUID = 1L;
20
+
21
+    /** 字典编码 */
22
+    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
23
+    private Long dictCode;
24
+
25
+    /** 字典排序 */
26
+    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
27
+    private Long dictSort;
28
+
29
+    /** 字典标签 */
30
+    @Excel(name = "字典标签")
31
+    private String dictLabel;
32
+
33
+    /** 字典键值 */
34
+    @Excel(name = "字典键值")
35
+    private String dictValue;
36
+
37
+    /** 字典类型 */
38
+    @Excel(name = "字典类型")
39
+    private String dictType;
40
+
41
+    /** 样式属性(其他样式扩展) */
42
+    private String cssClass;
43
+
44
+    /** 表格字典样式 */
45
+    private String listClass;
46
+
47
+    /** 是否默认(Y是 N否) */
48
+    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
49
+    private String isDefault;
50
+
51
+    /** 状态(0正常 1停用) */
52
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
53
+    private String status;
54
+
55
+    public Long getDictCode()
56
+    {
57
+        return dictCode;
58
+    }
59
+
60
+    public void setDictCode(Long dictCode)
61
+    {
62
+        this.dictCode = dictCode;
63
+    }
64
+
65
+    public Long getDictSort()
66
+    {
67
+        return dictSort;
68
+    }
69
+
70
+    public void setDictSort(Long dictSort)
71
+    {
72
+        this.dictSort = dictSort;
73
+    }
74
+
75
+    @NotBlank(message = "字典标签不能为空")
76
+    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
77
+    public String getDictLabel()
78
+    {
79
+        return dictLabel;
80
+    }
81
+
82
+    public void setDictLabel(String dictLabel)
83
+    {
84
+        this.dictLabel = dictLabel;
85
+    }
86
+
87
+    @NotBlank(message = "字典键值不能为空")
88
+    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
89
+    public String getDictValue()
90
+    {
91
+        return dictValue;
92
+    }
93
+
94
+    public void setDictValue(String dictValue)
95
+    {
96
+        this.dictValue = dictValue;
97
+    }
98
+
99
+    @NotBlank(message = "字典类型不能为空")
100
+    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
101
+    public String getDictType()
102
+    {
103
+        return dictType;
104
+    }
105
+
106
+    public void setDictType(String dictType)
107
+    {
108
+        this.dictType = dictType;
109
+    }
110
+
111
+    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
112
+    public String getCssClass()
113
+    {
114
+        return cssClass;
115
+    }
116
+
117
+    public void setCssClass(String cssClass)
118
+    {
119
+        this.cssClass = cssClass;
120
+    }
121
+
122
+    public String getListClass()
123
+    {
124
+        return listClass;
125
+    }
126
+
127
+    public void setListClass(String listClass)
128
+    {
129
+        this.listClass = listClass;
130
+    }
131
+
132
+    public boolean getDefault()
133
+    {
134
+        return UserConstants.YES.equals(this.isDefault);
135
+    }
136
+
137
+    public String getIsDefault()
138
+    {
139
+        return isDefault;
140
+    }
141
+
142
+    public void setIsDefault(String isDefault)
143
+    {
144
+        this.isDefault = isDefault;
145
+    }
146
+
147
+    public String getStatus()
148
+    {
149
+        return status;
150
+    }
151
+
152
+    public void setStatus(String status)
153
+    {
154
+        this.status = status;
155
+    }
156
+    
157
+    @Override
158
+    public String toString() {
159
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
160
+            .append("dictCode", getDictCode())
161
+            .append("dictSort", getDictSort())
162
+            .append("dictLabel", getDictLabel())
163
+            .append("dictValue", getDictValue())
164
+            .append("dictType", getDictType())
165
+            .append("cssClass", getCssClass())
166
+            .append("listClass", getListClass())
167
+            .append("isDefault", getIsDefault())
168
+            .append("status", getStatus())
169
+            .append("createBy", getCreateBy())
170
+            .append("createTime", getCreateTime())
171
+            .append("updateBy", getUpdateBy())
172
+            .append("updateTime", getUpdateTime())
173
+            .append("remark", getRemark())
174
+            .toString();
175
+    }
176
+}

+ 96
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysDictType.java 파일 보기

@@ -0,0 +1,96 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import javax.validation.constraints.NotBlank;
4
+import javax.validation.constraints.Pattern;
5
+import javax.validation.constraints.Size;
6
+import org.apache.commons.lang3.builder.ToStringBuilder;
7
+import org.apache.commons.lang3.builder.ToStringStyle;
8
+import com.webstudio.common.core.annotation.Excel;
9
+import com.webstudio.common.core.annotation.Excel.ColumnType;
10
+import com.webstudio.common.core.web.domain.BaseEntity;
11
+
12
+/**
13
+ * 字典类型表 sys_dict_type
14
+ * 
15
+ * @author ruoyi
16
+ */
17
+public class SysDictType extends BaseEntity
18
+{
19
+    private static final long serialVersionUID = 1L;
20
+
21
+    /** 字典主键 */
22
+    @Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
23
+    private Long dictId;
24
+
25
+    /** 字典名称 */
26
+    @Excel(name = "字典名称")
27
+    private String dictName;
28
+
29
+    /** 字典类型 */
30
+    @Excel(name = "字典类型")
31
+    private String dictType;
32
+
33
+    /** 状态(0正常 1停用) */
34
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
35
+    private String status;
36
+
37
+    public Long getDictId()
38
+    {
39
+        return dictId;
40
+    }
41
+
42
+    public void setDictId(Long dictId)
43
+    {
44
+        this.dictId = dictId;
45
+    }
46
+
47
+    @NotBlank(message = "字典名称不能为空")
48
+    @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
49
+    public String getDictName()
50
+    {
51
+        return dictName;
52
+    }
53
+
54
+    public void setDictName(String dictName)
55
+    {
56
+        this.dictName = dictName;
57
+    }
58
+
59
+    @NotBlank(message = "字典类型不能为空")
60
+    @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
61
+    @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
62
+    public String getDictType()
63
+    {
64
+        return dictType;
65
+    }
66
+
67
+    public void setDictType(String dictType)
68
+    {
69
+        this.dictType = dictType;
70
+    }
71
+
72
+    public String getStatus()
73
+    {
74
+        return status;
75
+    }
76
+
77
+    public void setStatus(String status)
78
+    {
79
+        this.status = status;
80
+    }
81
+    
82
+    @Override
83
+    public String toString() {
84
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
85
+            .append("dictId", getDictId())
86
+            .append("dictName", getDictName())
87
+            .append("dictType", getDictType())
88
+            .append("status", getStatus())
89
+            .append("createBy", getCreateBy())
90
+            .append("createTime", getCreateTime())
91
+            .append("updateBy", getUpdateBy())
92
+            .append("updateTime", getUpdateTime())
93
+            .append("remark", getRemark())
94
+            .toString();
95
+    }
96
+}

+ 124
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysFile.java 파일 보기

@@ -0,0 +1,124 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import org.apache.commons.lang3.builder.ToStringBuilder;
4
+import org.apache.commons.lang3.builder.ToStringStyle;
5
+
6
+import java.util.Date;
7
+
8
+/**
9
+ * 文件信息
10
+ * 
11
+ * @author ruoyi
12
+ * 已修改
13
+ */
14
+public class SysFile
15
+{
16
+    private String uuid;
17
+    /** 文件名称 */
18
+    private String sysFileName;
19
+    /** 文件后缀 */
20
+    private String sysFileExtension;
21
+    /** 文件大小 */
22
+    private Long sysFileSize;
23
+    /** 上传时间 */
24
+    private Date sysCreateTime;
25
+    /** 文件路径 */
26
+    private String url;
27
+    private String sysFileStoragePath;
28
+    private String thumPath;
29
+
30
+    /** base64 */
31
+    private String base64Url;
32
+    /** 宽 */
33
+    private int imageWidth;
34
+    /** 高 */
35
+    private int imageHeight;
36
+
37
+    public String getUuid() {
38
+        return uuid;
39
+    }
40
+
41
+    public void setUuid(String uuid) {
42
+        this.uuid = uuid;
43
+    }
44
+
45
+    public String getSysFileName() {
46
+        return sysFileName;
47
+    }
48
+
49
+    public void setSysFileName(String sysFileName) {
50
+        this.sysFileName = sysFileName;
51
+    }
52
+
53
+    public String getSysFileExtension() {
54
+        return sysFileExtension;
55
+    }
56
+
57
+    public void setSysFileExtension(String sysFileExtension) {
58
+        this.sysFileExtension = sysFileExtension;
59
+    }
60
+
61
+    public Long getSysFileSize() {
62
+        return sysFileSize;
63
+    }
64
+
65
+    public void setSysFileSize(Long sysFileSize) {
66
+        this.sysFileSize = sysFileSize;
67
+    }
68
+
69
+    public Date getSysCreateTime() {
70
+        return sysCreateTime;
71
+    }
72
+
73
+    public void setSysCreateTime(Date sysCreateTime) {
74
+        this.sysCreateTime = sysCreateTime;
75
+    }
76
+
77
+    public String getUrl() {
78
+        return url;
79
+    }
80
+
81
+    public void setUrl(String url) {
82
+        this.url = url;
83
+    }
84
+
85
+    public String getSysFileStoragePath() {
86
+        return sysFileStoragePath;
87
+    }
88
+
89
+    public void setSysFileStoragePath(String sysFileStoragePath) {
90
+        this.sysFileStoragePath = sysFileStoragePath;
91
+    }
92
+
93
+    public String getBase64Url() {
94
+        return base64Url;
95
+    }
96
+
97
+    public void setBase64Url(String base64Url) {
98
+        this.base64Url = base64Url;
99
+    }
100
+
101
+    public String getThumPath() {
102
+        return thumPath;
103
+    }
104
+
105
+    public void setThumPath(String thumPath) {
106
+        this.thumPath = thumPath;
107
+    }
108
+
109
+    public int getImageWidth() {
110
+        return imageWidth;
111
+    }
112
+
113
+    public void setImageWidth(int imageWidth) {
114
+        this.imageWidth = imageWidth;
115
+    }
116
+
117
+    public int getImageHeight() {
118
+        return imageHeight;
119
+    }
120
+
121
+    public void setImageHeight(int imageHeight) {
122
+        this.imageHeight = imageHeight;
123
+    }
124
+}

+ 126
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysLogininfor.java 파일 보기

@@ -0,0 +1,126 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import com.webstudio.common.core.annotation.Excel;
6
+import com.webstudio.common.core.annotation.Excel.ColumnType;
7
+import com.webstudio.common.core.web.domain.BaseEntity;
8
+
9
+/**
10
+ * 系统访问记录表 sys_logininfor
11
+ * 
12
+ * @author ruoyi
13
+ */
14
+public class SysLogininfor extends BaseEntity
15
+{
16
+    private static final long serialVersionUID = 1L;
17
+
18
+    /** ID */
19
+    @Excel(name = "序号", cellType = ColumnType.NUMERIC)
20
+    private Long infoId;
21
+
22
+    /** 用户账号 */
23
+    @Excel(name = "用户账号")
24
+    private String userName;
25
+
26
+    /** 状态 0成功 1失败 */
27
+    @Excel(name = "状态", readConverterExp = "0=成功,1=失败")
28
+    private String status;
29
+
30
+    /** 地址 */
31
+    @Excel(name = "地址")
32
+    private String ipaddr;
33
+
34
+    /** 描述 */
35
+    @Excel(name = "描述")
36
+    private String msg;
37
+
38
+    /** 访问时间 */
39
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
40
+    @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
41
+    private Date accessTime;
42
+
43
+    /** 浏览器类型 */
44
+    @Excel(name = "浏览器类型")
45
+    private String browserType;
46
+
47
+    /** 操作系统类型 */
48
+    @Excel(name = "操作系统类型")
49
+    private String systemType;
50
+
51
+    public Long getInfoId()
52
+    {
53
+        return infoId;
54
+    }
55
+
56
+    public void setInfoId(Long infoId)
57
+    {
58
+        this.infoId = infoId;
59
+    }
60
+
61
+    public String getUserName()
62
+    {
63
+        return userName;
64
+    }
65
+
66
+    public void setUserName(String userName)
67
+    {
68
+        this.userName = userName;
69
+    }
70
+
71
+    public String getStatus()
72
+    {
73
+        return status;
74
+    }
75
+
76
+    public void setStatus(String status)
77
+    {
78
+        this.status = status;
79
+    }
80
+
81
+    public String getIpaddr()
82
+    {
83
+        return ipaddr;
84
+    }
85
+
86
+    public void setIpaddr(String ipaddr)
87
+    {
88
+        this.ipaddr = ipaddr;
89
+    }
90
+
91
+    public String getMsg()
92
+    {
93
+        return msg;
94
+    }
95
+
96
+    public void setMsg(String msg)
97
+    {
98
+        this.msg = msg;
99
+    }
100
+
101
+    public Date getAccessTime()
102
+    {
103
+        return accessTime;
104
+    }
105
+
106
+    public void setAccessTime(Date accessTime)
107
+    {
108
+        this.accessTime = accessTime;
109
+    }
110
+
111
+    public String getBrowserType() {
112
+        return browserType;
113
+    }
114
+
115
+    public void setBrowserType(String browserType) {
116
+        this.browserType = browserType;
117
+    }
118
+
119
+    public String getSystemType() {
120
+        return systemType;
121
+    }
122
+
123
+    public void setSystemType(String systemType) {
124
+        this.systemType = systemType;
125
+    }
126
+}

+ 255
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysOperLog.java 파일 보기

@@ -0,0 +1,255 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import com.webstudio.common.core.annotation.Excel;
6
+import com.webstudio.common.core.annotation.Excel.ColumnType;
7
+import com.webstudio.common.core.web.domain.BaseEntity;
8
+
9
+/**
10
+ * 操作日志记录表 oper_log
11
+ * 
12
+ * @author ruoyi
13
+ */
14
+public class SysOperLog extends BaseEntity
15
+{
16
+    private static final long serialVersionUID = 1L;
17
+
18
+    /** 日志主键 */
19
+    @Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
20
+    private Long operId;
21
+
22
+    /** 操作模块 */
23
+    @Excel(name = "操作模块")
24
+    private String title;
25
+
26
+    /** 业务类型(0其它 1新增 2修改 3删除) */
27
+    @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
28
+    private Integer businessType;
29
+
30
+    /** 业务类型数组 */
31
+    private Integer[] businessTypes;
32
+
33
+    /** 请求方法 */
34
+    @Excel(name = "请求方法")
35
+    private String method;
36
+
37
+    /** 请求方式 */
38
+    @Excel(name = "请求方式")
39
+    private String requestMethod;
40
+
41
+    /** 操作类别(0其它 1后台用户 2手机端用户) */
42
+    @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
43
+    private Integer operatorType;
44
+
45
+    /** 操作人员 */
46
+    @Excel(name = "操作人员")
47
+    private String operName;
48
+
49
+    /** 部门名称 */
50
+    @Excel(name = "部门名称")
51
+    private String deptName;
52
+
53
+    /** 请求url */
54
+    @Excel(name = "请求地址")
55
+    private String operUrl;
56
+
57
+    /** 操作地址 */
58
+    @Excel(name = "操作地址")
59
+    private String operIp;
60
+
61
+    /** 请求参数 */
62
+    @Excel(name = "请求参数")
63
+    private String operParam;
64
+
65
+    /** 返回参数 */
66
+    @Excel(name = "返回参数")
67
+    private String jsonResult;
68
+
69
+    /** 操作状态(0正常 1异常) */
70
+    @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
71
+    private Integer status;
72
+
73
+    /** 错误消息 */
74
+    @Excel(name = "错误消息")
75
+    private String errorMsg;
76
+
77
+    /** 操作时间 */
78
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
79
+    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
80
+    private Date operTime;
81
+
82
+    /** 消耗时间 */
83
+    @Excel(name = "消耗时间", suffix = "毫秒")
84
+    private Long costTime;
85
+
86
+    public Long getOperId()
87
+    {
88
+        return operId;
89
+    }
90
+
91
+    public void setOperId(Long operId)
92
+    {
93
+        this.operId = operId;
94
+    }
95
+
96
+    public String getTitle()
97
+    {
98
+        return title;
99
+    }
100
+
101
+    public void setTitle(String title)
102
+    {
103
+        this.title = title;
104
+    }
105
+
106
+    public Integer getBusinessType()
107
+    {
108
+        return businessType;
109
+    }
110
+
111
+    public void setBusinessType(Integer businessType)
112
+    {
113
+        this.businessType = businessType;
114
+    }
115
+
116
+    public Integer[] getBusinessTypes()
117
+    {
118
+        return businessTypes;
119
+    }
120
+
121
+    public void setBusinessTypes(Integer[] businessTypes)
122
+    {
123
+        this.businessTypes = businessTypes;
124
+    }
125
+
126
+    public String getMethod()
127
+    {
128
+        return method;
129
+    }
130
+
131
+    public void setMethod(String method)
132
+    {
133
+        this.method = method;
134
+    }
135
+
136
+    public String getRequestMethod()
137
+    {
138
+        return requestMethod;
139
+    }
140
+
141
+    public void setRequestMethod(String requestMethod)
142
+    {
143
+        this.requestMethod = requestMethod;
144
+    }
145
+
146
+    public Integer getOperatorType()
147
+    {
148
+        return operatorType;
149
+    }
150
+
151
+    public void setOperatorType(Integer operatorType)
152
+    {
153
+        this.operatorType = operatorType;
154
+    }
155
+
156
+    public String getOperName()
157
+    {
158
+        return operName;
159
+    }
160
+
161
+    public void setOperName(String operName)
162
+    {
163
+        this.operName = operName;
164
+    }
165
+
166
+    public String getDeptName()
167
+    {
168
+        return deptName;
169
+    }
170
+
171
+    public void setDeptName(String deptName)
172
+    {
173
+        this.deptName = deptName;
174
+    }
175
+
176
+    public String getOperUrl()
177
+    {
178
+        return operUrl;
179
+    }
180
+
181
+    public void setOperUrl(String operUrl)
182
+    {
183
+        this.operUrl = operUrl;
184
+    }
185
+
186
+    public String getOperIp()
187
+    {
188
+        return operIp;
189
+    }
190
+
191
+    public void setOperIp(String operIp)
192
+    {
193
+        this.operIp = operIp;
194
+    }
195
+
196
+    public String getOperParam()
197
+    {
198
+        return operParam;
199
+    }
200
+
201
+    public void setOperParam(String operParam)
202
+    {
203
+        this.operParam = operParam;
204
+    }
205
+
206
+    public String getJsonResult()
207
+    {
208
+        return jsonResult;
209
+    }
210
+
211
+    public void setJsonResult(String jsonResult)
212
+    {
213
+        this.jsonResult = jsonResult;
214
+    }
215
+
216
+    public Integer getStatus()
217
+    {
218
+        return status;
219
+    }
220
+
221
+    public void setStatus(Integer status)
222
+    {
223
+        this.status = status;
224
+    }
225
+
226
+    public String getErrorMsg()
227
+    {
228
+        return errorMsg;
229
+    }
230
+
231
+    public void setErrorMsg(String errorMsg)
232
+    {
233
+        this.errorMsg = errorMsg;
234
+    }
235
+
236
+    public Date getOperTime()
237
+    {
238
+        return operTime;
239
+    }
240
+
241
+    public void setOperTime(Date operTime)
242
+    {
243
+        this.operTime = operTime;
244
+    }
245
+
246
+    public Long getCostTime()
247
+    {
248
+        return costTime;
249
+    }
250
+
251
+    public void setCostTime(Long costTime)
252
+    {
253
+        this.costTime = costTime;
254
+    }
255
+}

+ 78
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysProjectInfo.java 파일 보기

@@ -0,0 +1,78 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import lombok.Data;
4
+
5
+import java.util.Date;
6
+
7
+/**
8
+ * @author liusen
9
+ * @create 2023-10-30 14:07
10
+ */
11
+
12
+@Data
13
+public class SysProjectInfo {
14
+    private String uuid;
15
+
16
+    /** 项目名称 */
17
+    private String projectName;
18
+
19
+    /** 项目编码 */
20
+    private String projectCode;
21
+
22
+
23
+    /** 父项目UUID */
24
+    private String parentUuid;
25
+
26
+    /** 项目位置 */
27
+    private String location;
28
+
29
+    /** 经度 */
30
+    private String longitude;
31
+
32
+    /** 纬度 */
33
+    private String latitude;
34
+
35
+    /** 项目状态(0禁用 1启用) */
36
+    private int status;
37
+
38
+    /** 类别:0项目;1非项目 */
39
+    private int type;
40
+
41
+    /** 创建时间 */
42
+    private Date createTime;
43
+
44
+    /** 创建人uuid */
45
+    private String creatorUuid;
46
+
47
+    /** 开工日期 */
48
+    private Date startWorkDate;
49
+
50
+    /** 预计日期 */
51
+    private Date estimatedCompleteDate;
52
+
53
+    /** 负责人 */
54
+    private String principalName;
55
+
56
+    /** 负责人电话 */
57
+    private String principalPhone;
58
+
59
+    /** 联系人 */
60
+    private String contactName;
61
+
62
+    /** 联系人电话 */
63
+    private String contactPhone;
64
+
65
+    /** 联系人单位 */
66
+    private String contactUnit;
67
+
68
+    /** 联系人部门 */
69
+    private String contactDept;
70
+
71
+    /** 租户id */
72
+    private String lesseeUuid;
73
+
74
+    /** 前端组件需要 */
75
+    private String label;
76
+
77
+    private String value;
78
+}

+ 299
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysRole.java 파일 보기

@@ -0,0 +1,299 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import java.util.Set;
4
+import javax.validation.constraints.NotBlank;
5
+import javax.validation.constraints.NotNull;
6
+import javax.validation.constraints.Size;
7
+
8
+import com.baomidou.mybatisplus.annotation.TableField;
9
+import org.apache.commons.lang3.builder.ToStringBuilder;
10
+import org.apache.commons.lang3.builder.ToStringStyle;
11
+import com.webstudio.common.core.annotation.Excel;
12
+import com.webstudio.common.core.annotation.Excel.ColumnType;
13
+import com.webstudio.common.core.web.domain.BaseEntity;
14
+
15
+/**
16
+ * 角色表 sys_role
17
+ * 
18
+ * @author ruoyi
19
+ */
20
+public class SysRole extends BaseEntity
21
+{
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /** 角色ID */
25
+    @Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
26
+    private Long roleId;
27
+
28
+    /** 角色名称 */
29
+    @Excel(name = "角色名称")
30
+    private String roleName;
31
+
32
+    /** 角色权限 */
33
+    @Excel(name = "角色权限")
34
+    private String roleKey;
35
+
36
+    /** 角色排序 */
37
+    @Excel(name = "角色排序")
38
+    private Integer roleSort;
39
+
40
+    /** 关联项目UUID */
41
+    @Excel(name = "关联项目UUID")
42
+    private String sysProjectUuid;
43
+
44
+    /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
45
+    @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
46
+    private String dataScope;
47
+
48
+    /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
49
+    private boolean menuCheckStrictly;
50
+
51
+    /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
52
+    private boolean deptCheckStrictly;
53
+
54
+    /** 角色状态(0正常 1停用) */
55
+    @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
56
+    private String status;
57
+
58
+    /** 删除标志(0代表存在 2代表删除) */
59
+    private String delFlag;
60
+
61
+    /** 用户是否存在此角色标识 默认不存在 */
62
+    private boolean flag = false;
63
+
64
+    /** 关联组织机构*/
65
+    private String deptId;
66
+
67
+    /** 组织机构名称 列表回显*/
68
+    private String deptName;
69
+
70
+    /** 菜单组 */
71
+    private Long[] menuIds;
72
+
73
+    /** 部门组(数据权限) */
74
+    private Long[] deptIds;
75
+
76
+    /** 角色菜单权限 */
77
+    private Set<String> permissions;
78
+
79
+    @TableField(exist = false)
80
+    public String beginTime;
81
+
82
+    @TableField(exist = false)
83
+    public String endTime;
84
+
85
+    public SysRole()
86
+    {
87
+
88
+    }
89
+
90
+    public SysRole(Long roleId)
91
+    {
92
+        this.roleId = roleId;
93
+    }
94
+
95
+    public Long getRoleId()
96
+    {
97
+        return roleId;
98
+    }
99
+
100
+    public void setRoleId(Long roleId)
101
+    {
102
+        this.roleId = roleId;
103
+    }
104
+
105
+    public boolean isAdmin()
106
+    {
107
+        return isAdmin(this.roleId);
108
+    }
109
+
110
+    public static boolean isAdmin(Long roleId)
111
+    {
112
+        return roleId != null && 1L == roleId;
113
+    }
114
+
115
+    @NotBlank(message = "角色名称不能为空")
116
+    @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
117
+    public String getRoleName()
118
+    {
119
+        return roleName;
120
+    }
121
+
122
+    public void setRoleName(String roleName)
123
+    {
124
+        this.roleName = roleName;
125
+    }
126
+
127
+    @NotBlank(message = "权限字符不能为空")
128
+    @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
129
+    public String getRoleKey()
130
+    {
131
+        return roleKey;
132
+    }
133
+
134
+    public void setRoleKey(String roleKey)
135
+    {
136
+        this.roleKey = roleKey;
137
+    }
138
+
139
+    @NotNull(message = "显示顺序不能为空")
140
+    public Integer getRoleSort()
141
+    {
142
+        return roleSort;
143
+    }
144
+
145
+    public void setRoleSort(Integer roleSort)
146
+    {
147
+        this.roleSort = roleSort;
148
+    }
149
+
150
+    public String getDataScope()
151
+    {
152
+        return dataScope;
153
+    }
154
+
155
+    public void setDataScope(String dataScope)
156
+    {
157
+        this.dataScope = dataScope;
158
+    }
159
+
160
+    public boolean isMenuCheckStrictly()
161
+    {
162
+        return menuCheckStrictly;
163
+    }
164
+
165
+    public void setMenuCheckStrictly(boolean menuCheckStrictly)
166
+    {
167
+        this.menuCheckStrictly = menuCheckStrictly;
168
+    }
169
+
170
+    public boolean isDeptCheckStrictly()
171
+    {
172
+        return deptCheckStrictly;
173
+    }
174
+
175
+    public void setDeptCheckStrictly(boolean deptCheckStrictly)
176
+    {
177
+        this.deptCheckStrictly = deptCheckStrictly;
178
+    }
179
+
180
+    public String getStatus()
181
+    {
182
+        return status;
183
+    }
184
+
185
+    public void setStatus(String status)
186
+    {
187
+        this.status = status;
188
+    }
189
+
190
+    public String getDelFlag()
191
+    {
192
+        return delFlag;
193
+    }
194
+
195
+    public void setDelFlag(String delFlag)
196
+    {
197
+        this.delFlag = delFlag;
198
+    }
199
+
200
+    public boolean isFlag()
201
+    {
202
+        return flag;
203
+    }
204
+
205
+    public void setFlag(boolean flag)
206
+    {
207
+        this.flag = flag;
208
+    }
209
+
210
+    public Long[] getMenuIds()
211
+    {
212
+        return menuIds;
213
+    }
214
+
215
+    public void setMenuIds(Long[] menuIds)
216
+    {
217
+        this.menuIds = menuIds;
218
+    }
219
+
220
+    public Long[] getDeptIds()
221
+    {
222
+        return deptIds;
223
+    }
224
+
225
+    public void setDeptIds(Long[] deptIds)
226
+    {
227
+        this.deptIds = deptIds;
228
+    }
229
+
230
+    public Set<String> getPermissions()
231
+    {
232
+        return permissions;
233
+    }
234
+
235
+    public void setPermissions(Set<String> permissions)
236
+    {
237
+        this.permissions = permissions;
238
+    }
239
+
240
+    public String getSysProjectUuid() {
241
+        return sysProjectUuid;
242
+    }
243
+
244
+    public void setSysProjectUuid(String sysProjectUuid) {
245
+        this.sysProjectUuid = sysProjectUuid;
246
+    }
247
+
248
+    public String getDeptId() {
249
+        return deptId;
250
+    }
251
+
252
+    public void setDeptId(String deptId) {
253
+        this.deptId = deptId;
254
+    }
255
+
256
+    public String getDeptName() {
257
+        return deptName;
258
+    }
259
+
260
+    public void setDeptName(String deptName) {
261
+        this.deptName = deptName;
262
+    }
263
+
264
+    public String getBeginTime() {
265
+        return beginTime;
266
+    }
267
+
268
+    public void setBeginTime(String beginTime) {
269
+        this.beginTime = beginTime;
270
+    }
271
+
272
+    public String getEndTime() {
273
+        return endTime;
274
+    }
275
+
276
+    public void setEndTime(String endTime) {
277
+        this.endTime = endTime;
278
+    }
279
+
280
+    @Override
281
+    public String toString() {
282
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
283
+            .append("roleId", getRoleId())
284
+            .append("roleName", getRoleName())
285
+            .append("roleKey", getRoleKey())
286
+            .append("roleSort", getRoleSort())
287
+            .append("dataScope", getDataScope())
288
+            .append("menuCheckStrictly", isMenuCheckStrictly())
289
+            .append("deptCheckStrictly", isDeptCheckStrictly())
290
+            .append("status", getStatus())
291
+            .append("delFlag", getDelFlag())
292
+            .append("createBy", getCreateBy())
293
+            .append("createTime", getCreateTime())
294
+            .append("updateBy", getUpdateBy())
295
+            .append("updateTime", getUpdateTime())
296
+            .append("remark", getRemark())
297
+            .toString();
298
+    }
299
+}

+ 414
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/domain/SysUser.java 파일 보기

@@ -0,0 +1,414 @@
1
+package com.webstudio.system.api.domain;
2
+
3
+import java.util.Date;
4
+import java.util.HashMap;
5
+import java.util.List;
6
+import java.util.Map;
7
+import javax.validation.constraints.*;
8
+
9
+import com.baomidou.mybatisplus.annotation.TableField;
10
+import com.baomidou.mybatisplus.annotation.TableId;
11
+import com.baomidou.mybatisplus.annotation.TableName;
12
+import org.apache.commons.lang3.builder.ToStringBuilder;
13
+import org.apache.commons.lang3.builder.ToStringStyle;
14
+import com.webstudio.common.core.annotation.Excel;
15
+import com.webstudio.common.core.annotation.Excel.ColumnType;
16
+import com.webstudio.common.core.annotation.Excel.Type;
17
+import com.webstudio.common.core.annotation.Excels;
18
+import com.webstudio.common.core.utils.StringUtils;
19
+import com.webstudio.common.core.web.domain.BaseEntity;
20
+import com.webstudio.common.core.xss.Xss;
21
+
22
+/**
23
+ * 用户对象 sys_user
24
+ * 
25
+ * @author ruoyi
26
+ */
27
+@TableName("SYS_USER")
28
+public class SysUser extends BaseEntity
29
+{
30
+    private static final long serialVersionUID = 1L;
31
+
32
+    /** 用户ID */
33
+    @TableId
34
+    @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
35
+    private Long userId;
36
+
37
+    /** 部门ID */
38
+    @Excel(name = "部门编号", type = Type.IMPORT)
39
+    private Long deptId;
40
+
41
+    /** 用户账号 */
42
+    @Excel(name = "登录名称")
43
+    private String userName;
44
+
45
+    /** 用户昵称 */
46
+    @Excel(name = "用户名称")
47
+    private String nickName;
48
+
49
+    /** 用户邮箱 */
50
+    @Excel(name = "用户邮箱")
51
+    private String email;
52
+
53
+    /** 用户邮箱密码 */
54
+    @Excel(name = "用户邮箱密码")
55
+    private String emailPw;
56
+
57
+    /** 手机号码 */
58
+    @Excel(name = "手机号码")
59
+    private String phonenumber;
60
+
61
+    /** 用户性别 */
62
+    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
63
+    private String sex;
64
+
65
+    /** 用户头像 */
66
+    private String avatar;
67
+
68
+    /** 密码 */
69
+    private String password;
70
+
71
+    /** 帐号状态(0正常 1停用) */
72
+    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
73
+    private String status;
74
+
75
+    /** 删除标志(0代表存在 2代表删除) */
76
+    private String delFlag;
77
+
78
+    /** 最后登录IP */
79
+    @Excel(name = "最后登录IP", type = Type.EXPORT)
80
+    private String loginIp;
81
+
82
+    /** 最后登录时间 */
83
+    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
84
+    private Date loginDate;
85
+
86
+    /** 部门对象 */
87
+    @Excels({
88
+        @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
89
+        @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
90
+    })
91
+    @TableField(exist = false)
92
+    private SysDept dept;
93
+
94
+    /** 角色对象 */
95
+    @TableField(exist = false)
96
+    private List<SysRole> roles;
97
+
98
+    /** 角色组 */
99
+    @TableField(exist = false)
100
+    private Long[] roleIds;
101
+
102
+    /** 岗位组 */
103
+    @TableField(exist = false)
104
+    private Long[] postIds;
105
+
106
+    /** 角色ID */
107
+    @TableField(exist = false)
108
+    private Long roleId;
109
+
110
+    @TableField(exist = false)
111
+    private Map<String,List<Long>> userIds;
112
+
113
+    /** uuid */
114
+    private String userUuid;
115
+
116
+    /** 第三方ID */
117
+    private String thirdPartId;
118
+
119
+    /** 用户账号 */
120
+    @Excel(name = "关联项目UUID")
121
+    private String sysProjectUuid;
122
+
123
+    /** 用户账号 */
124
+    @Excel(name = "用户编号")
125
+    private String userNumber;
126
+
127
+    public SysUser()
128
+    {
129
+
130
+    }
131
+
132
+    public SysUser(Long userId)
133
+    {
134
+        this.userId = userId;
135
+    }
136
+
137
+    public Long getUserId()
138
+    {
139
+        return userId;
140
+    }
141
+
142
+    public void setUserId(Long userId)
143
+    {
144
+        this.userId = userId;
145
+    }
146
+
147
+    public boolean isAdmin()
148
+    {
149
+        return isAdmin(this.userId);
150
+    }
151
+
152
+    public static boolean isAdmin(Long userId)
153
+    {
154
+        return userId != null && 1L == userId;
155
+    }
156
+
157
+    public Long getDeptId()
158
+    {
159
+        return deptId;
160
+    }
161
+
162
+    public void setDeptId(Long deptId)
163
+    {
164
+        this.deptId = deptId;
165
+    }
166
+
167
+    @Xss(message = "用户昵称不能包含脚本字符")
168
+    @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
169
+    public String getNickName()
170
+    {
171
+        return nickName;
172
+    }
173
+
174
+    public void setNickName(String nickName)
175
+    {
176
+        this.nickName = nickName;
177
+    }
178
+
179
+    @Xss(message = "用户账号不能包含脚本字符")
180
+    @NotBlank(message = "用户账号不能为空")
181
+    @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
182
+    public String getUserName()
183
+    {
184
+        return userName;
185
+    }
186
+
187
+    public void setUserName(String userName)
188
+    {
189
+        this.userName = userName;
190
+    }
191
+
192
+    @Email(message = "邮箱格式不正确")
193
+    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
194
+    public String getEmail()
195
+    {
196
+        return email;
197
+    }
198
+
199
+    public void setEmail(String email)
200
+    {
201
+        this.email = email;
202
+    }
203
+
204
+    @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
205
+    public String getPhonenumber()
206
+    {
207
+        return phonenumber;
208
+    }
209
+
210
+    public void setPhonenumber(String phonenumber)
211
+    {
212
+        this.phonenumber = phonenumber;
213
+    }
214
+
215
+    public String getSex()
216
+    {
217
+        return sex;
218
+    }
219
+
220
+    public void setSex(String sex)
221
+    {
222
+        this.sex = sex;
223
+    }
224
+
225
+    public String getAvatar()
226
+    {
227
+        if (StringUtils.isEmpty(avatar))
228
+        {
229
+            return StringUtils.EMPTY;
230
+        }
231
+        else
232
+        {
233
+            return avatar;
234
+        }
235
+    }
236
+
237
+    public void setAvatar(String avatar)
238
+    {
239
+        this.avatar = avatar;
240
+    }
241
+
242
+    public String getPassword()
243
+    {
244
+        return password;
245
+    }
246
+
247
+    public void setPassword(String password)
248
+    {
249
+        this.password = password;
250
+    }
251
+
252
+    public String getStatus()
253
+    {
254
+        return status;
255
+    }
256
+
257
+    public void setStatus(String status)
258
+    {
259
+        this.status = status;
260
+    }
261
+
262
+    public String getDelFlag()
263
+    {
264
+        return delFlag;
265
+    }
266
+
267
+    public void setDelFlag(String delFlag)
268
+    {
269
+        this.delFlag = delFlag;
270
+    }
271
+
272
+    public String getLoginIp()
273
+    {
274
+        return loginIp;
275
+    }
276
+
277
+    public void setLoginIp(String loginIp)
278
+    {
279
+        this.loginIp = loginIp;
280
+    }
281
+
282
+    public Date getLoginDate()
283
+    {
284
+        return loginDate;
285
+    }
286
+
287
+    public void setLoginDate(Date loginDate)
288
+    {
289
+        this.loginDate = loginDate;
290
+    }
291
+
292
+    public SysDept getDept()
293
+    {
294
+        return dept;
295
+    }
296
+
297
+    public void setDept(SysDept dept)
298
+    {
299
+        this.dept = dept;
300
+    }
301
+
302
+    public List<SysRole> getRoles()
303
+    {
304
+        return roles;
305
+    }
306
+
307
+    public void setRoles(List<SysRole> roles)
308
+    {
309
+        this.roles = roles;
310
+    }
311
+
312
+    public Long[] getRoleIds()
313
+    {
314
+        return roleIds;
315
+    }
316
+
317
+    public void setRoleIds(Long[] roleIds)
318
+    {
319
+        this.roleIds = roleIds;
320
+    }
321
+
322
+    public Long[] getPostIds()
323
+    {
324
+        return postIds;
325
+    }
326
+
327
+    public void setPostIds(Long[] postIds)
328
+    {
329
+        this.postIds = postIds;
330
+    }
331
+
332
+    public Long getRoleId()
333
+    {
334
+        return roleId;
335
+    }
336
+
337
+    public void setRoleId(Long roleId)
338
+    {
339
+        this.roleId = roleId;
340
+    }
341
+
342
+    public String getUserUuid() {
343
+        return userUuid;
344
+    }
345
+
346
+    public void setUserUuid(String userUuid) {
347
+        this.userUuid = userUuid;
348
+    }
349
+
350
+    public Map<String, List<Long>> getUserIds() {
351
+        return userIds;
352
+    }
353
+
354
+    public void setUserIds(Map<String, List<Long>> userIds) {
355
+        this.userIds = userIds;
356
+    }
357
+
358
+    public String getThirdPartId() {
359
+        return thirdPartId;
360
+    }
361
+
362
+    public void setThirdPartId(String thirdPartId) {
363
+        this.thirdPartId = thirdPartId;
364
+    }
365
+
366
+    public String getSysProjectUuid() {
367
+        return sysProjectUuid;
368
+    }
369
+
370
+    public void setSysProjectUuid(String sysProjectUuid) {
371
+        this.sysProjectUuid = sysProjectUuid;
372
+    }
373
+
374
+    public String getUserNumber() {
375
+        return userNumber;
376
+    }
377
+
378
+    public void setUserNumber(String userNumber) {
379
+        this.userNumber = userNumber;
380
+    }
381
+
382
+    public String getEmailPw() {
383
+        return emailPw;
384
+    }
385
+
386
+    public void setEmailPw(String emailPw) {
387
+        this.emailPw = emailPw;
388
+    }
389
+
390
+    @Override
391
+    public String toString() {
392
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
393
+            .append("userId", getUserId())
394
+            .append("deptId", getDeptId())
395
+            .append("userName", getUserName())
396
+            .append("nickName", getNickName())
397
+            .append("email", getEmail())
398
+            .append("phonenumber", getPhonenumber())
399
+            .append("sex", getSex())
400
+            .append("avatar", getAvatar())
401
+            .append("password", getPassword())
402
+            .append("status", getStatus())
403
+            .append("delFlag", getDelFlag())
404
+            .append("loginIp", getLoginIp())
405
+            .append("loginDate", getLoginDate())
406
+            .append("createBy", getCreateBy())
407
+            .append("createTime", getCreateTime())
408
+            .append("updateBy", getUpdateBy())
409
+            .append("updateTime", getUpdateTime())
410
+            .append("remark", getRemark())
411
+            .append("dept", getDept())
412
+            .toString();
413
+    }
414
+}

+ 76
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteFileFallbackFactory.java 파일 보기

@@ -0,0 +1,76 @@
1
+package com.webstudio.system.api.factory;
2
+
3
+import com.webstudio.system.api.RemoteFileService;
4
+import com.webstudio.system.api.domain.SysFile;
5
+import org.slf4j.Logger;
6
+import org.slf4j.LoggerFactory;
7
+import org.springframework.cloud.openfeign.FallbackFactory;
8
+import org.springframework.stereotype.Component;
9
+import org.springframework.web.multipart.MultipartFile;
10
+import com.webstudio.common.core.domain.R;
11
+
12
+/**
13
+ * 文件服务降级处理
14
+ * 
15
+ * @author ruoyi
16
+ */
17
+@Component
18
+public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService>
19
+{
20
+    private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);
21
+
22
+    @Override
23
+    public RemoteFileService create(Throwable throwable)
24
+    {
25
+        log.error("文件服务调用失败:{}", throwable.getMessage());
26
+        return new RemoteFileService()
27
+        {
28
+            @Override
29
+            public R<SysFile> upload(MultipartFile file)
30
+            {
31
+                return R.fail("上传文件失败:" + throwable.getMessage());
32
+            }
33
+            @Override
34
+            public R<SysFile> selectFileByUUID(String uuid)
35
+            {
36
+                return R.fail("文件信息查询失败:" + throwable.getMessage());
37
+            }
38
+
39
+            @Override
40
+            public R<SysFile> selectThumFileByUUID(String uuid) {
41
+                return R.fail("缩略图获取失败:" + throwable.getMessage());
42
+            }
43
+
44
+            @Override
45
+            public R<byte[]> download(String uuid)
46
+            {
47
+                return R.fail("获取文件失败:" + throwable.getMessage());
48
+            }
49
+
50
+            @Override
51
+            public R<String> downloadBase64(String uuid) {
52
+                return null;
53
+            }
54
+
55
+            @Override
56
+            public String createTempFile(String uuid) {
57
+                return  "创建临时文件失败:" + throwable.getMessage();
58
+            }
59
+
60
+            @Override
61
+            public R<SysFile> selectSysFileByUUID(String uuid) {
62
+                return R.fail("文件查询失败");
63
+            }
64
+
65
+            @Override
66
+            public R<SysFile> selectSysFileByUUIDNotIp(String uuid) {
67
+                return R.fail("文件查询失败");
68
+            }
69
+
70
+            @Override
71
+            public String getMinioUrl() {
72
+                return  "获取文件服务地址失败:" + throwable.getMessage();
73
+            }
74
+        };
75
+    }
76
+}

+ 57
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteFormFallbackFactory.java 파일 보기

@@ -0,0 +1,57 @@
1
+package com.webstudio.system.api.factory;
2
+
3
+import com.webstudio.common.core.domain.R;
4
+import com.webstudio.common.core.web.domain.AjaxResult;
5
+import com.webstudio.common.core.web.page.TableDataInfo;
6
+import com.webstudio.system.api.RemoteFormService;
7
+import com.webstudio.system.api.domain.*;
8
+//import com.webstudio.system.api.domain.SysEnumData;
9
+import org.slf4j.Logger;
10
+import org.slf4j.LoggerFactory;
11
+import org.springframework.cloud.openfeign.FallbackFactory;
12
+import org.springframework.stereotype.Component;
13
+
14
+import java.util.List;
15
+
16
+/**
17
+ * 基础服务降级处理
18
+ * 
19
+ */
20
+@Component
21
+public class RemoteFormFallbackFactory implements FallbackFactory<RemoteFormService>
22
+{
23
+    private static final Logger log = LoggerFactory.getLogger(RemoteFormFallbackFactory.class);
24
+
25
+    @Override
26
+    public RemoteFormService create(Throwable throwable)
27
+    {
28
+        {
29
+            log.error("基础服务调用失败:{}", throwable.getMessage());
30
+            return new RemoteFormService()
31
+            {
32
+
33
+                @Override
34
+                public String selectEnumDataById(String uuid) {
35
+                    return null;
36
+                }
37
+
38
+                @Override
39
+                public R<SysConfig> getSysConfInfo(Long configId) {
40
+                    return null;
41
+                }
42
+
43
+                @Override
44
+                public SysDept selectDeptById(String deptId) {
45
+                    return null;
46
+                }
47
+
48
+                @Override
49
+                public R<SysProjectInfo> getInfo(String uuid) {
50
+                    return R.fail(throwable.getMessage());
51
+                }
52
+
53
+            };
54
+
55
+        }
56
+    }
57
+}

+ 42
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteLogFallbackFactory.java 파일 보기

@@ -0,0 +1,42 @@
1
+package com.webstudio.system.api.factory;
2
+
3
+import com.webstudio.system.api.RemoteLogService;
4
+import com.webstudio.system.api.domain.SysLogininfor;
5
+import com.webstudio.system.api.domain.SysOperLog;
6
+import org.slf4j.Logger;
7
+import org.slf4j.LoggerFactory;
8
+import org.springframework.cloud.openfeign.FallbackFactory;
9
+import org.springframework.stereotype.Component;
10
+import com.webstudio.common.core.domain.R;
11
+
12
+/**
13
+ * 日志服务降级处理
14
+ * 
15
+ * @author ruoyi
16
+ */
17
+@Component
18
+public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogService>
19
+{
20
+    private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
21
+
22
+    @Override
23
+    public RemoteLogService create(Throwable throwable)
24
+    {
25
+        log.error("日志服务调用失败:{}", throwable.getMessage());
26
+        return new RemoteLogService()
27
+        {
28
+            @Override
29
+            public R<Boolean> saveLog(SysOperLog sysOperLog, String source)
30
+            {
31
+                return null;
32
+            }
33
+
34
+            @Override
35
+            public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source)
36
+            {
37
+                return null;
38
+            }
39
+        };
40
+
41
+    }
42
+}

+ 74
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteStaticizeFallbackFactory.java 파일 보기

@@ -0,0 +1,74 @@
1
+package com.webstudio.system.api.factory;
2
+
3
+import com.webstudio.common.core.web.domain.AjaxResult;
4
+import com.webstudio.system.api.RemoteStaticService;
5
+import org.slf4j.Logger;
6
+import org.slf4j.LoggerFactory;
7
+import org.springframework.cloud.openfeign.FallbackFactory;
8
+import org.springframework.stereotype.Component;
9
+
10
+/**
11
+ * 静态化服务降级处理
12
+ * 
13
+ */
14
+@Component
15
+public class RemoteStaticizeFallbackFactory implements FallbackFactory<RemoteStaticService>
16
+{
17
+    private static final Logger log = LoggerFactory.getLogger(RemoteStaticizeFallbackFactory.class);
18
+
19
+    @Override
20
+    public RemoteStaticService create(Throwable throwable)
21
+    {
22
+        {
23
+            log.error("静态化服务调用失败:{}", throwable.getMessage());
24
+            return new RemoteStaticService()
25
+            {
26
+                @Override
27
+                public AjaxResult index() {
28
+                    return null;
29
+                }
30
+
31
+                @Override
32
+                public AjaxResult productsBrand(String menuUuid) {
33
+                    return null;
34
+                }
35
+
36
+                @Override
37
+                public AjaxResult news() {
38
+                    return null;
39
+                }
40
+
41
+                @Override
42
+                public AjaxResult newsDetail(String newsUuid) {
43
+                    return null;
44
+                }
45
+
46
+                @Override
47
+                public AjaxResult temporaryProduct(String newsUuid) {
48
+                    return null;
49
+                }
50
+
51
+                @Override
52
+                public AjaxResult select(String htmlName) {
53
+                    return null;
54
+                }
55
+
56
+                @Override
57
+                public AjaxResult subject(String gambitUuid) {
58
+                    return null;
59
+                }
60
+
61
+                @Override
62
+                public AjaxResult subjectAggre(String tagUuid) {
63
+                    return null;
64
+                }
65
+
66
+                @Override
67
+                public AjaxResult topicDetail(String spsubjectDetailUuid) {
68
+                    return null;
69
+                }
70
+            };
71
+
72
+        }
73
+    }
74
+}

+ 57
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/factory/RemoteUserFallbackFactory.java 파일 보기

@@ -0,0 +1,57 @@
1
+package com.webstudio.system.api.factory;
2
+
3
+import com.webstudio.system.api.RemoteUserService;
4
+import com.webstudio.system.api.domain.SysUser;
5
+import com.webstudio.system.api.model.LoginUser;
6
+import org.slf4j.Logger;
7
+import org.slf4j.LoggerFactory;
8
+import org.springframework.cloud.openfeign.FallbackFactory;
9
+import org.springframework.stereotype.Component;
10
+import com.webstudio.common.core.domain.R;
11
+
12
+import java.util.List;
13
+import java.util.Map;
14
+
15
+/**
16
+ * 用户服务降级处理
17
+ * 
18
+ * @author ruoyi
19
+ */
20
+@Component
21
+public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserService>
22
+{
23
+    private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
24
+
25
+    @Override
26
+    public RemoteUserService create(Throwable throwable)
27
+    {
28
+        log.error("用户服务调用失败:{}", throwable.getMessage());
29
+        return new RemoteUserService()
30
+        {
31
+            @Override
32
+            public R<LoginUser> getUserInfo(String username, String source)
33
+            {
34
+                return R.fail("获取用户失败:" + throwable.getMessage());
35
+            }
36
+
37
+            @Override
38
+            public R<Boolean> registerUserInfo(SysUser sysUser, String source)
39
+            {
40
+                return R.fail("注册用户失败:" + throwable.getMessage());
41
+            }
42
+
43
+            @Override
44
+            public SysUser getUserInfoByUuID(String uuid) {
45
+                return null;
46
+            }
47
+            public R<List<SysUser>> getByUserIds(List<Long> userIds, String source) {
48
+                return R.fail("根据id集合获取用户信息失败:" + throwable.getMessage());
49
+            }
50
+
51
+            @Override
52
+            public R<SysUser> getUserById(long userId, String source) {
53
+                return R.fail("根据id获取用户信息失败:" + throwable.getMessage());
54
+            }
55
+        };
56
+    }
57
+}

+ 176
- 0
webstudio-api/webstudio-api-system/src/main/java/com/webstudio/system/api/model/LoginUser.java 파일 보기

@@ -0,0 +1,176 @@
1
+package com.webstudio.system.api.model;
2
+
3
+import java.io.Serializable;
4
+import java.util.Set;
5
+import com.webstudio.system.api.domain.SysUser;
6
+
7
+/**
8
+ * 用户信息
9
+ *
10
+ * @author ruoyi
11
+ */
12
+public class LoginUser implements Serializable
13
+{
14
+    private static final long serialVersionUID = 1L;
15
+
16
+    /**
17
+     * 用户唯一标识
18
+     */
19
+    private String token;
20
+
21
+    /**
22
+     * 用户名id
23
+     */
24
+    private Long userid;
25
+
26
+    /**
27
+     * 用户uuid
28
+     */
29
+    private String userUuid;
30
+
31
+    /**
32
+     * 用户名
33
+     */
34
+    private String username;
35
+
36
+    /**
37
+     * 用户真实姓名
38
+     */
39
+    private String nickname;
40
+
41
+    /**
42
+     * 登录时间
43
+     */
44
+    private Long loginTime;
45
+
46
+    /**
47
+     * 过期时间
48
+     */
49
+    private Long expireTime;
50
+
51
+    /**
52
+     * 登录IP地址
53
+     */
54
+    private String ipaddr;
55
+
56
+    /**
57
+     * 权限列表
58
+     */
59
+    private Set<String> permissions;
60
+
61
+    /**
62
+     * 角色列表
63
+     */
64
+    private Set<String> roles;
65
+
66
+    /**
67
+     * 用户信息
68
+     */
69
+    private SysUser sysUser;
70
+
71
+    public String getToken()
72
+    {
73
+        return token;
74
+    }
75
+
76
+    public void setToken(String token)
77
+    {
78
+        this.token = token;
79
+    }
80
+
81
+    public Long getUserid()
82
+    {
83
+        return userid;
84
+    }
85
+
86
+    public void setUserid(Long userid)
87
+    {
88
+        this.userid = userid;
89
+    }
90
+
91
+    public String getUsername()
92
+    {
93
+        return username;
94
+    }
95
+
96
+    public void setUsername(String username)
97
+    {
98
+        this.username = username;
99
+    }
100
+
101
+    public Long getLoginTime()
102
+    {
103
+        return loginTime;
104
+    }
105
+
106
+    public void setLoginTime(Long loginTime)
107
+    {
108
+        this.loginTime = loginTime;
109
+    }
110
+
111
+    public Long getExpireTime()
112
+    {
113
+        return expireTime;
114
+    }
115
+
116
+    public void setExpireTime(Long expireTime)
117
+    {
118
+        this.expireTime = expireTime;
119
+    }
120
+
121
+    public String getIpaddr()
122
+    {
123
+        return ipaddr;
124
+    }
125
+
126
+    public void setIpaddr(String ipaddr)
127
+    {
128
+        this.ipaddr = ipaddr;
129
+    }
130
+
131
+    public Set<String> getPermissions()
132
+    {
133
+        return permissions;
134
+    }
135
+
136
+    public void setPermissions(Set<String> permissions)
137
+    {
138
+        this.permissions = permissions;
139
+    }
140
+
141
+    public Set<String> getRoles()
142
+    {
143
+        return roles;
144
+    }
145
+
146
+    public void setRoles(Set<String> roles)
147
+    {
148
+        this.roles = roles;
149
+    }
150
+
151
+    public SysUser getSysUser()
152
+    {
153
+        return sysUser;
154
+    }
155
+
156
+    public void setSysUser(SysUser sysUser)
157
+    {
158
+        this.sysUser = sysUser;
159
+    }
160
+
161
+    public String getUserUuid() {
162
+        return userUuid;
163
+    }
164
+
165
+    public void setUserUuid(String userUuid) {
166
+        this.userUuid = userUuid;
167
+    }
168
+
169
+    public String getNickname() {
170
+        return nickname;
171
+    }
172
+
173
+    public void setNickname(String nickname) {
174
+        this.nickname = nickname;
175
+    }
176
+}

+ 4
- 0
webstudio-api/webstudio-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일 보기

@@ -0,0 +1,4 @@
1
+com.webstudio.system.api.factory.RemoteUserFallbackFactory
2
+com.webstudio.system.api.factory.RemoteLogFallbackFactory
3
+com.webstudio.system.api.factory.RemoteFileFallbackFactory
4
+com.webstudio.system.api.factory.RemoteFormFallbackFactory

+ 82
- 0
webstudio-auth/pom.xml 파일 보기

@@ -0,0 +1,82 @@
1
+<project xmlns="http://maven.apache.org/POM/4.0.0"
2
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+    <parent>
5
+        <groupId>com.webstudio</groupId>
6
+        <artifactId>webstudio</artifactId>
7
+        <version>3.6.2</version>
8
+    </parent>
9
+    <modelVersion>4.0.0</modelVersion>
10
+    
11
+    <artifactId>webstudio-auth</artifactId>
12
+	
13
+    <description>
14
+        webstudio-auth认证授权中心
15
+    </description>
16
+    
17
+    <dependencies>
18
+        
19
+        <!-- SpringCloud Alibaba Nacos -->
20
+        <dependency>
21
+            <groupId>com.alibaba.cloud</groupId>
22
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
23
+        </dependency>
24
+        
25
+        <!-- SpringCloud Alibaba Nacos Config -->
26
+        <dependency>
27
+            <groupId>com.alibaba.cloud</groupId>
28
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
29
+        </dependency>
30
+        
31
+        <!-- SpringCloud Alibaba Sentinel -->
32
+        <dependency>
33
+            <groupId>com.alibaba.cloud</groupId>
34
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
35
+        </dependency>
36
+		
37
+        <!-- SpringBoot Web -->
38
+        <dependency>
39
+            <groupId>org.springframework.boot</groupId>
40
+            <artifactId>spring-boot-starter-web</artifactId>
41
+        </dependency>
42
+        
43
+        <!-- SpringBoot Actuator -->
44
+        <dependency>
45
+            <groupId>org.springframework.boot</groupId>
46
+            <artifactId>spring-boot-starter-actuator</artifactId>
47
+        </dependency>
48
+		
49
+        <!-- RuoYi Common Security-->
50
+        <dependency>
51
+            <groupId>com.webstudio</groupId>
52
+            <artifactId>webstudio-common-security</artifactId>
53
+        </dependency>
54
+
55
+<!--        登录信息加密-->
56
+        <dependency>
57
+            <groupId>commons-codec</groupId>
58
+            <artifactId>commons-codec</artifactId>
59
+            <version>1.15</version>
60
+        </dependency>
61
+
62
+
63
+    </dependencies>
64
+	
65
+    <build>
66
+        <finalName>${project.artifactId}</finalName>
67
+        <plugins>
68
+            <plugin>
69
+                <groupId>org.springframework.boot</groupId>
70
+                <artifactId>spring-boot-maven-plugin</artifactId>
71
+                <executions>
72
+                    <execution>
73
+                        <goals>
74
+                            <goal>repackage</goal>
75
+                        </goals>
76
+                    </execution>
77
+                </executions>
78
+            </plugin>
79
+        </plugins>
80
+    </build>
81
+   
82
+</project>

+ 22
- 0
webstudio-auth/src/main/java/com/webstudio/auth/AuthApplication.java 파일 보기

@@ -0,0 +1,22 @@
1
+package com.webstudio.auth;
2
+
3
+import org.springframework.boot.SpringApplication;
4
+import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
6
+import com.webstudio.common.security.annotation.EnableRyFeignClients;
7
+
8
+/**
9
+ * 认证授权中心
10
+ * 
11
+ * @author ruoyi
12
+ */
13
+@EnableRyFeignClients
14
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
15
+public class AuthApplication
16
+{
17
+    public static void main(String[] args)
18
+    {
19
+        SpringApplication.run(AuthApplication.class, args);
20
+        System.out.println("(♥◠‿◠)ノ゙  认证授权中心启动成功   ლ(´ڡ`ლ)゙  \n");
21
+    }
22
+}

+ 80
- 0
webstudio-auth/src/main/java/com/webstudio/auth/controller/TokenController.java 파일 보기

@@ -0,0 +1,80 @@
1
+package com.webstudio.auth.controller;
2
+
3
+import com.webstudio.auth.form.LoginBody;
4
+import com.webstudio.auth.form.RegisterBody;
5
+import com.webstudio.auth.service.SysLoginService;
6
+import com.webstudio.common.core.domain.R;
7
+import com.webstudio.common.core.utils.JwtUtils;
8
+import com.webstudio.common.core.utils.StringUtils;
9
+import com.webstudio.common.security.auth.AuthUtil;
10
+import com.webstudio.common.security.service.TokenService;
11
+import com.webstudio.common.security.utils.SecurityUtils;
12
+import com.webstudio.system.api.model.LoginUser;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.web.bind.annotation.DeleteMapping;
15
+import org.springframework.web.bind.annotation.PostMapping;
16
+import org.springframework.web.bind.annotation.RequestBody;
17
+import org.springframework.web.bind.annotation.RestController;
18
+
19
+import javax.servlet.http.HttpServletRequest;
20
+
21
+/**
22
+ * token 控制
23
+ * 
24
+ * @author ruoyi
25
+ */
26
+@RestController
27
+public class TokenController
28
+{
29
+    @Autowired
30
+    private TokenService tokenService;
31
+
32
+    @Autowired
33
+    private SysLoginService sysLoginService;
34
+
35
+    @PostMapping("login")
36
+    public R<?> login(@RequestBody LoginBody form) throws Exception {
37
+        // 用户登录
38
+        LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getBrowserType(), form.getSystemType());
39
+        // 获取登录token
40
+        return R.ok(tokenService.createToken(userInfo));
41
+    }
42
+
43
+    @DeleteMapping("logout")
44
+    public R<?> logout(HttpServletRequest request)
45
+    {
46
+        String token = SecurityUtils.getToken(request);
47
+        if (StringUtils.isNotEmpty(token))
48
+        {
49
+            String username = JwtUtils.getUserName(token);
50
+            String browserType = request.getParameter("browserType");
51
+            String systemType = request.getParameter("systemType");
52
+            // 删除用户缓存记录
53
+            AuthUtil.logoutByToken(token);
54
+            // 记录用户退出日志
55
+            sysLoginService.logout(username, browserType, systemType);
56
+        }
57
+        return R.ok();
58
+    }
59
+
60
+    @PostMapping("refresh")
61
+    public R<?> refresh(HttpServletRequest request)
62
+    {
63
+        LoginUser loginUser = tokenService.getLoginUser(request);
64
+        if (StringUtils.isNotNull(loginUser))
65
+        {
66
+            // 刷新令牌有效期
67
+            tokenService.refreshToken(loginUser);
68
+            return R.ok();
69
+        }
70
+        return R.ok();
71
+    }
72
+
73
+    @PostMapping("register")
74
+    public R<?> register(@RequestBody RegisterBody registerBody)
75
+    {
76
+        // 用户注册
77
+        sysLoginService.register(registerBody.getUsername(), registerBody.getPassword());
78
+        return R.ok();
79
+    }
80
+}

+ 65
- 0
webstudio-auth/src/main/java/com/webstudio/auth/form/LoginBody.java 파일 보기

@@ -0,0 +1,65 @@
1
+package com.webstudio.auth.form;
2
+
3
+/**
4
+ * 用户登录对象
5
+ * 
6
+ * @author ruoyi
7
+ */
8
+public class LoginBody
9
+{
10
+    /**
11
+     * 用户名
12
+     */
13
+    private String username;
14
+
15
+    /**
16
+     * 用户密码
17
+     */
18
+    private String password;
19
+
20
+    /**
21
+     * 浏览器类型
22
+     */
23
+    private String browserType;
24
+
25
+    /**
26
+     * 操作系统
27
+     */
28
+    private String systemType;
29
+
30
+    public String getUsername()
31
+    {
32
+        return username;
33
+    }
34
+
35
+    public void setUsername(String username)
36
+    {
37
+        this.username = username;
38
+    }
39
+
40
+    public String getPassword()
41
+    {
42
+        return password;
43
+    }
44
+
45
+    public void setPassword(String password)
46
+    {
47
+        this.password = password;
48
+    }
49
+
50
+    public String getBrowserType() {
51
+        return browserType;
52
+    }
53
+
54
+    public void setBrowserType(String browserType) {
55
+        this.browserType = browserType;
56
+    }
57
+
58
+    public String getSystemType() {
59
+        return systemType;
60
+    }
61
+
62
+    public void setSystemType(String systemType) {
63
+        this.systemType = systemType;
64
+    }
65
+}

+ 11
- 0
webstudio-auth/src/main/java/com/webstudio/auth/form/RegisterBody.java 파일 보기

@@ -0,0 +1,11 @@
1
+package com.webstudio.auth.form;
2
+
3
+/**
4
+ * 用户注册对象
5
+ * 
6
+ * @author ruoyi
7
+ */
8
+public class RegisterBody extends LoginBody
9
+{
10
+
11
+}

+ 0
- 0
webstudio-auth/src/main/java/com/webstudio/auth/service/SysLoginService.java 파일 보기


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.

Loading…
취소
저장