Browse Source

解决NaN

main
maochaoying 2 years ago
parent
commit
6d1cb7548d
  1. BIN
      javaweb-admin/.DS_Store
  2. 6
      javaweb-admin/pom.xml
  3. BIN
      javaweb-admin/src/.DS_Store
  4. BIN
      javaweb-admin/src/main/.DS_Store
  5. BIN
      javaweb-admin/src/main/java/.DS_Store
  6. BIN
      javaweb-admin/src/main/java/com/.DS_Store
  7. 3
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/controller/CollectImageController.java
  8. 31
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/CurrentDetectionDao.java
  9. 30
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/TBatchDao.java
  10. 8
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/TestResultDao.java
  11. 6
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/entity/TestResult.java
  12. 102
      javaweb-admin/src/main/java/com/iflytop/zsjyapi/service/TestResultService.java
  13. BIN
      javaweb-admin/src/main/java/com/javaweb/.DS_Store
  14. 3
      javaweb-admin/src/main/java/com/javaweb/admin/AdminApplication.java
  15. 1
      javaweb-admin/src/main/java/com/javaweb/system/config/ShiroConfig.java
  16. 2
      javaweb-admin/src/main/resources/application-local.yml
  17. 2
      javaweb-admin/src/main/resources/application-prod.yml
  18. 2
      javaweb-admin/src/main/resources/application.yml
  19. 137
      javaweb-admin/src/main/resources/static/module/javaweb_login.js
  20. 288
      javaweb-admin/src/main/resources/templates/index.html
  21. 398
      javaweb-admin/src/main/resources/templates/login.html
  22. 14
      javaweb-admin/src/main/resources/templates/public/footer.html
  23. 60
      javaweb-admin/src/main/resources/templates/public/header.html
  24. 2
      javaweb-admin/src/main/resources/templates/ttestresult/index.html

BIN
javaweb-admin/.DS_Store

6
javaweb-admin/pom.xml

@ -8,9 +8,9 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>zsjyadmin</artifactId>
<artifactId>zsjyapi</artifactId>
<packaging>war</packaging>
<name>zsjyadmin</name>
<name>zsjyapi</name>
<description>Demo project for Spring Boot</description>
<!-- 依赖声明 -->
@ -257,7 +257,7 @@
</profiles>
<build>
<finalName>zsjyadmin</finalName>
<finalName>zsjyapi</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>

BIN
javaweb-admin/src/.DS_Store

BIN
javaweb-admin/src/main/.DS_Store

BIN
javaweb-admin/src/main/java/.DS_Store

BIN
javaweb-admin/src/main/java/com/.DS_Store

3
javaweb-admin/src/main/java/com/iflytop/zsjyapi/controller/CollectImageController.java

