From 0e1392de35279c776a3784439e507c01113566d5 Mon Sep 17 00:00:00 2001 From: 3030332422 <3030332422@qq.com> Date: Tue, 14 Oct 2025 18:06:57 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=9A=82=E6=97=B6=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E5=85=88=E5=89=8D=E7=9A=84=E9=9A=8F=E6=9C=BA=E7=94=9F=E6=88=90?= =?UTF-8?q?uuid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/forgot-password/index.vue | 11 ++++++++++- main/manager-mobile/src/pages/login/index.vue | 11 ++++++++++- main/manager-mobile/src/pages/register/index.vue | 11 ++++++++++- main/manager-web/src/utils/index.js | 11 +++++++++++ main/manager-web/src/views/login.vue | 4 ++-- main/manager-web/src/views/register.vue | 4 ++-- main/manager-web/src/views/retrievePassword.vue | 4 ++-- 7 files changed, 47 insertions(+), 9 deletions(-) diff --git a/main/manager-mobile/src/pages/forgot-password/index.vue b/main/manager-mobile/src/pages/forgot-password/index.vue index eb4ad50a..f574d0e9 100644 --- a/main/manager-mobile/src/pages/forgot-password/index.vue +++ b/main/manager-mobile/src/pages/forgot-password/index.vue @@ -114,9 +114,18 @@ function closeAreaCodeSheet() { showAreaCodeSheet.value = false; } +// 生成UUID +function generateUUID() { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0; + const v = c === "x" ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} + // 获取图形验证码 async function refreshCaptcha() { - const uuid = crypto.randomUUID(); + const uuid = generateUUID(); formData.value.captchaId = uuid; captchaImage.value = `${getEnvBaseUrl()}/user/captcha?uuid=${uuid}&t=${Date.now()}`; } diff --git a/main/manager-mobile/src/pages/login/index.vue b/main/manager-mobile/src/pages/login/index.vue index e3cea6ca..462dccee 100644 --- a/main/manager-mobile/src/pages/login/index.vue +++ b/main/manager-mobile/src/pages/login/index.vue @@ -123,6 +123,15 @@ function goToForgotPassword() { }) } +// 生成UUID +function generateUUID() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = Math.random() * 16 | 0 + const v = c === 'x' ? r : (r & 0x3 | 0x8) + return v.toString(16) + }) +} + let skipReLaunch = false // 全局或组件作用域 //跳转至服务端设置页面 @@ -134,7 +143,7 @@ function goToServerSetting() { // 获取验证码 async function refreshCaptcha() { - const uuid = crypto.randomUUID(); + const uuid = generateUUID(); formData.value.captchaId = uuid; captchaImage.value = `${getEnvBaseUrl()}/user/captcha?uuid=${uuid}&t=${Date.now()}`; } diff --git a/main/manager-mobile/src/pages/register/index.vue b/main/manager-mobile/src/pages/register/index.vue index 0f0dad3e..5004b5d8 100644 --- a/main/manager-mobile/src/pages/register/index.vue +++ b/main/manager-mobile/src/pages/register/index.vue @@ -124,9 +124,18 @@ function closeAreaCodeSheet() { showAreaCodeSheet.value = false } +// 生成UUID +function generateUUID() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0 + const v = c === 'x' ? r : (r & 0x3) | 0x8 + return v.toString(16) + }) +} + // 获取验证码 async function refreshCaptcha() { - const uuid = crypto.randomUUID(); + const uuid = generateUUID(); formData.value.captchaId = uuid; captchaImage.value = `${getEnvBaseUrl()}/user/captcha?uuid=${uuid}&t=${Date.now()}`; } diff --git a/main/manager-web/src/utils/index.js b/main/manager-web/src/utils/index.js index 55849f17..638ee8fc 100755 --- a/main/manager-web/src/utils/index.js +++ b/main/manager-web/src/utils/index.js @@ -126,6 +126,17 @@ export function randomNum(min, max) { return Math.round(Math.random() * (max - min) + min) } + +/** + * 获取uuid + */ +export function getUUID() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { + return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) + }) +} + + /** * 验证手机号格式 * @param {string} mobile 手机号 diff --git a/main/manager-web/src/views/login.vue b/main/manager-web/src/views/login.vue index ba4c9994..fc9c271e 100644 --- a/main/manager-web/src/views/login.vue +++ b/main/manager-web/src/views/login.vue @@ -148,7 +148,7 @@ import Api from "@/apis/api"; import VersionFooter from "@/components/VersionFooter.vue"; import i18n, { changeLanguage } from "@/i18n"; -import { goToPage, showDanger, showSuccess, sm2Encrypt, validateMobile } from "@/utils"; +import { getUUID, goToPage, showDanger, showSuccess, sm2Encrypt, validateMobile } from "@/utils"; import { mapState } from "vuex"; export default { @@ -213,7 +213,7 @@ export default { this.$router.push("/home"); } } else { - this.captchaUuid = crypto.randomUUID(); + this.captchaUuid = getUUID(); Api.user.getCaptcha(this.captchaUuid, (res) => { if (res.status === 200) { diff --git a/main/manager-web/src/views/register.vue b/main/manager-web/src/views/register.vue index 57748144..de54011e 100644 --- a/main/manager-web/src/views/register.vue +++ b/main/manager-web/src/views/register.vue @@ -125,7 +125,7 @@