enn-login-page-vue3

0.0.7 • Public • Published

enn-login-page

npm 地址

gitlab 地址

使用步骤

  1. npm i enn-login-page-vue3或者yarn add enn-login-page-vue3
  2. 在页面中使用该组件import { LoginPage, LoginForm } from "enn-login-page-vue3";
  3. 示例
<template>
  <LoginPage title="LoRaWAN网络控制平台">
    <LoginForm
      :if-err="ifError"
      :err-msg="ErrorMsg"
      v-model:loading="loading"
      :has-captcha="false"
      hasRemember
      v-model:remember="remember"
      :formInfo="{
        username: '1234241',
        password: '123424fe1',
      }"
      @login="loginhandle"
    >
    </LoginForm>
  </LoginPage>
</template>

<script setup>
import { LoginPage, LoginForm } from "enn-login-page-vue3";
import { ref } from "vue";

const loading = ref(false);
const ErrorMsg = ref("");
const ifError = ref(false);
// const uerRegExp = reactive([
//   {
//     required: true,
//     pattern: "^.{5,16}$",
//     message: "请输入5 ~ 16位用户名",
//     trigger: ["blur", "change"],
//   },
// ]);
const remember = ref(false);

// function onClick(validate, form) {
//   validate((valid) => {
//     console.log(valid, form);
//   });
// }
function loginhandle(form) {
  // this.$message.success(`使用${JSON.stringify(form)}进行数据请求`);
  loading.value = true;
  ifError.value = false;
  fetch("/api/login", {
    method: "POST",
    body: JSON.stringify(form),
  })
    .then((res) => {
      if (res.data.code === 200) {
        // ...
        loading.value = false;
      }
    })
    .catch(() => {
      setTimeout(() => {
        ErrorMsg.value = "用户名或密码错误";
        ifError.value = true;
        loading.value = false;
      }, 800);
    });
}
</script>

LoginPage API

LoginPage.props

参数 类型 必填 默认值 说明
title string - 系统登录名称
logo string 1 logo 图 logo
bgImgs array 4 张背景图 轮播背景图
bgDuration number 10 每张背景图渐变时长

LoginPage.slots

插槽名 默认值 说明
默认插槽 - 登录表单

LoginForm API

LoginForm.props

参数 类型 必填 默认值 说明
loading boolean - 登录按钮的 loading
ifErr boolean false 是否显示登陆失败提示
errMsg string '' 登陆失败提示语
errCloseable boolean true 登陆失败提示语是否可关闭
showPassword boolean true 秘密内容是否可见
hasCaptcha boolean false 是否有验证码
captchaApi Promise - 返回验证码图片
usernameRules object 参照 el-form-item 的 rules 用户名验证规则
passwordRules object 参照 el-form-item 的 rules 密码验证规则
captchaRules object 参照 el-form-item 的 rules 验证码验证规则
hasRemember boolean false 是否显示记住密码
remember boolean false 是否记住密码
formInfo object {} 传入账号密码使用{username:xxxx,password:yyy}

LoginForm.slot

插槽名 默认值 说明
btns 登录按钮 #btns="{form,validate}"可以获取 form 数据及验证函数
otherBtns #otherBtns="{form,validate}"可以获取 form 数据及验证函数

validate 调用方式:

validate((valid) => {
  console.log(valid, form);
});

LoginForm.events

事件 说明
login 点击登录,返回登录表单数据

Readme

Keywords

Package Sidebar

Install

npm i enn-login-page-vue3

Weekly Downloads

0

Version

0.0.7

License

ISC

Unpacked Size

3.07 MB

Total Files

13

Last publish

Collaborators

  • jiangkewen