@ -74,7 +74,8 @@ public class CollectImageController {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String fileName_part = format.format(date);
String fileName = userId + "_" + fileName_part;
String verificationCode = String.valueOf((int)((Math.random()*9+1)*1000));
String fileName = userId + "_" + fileName_part + "-" + verificationCode;
File file = new File(absolutePath, fileName);

31
javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/CurrentDetectionDao.java

@ -0,0 +1,31 @@
package com.iflytop.zsjyapi.dao;
import com.iflytop.zsjyapi.entity.TestResult;
import com.javaweb.admin.entity.CurrentDetection;
import org.apache.shiro.authc.Account;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author cool
* @date 2023/7/15 19:02
*/
@Repository
public class CurrentDetectionDao {
@Autowired
JdbcTemplate jdbcTemplate;
public CurrentDetection getOne(){
String querySql = "select * from current_detection where iscurrent = 1";
List<CurrentDetection> query = jdbcTemplate.query(querySql, new BeanPropertyRowMapper<CurrentDetection>(CurrentDetection.class));
if (query.size() > 0) {
return query.get(0);
}
return null;
}
}

30
javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/TBatchDao.java

@ -0,0 +1,30 @@
package com.iflytop.zsjyapi.dao;
import com.javaweb.admin.entity.CurrentDetection;
import com.javaweb.admin.entity.TBatch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author cool
* @date 2023/7/15 20:06
*/
@Repository
public class TBatchDao {
@Autowired
JdbcTemplate jdbcTemplate;
public TBatch getOne(){
String querySql = "select * from t_batch where is_current = 1";
List<TBatch> query = jdbcTemplate.query(querySql, new BeanPropertyRowMapper<TBatch>(TBatch.class));
if (query.size() > 0) {
return query.get(0);
}
return null;
}
}

8
javaweb-admin/src/main/java/com/iflytop/zsjyapi/dao/TestResultDao.java

@ -11,12 +11,15 @@ public class TestResultDao {
JdbcTemplate jdbcTemplate;
public void add(TestResult testResult){
String insertSql = "INSERT INTO testresult" +
String insertSql = "INSERT INTO t_testresult" +
"(" +
"`user_id`," +
"`test_date`," +
"`image_file_name`," +
"`image_file_path`," +
"`idcard`," +
"`nickname`," +
"`batch_id`," +
"`c1`," +
"`c2`," +
"`c3`," +
@ -41,6 +44,9 @@ public class TestResultDao {
"'"+testResult.getTestDate()+"'," +
"'"+testResult.getImageFileName()+"'," +
"'"+testResult.getImageFilePath()+"'," +
"'"+testResult.getIdcard()+"'," +
"'"+testResult.getNickname()+"'," +
testResult.getBatch_id()+"," +
testResult.getC1()+"," +
testResult.getC2()+"," +
testResult.getC3()+"," +

6
javaweb-admin/src/main/java/com/iflytop/zsjyapi/entity/TestResult.java

@ -34,4 +34,10 @@ public class TestResult {
String c5Color;
String c6Color;
String idcard;
String nickname;
int batch_id;
}

102
javaweb-admin/src/main/java/com/iflytop/zsjyapi/service/TestResultService.java

@ -1,10 +1,15 @@
package com.iflytop.zsjyapi.service;
import com.iflytop.zsjyapi.dao.CurrentDetectionDao;
import com.iflytop.zsjyapi.dao.TBatchDao;
import com.iflytop.zsjyapi.dao.TestResultDao;
import com.iflytop.zsjyapi.entity.Coor;
import com.iflytop.zsjyapi.entity.CoorRGB;
import com.iflytop.zsjyapi.entity.TestResult;
import com.iflytop.zsjyapi.util.ImageUtil;
import com.javaweb.admin.entity.CurrentDetection;
import com.javaweb.admin.entity.TBatch;
import com.javaweb.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -18,12 +23,15 @@ import java.util.Date;
public class TestResultService {
@Autowired
TestResultDao testResultDao;
@Autowired
CurrentDetectionDao currentDetectionDao;
@Autowired
TBatchDao tBatchDao;
public void add(String userId,String imageFileName,String imageFilePath,File imageFile){
TestResult testResult = new TestResult();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String testDate = format.format(date);
@ -112,27 +120,63 @@ public class TestResultService {
CoorRGB CoorRGB_c4 = ImageUtil.getRGB(rgb3array, c4);
CoorRGB CoorRGB_c5 = ImageUtil.getRGB(rgb3array, c5);
CoorRGB CoorRGB_c6 = ImageUtil.getRGB(rgb3array, c6);
double c1_result = c1_C*(Math.pow((c1_A-(c1_k1*CoorRGB_c1.getR() + c1_k2*CoorRGB_c1.getG() + c1_k3*CoorRGB_c1.getB()))/((c1_k1*CoorRGB_c1.getR() + c1_k2*CoorRGB_c1.getG() + c1_k3*CoorRGB_c1.getB())-c1_D),1/c1_B));
testResult.setC1(0);
double c2_result =c2_C*(Math.pow((c2_A-(c2_k1*CoorRGB_c2.getR() + c2_k2*CoorRGB_c2.getG() + c2_k3*CoorRGB_c2.getB()))/((c2_k1*CoorRGB_c2.getR() + c2_k2*CoorRGB_c2.getG() + c2_k3*CoorRGB_c2.getB())-c2_D),1/c2_B));
testResult.setC2(0);
double c3_result =c3_C*(Math.pow((c3_A-(c3_k1*CoorRGB_c3.getR() + c3_k2*CoorRGB_c3.getG() + c3_k3*CoorRGB_c3.getB()))/((c3_k1*CoorRGB_c3.getR() + c3_k2*CoorRGB_c3.getG() + c3_k3*CoorRGB_c3.getB())-c3_D),1/c3_B));
testResult.setC3(0);
double c4_result = c4_C*(Math.pow((c4_A-(c4_k1*CoorRGB_c4.getR() + c4_k2*CoorRGB_c4.getG() + c4_k3*CoorRGB_c4.getB()))/((c4_k1*CoorRGB_c4.getR() + c4_k2*CoorRGB_c4.getG() + c4_k3*CoorRGB_c4.getB())-c4_D),1/c4_B));
testResult.setC4(0);
double c5_result =c5_C*(Math.pow((c5_A-(c5_k1*CoorRGB_c5.getR() + c5_k2*CoorRGB_c5.getG() + c5_k3*CoorRGB_c5.getB()))/((c5_k1*CoorRGB_c5.getR() + c5_k2*CoorRGB_c5.getG() + c5_k3*CoorRGB_c5.getB())-c5_D),1/c5_B));
testResult.setC5(0);
double c6_result =c6_C*(Math.pow((c6_A-(c6_k1*CoorRGB_c6.getR() + c6_k2*CoorRGB_c6.getG() + c6_k3*CoorRGB_c6.getB()))/((c6_k1*CoorRGB_c6.getR() + c6_k2*CoorRGB_c6.getG() + c6_k3*CoorRGB_c6.getB())-c6_D),1/c6_B));
testResult.setC6(0);
double c1_result = 0;
double c2_result = 0;
double c3_result = 0;
double c4_result = 0;
double c5_result = 0;
double c6_result = 0;
// 除数可能为NaN 导致错误
// Math pow 底数目前为负数 指数是小数
/**
* - 如果底数是负数,指数是小数,将会返回NaN(非数值)
* - 如果底数是负数,指数是偶数,将会返回一个正数
* - 如果底数是负数,指数是奇数,将会返回一个负数
*/
if (Double.compare(c1_B, 0.0) != 0 && ((c1_k1*CoorRGB_c1.getR() + c1_k2*CoorRGB_c1.getG() + c1_k3*CoorRGB_c1.getB())-c1_D) != 0.0){
c1_result = c1_C*(Math.pow((c1_A-(c1_k1*CoorRGB_c1.getR() + c1_k2*CoorRGB_c1.getG() + c1_k3*CoorRGB_c1.getB()))/((c1_k1*CoorRGB_c1.getR() + c1_k2*CoorRGB_c1.getG() + c1_k3*CoorRGB_c1.getB())-c1_D),1/c1_B));
if(Double.isNaN(c1_result)) {
c1_result = 0.0;
}
}
if (Double.compare(c2_B, 0.0) != 0 && ((c2_k1*CoorRGB_c2.getR() + c2_k2*CoorRGB_c2.getG() + c2_k3*CoorRGB_c2.getB())-c2_D) != 0.0){
c2_result =c2_C*(Math.pow((c2_A-(c2_k1*CoorRGB_c2.getR() + c2_k2*CoorRGB_c2.getG() + c2_k3*CoorRGB_c2.getB()))/((c2_k1*CoorRGB_c2.getR() + c2_k2*CoorRGB_c2.getG() + c2_k3*CoorRGB_c2.getB())-c2_D),1/c2_B));
if(Double.isNaN(c2_result)) {
c2_result = 0.0;
}
}
if (Double.compare(c3_B, 0.0) != 0 && ((c3_k1*CoorRGB_c3.getR() + c3_k2*CoorRGB_c3.getG() + c3_k3*CoorRGB_c3.getB())-c3_D) != 0.0){
c3_result =c3_C*(Math.pow((c3_A-(c3_k1*CoorRGB_c3.getR() + c3_k2*CoorRGB_c3.getG() + c3_k3*CoorRGB_c3.getB()))/((c3_k1*CoorRGB_c3.getR() + c3_k2*CoorRGB_c3.getG() + c3_k3*CoorRGB_c3.getB())-c3_D),1/c3_B));
if(Double.isNaN(c3_result)) {
c3_result = 0.0;
}
}
if (Double.compare(c4_B, 0.0) != 0 && ((c4_k1*CoorRGB_c4.getR() + c4_k2*CoorRGB_c4.getG() + c4_k3*CoorRGB_c4.getB())-c4_D) != 0.0){
c4_result = c4_C*(Math.pow((c4_A-(c4_k1*CoorRGB_c4.getR() + c4_k2*CoorRGB_c4.getG() + c4_k3*CoorRGB_c4.getB()))/((c4_k1*CoorRGB_c4.getR() + c4_k2*CoorRGB_c4.getG() + c4_k3*CoorRGB_c4.getB())-c4_D),1/c4_B));
if(Double.isNaN(c4_result)) {
c4_result = 0.0;
}
}
if (Double.compare(c5_B, 0.0) != 0 && ((c5_k1*CoorRGB_c5.getR() + c5_k2*CoorRGB_c5.getG() + c5_k3*CoorRGB_c5.getB())-c5_D) != 0.0){
c5_result =c5_C*(Math.pow((c5_A-(c5_k1*CoorRGB_c5.getR() + c5_k2*CoorRGB_c5.getG() + c5_k3*CoorRGB_c5.getB()))/((c5_k1*CoorRGB_c5.getR() + c5_k2*CoorRGB_c5.getG() + c5_k3*CoorRGB_c5.getB())-c5_D),1/c5_B));
if(Double.isNaN(c5_result)) {
c5_result = 0.0;
}
}
if (Double.compare(c6_B, 0.0) != 0 && ((c6_k1*CoorRGB_c6.getR() + c6_k2*CoorRGB_c6.getG() + c6_k3*CoorRGB_c6.getB())-c6_D) != 0.0){
c6_result =c6_C*(Math.pow((c6_A-(c6_k1*CoorRGB_c6.getR() + c6_k2*CoorRGB_c6.getG() + c6_k3*CoorRGB_c6.getB()))/((c6_k1*CoorRGB_c6.getR() + c6_k2*CoorRGB_c6.getG() + c6_k3*CoorRGB_c6.getB())-c6_D),1/c6_B));
if(Double.isNaN(c6_result)) {
c6_result = 0.0;
}
}
testResult.setC1(c1_result);
testResult.setC2(c2_result);
testResult.setC3(c3_result);
testResult.setC4(c4_result);
testResult.setC5(c5_result);
testResult.setC6(c6_result);
testResult.setC1Rgb(CoorRGB_c1.getR()+"_"+CoorRGB_c1.getG()+"_"+CoorRGB_c1.getB());
testResult.setC1Color("#" + Long.toHexString(CoorRGB_c1.getR())
@ -160,8 +204,16 @@ public class TestResultService {
testResult.setC6Rgb(CoorRGB_c6.getR()+"_"+CoorRGB_c6.getG()+"_"+CoorRGB_c6.getB());
testResult.setC6Color("#" + Long.toHexString(CoorRGB_c6.getR())
+ Long.toHexString(CoorRGB_c6.getG()) + Long.toHexString(CoorRGB_c6.getB()));
CurrentDetection one = currentDetectionDao.getOne();
TBatch one1 = tBatchDao.getOne();
if (StringUtils.isNotNull(one)) {
// 从数据库查询当前设置的检测人
testResult.setNickname(one.getUsername());
testResult.setIdcard(one.getIdcard());
}
if (StringUtils.isNotNull(one1)) {
testResult.setBatch_id(one1.getId());
}
testResultDao.add(testResult);
}

BIN
javaweb-admin/src/main/java/com/javaweb/.DS_Store

3
javaweb-admin/src/main/java/com/javaweb/admin/AdminApplication.java

@ -24,10 +24,11 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication(scanBasePackages = {"com.javaweb.*","com.iflytop.zhongshengjinyu.*"})
@SpringBootApplication(scanBasePackages = {"com.javaweb.*","com.iflytop.zsjyapi.*"})
@MapperScan("com.javaweb.**.mapper")
@EnableTransactionManagement
// 开启定时任务支持

1
javaweb-admin/src/main/java/com/javaweb/system/config/ShiroConfig.java

@ -127,6 +127,7 @@ public class ShiroConfig {
LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
filterChainDefinitionMap.put("/login", "anon");
filterChainDefinitionMap.put("/detection/**", "anon");
filterChainDefinitionMap.put("/image/**", "anon");
//logout是shiro提供的过滤器,这是走自定义的 shiroLogoutFilter 上面有配置
filterChainDefinitionMap.put("/logout", "logout");
filterChainDefinitionMap.put("/captcha", "anon");

2
javaweb-admin/src/main/resources/application-local.yml

@ -3,7 +3,7 @@ server:
port: 8080
servlet:
# 项目的前缀名
context-path: /zsjyadmin
context-path: /zsjyapi
spring:
# 配置数据源

2
javaweb-admin/src/main/resources/application-prod.yml

@ -3,7 +3,7 @@ server:
port: 9011
# servlet:
# # 项目的前缀名
# context-path: /javaweb
# context-path: /zsjyapi
spring:
# 配置数据源

2
javaweb-admin/src/main/resources/application.yml

@ -64,4 +64,4 @@ system:
# 系统版本号
version: v1.0
# 上下文
webContext: /zsjyadmin
webContext: /zsjyapi

137
javaweb-admin/src/main/resources/static/module/javaweb_login.js

@ -1,79 +1,82 @@
/**
* 系统登录
*/
layui.use(['layer', 'form', 'index'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var index = layui.index;
$('.login-wrapper').removeClass('layui-hide');
layui.use(["layer", "form", "index"], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var index = layui.index;
$(".login-wrapper").removeClass("layui-hide");
// 登录事件
form.on('submit(loginSubmit)', function (data) {
// 设置按钮文字“登录中...”及禁止点击状态
$(data.elem).attr('disabled', true).text('登录中。。。');
// 登录事件
form.on("submit(loginSubmit)", function (data) {
// 设置按钮文字“登录中...”及禁止点击状态
$(data.elem).attr("disabled", true).text("登录中。。。");
// 网络请求
var loadIndex = layer.load(2);
$.ajax({
type: "POST",
url: '/zsjyadmin/login',
data: JSON.stringify(data.field),
contentType: "application/json",
dataType: "json",
beforeSend: function () {
// TODO...
},
success: function (res) {
layer.close(loadIndex);
if (res.code == 0) {
// 清除Tab记忆
index.clearTabCache();
// 网络请求
var loadIndex = layer.load(2);
$.ajax({
type: "POST",
url: "/zsjyapi/login",
data: JSON.stringify(data.field),
contentType: "application/json",
dataType: "json",
beforeSend: function () {
// TODO...
},
success: function (res) {
layer.close(loadIndex);
if (res.code == 0) {
// 清除Tab记忆
index.clearTabCache();
// 设置登录成功状态
$(data.elem).attr('disabled', true).text('登录成功');
// 设置登录成功状态
$(data.elem).attr("disabled", true).text("登录成功");
// 提示语
layer.msg('登录成功', {
icon: 1,
time: 1500
});
// 提示语
layer.msg("登录成功", {
icon: 1,
time: 1500,
});
// 延迟3秒
setTimeout(function () {
// 跳转后台首页
window.location.href = "/zsjyadmin/index";
}, 2000);
// 延迟3秒
setTimeout(function () {
// 跳转后台首页
window.location.href = "/zsjyapi/index";
}, 2000);
return false;
} else {
// 错误信息
layer.msg(res.msg, {icon: 2, anim: 6});
// 刷新验证码
$('img.login-captcha').click(function () {
this.src = '/zsjyadmin/captcha?t=' + (new Date).getTime();
}).trigger('click');
return false;
} else {
// 错误信息
layer.msg(res.msg, { icon: 2, anim: 6 });
// 刷新验证码
$("img.login-captcha")
.click(function () {
this.src = "/zsjyapi/captcha?t=" + new Date().getTime();
})
.trigger("click");
// 延迟3秒恢复可登录状态
setTimeout(function () {
// 设置按钮状态为登录”
var login_text = $(data.elem).text().replace('中。。。', '');
// 设置按钮为可点击状态
$(data.elem).text(login_text).removeAttr('disabled');
}, 1000);
}
},
error: function () {
layer.msg("AJAX请求异常");
}
});
return false;
// 延迟3秒恢复可登录状态
setTimeout(function () {
// 设置按钮状态为登录”
var login_text = $(data.elem).text().replace("中。。。", "");
// 设置按钮为可点击状态
$(data.elem).text(login_text).removeAttr("disabled");
}, 1000);
}
},
error: function () {
layer.msg("AJAX请求异常");
},
});
return false;
});
/* 图形验证码 */
var captchaUrl = '/zsjyadmin/captcha';
$('img.login-captcha').click(function () {
this.src = captchaUrl + '?t=' + (new Date).getTime();
}).trigger('click');
});
/* 图形验证码 */
var captchaUrl = "/zsjyapi/captcha";
$("img.login-captcha")
.click(function () {
this.src = captchaUrl + "?t=" + new Date().getTime();
})
.trigger("click");
});

288
javaweb-admin/src/main/resources/templates/index.html

@ -1,136 +1,214 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<title th:text="${fullName}"></title>
<link href="/static/assets/images/favicon.ico" rel="icon">
<link href="/static/assets/images/favicon.ico" rel="icon" />
<link rel="stylesheet" th:href="@{/static/assets/libs/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/static/assets/module/admin.css?v=318}">
<link rel="stylesheet" th:href="@{/static/assets/css/theme-all.css?v=318}">
<link
rel="stylesheet"
th:href="@{/static/assets/libs/layui/css/layui.css}"
/>
<link rel="stylesheet" th:href="@{/static/assets/module/admin.css?v=318}" />
<link
rel="stylesheet"
th:href="@{/static/assets/css/theme-all.css?v=318}"
/>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<!-- 头部 -->
<div class="layui-header">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<!-- 头部 -->
<div class="layui-header">
<div class="layui-logo">
<img src="/zsjyadmin/static/assets/images/logo.png"/>
<cite th:text="${nickName}+${version}">&nbsp;</cite>
<img src="/zsjyapi/static/assets/images/logo.png" />
<cite th:text="${nickName}+${version}">&nbsp;</cite>
</div>
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item" lay-unselect>
<a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a ew-event="refresh" title="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a>
</li>
<li th:each="item,itemStat:${menuList}" th:class="'layui-nav-item layui-hide-xs ' + (${itemStat.index eq 0} ? 'layui-this' : '')" lay-unselect><a th:nav-bind="'xt'+${itemStat.index+1}" th:text="${item.name}"></a></li>
<!-- 小屏幕下变为下拉形式 -->
<li class="layui-nav-item layui-hide-sm layui-show-xs-inline-block" lay-unselect>
<a>更多</a>
<dl class="layui-nav-child">
<dd lay-unselect><a nav-bind="xt1">系统一</a></dd>
<dd lay-unselect><a nav-bind="xt2">系统二</a></dd>
<dd lay-unselect><a nav-bind="xt3">系统二</a></dd>
</dl>
</li>
<li class="layui-nav-item" lay-unselect>
<a ew-event="flexible" title="侧边伸缩"
><i class="layui-icon layui-icon-shrink-right"></i
></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a ew-event="refresh" title="刷新"
><i class="layui-icon layui-icon-refresh-3"></i
></a>
</li>
<li
th:each="item,itemStat:${menuList}"
th:class="'layui-nav-item layui-hide-xs ' + (${itemStat.index eq 0} ? 'layui-this' : '')"
lay-unselect
>
<a
th:nav-bind="'xt'+${itemStat.index+1}"
th:text="${item.name}"
></a>
</li>
<!-- 小屏幕下变为下拉形式 -->
<li
class="layui-nav-item layui-hide-sm layui-show-xs-inline-block"
lay-unselect
>
<a>更多</a>
<dl class="layui-nav-child">
<dd lay-unselect><a nav-bind="xt1">系统一</a></dd>
<dd lay-unselect><a nav-bind="xt2">系统二</a></dd>
<dd lay-unselect><a nav-bind="xt3">系统二</a></dd>
</dl>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<!-- <li class="layui-nav-item" lay-unselect>-->
<!-- <a ew-event="message" title="消息">-->
<!-- <i class="layui-icon layui-icon-notice"></i>-->
<!-- <span class="layui-badge-dot"></span>-->
<!-- </a>-->
<!-- </li>-->
<!-- <li class="layui-nav-item" lay-unselect>-->
<!-- <a ew-event="note" title="便签"><i class="layui-icon layui-icon-note"></i></a>-->
<!-- </li>-->
<!-- <li class="layui-nav-item layui-hide-xs" lay-unselect>-->
<!-- <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a>-->
<!-- </li>-->
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a ew-event="lockScreen" title="锁屏"><i class="layui-icon layui-icon-password"></i></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a>
<!-- <img th:src="${user.avatar}" class="layui-nav-img">-->
<cite th:text="${user.realname}"></cite>
</a>
<dl class="layui-nav-child">
<dd lay-unselect><a ew-href="/userInfo">个人中心</a></dd>
<dd lay-unselect><a ew-event="psw">修改密码</a></dd>
<hr>
<dd lay-unselect><a ew-event="logout" data-url="/logout">退出</a></dd>
</dl>
</li>
<li class="layui-nav-item" lay-unselect>
<a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a>
</li>
<!-- <li class="layui-nav-item" lay-unselect>-->
<!-- <a ew-event="message" title="消息">-->
<!-- <i class="layui-icon layui-icon-notice"></i>-->
<!-- <span class="layui-badge-dot"></span>-->
<!-- </a>-->
<!-- </li>-->
<!-- <li class="layui-nav-item" lay-unselect>-->
<!-- <a ew-event="note" title="便签"><i class="layui-icon layui-icon-note"></i></a>-->
<!-- </li>-->
<!-- <li class="layui-nav-item layui-hide-xs" lay-unselect>-->
<!-- <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a>-->
<!-- </li>-->
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a ew-event="lockScreen" title="锁屏"
><i class="layui-icon layui-icon-password"></i
></a>
</li>
<li class="layui-nav-item" lay-unselect>
<a>
<!-- <img th:src="${user.avatar}" class="layui-nav-img">-->
<cite th:text="${user.realname}"></cite>
</a>
<dl class="layui-nav-child">
<dd lay-unselect><a ew-href="/userInfo">个人中心</a></dd>
<dd lay-unselect><a ew-event="psw">修改密码</a></dd>
<hr />
<dd lay-unselect>
<a ew-event="logout" data-url="/logout">退出</a>
</dd>
</dl>
</li>
<li class="layui-nav-item" lay-unselect>
<a ew-event="theme" title="主题"
><i class="layui-icon layui-icon-more-vertical"></i
></a>
</li>
</ul>
</div>
</div>
<!-- 侧边栏 -->
<div class="layui-side">
<!-- 侧边栏 -->
<div class="layui-side">
<div class="layui-side-scroll">
<ul th:each="item,itemStat:${menuList}" th:class="'layui-nav layui-nav-tree ' + (${itemStat.index > 0} ? 'layui-hide' : '')" th:nav-id="'xt'+${itemStat.index+1}" lay-filter="admin-side-nav" lay-shrink="_all" style="margin: 15px 0;">
<li th:each="subItem,subStat:${item.children}" class="layui-nav-item">
<a th:if="${subItem.url} ne '#' and ${subItem.target} ne 2" th:lay-href="${subItem.url}"><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite th:text="${subItem.name}"></cite></a>
<a th:if="${subItem.url} ne '#' and ${subItem.target} ne 1" th:href="${subItem.url}" target="_blank"><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite th:text="${subItem.name}"></cite></a>
<a th:if="${subItem.url} eq '#'"><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite th:text="${subItem.name}"></cite></a>
<dl th:if="${not #lists.isEmpty(subItem.children)}" class="layui-nav-child">
<dd th:if="${vItem.url} ne '#'" th:each="vItem,subStat:${subItem.children}"><a th:lay-href="${vItem.url}" th:text="${vItem.name}"></a></dd>
<dd th:if="${vItem.url} eq '#'" th:each="vItem,subStat:${subItem.children}">
<a th:text="${vItem.name}"></a>
<dl th:if="${not #lists.isEmpty(vItem.children)}" class="layui-nav-child">
<dd th:each="vMenu,subStat:${vItem.children}"><a th:lay-href="${vMenu.url}" th:text="${vMenu.name}"></a></dd>
</dl>
</dd>
</dl>
</li>
</ul>
<ul
th:each="item,itemStat:${menuList}"
th:class="'layui-nav layui-nav-tree ' + (${itemStat.index > 0} ? 'layui-hide' : '')"
th:nav-id="'xt'+${itemStat.index+1}"
lay-filter="admin-side-nav"
lay-shrink="_all"
style="margin: 15px 0"
>
<li
th:each="subItem,subStat:${item.children}"
class="layui-nav-item"
>
<a
th:if="${subItem.url} ne '#' and ${subItem.target} ne 2"
th:lay-href="${subItem.url}"
><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite
th:text="${subItem.name}"
></cite
></a>
<a
th:if="${subItem.url} ne '#' and ${subItem.target} ne 1"
th:href="${subItem.url}"
target="_blank"
><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite
th:text="${subItem.name}"
></cite
></a>
<a th:if="${subItem.url} eq '#'"
><i th:class="'layui-icon '+${subItem.icon}"></i>&emsp;<cite
th:text="${subItem.name}"
></cite
></a>
<dl
th:if="${not #lists.isEmpty(subItem.children)}"
class="layui-nav-child"
>
<dd
th:if="${vItem.url} ne '#'"
th:each="vItem,subStat:${subItem.children}"
>
<a th:lay-href="${vItem.url}" th:text="${vItem.name}"></a>
</dd>
<dd
th:if="${vItem.url} eq '#'"
th:each="vItem,subStat:${subItem.children}"
>
<a th:text="${vItem.name}"></a>
<dl
th:if="${not #lists.isEmpty(vItem.children)}"
class="layui-nav-child"
>
<dd th:each="vMenu,subStat:${vItem.children}">
<a th:lay-href="${vMenu.url}" th:text="${vMenu.name}"></a>
</dd>
</dl>
</dd>
</dl>
</li>
</ul>
</div>
</div>
</div>
<!-- 主体部分 -->
<div class="layui-body"></div>
<!-- 底部 -->
<div class="layui-footer layui-text">
<!-- 主体部分 -->
<div class="layui-body"></div>
<!-- 底部 -->
<div class="layui-footer layui-text">
copyright © 2022 产品梦工厂 all rights reserved.
<span class="pull-right" th:text="'Version '+${version}"></span>
</div>
</div>
</div>
<!-- 加载动画 -->
<div class="page-loading">
<div class="ball-loader">
<!-- 加载动画 -->
<div class="page-loading">
<div class="ball-loader">
<span></span><span></span><span></span><span></span>
</div>
</div>
</div>
<!-- js部分 -->
<script type="text/javascript" th:src="@{/static/assets/libs/layui/layui.js}"></script>
<script type="text/javascript" th:src="@{/static/assets/js/common.js?v=318}"></script>
<!-- js部分 -->
<script
type="text/javascript"
th:src="@{/static/assets/libs/layui/layui.js}"
></script>
<script
type="text/javascript"
th:src="@{/static/assets/js/common.js?v=318}"
></script>
<script>
layui.use(['index'], function () {
<script>
layui.use(["index"], function () {
var $ = layui.jquery;
var index = layui.index;
// 默认加载主页
index.loadHome({
menuPath: '/zsjyadmin/main',
menuName: '<i class="layui-icon layui-icon-home"></i>'
menuPath: "/zsjyapi/main",
menuName: '<i class="layui-icon layui-icon-home"></i>',
});
});
</script>
</body>
</html>
});
</script>
</body>
</html>

398
javaweb-admin/src/main/resources/templates/login.html

@ -1,206 +1,268 @@
<!DOCTYPE html>
<html>
<head>
<script>if (window !== top) top.location.replace(location.href);</script>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<head>
<script>
if (window !== top) top.location.replace(location.href);
</script>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<title th:text="${contextPath}"></title>
<link href="/static/assets/images/favicon.ico" rel="icon">
<link rel="stylesheet" th:href="@{/static/assets/libs/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/static/assets/module/admin.css?v=318}">
<link href="/static/assets/images/favicon.ico" rel="icon" />
<link
rel="stylesheet"
th:href="@{/static/assets/libs/layui/css/layui.css}"
/>
<link rel="stylesheet" th:href="@{/static/assets/module/admin.css?v=318}" />
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
body {
background-image: url("/zsjyadmin/static/assets/images/bg-login.png");
background-repeat: no-repeat;
background-size: cover;
min-height: 100vh;
}
body {
background-image: url("/zsjyapi/static/assets/images/bg-login.png");
background-repeat: no-repeat;
background-size: cover;
min-height: 100vh;
}
body:before {
content: "";
background-color: rgba(0, 0, 0, .2);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
body:before {
content: "";
background-color: rgba(0, 0, 0, 0.2);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.login-wrapper {
max-width: 420px;
padding: 20px;
margin: 0 auto;
position: relative;
box-sizing: border-box;
z-index: 2;
}
.login-wrapper {
max-width: 420px;
padding: 20px;
margin: 0 auto;
position: relative;
box-sizing: border-box;
z-index: 2;
}
.login-wrapper > .layui-form {
padding: 25px 30px;
background-color: #fff;
box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.19);
box-sizing: border-box;
border-radius: 4px;
}
.login-wrapper > .layui-form {
padding: 25px 30px;
background-color: #fff;
box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.19);
box-sizing: border-box;
border-radius: 4px;
}
.login-wrapper > .layui-form > h2 {
color: #333;
font-size: 18px;
text-align: center;
margin-bottom: 25px;
}
.login-wrapper > .layui-form > h2 {
color: #333;
font-size: 18px;
text-align: center;
margin-bottom: 25px;
}
.login-wrapper > .layui-form > .layui-form-item {
margin-bottom: 25px;
position: relative;
}
.login-wrapper > .layui-form > .layui-form-item {
margin-bottom: 25px;
position: relative;
}
.login-wrapper > .layui-form > .layui-form-item:last-child {
margin-bottom: 0;
}
.login-wrapper > .layui-form > .layui-form-item:last-child {
margin-bottom: 0;
}
.login-wrapper > .layui-form > .layui-form-item > .layui-input {
height: 46px;
line-height: 46px;
border-radius: 2px !important;
}
.login-wrapper > .layui-form > .layui-form-item > .layui-input {
height: 46px;
line-height: 46px;
border-radius: 2px !important;
}
.login-wrapper .layui-input-icon-group > .layui-input {
padding-left: 46px;
}
.login-wrapper .layui-input-icon-group > .layui-input {
padding-left: 46px;
}
.login-wrapper .layui-input-icon-group > .layui-icon {
width: 46px;
height: 46px;
line-height: 46px;
font-size: 20px;
color: #909399;
position: absolute;
left: 0;
top: 0;
text-align: center;
}
.login-wrapper .layui-input-icon-group > .layui-icon {
width: 46px;
height: 46px;
line-height: 46px;
font-size: 20px;
color: #909399;
position: absolute;
left: 0;
top: 0;
text-align: center;
}
.login-wrapper > .layui-form > .layui-form-item.login-captcha-group {
padding-right: 135px;
}
.login-wrapper > .layui-form > .layui-form-item.login-captcha-group {
padding-right: 135px;
}
.login-wrapper > .layui-form > .layui-form-item.login-captcha-group > .login-captcha {
height: 46px;
width: 120px;
cursor: pointer;
box-sizing: border-box;
border: 1px solid #e6e6e6;
border-radius: 2px !important;
position: absolute;
right: 0;
top: 0;
}
.login-wrapper
> .layui-form
> .layui-form-item.login-captcha-group
> .login-captcha {
height: 46px;
width: 120px;
cursor: pointer;
box-sizing: border-box;
border: 1px solid #e6e6e6;
border-radius: 2px !important;
position: absolute;
right: 0;
top: 0;
}
.login-wrapper > .layui-form > .layui-form-item > .layui-form-checkbox {
margin: 0 !important;
padding-left: 25px;
}
.login-wrapper > .layui-form > .layui-form-item > .layui-form-checkbox {
margin: 0 !important;
padding-left: 25px;
}
.login-wrapper > .layui-form > .layui-form-item > .layui-form-checkbox > .layui-icon {
width: 15px !important;
height: 15px !important;
}
.login-wrapper
> .layui-form
> .layui-form-item
> .layui-form-checkbox
> .layui-icon {
width: 15px !important;
height: 15px !important;
}
.login-wrapper > .layui-form .layui-btn-fluid {
height: 48px;
line-height: 48px;
font-size: 16px;
border-radius: 2px !important;
}
.login-wrapper > .layui-form .layui-btn-fluid {
height: 48px;
line-height: 48px;
font-size: 16px;
border-radius: 2px !important;
}
.login-wrapper > .layui-form > .layui-form-item.login-oauth-group > a > .layui-icon {
font-size: 26px;
}
.login-wrapper
> .layui-form
> .layui-form-item.login-oauth-group
> a
> .layui-icon {
font-size: 26px;
}
.login-copyright {
color: #eee;
padding-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
.login-copyright {
color: #eee;
padding-bottom: 20px;
text-align: center;
position: relative;
z-index: 1;
}
@media screen and (min-height: 550px) {
.login-wrapper {
margin: -250px auto 0;
position: absolute;
top: 50%;
left: 0;
right: 0;
width: 100%;
}
.login-copyright {
position: absolute;
bottom: 0;
right: 0;
left: 0;
}
@media screen and (min-height: 550px) {
.login-wrapper {
margin: -250px auto 0;
position: absolute;
top: 50%;
left: 0;
right: 0;
width: 100%;
}
.layui-btn {
background-color: #5FB878;
border-color: #5FB878;
.login-copyright {
position: absolute;
bottom: 0;
right: 0;
left: 0;
}
}
.layui-link {
color: #5FB878 !important;
}
.layui-btn {
background-color: #5fb878;
border-color: #5fb878;
}
.layui-link {
color: #5fb878 !important;
}
</style>
</head>
<body>
<div class="login-wrapper layui-anim layui-anim-scale layui-hide">
<form class="layui-form">
</head>
<body>
<div class="login-wrapper layui-anim layui-anim-scale layui-hide">
<form class="layui-form">
<h2 th:text="${fullName}"></h2>
<div class="layui-form-item layui-input-icon-group">
<i class="layui-icon layui-icon-username"></i>
<input class="layui-input" name="username" value="" placeholder="请输入登录账号" autocomplete="off"
lay-verType="tips" lay-verify="required" required/>
<i class="layui-icon layui-icon-username"></i>
<input
class="layui-input"
name="username"
value=""
placeholder="请输入登录账号"
autocomplete="off"
lay-verType="tips"
lay-verify="required"
required
/>
</div>
<div class="layui-form-item layui-input-icon-group">
<i class="layui-icon layui-icon-password"></i>
<input class="layui-input" name="password" value="" placeholder="请输入登录密码" type="password"
lay-verType="tips" lay-verify="required" required/>
<i class="layui-icon layui-icon-password"></i>
<input
class="layui-input"
name="password"
value=""
placeholder="请输入登录密码"
type="password"
lay-verType="tips"
lay-verify="required"
required
/>
</div>
<div class="layui-form-item layui-input-icon-group login-captcha-group">
<i class="layui-icon layui-icon-auz"></i>
<input class="layui-input" id="captcha" name="captcha" value="" placeholder="请输入验证码" autocomplete="off"
lay-verType="tips" lay-verify="required" required/>
<img src="/zsjyadmin/captcha" width="130px" height="48px" class="login-captcha" alt="点击刷新验证码"/>
<i class="layui-icon layui-icon-auz"></i>
<input
class="layui-input"
id="captcha"
name="captcha"
value=""
placeholder="请输入验证码"
autocomplete="off"
lay-verType="tips"
lay-verify="required"
required
/>
<img
src="/zsjyapi/captcha"
width="130px"
height="48px"
class="login-captcha"
alt="点击刷新验证码"
/>
</div>
<!-- <div class="layui-form-item">-->
<!-- <input type="checkbox" name="remember" title="记住密码" lay-skin="primary" checked>-->
<!-- &lt;!&ndash;<a href="reg.html" class="layui-link pull-right">注册账号</a>&ndash;&gt;-->
<!-- </div>-->
<!-- <div class="layui-form-item">-->
<!-- <input type="checkbox" name="remember" title="记住密码" lay-skin="primary" checked>-->
<!-- &lt;!&ndash;<a href="reg.html" class="layui-link pull-right">注册账号</a>&ndash;&gt;-->
<!-- </div>-->
<div class="layui-form-item">
<button class="layui-btn layui-btn-fluid" lay-filter="loginSubmit" lay-submit>登录</button>
<button
class="layui-btn layui-btn-fluid"
lay-filter="loginSubmit"
lay-submit
>
登录
</button>
</div>
<!-- <div class="layui-form-item login-oauth-group text-center">-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-qq" style="color:#3492ed;"></i></a>&emsp;-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-wechat" style="color:#4daf29;"></i></a>&emsp;-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-weibo" style="color:#CF1900;"></i></a>-->
<!-- </div>-->
</form>
</div>
<div class="login-copyright">copyright © 2022 中生金域健康管理系统.</div>
<!-- js部分 -->
<script type="text/javascript" th:src="@{/static/assets/libs/layui/layui.js}"></script>
<script type="text/javascript" th:src="@{/static/assets/js/common.js?v=318}"></script>
<script type="text/javascript" th:src="@{/static/module/javaweb_login.js?v=318}"></script>
<!-- <div class="layui-form-item login-oauth-group text-center">-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-qq" style="color:#3492ed;"></i></a>&emsp;-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-wechat" style="color:#4daf29;"></i></a>&emsp;-->
<!-- <a href="javascript:;"><i class="layui-icon layui-icon-login-weibo" style="color:#CF1900;"></i></a>-->
<!-- </div>-->
</form>
</div>
<div class="login-copyright">copyright © 2022 中生金域健康管理系统.</div>
</body>
</html>
<!-- js部分 -->
<script
type="text/javascript"
th:src="@{/static/assets/libs/layui/layui.js}"
></script>
<script
type="text/javascript"
th:src="@{/static/assets/js/common.js?v=318}"
></script>
<script
type="text/javascript"
th:src="@{/static/module/javaweb_login.js?v=318}"
></script>
</body>
</html>

14
javaweb-admin/src/main/resources/templates/public/footer.html

@ -1,12 +1,12 @@
<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<footer>
<footer>
<!-- JS部分 -->
<script type="text/javascript">
var url = window.location.pathname.substring(1);
var item = url.split("/");
var jsUrl = "/zsjyadmin/static/module/javaweb_" + item[1] + ".js";
document.write("<script src='" + jsUrl + "'><\/script>");
var url = window.location.pathname.substring(1);
var item = url.split("/");
var jsUrl = "/zsjyapi/static/module/javaweb_" + item[1] + ".js";
document.write("<script src='" + jsUrl + "'><\/script>");
</script>
</footer>
</html>
</footer>
</html>

60
javaweb-admin/src/main/resources/templates/public/header.html

@ -1,29 +1,41 @@
<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<header>
<header>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title th:text="${fullName}"></title>
<link href="/static/assets/images/favicon.ico" rel="icon">
<link rel="stylesheet" th:href="@{/static/assets/libs/layui/css/layui.css}"/>
<link rel="stylesheet" th:href="@{/static/assets/module/admin.css?v=318}"/>
<!--[if lt IE 9]>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<title th:text="${fullName}"></title>
<link href="/static/assets/images/favicon.ico" rel="icon" />
<link
rel="stylesheet"
th:href="@{/static/assets/libs/layui/css/layui.css}"
/>
<link
rel="stylesheet"
th:href="@{/static/assets/module/admin.css?v=318}"
/>
<!--[if lt IE 9]> <![endif]-->
<script
type="text/javascript"
th:src="@{/static/assets/libs/layui/layui.js}"
></script>
<script
type="text/javascript"
th:src="@{/static/assets/js/common.js?v=318}"
></script>
<![endif]-->
<script type="text/javascript" th:src="@{/static/assets/libs/layui/layui.js}"></script>
<script type="text/javascript" th:src="@{/static/assets/js/common.js?v=318}"></script>
<script type="text/javascript">
var url = window.location.pathname.substring(1);
var item = url.split("/");
var C = item[1];
var A = item[2];
var cUrl = "/zsjyadmin/" + C;
//alert(cUrl);
</script>
<script type="text/javascript">
var url = window.location.pathname.substring(1);
var item = url.split("/");
var C = item[1];
var A = item[2];
var cUrl = "/zsjyapi/" + C;
//alert(cUrl);
</script>
</head>
</header>
</html>
</header>
</html>

2
javaweb-admin/src/main/resources/templates/ttestresult/index.html

@ -60,7 +60,7 @@
const idcard = document.getElementById("idcard").value;
var $ = layui.jquery;
$.ajax({
url: "/zsjyadmin/detection/set",
url: "/zsjyapi/detection/set",
data: {
username,
idcard,

Loading…
Cancel
Save