From b8f632be8d1e661d992cb2e08f2b426f7c016db0 Mon Sep 17 00:00:00 2001 From: hanjiaming <47519540+guomaimang@users.noreply.github.com> Date: Fri, 12 Apr 2024 01:12:53 +0800 Subject: [PATCH] internalization --- .../resources/static/dist/js/goods-details.js | 10 --- .../resources/static/dist/js/goods-hall.js | 17 +---- .../static/dist/js/goods-management.js | 61 ++++----------- src/main/resources/static/dist/js/login.js | 7 +- .../static/dist/js/order-details-admin.js | 6 +- .../resources/static/dist/js/order-details.js | 13 ++-- .../resources/static/dist/js/order-process.js | 11 +-- .../static/dist/js/order-submission.js | 15 +--- src/main/resources/static/dist/js/orders.js | 15 +--- .../static/dist/js/seckill-details.js | 31 ++++---- .../static/dist/js/seckill-management.js | 75 +++++++++---------- src/main/resources/static/dist/js/seckill.js | 11 +-- .../static/dist/js/user-management.js | 63 +++++++--------- src/main/resources/static/dist/js/userauth.js | 12 +-- src/main/resources/static/dist/js/utils.js | 4 - src/main/resources/static/goods-details.html | 1 - src/main/resources/static/goods-hall.html | 1 - .../resources/static/goods-management.html | 2 - .../resources/static/order-details-admin.html | 1 - src/main/resources/static/order-details.html | 1 - src/main/resources/static/order-process.html | 1 - src/main/resources/static/orders.html | 1 - .../resources/static/seckill-details.html | 1 - .../resources/static/seckill-management.html | 2 - .../resources/static/user-management.html | 1 - 25 files changed, 119 insertions(+), 244 deletions(-) diff --git a/src/main/resources/static/dist/js/goods-details.js b/src/main/resources/static/dist/js/goods-details.js index 1b2ada3..de72a51 100644 --- a/src/main/resources/static/dist/js/goods-details.js +++ b/src/main/resources/static/dist/js/goods-details.js @@ -1,18 +1,15 @@ function contentsPreparation(){ let id = getQueryParam("id"); - //请求数据 $.ajax({ url: "/goods/info", data: {id: id}, type: 'GET', beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { if (r.code === 0 && r.data != null) { - //填充数据 至 card $('#card-id').text(r.data.id); $('#card-name').text(r.data.name); $('#card-title').text(r.data.title); @@ -32,7 +29,6 @@ function contentsPreparation(){ } }, error: function (jqXHR, textStatus, errorThrown) { - // 处理错误 console.log(textStatus, errorThrown); } }); @@ -40,19 +36,13 @@ function contentsPreparation(){ let editorD; -//富文本编辑器 const E = window.wangEditor; editorD = new E('#wangEditor') -// 设置编辑区域高度为 400px editorD.config.height = 800 -//配置服务端图片上传地址 editorD.config.uploadImgServer = 'images/upload' editorD.config.uploadFileName = 'file' -//限制图片大小 2M editorD.config.uploadImgMaxSize = 2 * 1024 * 1024 -//限制一次最多能传几张图片 一次最多上传 1 个图片 editorD.config.uploadImgMaxLength = 1 -//插入网络图片的功能 editorD.config.showLinkImg = true editorD.create(); editorD.disable(); diff --git a/src/main/resources/static/dist/js/goods-hall.js b/src/main/resources/static/dist/js/goods-hall.js index f29054f..2b090aa 100644 --- a/src/main/resources/static/dist/js/goods-hall.js +++ b/src/main/resources/static/dist/js/goods-hall.js @@ -1,19 +1,16 @@ $(function () { - //隐藏错误提示框 $('.alert-danger').css("display", "none"); $('#goodsModal').modal('hide'); $("#jqGrid").jqGrid({ - // 设置API url: '/goods/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 {label: 'ID', name: 'id', index: 'id', width: 30, key: true, hidden: false}, {label: 'Name', name: 'name', index: 'name', width: 100}, {label: 'Title', name: 'title', index: 'title', width: 150}, @@ -43,24 +40,20 @@ $(function () { order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, onSelectRow: function () { - //返回选中的id let selectedRowIndex = $("#" + this.id).getGridParam('selrow'); - //返回点击这行xlmc的值 window.open("/goods-details.html?id=" + selectedRowIndex); }, }); - // 搜索功能 $("#searchButton").click(function(){ - let searchEmail = $("#searchInput").val(); //获取输入框的值 + let searchEmail = $("#searchInput").val(); $("#jqGrid").jqGrid('setGridParam',{ - postData: {'keyword': searchEmail}, //设置postData参数 + postData: {'keyword': searchEmail}, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { @@ -68,9 +61,7 @@ $(function () { }); }); -/** - * jqGrid 重新加载 - */ + function reload() { let page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { diff --git a/src/main/resources/static/dist/js/goods-management.js b/src/main/resources/static/dist/js/goods-management.js index 54da6f2..51bbfb4 100644 --- a/src/main/resources/static/dist/js/goods-management.js +++ b/src/main/resources/static/dist/js/goods-management.js @@ -1,37 +1,27 @@ let editorD; $(function () { - //富文本编辑器 const E = window.wangEditor; editorD = new E('#wangEditor') - // 设置编辑区域高度为 400px editorD.config.height = 260 - //配置服务端图片上传地址 editorD.config.uploadImgServer = 'images/upload' editorD.config.uploadFileName = 'file' - //限制图片大小 2M editorD.config.uploadImgMaxSize = 2 * 1024 * 1024 - //限制一次最多能传几张图片 一次最多上传 1 个图片 editorD.config.uploadImgMaxLength = 1 - //插入网络图片的功能 editorD.config.showLinkImg = true editorD.create(); - - //隐藏错误提示框 $('.alert-danger').css("display", "none"); $('#goodsModal').modal('hide'); $("#jqGrid").jqGrid({ - // 设置API url: 'goods/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 {label: 'ID', name: 'id', index: 'id', width: 30, key: true, hidden: false}, {label: 'Name', name: 'name', index: 'name', width: 60}, {label: 'Title', name: 'title', index: 'title', width: 150}, @@ -61,18 +51,16 @@ $(function () { order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, }); - // 搜索功能 $("#searchButton").click(function(){ - let searchEmail = $("#searchInput").val(); //获取输入框的值 + let searchEmail = $("#searchInput").val(); $("#jqGrid").jqGrid('setGridParam',{ - postData: {'keyword': searchEmail}, //设置postData参数 + postData: {'keyword': searchEmail}, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { @@ -80,9 +68,7 @@ $(function () { }); }); -/** - * 数据验证 - */ + function validObject() { let name = $('#modal-name').val(); if (isNull(name)) { @@ -139,10 +125,7 @@ function validObject() { return true; } -/** - * 重置 modal 表单数据 - */ -// Grid 顶部的操作按钮 + function addGoods() { reset(); $('.modal-title').html('Add'); @@ -156,7 +139,7 @@ function editGoods() { if (id == null) { return; } - //请求数据 + $.ajax({ url: "/goods/info", type: "GET", @@ -164,12 +147,11 @@ function editGoods() { id: id }, beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { if (r.code === 0 && r.data != null) { - //填充数据 至 modal $('#modal-id').val(r.data.id); $('#modal-name').val(r.data.name); $('#modal-title').val(r.data.title); @@ -187,7 +169,7 @@ function editGoods() { }); - //显示 modal + $('#goodsModal').modal('show'); } function previewGoods() { @@ -198,14 +180,9 @@ function previewGoods() { window.open("/goods-details.html?id=" + id); } -//绑定 modal 表单上的 SAVE 按钮 $('#saveButton').click(async function () { - //验证数据 if (validObject()) { - // Ajax 发送网络请求 - - // 获取表单数据 let id = $("#modal-id").val(); let name = $("#modal-name").val(); let title = $("#modal-title").val(); @@ -215,7 +192,6 @@ $('#saveButton').click(async function () { let isAvailable = $("#modal-isAvailable").val(); let description = editorD.txt.html(); - // 将即将发送数据封装为Json, 和 Pojo 对应 let data = { "id": id, "name": name, @@ -230,25 +206,21 @@ $('#saveButton').click(async function () { let url; let method; - // 表示新增操作 if (id === null || id === "" || id === undefined || id < 0) { url = 'admin/goods/add'; method = 'POST'; }else { - // id>=0表示编辑操作 url = 'admin/goods/edit'; method = 'PUT'; } - // 执行方法 $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { @@ -276,9 +248,7 @@ $('#saveButton').click(async function () { }); function reset() { - //隐藏错误提示框 $('.alert-danger').css("display", "none"); - //清空数据 $('#modal-id').val(''); $('#modal-name').val(''); $('#modal-title').val(''); @@ -288,9 +258,7 @@ function reset() { $('#modal-isAvailable').val(1); editorD.txt.html(''); } -/** - * jqGrid 重新加载 - */ + function reload() { reset(); let page = $("#jqGrid").jqGrid('getGridParam', 'page'); @@ -299,10 +267,7 @@ function reload() { }).trigger("reloadGrid"); } -/** - * jqGrid isFrozen formatter - * @returns {string} - */ + function priceFormatter(cellValue) { return "HKD " + cellValue; } diff --git a/src/main/resources/static/dist/js/login.js b/src/main/resources/static/dist/js/login.js index bc5066c..2cf5945 100644 --- a/src/main/resources/static/dist/js/login.js +++ b/src/main/resources/static/dist/js/login.js @@ -25,7 +25,6 @@ function prepareSSOLink(){ /** - * 用户名称验证,限制输入为邮箱 * * @param email * @returns {boolean} @@ -36,7 +35,6 @@ function validUserName(email) { } /** - * 用户密码验证 最少6位,最多20位字母或数字的组合 * * @param password * @returns {boolean} @@ -78,14 +76,13 @@ async function login() { let data = {"email": email, "password":await sha256(password)}; $.ajax({ - type: "POST",//方法类型 - dataType: "json",//预期服务器返回的数据类型 + type: "POST", + dataType: "json", url: "userauth/login", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 request.setRequestHeader("recaptchaToken", grecaptcha.getResponse()); }, diff --git a/src/main/resources/static/dist/js/order-details-admin.js b/src/main/resources/static/dist/js/order-details-admin.js index 7e15d8d..d2c678e 100644 --- a/src/main/resources/static/dist/js/order-details-admin.js +++ b/src/main/resources/static/dist/js/order-details-admin.js @@ -2,12 +2,12 @@ function contentsPreparation(){ let id = getQueryParam("id"); $.ajax({ - type: "GET", //方法类型 - dataType: "json", //预期服务器返回的数据类型 + type: "GET", + dataType: "json", url: "/admin/order/info/"+id, //url contentType: "application/json; charset=utf-8", beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { diff --git a/src/main/resources/static/dist/js/order-details.js b/src/main/resources/static/dist/js/order-details.js index 7c74c6c..958413f 100644 --- a/src/main/resources/static/dist/js/order-details.js +++ b/src/main/resources/static/dist/js/order-details.js @@ -2,12 +2,11 @@ function contentsPreparation(){ let id = getQueryParam("id"); $.ajax({ - type: "GET", //方法类型 - dataType: "json", //预期服务器返回的数据类型 + type: "GET", + dataType: "json", url: "/order/info/"+id, //url contentType: "application/json; charset=utf-8", beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { @@ -122,15 +121,13 @@ function receiverInfoButtonClick() { let url = "/order/pay"; let method = "POST"; - // 执行方法 $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { diff --git a/src/main/resources/static/dist/js/order-process.js b/src/main/resources/static/dist/js/order-process.js index 1d4ea9a..0815267 100644 --- a/src/main/resources/static/dist/js/order-process.js +++ b/src/main/resources/static/dist/js/order-process.js @@ -1,19 +1,16 @@ $(function () { - //隐藏错误提示框 $('.alert-danger').css("display", "none"); $('#goodsModal').modal('hide'); $("#jqGrid").jqGrid({ - // 设置API url: '/admin/order/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 {label: 'Order ID', name: 'id', index: 'id', width: 10, key: true, hidden: false}, {label: 'User ID', name: 'userId', index: 'userId', width: 10}, {label: 'Goods ID', name: 'goodsId', index: 'goodsId', width: 10}, @@ -46,18 +43,14 @@ $(function () { order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, onSelectRow: function () { - //返回选中的id let selectedRowIndex = $("#" + this.id).getGridParam('selrow'); - //返回点击这行xlmc的值 window.open("/order-details-admin.html?id=" + selectedRowIndex); }, }); - // 搜索功能 $("#applyButton").click(function(){ let searchId = $("#searchId").val(); let searchName = $("#searchName").val(); @@ -70,9 +63,9 @@ $(function () { 'searchName': searchName, 'selectStatus': selectStatus, 'selectChannel': selectChannel - }, //设置postData参数 + }, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { diff --git a/src/main/resources/static/dist/js/order-submission.js b/src/main/resources/static/dist/js/order-submission.js index b76df3e..bad5ee6 100644 --- a/src/main/resources/static/dist/js/order-submission.js +++ b/src/main/resources/static/dist/js/order-submission.js @@ -3,7 +3,6 @@ let stock; function contentsPreparation() { let id = getQueryParam("id"); - //请求数据 $.ajax({ url: "/goods/info", type: 'GET', @@ -11,12 +10,10 @@ function contentsPreparation() id: id }, beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { if (r.code === 0 && r.data != null) { - //填充数据 $('#goodsId').val(r.data.id); $('#goodsName').val(r.data.name); $('#goodsTitle').val(r.data.title); @@ -30,7 +27,6 @@ function contentsPreparation() } }, error: function (request, status, error) { - //处理错误 console.log("Error: " + error); } }); @@ -39,11 +35,9 @@ function contentsPreparation() function submitButtonClick() { - // 获取表单数据 let goodsId = $("#goodsId").val(); let goodsAmount = $("#goodsAmount").val(); - //验证数据 if (goodsAmount == null || goodsAmount <=0 || goodsAmount > stock) { alert("Please enter the correct quantity!"); return; @@ -53,7 +47,6 @@ function submitButtonClick() { return; } - // 将即将发送数据封装为Json, 和 Pojo 对应 let data = { "goodsId": goodsId, "goodsAmount": goodsAmount, @@ -65,15 +58,13 @@ function submitButtonClick() { document.getElementById("submitButton").disabled = true; document.getElementById("submitButton").innerHTML = "Submitting..."; - // 执行方法 $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); request.setRequestHeader("recaptchaToken", grecaptcha.getResponse()); }, diff --git a/src/main/resources/static/dist/js/orders.js b/src/main/resources/static/dist/js/orders.js index 3d53b11..524f862 100644 --- a/src/main/resources/static/dist/js/orders.js +++ b/src/main/resources/static/dist/js/orders.js @@ -1,19 +1,16 @@ $(function () { - //隐藏错误提示框 $('.alert-danger').css("display", "none"); $('#goodsModal').modal('hide'); $("#jqGrid").jqGrid({ - // 设置API url: '/order/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 {label: 'Order ID', name: 'id', index: 'id', width: 10, key: true, hidden: false}, {label: 'User ID', name: 'userId', index: 'userId', width: 10}, {label: 'Goods ID', name: 'goodsId', index: 'goodsId', width: 10}, @@ -46,18 +43,14 @@ $(function () { order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, onSelectRow: function () { - //返回选中的id let selectedRowIndex = $("#" + this.id).getGridParam('selrow'); - //返回点击这行xlmc的值 window.open("/order-details.html?id=" + selectedRowIndex); }, }); - // 搜索功能 $("#applyButton").click(function(){ let searchName = $("#searchName").val(); let selectStatus = $("#selectStatus").val(); @@ -68,9 +61,9 @@ $(function () { 'searchName': searchName, 'selectStatus': selectStatus, 'selectChannel': selectChannel - }, //设置postData参数 + }, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { @@ -78,9 +71,7 @@ $(function () { }); }); -/** - * jqGrid 重新加载 - */ + function reload() { reset(); let page = $("#jqGrid").jqGrid('getGridParam', 'page'); diff --git a/src/main/resources/static/dist/js/seckill-details.js b/src/main/resources/static/dist/js/seckill-details.js index 6ec790e..b3e3a13 100644 --- a/src/main/resources/static/dist/js/seckill-details.js +++ b/src/main/resources/static/dist/js/seckill-details.js @@ -11,7 +11,7 @@ let purchaseLimitNum; function contentsPreparation(){ id = getQueryParam("id"); - //请求数据 + $.ajax({ url: "/seckill/info", type: "GET", @@ -19,12 +19,12 @@ function contentsPreparation(){ id: id }, beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function(r) { if (r.code === 0 && r.data != null) { - // 获取数据 + id = r.data.id; goodsId = r.data.goodsId; title = r.data.title; @@ -35,7 +35,7 @@ function contentsPreparation(){ isAvailable = r.data.isAvailable; purchaseLimitNum = r.data.purchaseLimitNum; - //填充数据 + $('#seckill-id').text(id); $('#seckill-title').text(title); $('#seckill-goodsId').text(goodsId); @@ -56,7 +56,7 @@ function contentsPreparation(){ } }, error: function(jqXHR, textStatus, errorThrown) { - // handle error + console.error("AJAX Error: ", textStatus, errorThrown); } }); @@ -77,10 +77,8 @@ function calculatePrice(){ } function submitOrderButtonClick() { - // 获取表单数据 let goodsAmount = $("#goodsAmount").val(); - //验证数据 if (goodsAmount == null || goodsAmount <=0 || goodsAmount > seckillStock || goodsAmount > purchaseLimitNum) { swal("Please enter the correct quantity!", { icon: "warning", @@ -94,7 +92,6 @@ function submitOrderButtonClick() { return; } - // 将即将发送数据封装为Json, 和 Pojo 对应 let data = { "seckillEventId": id, "goodsAmount": goodsAmount, @@ -106,15 +103,13 @@ function submitOrderButtonClick() { document.getElementById("submitOrderButton").disabled = true; document.getElementById("submitOrderButton").innerHTML = "Submitting..."; - // 执行方法 $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); request.setRequestHeader("recaptchaToken", grecaptcha.getResponse()); }, @@ -177,23 +172,23 @@ function countTime(){ let countdown = document.getElementById("countdown"); if (now < start) { - // 秒杀还未开始,显示距离开始的倒计时 - let diff = Math.floor((start - now) / 1000); // 剩余的秒数 + + let diff = Math.floor((start - now) / 1000); let hours = Math.floor(diff / 3600); let minutes = Math.floor(diff % 3600 / 60); let seconds = Math.floor(diff % 60); countdown.innerText = 'Countdown to start: ' + hours + ':' + minutes + ':' + seconds; } else if (now < end) { - // 秒杀已经开始,但还未结束,显示距离结束的倒计时,并使按钮可用 - let diff = Math.floor((end - now) / 1000); // 剩余的秒数 + + let diff = Math.floor((end - now) / 1000); let hours = Math.floor(diff / 3600); let minutes = Math.floor(diff % 3600 / 60); let seconds = Math.floor(diff % 60); countdown.innerText = 'Countdown to end:' + hours + ':' + minutes + ':' + seconds; submitOrderButton.disabled = false; } else { - // 秒杀已经结束,使按钮不可用 + countdown.innerText = 'The seckill was over!'; submitOrderButton.disabled = true; } diff --git a/src/main/resources/static/dist/js/seckill-management.js b/src/main/resources/static/dist/js/seckill-management.js index 44e225d..2aa7e36 100644 --- a/src/main/resources/static/dist/js/seckill-management.js +++ b/src/main/resources/static/dist/js/seckill-management.js @@ -2,18 +2,18 @@ function contentsPreparation(){ $(function () { - //隐藏错误提示框 + $('.alert-danger').css("display", "none"); $("#jqGrid").jqGrid({ - // 设置API + url: '/seckill/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 + {label: 'ID', name: 'id', index: 'id', width: 30, key: true}, {label: 'Goods ID', name: 'goodsId', index: 'goodsId', width: 30}, {label: 'Title', name: 'title', index: 'title', width: 60}, @@ -46,18 +46,18 @@ function contentsPreparation(){ order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 + $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, }); - // 搜索功能 + $("#searchButton").click(function(){ - let keyword = $("#searchInput").val(); //获取输入框的值 + let keyword = $("#searchInput").val(); $("#jqGrid").jqGrid('setGridParam',{ - postData: {'keyword': keyword}, //设置postData参数 + postData: {'keyword': keyword}, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { @@ -66,9 +66,7 @@ function contentsPreparation(){ }); } -/** - * jqGrid 重新加载 - */ + function reload() { let page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { @@ -77,9 +75,9 @@ function reload() { } function reset() { - //隐藏错误提示框 + $('.alert-danger').css("display", "none"); - //清空数据 + $('#modal-id').val(''); $('#modal-goodsId').val(''); $('#modal-title').val(''); @@ -107,9 +105,6 @@ function utcToLocalFormatter(cellValue) { contentsPreparation(); -/** - * 数据验证 - */ function validObject() { let goodsId = $('#modal-goodsId').val(); if (isNull(goodsId)) { @@ -181,7 +176,7 @@ function validObject() { /** * 重置 modal 表单数据 */ -// Grid 顶部的操作按钮 + function addSeckillEvent() { reset(); $('.modal-title').html('Add'); @@ -203,19 +198,19 @@ function editSeckillEvent() { return; } - //请求数据 + $.ajax({ url: "/seckill/info", data: {id: id}, type: "GET", dataType: "json", beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { if (r.code === 0 && r.data != null) { - //填充数据 至 modal + $('#modal-id').val(r.data.id); $('#modal-goodsId').val(r.data.goodsId); $('#modal-title').val(r.data.title); @@ -245,7 +240,7 @@ function editSeckillEvent() { } }); - //显示 modal + $('#seckillEventModal').modal('show'); } function previewSeckillEvent() { @@ -256,18 +251,18 @@ function previewSeckillEvent() { window.open("/seckill-details.html?id=" + id); } function localToUtc(time) { - // 创建一个新的Date对象 + let date = new Date(time); - // 转换为ISO格式的字符串 + return date.toISOString(); } function utcToLocal(dateStr) { -// 创建一个新的 Date 实例 + let date = new Date(dateStr); - // 使用 Intl.DateTimeFormat 来格式化日期 - // options 对象定义了我们想要的日期和时间的格式 + + let formatter = new Intl.DateTimeFormat('default', { year: 'numeric', month: '2-digit', @@ -278,10 +273,10 @@ function utcToLocal(dateStr) { hour12: false, }); - // 使用 formatter.format 来格式化日期 + let formattedDate = formatter.format(date); - // 将 formattedDate 从 "MM/DD/YYYY, HH:MM:SS" 转换为 "YYYY-MM-DDTHH:MM:SS" + let parts = formattedDate.split(/[\s,/]+/); formattedDate = `${parts[0]}-${parts[1]}-${parts[2]}T${parts[3]}`; @@ -289,13 +284,13 @@ function utcToLocal(dateStr) { } -//绑定 modal 表单上的 SAVE 按钮 + $('#saveButton').click(async function () { - //验证数据 + if (validObject()) { - // Ajax 发送网络请求 - // 获取表单数据 + + let id = $('#modal-id').val(); let goodsId = $('#modal-goodsId').val(); let title = $('#modal-title').val(); @@ -306,7 +301,7 @@ $('#saveButton').click(async function () { let purchaseLimitationNumber = $('#modal-purchaseLimitationNumber').val(); let isAvailable = $('#modal-isAvailable').val(); - // 将即将发送数据封装为Json, 和 Pojo 对应 + let data = { "id": id, "goodsId": goodsId, @@ -322,25 +317,25 @@ $('#saveButton').click(async function () { let url; let method; - // 表示新增操作 + if (id === null || id === "" || id === undefined || id < 0) { url = '/admin/seckill/add'; method = 'POST'; }else { - // id>=0表示编辑操作 + url = '/admin/seckill/edit'; method = 'PUT'; } - // 执行方法 + $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { diff --git a/src/main/resources/static/dist/js/seckill.js b/src/main/resources/static/dist/js/seckill.js index f0742af..b85317a 100644 --- a/src/main/resources/static/dist/js/seckill.js +++ b/src/main/resources/static/dist/js/seckill.js @@ -2,18 +2,15 @@ function contentsPreparation(){ $(function () { - //隐藏错误提示框 $('.alert-danger').css("display", "none"); $("#jqGrid").jqGrid({ - // 设置API url: '/seckill/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 {label: 'ID', name: 'id', index: 'id', width: 30, key: true}, {label: 'Goods ID', name: 'goodsId', index: 'goodsId', width: 30}, {label: 'Title', name: 'title', index: 'title', width: 60}, @@ -46,18 +43,14 @@ function contentsPreparation(){ order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, onSelectRow: function () { - //返回选中的id let selectedRowIndex = $("#" + this.id).getGridParam('selrow'); - //返回点击这行xlmc的值 window.open("/seckill-details.html?id=" + selectedRowIndex); }, }); - // 搜索功能 $("#searchButton").click(function(){ let keyword = $("#searchInput").val(); //获取输入框的值 $("#jqGrid").jqGrid('setGridParam',{ @@ -72,9 +65,7 @@ function contentsPreparation(){ }); } -/** - * jqGrid 重新加载 - */ + function reload() { let page = $("#jqGrid").jqGrid('getGridParam', 'page'); $("#jqGrid").jqGrid('setGridParam', { diff --git a/src/main/resources/static/dist/js/user-management.js b/src/main/resources/static/dist/js/user-management.js index 120ffe0..ca53e75 100644 --- a/src/main/resources/static/dist/js/user-management.js +++ b/src/main/resources/static/dist/js/user-management.js @@ -1,18 +1,18 @@ $(function () { - //隐藏错误提示框 + $('.alert-danger').css("display", "none"); $('#userModal').modal('hide'); $("#jqGrid").jqGrid({ - // 设置API + url: 'admin/user/list', loadBeforeSend: function(jqXHR) { jqXHR.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, datatype: "json", colModel: [ - // 设置列表表头 + {label: 'ID', name: 'id', index: 'id', width: 30, key: true, hidden: false}, {label: 'Name', name: 'name', index: 'name', width: 50}, {label: 'Email', name: 'email', index: 'email', width: 120}, @@ -41,18 +41,18 @@ $(function () { order: "order", }, gridComplete: function () { - //隐藏grid底部滚动条 + $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"}); }, }); - // 搜索功能 + $("#searchButton").click(function(){ - let searchKeyword = $("#searchInput").val(); //获取输入框的值 + let searchKeyword = $("#searchInput").val(); $("#jqGrid").jqGrid('setGridParam',{ - postData: {'keyword': searchKeyword}, //设置postData参数 + postData: {'keyword': searchKeyword}, page: 1 - }).trigger("reloadGrid"); //重新加载JqGrid + }).trigger("reloadGrid"); }); $(window).resize(function () { @@ -97,10 +97,7 @@ function validObject() { return true; } -/** - * 重置 modal 表单数据 - */ -// Grid 顶部的操作按钮 + function addUser() { reset(); $('.modal-title').html('Add'); @@ -114,7 +111,7 @@ function editUser() { if (id == null) { return; } - //请求数据 + $.ajax({ url: "/admin/user/info", type: "GET", @@ -122,12 +119,12 @@ function editUser() { id: id }, beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function(r) { if (r.code === 0 && r.data != null) { - //填充数据 至 modal + $('#modal-id').val(r.data.id); $('#modal-email').val(r.data.email); $('#modal-name').val(r.data.name); @@ -137,7 +134,7 @@ function editUser() { } }); - //显示 modal + $('#userModal').modal('show'); } function lockSwitch() { @@ -159,7 +156,7 @@ function lockSwitch() { url: "admin/user/lockswitch", contentType: "application/json", beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, data: JSON.stringify({"id": id, "isFrozen": $("#jqGrid").jqGrid('getRowData', id).isFrozen === "Normal" ? 0 : 1}), @@ -182,20 +179,20 @@ function lockSwitch() { reload(); } -//绑定 modal 表单上的 SAVE 按钮 + $('#saveButton').click(async function () { - //验证数据 + if (validObject()) { - // Ajax 发送网络请求 + - // 获取表单数据 + let id = $("#modal-id").val(); let name = $("#modal-name").val(); let email = $("#modal-email").val(); let password = await sha256($("#modal-password").val()); - // 将即将发送数据封装为Json, 和 Pojo 对应 + let data = { "id": id, "name": name, @@ -205,25 +202,25 @@ $('#saveButton').click(async function () { let url; let method; - // 表示新增操作 + if (id === null || id === "" || id === undefined || id < 0) { url = '、admin/user/add'; method = 'POST'; }else { - // id>=0表示编辑操作 + url = '/admin/user/edit'; method = 'PUT'; } - // 执行方法 + $.ajax({ - type: method, //方法类型 - dataType: "json", //预期服务器返回的数据类型 - url: url, //url + type: method, + dataType: "json", + url: url, contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (r) { @@ -251,9 +248,9 @@ $('#saveButton').click(async function () { }); function reset() { - //隐藏错误提示框 + $('.alert-danger').css("display", "none"); - //清空数据 + $('#modal-id').val(''); $('#modal-email').val(''); $('#modal-name').val(''); @@ -261,9 +258,7 @@ function reset() { $('#modal-registerTime').val(''); $('#modal-isFrozen').val('0'); } -/** - * jqGrid 重新加载 - */ + function reload() { reset(); let page = $("#jqGrid").jqGrid('getGridParam', 'page'); diff --git a/src/main/resources/static/dist/js/userauth.js b/src/main/resources/static/dist/js/userauth.js index 6c268c0..542fb81 100644 --- a/src/main/resources/static/dist/js/userauth.js +++ b/src/main/resources/static/dist/js/userauth.js @@ -9,7 +9,7 @@ async function checkLogin() { return; } - // Check if the token is expired + let jwtArr = localStorage.getItem('jwt').split("."); let payload = JSON.parse(atob(jwtArr[1])); if (payload.exp * 1000 < Date.now()) { @@ -20,18 +20,18 @@ async function checkLogin() { await setPageText(); - // check if there is any need for refresh token - // if the token is about to expire in 6 hours, refresh it + + if (payload.exp * 1000 - Date.now() < 1000 * 60 * 60 * 6){ let data = {"jwt": window.localStorage.getItem("jwt")}; $.ajax({ - type: "PUT", // method type - dataType: "json",// Data type expected to be returned by the server + type: "PUT", + dataType: "json", url: "userauth/refreshtoken", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), beforeSend: function (request) { - //设置header值 + request.setRequestHeader("jwt", window.localStorage.getItem("jwt")); }, success: function (result) { diff --git a/src/main/resources/static/dist/js/utils.js b/src/main/resources/static/dist/js/utils.js index 2b37a48..2e12690 100644 --- a/src/main/resources/static/dist/js/utils.js +++ b/src/main/resources/static/dist/js/utils.js @@ -32,7 +32,6 @@ function validLength(obj, length) { /** - * 获取jqGrid选中的一条记录 * @returns {*} */ function getSelectedRow() { @@ -56,7 +55,6 @@ function getSelectedRow() { /** - * 获取jqGrid选中的多条记录 * @returns {*} */ function getSelectedRows() { @@ -93,7 +91,6 @@ function toggleDisplay(elementId, displayStyle) { } /** - * 获取url参数 * @param name * @returns {null|string} */ @@ -108,7 +105,6 @@ function getQueryParam(name) { } /** - * 判断是否为空 * @param obj * @returns {boolean} */ diff --git a/src/main/resources/static/goods-details.html b/src/main/resources/static/goods-details.html index 335faf7..aabc86e 100644 --- a/src/main/resources/static/goods-details.html +++ b/src/main/resources/static/goods-details.html @@ -226,7 +226,6 @@