鸿蒙智能电子锁前端项目
whychdw
2024-12-18 45b4ff5c0b824d2e5b51a6af3c44076d05f0214d
src/views/login/index.vue
@@ -35,9 +35,8 @@
</template>
<script lang="ts">
import { validUsername } from '@/utils/validate';
import { defineComponent } from 'vue';
import type { FormItemRule } from 'element-plus';
import { ElMessage, type FormItemRule } from 'element-plus';
import type { IForm } from '@/types/element-plus';
import store from '@/store';
@@ -57,8 +56,8 @@
      }
    };
    const validatePassword: FormItemRule['validator'] = (_rule, value, callback) => {
      if (value.length < 6) {
        callback(new Error('请输入密码,至少6位'));
      if (value.length < 1) {
        callback(new Error('请输入密码,至少1位'));
      } else {
        callback();
      }
@@ -66,7 +65,7 @@
    return {
      loginForm: {
        username: 'admin',
        password: '111111'
        password: '1'
      },
      loginRules: {
        username: [{ required: true, trigger: 'blur', validator: validateUsername }],
@@ -101,7 +100,7 @@
    } else if (this.loginForm.password === '') {
      (this.$refs.password as HTMLElement).focus();
    }
    this.themeChange('blue');
    this.themeChange('blue-theme');
  },
  unmounted() {
    // window.removeEventListener('storage', this.afterQRScan)
@@ -134,11 +133,24 @@
            this.loading = true;
            store.user().login(this.loginForm)
              .then(() => {
                this.loading = false;
                this.$router.push({ path: this.redirect || '/', query: this.otherQuery });
              }).catch((error) => {
                this.loading = false;
              })
              .catch(() => {
                this.loading = false;
                // 请求失败,处理错误
                if (error.message === 'Network Error') {
                  // 如果是网络错误,显示中文消息
                  ElMessage({
                    message: '网络错误,请检查您的网络连接或服务器状态。',
                    type: 'error'
                  });
                } else {
                  // 其他类型的错误,可以根据需要处理
                  ElMessage({
                    message: error,
                    type: 'warning'
                  });
                }
              }).finally(() => {
                resolve();
              });