--- title: 自定义登录框 description: 通过上传Vue代码和CSS样式来自定义登录框 published: true date: 2021-08-02T07:07:50.589Z tags: editor: markdown dateCreated: 2021-07-29T06:23:40.688Z --- # 添加菜单 该功能为附属功能,不做自动创建菜单处理 菜单链接:**/route/login-form/list** # 新增表单 打开菜单,点击“新增”按钮,新增登录框 1. 名称:表单的名称 2. 激活状态:表单是否使用,同一时间有且只能有一个表单被激活,当没有表单激活时,系统会使用默认登录表单 3. 预览图:表单最终的效果图。 4. form表单代码:表单html代码,用vue完成对表单的动态渲染。 5. form表单样式:表单的CSS样式控制,不包含表单局左、居中、居右样式 6. form表单居左样式:只填写表单居左CSS样式 7. form表单居中样式:只填写表单居中CSS样式 8. form表单居右样式:只填写表单居右CSS样式 # 原理 登录页面中已经集成了layui、vue等框架,并实现了相关必要方法,如下: 1. 错误信息提示:打开页面时,如果包含错误信息,会自动弹出提示信息。 2. 轮播背景图片:如果在 **系统配置** 中添加了背景图片,页面会自动加载。 3. 记住我(密码):该功能需要结合表单中的checkbox来实现,点击时需要在标签上添加 `lay-filter="rememberFilter"` 属性用于触发。 4. 表单提交:该功能需要对表单添加事件处理,form表单元素上添加 `@submit.prevent="submitForm"` 事件。 5. 刷新验证码:验证码图片添加 `@click=refreshVerificationCode($event)` 即可实现。 # 表单中的固定元素 在编写表单时,元素的样式是需要自定义的,而元素的必要属性如 `name`、`v-model`、`id` 等则要与 **页面参数(pageParams)** 与 **表单数据(formData)** 一致。 form表单外的div标签的 **class** 属性需要有 **layui-form**。 表单中的元素如下 - 用户名输入框: ```html ``` 其中的 **v-model** 绑定了 **formData** 中的 **username** 属性,**id** 和 **name** 则需要固定为 **username**。为了使用页面上的用户名验证方法,这里又添加了 **lay-verify="username"** 属性,添加该属性之后,在提交form表单时页面会判断用户名是否为空。 - 密码输入框: ```html ``` - 验证码输入框: ```html ``` - 验证码图片: ```html ``` - 登录按钮 ```html ``` - form表单 ```html
``` - 记住我 ```html ``` # 页面参数pageParams | 字段名 | 说明 | 默认值 | 能否为空 | 取值范围 | | :-: | :-: | :-: | :-: | :-: | | pageParams.serverUrl | 服务地址 | | N | | | pageParams.systemLogo | 系统Logo文件ID | | Y | | | pageParams.systemTitle | 系统主标题 | | N | | | pageParams.systemTitleSize | 系统主标题字体大小 | 26 | Y | 13+ | | pageParams.systemSubTitle | 系统副标题 Y | pageParams.systemSubTitleSize | 系统主标题字体大小 | 16 | Y | 13+ | | pageParams.copyRightYear | 版权年份 | | Y | | | pageParams.copyleft | 版权所属 | | Y | | | pageParams.officialUrl | 官方链接 | | Y | | | pageParams.verificationCode | 开启验证码 | | Y | true、false | | pageParams.loginBoxPosition | 登录框位置 | | N | left、center、right | | pageParams.loginFormAction | form表单action路径 | | N | | # 表单数据formData | 名称 | 类型 | name值(表单名) | v-model值(vue绑定值) | lay-verify值(前端校验) | | :-: | :-: | :-: | :-: | :-: | |用户名 | input[text] | username | formData.username | username |密码 | input[password] | password | formData.password | password |验证码 | input[text] | verificationCode | formData.verificationCode | verificationCode |记住密码 | input[checkbox] | remember | formData.remember | | # 示例表单 ```html

{{pageParams.systemTitle}}

{{pageParams.systemSubTitle}}

``` ![1020bc5a9eb6bea1369ec8c557ae5db5.jpeg](/1020bc5a9eb6bea1369ec8c557ae5db5.jpeg)