xiangpei
2024-11-12 79b9c73e0717c244391ab1e15c6f6da9975f2610
src/views/login.vue
@@ -1,6 +1,6 @@
<template>
  <div class="login">
    <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
    <el-form style="display: none" ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
      <h3 class="title">跨网文件同步系统</h3>
<!--      <el-form-item prop="tenantId" v-if="tenantEnabled">-->
<!--        <el-select v-model="loginForm.tenantId" filterable placeholder="请选择/输入公司名称" style="width: 100%">-->
@@ -8,17 +8,17 @@
<!--          <template #prefix><svg-icon icon-class="company" class="el-input__icon input-icon" /></template>-->
<!--        </el-select>-->
<!--      </el-form-item>-->
      <el-form-item style="display: none" prop="username">
      <el-form-item prop="username">
        <el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="账号">
          <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
        </el-input>
      </el-form-item>
      <el-form-item style="display: none" prop="password">
      <el-form-item prop="password">
        <el-input v-model="loginForm.password" type="password" size="large" auto-complete="off" placeholder="密码" @keyup.enter="handleLogin">
          <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
        </el-input>
      </el-form-item>
      <el-form-item style="display: none" prop="code" v-if="captchaEnabled">
      <el-form-item prop="code" v-if="captchaEnabled">
        <el-input v-model="loginForm.code" size="large" auto-complete="off" placeholder="验证码" style="width: 63%" @keyup.enter="handleLogin">
          <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
        </el-input>
@@ -26,7 +26,7 @@
          <img :src="codeUrl" @click="getCode" class="login-code-img" />
        </div>
      </el-form-item>
      <el-checkbox style="display: none;margin:0px 0px 25px 0px;" v-model="loginForm.rememberMe" >记住密码</el-checkbox>
      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
      <!--      <el-form-item style="float: right;">-->
      <!--        <el-button circle title="微信登录" @click="doSocialLogin('wechat')">-->
<!--          <svg-icon icon-class="wechat" />-->
@@ -41,7 +41,7 @@
<!--          <svg-icon icon-class="github" />-->
<!--        </el-button>-->
<!--      </el-form-item>-->
      <el-form-item style="display: none;width:100%;" >
      <el-form-item style="width:100%;">
        <el-button :loading="loading" size="large" type="primary" style="width:100%;" @click.prevent="handleLogin">
          <span v-if="!loading">登 录</span>
          <span v-else>登 录 中...</span>
@@ -67,6 +67,7 @@
import { HttpStatus } from "@/enums/RespEnum";
import { createUser } from "@/api/system/oss";
import { setToken } from "@/utils/auth";
import FingerprintJS from '@fingerprintjs/fingerprintjs'
const userStore = useUserStore();
const router = useRouter();
@@ -205,6 +206,7 @@
  });
};
const setAddUser = async (val: any | number | (string | number)[]) => {
  console.log(val);
  const res = await createUser(val)
@@ -216,27 +218,43 @@
  }
}
function getRandomSixDigitNumber(): number {
  return Math.floor(Math.random() * 900000) + 100000;
}
const randomSixDigitNumber = getRandomSixDigitNumber();
onMounted(async () => {
  try {
    // 使用fetch API获取当前IP地址
    await fetch('https://api.ipify.org/?format=json')
      .then(response => response.json())
      .then(async data => {
        let obj = {
          username: data.ip
        }
        await setAddUser(obj)
      })
      .catch(error => {
        console.error('获取IP地址失败:', error);
      });
  } catch (error) {
    console.log(error);
  FingerprintJS.load().then(fp => {
    fp.get().then(result => {
      const visitorId = result.visitorId;
      console.log(visitorId,'浏览器指纹识别码');
    });
  });
  let obj = {
    username: randomSixDigitNumber
  }
  router.push('index')
  // getCode();
  // initTenantList();
  // getLoginData();
await setAddUser(obj)
  // try {
  //   // 使用fetch API获取当前IP地址
  //   await fetch('https://api.ipify.org/?format=json')
  //     .then(response => response.json())
  //     .then(async data => {
  //       let obj = {
  //         username: data.ip
  //       }
  //       await setAddUser(obj)
  //     })
  //     .catch(error => {
  //       console.error('获取IP地址失败:', error);
  //     });
  // } catch (error) {
  //   console.log(error);
  // }
  // router.push('index')
});
</script>